/* Compact shared trip surface. Anonymous Home retains its existing editorial layout. */
.family-home{min-width:0}.family-home>section{margin-block:clamp(24px,3.4vw,48px)!important}.family-home .public-hero{min-height:clamp(310px,37vw,450px)}
.family-home .friend-tools{margin-top:18px!important;padding:12px 0 16px;border-block:1px solid #e4dfd4}.family-home .friend-tools .public-section-head{margin-bottom:10px}.family-home .friend-tools h2{font:400 clamp(1.3rem,2.2vw,1.7rem)/1.2 Georgia,serif}.family-home .friend-tools-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding:3px 3px 12px}.family-home .friend-tools-rail>a{flex:1 0 125px;min-width:0;max-width:200px;min-height:80px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:12px;border-radius:13px;background:#f4f0e8;color:#20394a;text-decoration:none;scroll-snap-align:start}.family-home .friend-tools-rail span{color:#ac6042;font-size:1.45rem;line-height:1}.family-home .friend-tools-rail strong{font-size:.87rem;line-height:1.25}
.family-home .friend-city-rail .city-card-grid,.family-home .friend-guide-rail .transit-link-grid,.family-home .friend-weather-rail .public-weather-grid,.family-home .friend-social-compact .owner-instagram-links{display:flex;gap:13px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding:2px 2px 13px;max-width:100%}
.family-home .friend-city-rail .destination-card{flex:0 0 clamp(210px,32%,330px);min-width:0;scroll-snap-align:start}.family-home .friend-city-rail .destination-card img{height:155px;min-height:0;aspect-ratio:auto}.family-home .friend-city-rail .destination-card-copy{padding:12px 14px}.family-home .friend-city-rail .destination-card-copy p{margin:5px 0}.family-home .friend-guide-rail .transit-link-card{flex:0 0 min(45%,420px);min-width:0;min-height:155px;padding:19px;scroll-snap-align:start}.family-home .friend-guide-rail .transit-link-card h3{font-size:1.35rem;margin:8px 0}.family-home .friend-guide-rail .transit-link-card p{margin:4px 0}.family-home .friend-weather-rail .public-weather-card{flex:0 0 min(33%,275px);min-width:0;scroll-snap-align:start}
.family-home .friend-route-compact .public-day-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:6px}.family-home .friend-route-compact .public-day-chip{flex:0 0 75px;scroll-snap-align:start}.family-home .friend-route-compact .public-day-feature{max-width:100%;min-height:0}.family-home .friend-route-compact .public-day-feature>img{max-height:200px;min-height:0}.family-home .friend-route-compact .public-day-feature>div{padding:15px}.family-home .friend-route-compact .public-day-feature p{line-height:1.5;margin:8px 0}.family-home .friend-route-compact .public-day-feature .small{margin-bottom:0}
.family-home .friend-disclosure{border:1px solid #e4dfd5;border-radius:13px;background:#fbf9f4;padding:0 15px;scroll-margin-top:18px}.family-home .friend-disclosure>summary{min-height:50px;display:flex;align-items:center;font-weight:650;color:#23485a;cursor:pointer}.family-home .friend-disclosure>summary::marker{color:#b66b4c}.family-home .friend-disclosure[open]{padding-bottom:16px}.family-home .friend-disclosure>section{margin:0!important}.family-home .friend-disclosure .public-section-head{margin:14px 0}
.family-home .friend-music-compact .soundtrack-card{min-height:0;padding:12px}.family-home .friend-music-compact .soundtrack-card img{width:62px;height:62px;object-fit:cover}.family-home .friend-music-compact .soundtrack-card p{display:none}.family-home .friend-music-compact .friend-radio-preview{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0;padding:8px 2px;border-bottom:1px solid #e6e0d5}.family-home .friend-music-compact .friend-radio-preview a{color:#9f5739}.family-home .friend-music-compact>h3{display:none}.family-home .friend-social-compact .owner-instagram-links{margin:10px 0}.family-home .friend-social-compact .owner-instagram-card{flex:0 0 min(38%,230px);min-width:0;scroll-snap-align:start}.family-home .friend-social-compact .friend-disclosure{margin:10px 0}
.family-home .friend-tools-rail>a:focus-visible,.family-home .friend-disclosure>summary:focus-visible,.family-home .friend-radio-preview a:focus-visible{outline:3px solid #aa6243;outline-offset:3px}
@media(max-width:760px){.family-home .public-hero{min-height:325px}.family-home .friend-tools-rail>a{flex-basis:min(39vw,155px)}.family-home .friend-city-rail .destination-card{flex-basis:min(73vw,280px)}.family-home .friend-guide-rail .transit-link-card{flex-basis:min(79vw,310px)}.family-home .friend-weather-rail .public-weather-card{flex-basis:min(72vw,240px)}.family-home .friend-social-compact .owner-instagram-card{flex-basis:min(72vw,250px)}.family-home .friend-route-compact .public-day-feature{grid-template-columns:1fr}.family-home .friend-route-compact .public-day-feature>img{max-height:155px}}
@media(prefers-reduced-motion:reduce){.family-home .friend-tools-rail,.family-home .friend-city-rail .city-card-grid,.family-home .friend-guide-rail .transit-link-grid,.family-home .friend-weather-rail .public-weather-grid,.family-home .friend-social-compact .owner-instagram-links{scroll-behavior:auto!important}}
/* Warm community introduction and clearer, still restrained shared utility tiles. */
.family-home .friend-welcome{padding:clamp(20px,3vw,31px);border:1px solid #e4d8c8;border-radius:18px;background:linear-gradient(120deg,#f5ece0,#fbf8f1 75%);max-width:920px}
.family-home .friend-welcome h2{font:400 clamp(1.45rem,2.7vw,2rem)/1.18 Georgia,serif;color:#20394a;margin:7px 0 10px}
.family-home .friend-welcome p{max-width:72ch;line-height:1.55;margin:0 0 14px}
.family-home .friend-welcome-actions{display:flex;flex-wrap:wrap;gap:8px}.family-home .friend-welcome-actions .btn{min-height:42px}
.family-home .friend-tools-rail>a{background:#fffdf8;border:1px solid #d0c7b9;box-shadow:0 2px 9px #20394a12;transition:background .18s,border-color .18s,transform .18s}
.family-home .friend-tools-rail>a:hover{background:#f1ece3;border-color:#b5a99a;transform:translateY(-1px)}
.family-home .friend-tools-rail>a:active{transform:translateY(0)}
.family-home .friend-route{background:#f7f3ec;border-left:2px solid #ae6849;padding:10px 12px;margin:9px 0}
.family-home .friend-route p{margin:4px 0;line-height:1.5}.family-home .friend-route small{color:#5d6b70}
.family-home .friend-guide-rail .transit-link-grid .metro-card{order:0}.family-home .friend-guide-rail .transit-link-grid .rail-card{order:1}
.public-weather-card .friend-weather-action{display:inline-flex;align-items:center;justify-content:center;margin-top:9px;min-height:42px}
.public-weather-card:has(.friend-weather-action){cursor:pointer}
.public-weather-card:has(.friend-weather-action):hover{background:#e5eeea}
.family-home .friend-weather-rail .public-weather-card{scroll-snap-align:start}
.friend-weather-dialog{border:0;border-radius:18px;background:#fffdf8;color:#20394a;box-shadow:0 16px 65px #112b3b45;padding:clamp(16px,3vw,30px);width:min(760px,calc(100vw - 20px));max-height:min(90dvh,900px);overflow:auto}
.friend-weather-dialog::backdrop{background:#122b3ca8}
.friend-weather-dialog .ticket-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.friend-weather-dialog h2{font:400 2rem/1.15 Georgia,serif;margin:4px 0 12px}.friend-weather-dialog h3{font:400 1.4rem/1.25 Georgia,serif;margin:18px 0 9px}
.friend-weather-dialog .weather-current{display:flex;gap:13px;align-items:center;margin:12px 0;font-size:1.1rem}.friend-weather-dialog .weather-current>span:first-child{font-size:2rem}.friend-weather-dialog .weather-current strong{font:400 2.7rem Georgia,serif}
.friend-weather-dialog .weather-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#ddd6ca;border:1px solid #ddd6ca;border-radius:12px;overflow:hidden;margin:15px 0}
.friend-weather-dialog .weather-metrics>div{background:#f8f5ed;padding:12px}.friend-weather-dialog dt{font-size:.79rem;color:#52646c}.friend-weather-dialog dd{margin:3px 0 0;font-weight:650}
.friend-weather-dialog .weather-hours{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px}.friend-weather-dialog .weather-hours>div{flex:0 0 85px;display:grid;gap:3px;padding:9px;background:#f7f2e9;border-radius:10px;scroll-snap-align:start}.friend-weather-dialog .weather-hours>div span{font-size:1.4rem}
.friend-weather-dialog .weather-days{display:grid;gap:2px}.friend-weather-dialog .weather-days>div{display:grid;grid-template-columns:minmax(80px,1fr) minmax(90px,2fr) minmax(100px,1.5fr) minmax(65px,1fr);gap:9px;padding:10px 4px;border-bottom:1px solid #e4ded3;align-items:center}
.friend-weather-dialog .weather-official{border-top:1px solid #ded7ca;margin-top:20px;padding-top:8px}.friend-weather-dialog .actions{display:flex;flex-wrap:wrap;gap:8px}
.friend-weather-dialog :focus-visible{outline:3px solid #ae6849;outline-offset:2px}
@media(max-width:650px){.family-home .friend-welcome{padding:18px}.family-home .friend-welcome-actions .btn{flex:1 1 auto;text-align:center}.friend-weather-dialog .weather-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-weather-dialog .weather-days>div{grid-template-columns:minmax(65px,1fr) minmax(100px,1.5fr);gap:4px}.friend-weather-dialog .weather-days>div span{grid-column:1/-1}.friend-weather-dialog .weather-days>div small{text-align:right}}
@media(prefers-reduced-motion:reduce){.family-home .friend-tools-rail>a{transition:none}.family-home .friend-tools-rail>a:hover{transform:none}}
.journal-video{display:block;width:100%;height:auto;max-height:min(72vh,650px);object-fit:contain;background:#162c3a}.friend-publication>.friend-publication-copy{display:grid;gap:4px;padding:14px;overflow-wrap:anywhere}.friend-publication:has(>.journal-video){overflow:hidden}
