/* Full Polaroid cards: the frame, photograph, caption and back face move together. */
body.reference-refresh .has-area-gallery .destination-stack{--area-photo-height:410px;position:relative;width:100%;height:calc(var(--area-photo-height) + 106px);perspective:1350px;perspective-origin:42% 50%;transform-style:preserve-3d}
body.reference-refresh .has-area-gallery .destination-stack [data-area-card]{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform-origin:0% 50%;transform-style:preserve-3d;backface-visibility:visible;pointer-events:none;transition:none;animation:none;opacity:1}
body.reference-refresh .has-area-gallery .destination-stack [data-area-card]::before,
body.reference-refresh .has-area-gallery .destination-stack [data-area-card]::after{content:none;display:none}
body.reference-refresh .has-area-gallery .destination-stack .destination-card-front{position:absolute;inset:0;width:100%;height:100%;padding:12px 12px 18px;background:#fff;box-shadow:0 19px 40px #463d2c25;transform:translateZ(.5px);backface-visibility:hidden;overflow:hidden}
body.reference-refresh .has-area-gallery .destination-stack .destination-photo{display:block;position:relative;width:100%;height:var(--area-photo-height);overflow:hidden;background:#e7edf0;padding:0;border:0;border-radius:0;perspective:none;isolation:auto}
body.reference-refresh .has-area-gallery .destination-stack [data-area-image]{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;transform:none;transition:none;animation:none;backface-visibility:visible}
body.reference-refresh .has-area-gallery .destination-stack .destination-description{display:block;position:relative;height:76px;min-height:76px;padding:15px 5px 0;margin:0}
body.reference-refresh .has-area-gallery .destination-stack .destination-description h3{font:600 16px/1.6 var(--sans,'Be Vietnam Pro',Arial,sans-serif);letter-spacing:0;margin:0;padding-right:47px}
body.reference-refresh .has-area-gallery .destination-stack .destination-description p{font:400 12px/1.8 var(--reference-serif,'Noto Serif',Georgia,serif);color:var(--muted,#657376);margin:3px 0 0}
body.reference-refresh .has-area-gallery .destination-stack [data-card-count]{position:absolute;right:5px;top:18px;font:400 9px/1.8 var(--sans,'Be Vietnam Pro',Arial,sans-serif);letter-spacing:.06em;white-space:nowrap;color:var(--muted,#657376)}
body.reference-refresh .has-area-gallery .destination-stack .destination-card-back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:24px;background:#f4f0e8;box-shadow:0 19px 40px #463d2c25;color:#0b3f5a;text-align:center;transform:rotateY(180deg) translateZ(.5px);backface-visibility:hidden;font:400 29px/1.35 var(--reference-serif,'Noto Serif',Georgia,serif);letter-spacing:-.035em}
body.reference-refresh .has-area-gallery .destination-stack .destination-card-back{flex-direction:column;gap:16px}
body.reference-refresh .has-area-gallery .destination-stack .destination-card-back::before{content:"";position:absolute;inset:12px;border:1px solid #9d755440;pointer-events:none}
body.reference-refresh .has-area-gallery .destination-stack .destination-card-back [data-card-back-title]{font:400 10px/1.6 var(--sans,'Be Vietnam Pro',Arial,sans-serif);color:inherit;letter-spacing:.18em;text-transform:uppercase}

/* Three real photographs are visible in the deck, replacing the old paper-only pseudo layers. */
body.reference-refresh .has-area-gallery .destination-stack [data-area-card].is-current{z-index:3;transform:translate3d(0,0,0) rotateZ(-1.8deg) rotateY(0deg) scale(1)}
body.reference-refresh .has-area-gallery .destination-stack [data-area-card].is-next{z-index:2;transform:translate3d(22px,8px,-14px) rotateZ(5deg) rotateY(0deg) scale(.95)}
body.reference-refresh .has-area-gallery .destination-stack [data-area-card].is-third{z-index:1;transform:translate3d(44px,16px,-28px) rotateZ(-3.5deg) rotateY(0deg) scale(.9)}
body.reference-refresh .has-area-gallery .destination-stack [data-area-card].is-outgoing{z-index:4}
body.reference-refresh .has-area-gallery .destination-stack [data-area-card].is-outgoing .destination-card-back{display:none}

/* A single persistent input target covers the whole deck; cards have no interactive descendants. */
body.reference-refresh .has-area-gallery .destination-stack-hit[data-area-next]{position:absolute;inset:0;z-index:20;display:block;width:100%;height:100%;max-width:100%;min-width:0;padding:0;border:0;border-radius:0;appearance:none;-webkit-appearance:none;background:transparent;box-shadow:none;cursor:pointer;touch-action:pan-y pinch-zoom}
body.reference-refresh .has-area-gallery .destination-stack-hit[data-area-next]:focus-visible{outline:2px solid #9d7554;outline-offset:7px}
body.reference-refresh .has-area-gallery .destination-stack-hit[data-area-next]:disabled{cursor:default}

body.reference-refresh .has-area-gallery .destination-photo-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:0 3px;min-width:0;color:var(--muted,#657376)}
body.reference-refresh .has-area-gallery .destination-photo-controls>p,
body.reference-refresh .has-area-gallery .destination-photo-controls>span{min-width:0;margin:0;font-family:var(--reference-serif,'Noto Serif',Georgia,serif);font-size:10px;font-weight:400;line-height:1.8;color:var(--muted,#657376)}
body.reference-refresh .has-area-gallery .destination-photo-controls [data-area-toggle]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;min-width:62px;padding:7px 0;border:0;border-bottom:1px solid #9d755480;border-radius:0;background:transparent;color:var(--reference-blue,#0b3f5a);font-family:var(--sans,'Be Vietnam Pro',Arial,sans-serif);font-size:10px;font-weight:400;line-height:1.6;white-space:nowrap;cursor:pointer}
body.reference-refresh .has-area-gallery .destination-photo-controls [data-area-toggle]:hover{color:#8b6548;border-bottom-color:#8b6548}
body.reference-refresh .has-area-gallery .destination-photo-controls [data-area-toggle]:disabled{color:var(--muted,#657376);cursor:default;border-bottom-color:transparent}
body.reference-refresh .has-area-gallery .destination-photo-controls [data-area-toggle]:focus-visible{outline:2px solid #9d7554;outline-offset:4px}
body.reference-refresh .has-area-gallery .destination-photo-controls[hidden],
body.reference-refresh .has-area-gallery [data-area-controls][hidden]{display:none!important}

/* A single page turn: no lift, orbit or reverse rotation back into the deck. */
@media(prefers-reduced-motion:no-preference){
  body.reference-refresh .has-area-gallery.is-turning .destination-stack [data-area-card].is-outgoing{animation:coastal-card-out var(--area-photo-turn,800ms) var(--motion-cross,cubic-bezier(.65,0,.35,1)) both;will-change:transform}
  body.reference-refresh .has-area-gallery.is-turning .destination-stack [data-area-card].is-next{animation:coastal-card-forward var(--area-photo-turn,800ms) var(--motion-enter,cubic-bezier(.16,1,.3,1)) both;will-change:transform}
  body.reference-refresh .has-area-gallery.is-turning .destination-stack [data-area-card].is-third{animation:coastal-card-middle var(--area-photo-turn,800ms) var(--motion-enter,cubic-bezier(.16,1,.3,1)) both;will-change:transform}
  @keyframes coastal-card-out{
    0%{transform:translate3d(0,0,0) rotateZ(-1.8deg) rotateY(0deg) scale(1);opacity:1}
    49%{opacity:1}
    50%{opacity:0}
    100%{transform:translate3d(0,0,0) rotateZ(-1.8deg) rotateY(-180deg) scale(1);opacity:0}
  }
  @keyframes coastal-card-forward{
    0%,39%{transform:translate3d(22px,8px,-14px) rotateZ(5deg) rotateY(0deg) scale(.95)}
    100%{transform:translate3d(0,0,0) rotateZ(-1.8deg) rotateY(0deg) scale(1)}
  }
  @keyframes coastal-card-middle{
    0%,39%{transform:translate3d(44px,16px,-28px) rotateZ(-3.5deg) rotateY(0deg) scale(.9)}
    100%{transform:translate3d(22px,8px,-14px) rotateZ(5deg) rotateY(0deg) scale(.95)}
  }
}

@media(max-width:1100px){body.reference-refresh .has-area-gallery .destination-stack{--area-photo-height:370px}}
@media(max-width:900px){body.reference-refresh .has-area-gallery .destination-stack{--area-photo-height:340px}}
@media(max-width:760px){
  body.reference-refresh .has-area-gallery .destination-stack{--area-photo-height:330px}
  body.reference-refresh .has-area-gallery .destination-photo-controls{gap:10px;margin-top:10px;padding-inline:1px}
  body.reference-refresh .has-area-gallery .destination-photo-controls>p,
  body.reference-refresh .has-area-gallery .destination-photo-controls>span{font-size:10px}
  body.reference-refresh .has-area-gallery .destination-photo-controls [data-area-toggle]{font-size:10px;min-height:44px}
}
@media(max-width:360px){
  body.reference-refresh .has-area-gallery .destination-stack{--area-photo-height:280px}
  body.reference-refresh .has-area-gallery .destination-stack .destination-description p{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  body.reference-refresh .has-area-gallery .destination-stack{perspective:none;transform-style:flat}
  body.reference-refresh .has-area-gallery .destination-stack [data-area-card]{animation:none!important;transition:none!important;will-change:auto;transform-style:flat}
  body.reference-refresh .has-area-gallery .destination-stack [data-area-card].is-current{transform:translate(0,0) rotate(-1.8deg) scale(1)}
  body.reference-refresh .has-area-gallery .destination-stack [data-area-card].is-next{transform:translate(22px,8px) rotate(5deg) scale(.95)}
  body.reference-refresh .has-area-gallery .destination-stack [data-area-card].is-third{transform:translate(44px,16px) rotate(-3.5deg) scale(.9)}
  body.reference-refresh .has-area-gallery .destination-stack .destination-card-front{transform:none}
  body.reference-refresh .has-area-gallery .destination-stack .destination-card-back{display:none}
}
