.full-memory-grid.memory-album-grid{gap:34px 24px;padding-top:18px}
.memory-album-card{position:relative;min-height:330px;margin-top:22px;overflow:visible;border:0;border-radius:24px;background:transparent;box-shadow:none;isolation:isolate;transition:transform .28s ease}
.memory-album-stack{position:absolute;inset:20px 20px 0 0;display:block;margin:0;overflow:visible;background:transparent}
.memory-album-stack .memory-stack-photo{position:absolute;inset:0;z-index:calc(10 - var(--stack-index));display:block;width:100%;height:100%;object-fit:cover;border:1px solid rgba(255,255,255,.34);border-radius:24px;background:#123326;box-shadow:0 18px 44px rgba(0,0,0,.26);transform:translate(calc(var(--stack-index) * 7px),calc(var(--stack-index) * -7px)) rotate(calc(var(--stack-index) * 1.6deg));transform-origin:88% 92%;transition:transform .3s ease,box-shadow .3s ease}
.memory-album-card:hover{transform:translateY(-5px)}.memory-album-card:hover .memory-stack-photo{transform:translate(calc(var(--stack-index) * 9px),calc(var(--stack-index) * -9px)) rotate(calc(var(--stack-index) * 2deg));box-shadow:0 24px 54px rgba(0,0,0,.34)}
.memory-album-card:after{content:"";position:absolute;inset:20px 20px 0 0;z-index:15;border-radius:24px;background:linear-gradient(180deg,transparent 34%,rgba(2,15,9,.92));pointer-events:none}
.memory-album-card time,.memory-album-count{position:absolute;top:34px;z-index:17;display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border:1px solid rgba(255,255,255,.42);border-radius:999px;color:#fff;background:rgba(8,67,45,.88);box-shadow:0 8px 20px rgba(0,0,0,.22);font-size:10px;font-weight:950;letter-spacing:.04em}.memory-album-card time{right:34px}.memory-album-count{left:14px}
.memory-album-copy{position:absolute;left:0;right:20px;bottom:0;z-index:17;padding:22px;color:#fff;text-align:left;pointer-events:none}.memory-album-copy h3{margin:0;font-size:21px}.memory-album-copy p{display:-webkit-box;overflow:hidden;margin:5px 0 0;color:#dce9e1;font-size:12px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.memory-view-album{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:7px 11px;border:1px solid rgba(255,255,255,.32);border-radius:999px;color:#fff;background:rgba(8,70,47,.72);font-size:9px;font-weight:950;letter-spacing:.08em}.memory-view-album svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}
.memory-album-open{position:absolute;inset:20px 20px 0 0;z-index:18;width:auto;height:auto;margin:0;padding:0;border:0;border-radius:24px;background:transparent;cursor:pointer}.memory-album-open:focus-visible{outline:3px solid #f5a13a;outline-offset:4px}.memory-album-open span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.memory-lightbox[hidden]{display:none!important}.memory-lightbox{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:rgba(1,10,7,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:memoryViewerFade .24s ease both}.memory-lightbox-open{overflow:hidden}
.memory-lightbox-dialog{position:relative;width:min(1220px,calc(100vw - 36px));height:min(900px,calc(100vh - 36px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:30px;background:linear-gradient(160deg,#0d2f21,#06140e 72%);box-shadow:0 38px 110px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.12);animation:memoryViewerRise .3s cubic-bezier(.2,.8,.2,1) both}
.memory-lightbox-head{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px;padding:15px 18px 14px 24px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(90deg,rgba(17,69,48,.98),rgba(7,31,21,.96));color:#fff}.memory-lightbox-head>div{min-width:0}.memory-lightbox-head span{display:flex;align-items:center;gap:7px;margin-bottom:4px;color:#9fd3b9;font-size:9px;font-weight:950;letter-spacing:.14em}.memory-lightbox-head span i{width:7px;height:7px;border-radius:50%;background:#ffad48;box-shadow:0 0 0 5px rgba(255,173,72,.13)}.memory-lightbox-head strong{display:block;overflow:hidden;color:#fff;font-size:clamp(17px,2vw,23px);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.memory-lightbox-head small{display:block;margin-top:3px;color:#c6dcd0;font-size:12px;font-weight:700}
.memory-lightbox-stage{position:relative;min-height:0;overflow:hidden;isolation:isolate;background:#030b07;touch-action:pan-y}.memory-lightbox-ambient{position:absolute;inset:-42px;z-index:0;width:calc(100% + 84px);height:calc(100% + 84px);object-fit:cover;filter:blur(32px) saturate(1.18);opacity:.32;transform:scale(1.05)}.memory-lightbox-shade{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 50% 48%,rgba(0,0,0,.04),rgba(1,10,7,.58) 72%),linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.34))}.memory-lightbox-stage figure{position:relative;z-index:2;width:100%;height:100%;display:grid;place-items:center;margin:0;padding:20px 82px}.memory-lightbox-stage figure>img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:18px;background:#07100b;box-shadow:0 24px 65px rgba(0,0,0,.56),0 0 0 1px rgba(255,255,255,.14);opacity:.35;transform:scale(.985);transition:opacity .26s ease,transform .32s ease;user-select:none;-webkit-user-drag:none}.memory-lightbox-stage figure>img.is-ready{opacity:1;transform:scale(1)}
.memory-lightbox-close,.memory-lightbox-arrow{z-index:9;display:grid;place-items:center;width:50px;height:50px;margin:0;padding:0;border:1px solid rgba(255,255,255,.48);border-radius:50%;color:#fff;background:linear-gradient(145deg,rgba(18,103,72,.96),rgba(5,44,30,.96));box-shadow:0 12px 30px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.26);appearance:none;-webkit-appearance:none;cursor:pointer}.memory-lightbox-close svg,.memory-lightbox-arrow svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.memory-lightbox-close{position:relative;flex:0 0 48px;width:48px;height:48px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.06))}.memory-lightbox-arrow{position:absolute;top:50%;z-index:5;transform:translateY(-50%)}.memory-lightbox-arrow:active{transform:translateY(-50%) scale(.92)}.memory-lightbox-prev{left:18px}.memory-lightbox-next{right:18px}.memory-lightbox-arrow[hidden]{display:none}.memory-lightbox-close:focus-visible,.memory-lightbox-arrow:focus-visible{outline:3px solid #ffb35c;outline-offset:3px}
.memory-swipe-hint{display:none;position:absolute;z-index:4;left:50%;bottom:10px;transform:translateX(-50%);padding:5px 10px;border-radius:999px;color:#d4e5db;background:rgba(3,29,19,.68);font-size:9px;font-weight:800;pointer-events:none}.memory-lightbox-foot{position:relative;z-index:7;padding:12px 18px 14px;border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(9,40,27,.98),rgba(5,25,17,.99));color:#fff}.memory-lightbox-details{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:22px}.memory-lightbox-details>span{overflow:hidden;color:#d9e8df;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.memory-lightbox-details>span:empty:before{content:'Guest safari memories';color:#9bb7a8}.memory-lightbox-details>strong{flex:0 0 auto;color:#ffbd69;font-size:11px;font-weight:950;letter-spacing:.08em}.memory-lightbox-progress{height:3px;margin:8px 0 11px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.12)}.memory-lightbox-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff9d31,#ffd18f);box-shadow:0 0 14px rgba(255,166,58,.5);transition:width .28s ease}
.memory-lightbox-thumbs{display:flex;gap:9px;overflow-x:auto;overflow-y:hidden;padding:2px 1px 3px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}.memory-lightbox-thumbs button{position:relative;flex:0 0 76px;width:76px;height:56px;margin:0;padding:0;overflow:hidden;border:2px solid transparent;border-radius:11px;background:#102d20;box-shadow:none;opacity:.58;appearance:none;-webkit-appearance:none;cursor:pointer}.memory-lightbox-thumbs button.is-active{border-color:#ffad48;opacity:1;box-shadow:0 0 0 3px rgba(255,173,72,.16)}.memory-lightbox-thumbs button:focus-visible{outline:2px solid #fff;outline-offset:2px}.memory-lightbox-thumbs img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.memory-lightbox-thumbs button span{position:absolute;right:4px;bottom:3px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;color:#fff;background:rgba(3,20,13,.75);font-size:8px;font-weight:900}
@keyframes memoryViewerFade{from{opacity:0}to{opacity:1}}@keyframes memoryViewerRise{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:800px){.full-memory-grid.memory-album-grid{gap:30px}.memory-album-card{min-height:315px;margin-top:20px}.memory-album-stack{inset:18px 15px 0 3px}.memory-album-stack .memory-stack-photo{transform:translate(calc(var(--stack-index) * 5px),calc(var(--stack-index) * -5px)) rotate(calc(var(--stack-index) * 1.25deg))}.memory-album-card:after{inset:18px 15px 0 3px}.memory-album-card time{top:30px;right:27px}.memory-album-count{top:30px;left:15px}.memory-album-copy{left:3px;right:15px;padding:18px}.memory-album-open{inset:18px 15px 0 3px}.memory-lightbox{padding:6px}.memory-lightbox-dialog{width:100%;height:calc(100vh - 12px);height:calc(100svh - 12px);border-radius:22px}.memory-lightbox-head{min-height:68px;padding:10px 10px 9px 15px}.memory-lightbox-head span{font-size:8px}.memory-lightbox-head strong{font-size:17px}.memory-lightbox-head small{font-size:10px}.memory-lightbox-close{flex-basis:44px;width:44px;height:44px}.memory-lightbox-stage figure{padding:12px 54px 18px}.memory-lightbox-stage figure>img{border-radius:12px}.memory-lightbox-arrow{width:44px;height:44px}.memory-lightbox-prev{left:6px}.memory-lightbox-next{right:6px}.memory-swipe-hint{display:block}.memory-lightbox-foot{padding:9px 10px 10px}.memory-lightbox-details>span{font-size:10px}.memory-lightbox-details>strong{font-size:9px}.memory-lightbox-progress{margin:6px 0 8px}.memory-lightbox-thumbs{gap:7px}.memory-lightbox-thumbs button{flex-basis:60px;width:60px;height:45px;border-radius:9px}}
@media(prefers-reduced-motion:reduce){.memory-lightbox,.memory-lightbox-dialog{animation:none}.memory-lightbox-stage figure>img,.memory-lightbox-progress i,.memory-lightbox-thumbs{transition:none;scroll-behavior:auto}}

/* Premium framed album card: keep the stacked deck comfortably inside its main card. */
.memory-album-card{min-height:350px;margin-top:22px;overflow:hidden;border:1px solid rgba(188,224,204,.30);border-radius:30px;background:linear-gradient(145deg,rgba(24,78,56,.98),rgba(6,31,21,.99));box-shadow:0 24px 58px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.13)}
.memory-album-card:before{content:"";position:absolute;inset:7px;z-index:0;border:1px solid rgba(255,255,255,.08);border-radius:23px;pointer-events:none}
.memory-album-card .memory-album-stack{inset:50px 38px 34px 38px}
.memory-album-card .memory-album-stack:before{content:"";position:absolute;inset:0;z-index:13;border:1px solid rgba(232,249,240,.58);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.20) 0,rgba(255,255,255,.06) 25%,transparent 49%,rgba(177,235,208,.08) 76%,rgba(255,255,255,.12) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.44),inset 0 -1px 0 rgba(151,211,182,.16);backdrop-filter:saturate(1.10);-webkit-backdrop-filter:saturate(1.10);pointer-events:none}
.memory-album-card .memory-stack-photo{border-color:rgba(224,246,235,.52);border-radius:22px;box-shadow:0 13px 30px rgba(0,0,0,.30),0 0 0 1px rgba(255,255,255,.08);transform:translate(calc(var(--stack-index) * 3px),calc(var(--stack-index) * -3px)) rotate(calc(var(--stack-index) * .65deg))}
.memory-album-card:hover .memory-stack-photo{transform:translate(calc(var(--stack-index) * 4px),calc(var(--stack-index) * -4px)) rotate(calc(var(--stack-index) * .8deg))}
.memory-album-card:after{inset:50px 38px 34px 38px;border-radius:22px}
.memory-album-card time{top:64px;right:52px}.memory-album-card .memory-album-count{top:64px;left:52px}
.memory-album-card .memory-album-copy{left:38px;right:38px;bottom:34px;padding:22px}
.memory-album-card .memory-album-open{inset:50px 38px 34px 38px;border-radius:22px}
@media(max-width:800px){.memory-album-card{min-height:335px;margin-top:18px;border-radius:27px}.memory-album-card:before{inset:6px;border-radius:21px}.memory-album-card .memory-album-stack{inset:48px 34px 30px 34px}.memory-album-card:after{inset:48px 34px 30px 34px}.memory-album-card time{top:61px;right:47px}.memory-album-card .memory-album-count{top:61px;left:47px}.memory-album-card .memory-album-copy{left:34px;right:34px;bottom:30px;padding:18px}.memory-album-card .memory-album-open{inset:48px 34px 30px 34px}}

/* K358 — mobile gallery cards/viewer cleanup. */
@media(max-width:800px){
  .gallery-page-hero{min-height:0!important;padding:96px 18px 38px!important}
  .gallery-page-hero h1{margin:8px 0 10px!important;font-size:40px!important;line-height:1.02!important}
  .gallery-page-hero p{max-width:330px!important;margin:0 auto!important;font-size:15px!important;line-height:1.45!important}
  .gallery-page-main{padding:24px 14px 112px!important}
  .full-memory-grid.memory-album-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important;padding-top:0!important}
  .full-memory-grid.memory-album-grid>.memory-album-card{
    box-sizing:border-box!important;width:100%!important;max-width:520px!important;aspect-ratio:4/3!important;min-height:0!important;margin:0 auto!important;overflow:hidden!important;border-radius:22px!important;
  }
  .full-memory-grid.memory-album-grid>.memory-album-card .memory-album-stack{inset:15px!important;overflow:hidden!important;border-radius:16px!important}
  .full-memory-grid.memory-album-grid>.memory-album-card .memory-stack-photo{inset:6px!important;width:calc(100% - 12px)!important;height:calc(100% - 12px)!important;border-width:3px!important;border-radius:12px!important;transform:none!important}
  .full-memory-grid.memory-album-grid>.memory-album-card:hover .memory-stack-photo{transform:none!important}
  .full-memory-grid.memory-album-grid>.memory-album-card:after,.full-memory-grid.memory-album-grid>.memory-album-card>.memory-album-open{inset:21px!important;border-radius:12px!important}
  .full-memory-grid.memory-album-grid>.memory-album-card time{top:28px!important;right:28px!important;font-size:9px!important;min-height:28px!important;padding:5px 9px!important}
  .full-memory-grid.memory-album-grid>.memory-album-card .memory-album-count{top:28px!important;left:28px!important;font-size:9px!important;min-height:28px!important;padding:5px 9px!important}
  .full-memory-grid.memory-album-grid>.memory-album-card .memory-album-copy{top:auto!important;left:21px!important;right:21px!important;bottom:21px!important;padding:14px!important}
  .full-memory-grid.memory-album-grid>.memory-album-card .memory-album-copy h3{max-width:72%!important;margin:0 0 9px!important;font-size:21px!important;line-height:1.08!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .full-memory-grid.memory-album-grid>.memory-album-card .memory-album-copy p{display:none!important}
  .full-memory-grid.memory-album-grid>.memory-album-card .memory-view-album{display:inline-flex!important;align-items:center!important;gap:8px!important;font-size:9px!important}

  body.memory-lightbox-open{overflow:hidden!important;padding-bottom:0!important}
  body.memory-lightbox-open nav.mobile-bottom-nav{display:none!important}
  .memory-lightbox{z-index:2147483646!important;padding:8px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .memory-lightbox-dialog{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;width:100%!important;height:calc(100svh - 16px)!important;max-height:calc(100svh - 16px)!important;overflow:hidden!important;border-radius:20px!important}
  .memory-lightbox-head{min-height:68px!important;padding:10px 12px!important}
  .memory-lightbox-stage{min-height:0!important;overflow:hidden!important}
  .memory-lightbox-stage figure{box-sizing:border-box!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:8px 48px 12px!important;display:grid!important;place-items:center!important;overflow:hidden!important}
  .memory-lightbox-stage figure>img{display:block!important;width:100%!important;height:100%!important;max-height:56svh!important;object-fit:contain!important;object-position:center!important;border-radius:12px!important}
  .memory-lightbox-arrow{width:42px!important;height:42px!important}
  .memory-lightbox-prev{left:4px!important}.memory-lightbox-next{right:4px!important}
  .memory-swipe-hint{bottom:8px!important;font-size:9px!important}
  .memory-lightbox-foot{box-sizing:border-box!important;max-height:118px!important;padding:8px 10px 10px!important;overflow:hidden!important}
  .memory-lightbox-details>span:empty{display:none!important}
  .memory-lightbox-details>span:empty:before{content:none!important}
  .memory-lightbox-thumbs{min-height:48px!important;max-height:52px!important;overflow-x:auto!important;overflow-y:hidden!important}
  .memory-lightbox-thumbs button{flex-basis:58px!important;width:58px!important;height:43px!important}
}
@media(max-width:380px){
  .gallery-page-hero{padding-top:90px!important}
  .full-memory-grid.memory-album-grid>.memory-album-card .memory-album-copy h3{font-size:19px!important}
  .memory-lightbox-stage figure{padding-left:44px!important;padding-right:44px!important}
}


/* K359 mobile viewer compactness */
@media(max-width:760px){
 body.memory-lightbox-open nav.mobile-bottom-nav{display:none!important}
 .memory-lightbox{z-index:2147483646!important;padding:7px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 .memory-lightbox-dialog{width:100%!important;height:auto!important;max-height:calc(100svh - 14px)!important;grid-template-rows:auto auto auto!important;border-radius:18px!important}
 .memory-lightbox-stage{height:min(58svh,520px)!important;min-height:260px!important;overflow:hidden!important}
 .memory-lightbox-stage figure{width:100%!important;height:100%!important;margin:0!important;padding:8px 48px!important;overflow:hidden!important}
 .memory-lightbox-stage figure>img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
 .memory-lightbox-foot{max-height:106px!important;padding:8px 10px!important}
}
