.memory-stage{grid-column:2;grid-row:1;min-width:0}.memory-stage #memory-open{width:100%;display:block;padding:0;border:0;overflow:hidden;background:#10261f;aspect-ratio:16/10;position:relative}.memory-stage img{display:block;width:100%;height:100%;object-fit:contain;transition:filter .3s}.memory-stage #memory-open:hover img{filter:brightness(1.07)}.memory-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px}.memory-controls p{font-size:17px;font-weight:500}.memory-controls span{font-size:12px;color:#cedbcf;font-variant-numeric:tabular-nums}.memory-controls>div:last-child{display:flex;gap:10px;align-items:center}.memory-controls button{background:transparent;color:var(--paper);border:1px solid #8caa98;min-height:44px;min-width:44px;padding:8px 12px;font-size:13px}.memory-controls button:hover,.memory-controls button[aria-pressed=true]{background:var(--paper);color:var(--ink)}.activity-section .activity-grid{grid-column:2;grid-row:2;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:18px 2px 10px;scrollbar-color:#b7c8b4 #254a3f}.activity-grid .activity-photo{flex:0 0 100px;width:100px;height:72px;padding:0;border:2px solid transparent;opacity:.65;scroll-snap-align:start;overflow:hidden;background:#10261f}.activity-grid .activity-photo img{object-fit:cover;width:100%;height:100%;transition:transform .4s,opacity .3s}.activity-grid .activity-photo:hover,.activity-grid .activity-photo.is-current{opacity:1;border-color:#e39766}.activity-grid .activity-photo:hover img{transform:scale(1.08)}.activity-section .gallery-disclosure{align-self:end;line-height:1.9;max-width:230px}.trip-image img{transition:transform .8s cubic-bezier(.16,1,.3,1),filter .4s}.trip-image:hover img{transform:scale(1.055);filter:saturate(1.06)}.trip-detail-link svg,.solid-link svg{transition:transform .25s}.trip-detail-link:hover svg,.solid-link:hover svg{transform:translate(3px,-3px)}.gallery-dialog[open]{animation:photo-arrive .28s ease-out}.dialog-close:hover{background:var(--accent);color:var(--paper)}.gallery-dialog #gallery-image{object-fit:contain}.detail-cover{object-fit:cover;object-position:center 44%}
@keyframes photo-arrive{from{opacity:.4;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.memory-stage{grid-column:1;grid-row:3}.activity-section .activity-grid{grid-column:1;grid-row:4}.activity-section .gallery-disclosure{max-width:none;grid-row:2;align-self:start}.memory-stage #memory-open{aspect-ratio:4/3}}
@media(max-width:600px){.memory-controls{align-items:flex-start;gap:10px;flex-wrap:wrap}.memory-controls p{font-size:16px}.memory-controls>div:last-child{gap:8px}.memory-controls button{min-width:44px}.activity-grid .activity-photo{flex-basis:82px;width:82px;height:62px}.memory-stage #memory-open{aspect-ratio:1/1}.trip-card img{object-position:center}}
@media(prefers-reduced-motion:reduce){.trip-image img,.activity-grid .activity-photo img,.memory-stage img,.trip-detail-link svg,.solid-link svg{transition:none;transform:none!important}.gallery-dialog[open]{animation:none}}

.door-logo{position:absolute;left:50%;top:50%;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#14382f;pointer-events:none;opacity:var(--logo-reveal,0);transform:translate(-50%,-50%) scale(calc(.97 + var(--logo-reveal,0)*.03));width:max-content;max-width:90%;text-align:center}.door-logo svg{width:108px;height:54px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.door-logo span{font-family:'Noto Sans Thai',sans-serif;font-weight:600;font-size:clamp(34px,5.3vw,78px);line-height:1.5;white-space:nowrap;letter-spacing:-.025em;text-shadow:0 1px 2px #ffffff65}@media(max-width:600px){.door-logo{gap:3px}.door-logo svg{width:65px;height:33px}}@media(prefers-reduced-motion:reduce){.door-logo{transform:translate(-50%,-50%)}}
