/* Recovery handoff: all space belongs to this wrapper, never to Source. */
.source-handoff{--handoff-space:154px;position:relative;display:flow-root;padding-top:var(--handoff-space)}
.handoff-light{position:absolute;inset:-110px 0 auto;height:calc(var(--handoff-space) + 230px);pointer-events:none;background:linear-gradient(180deg,transparent,rgba(225,241,237,.20) 34%,rgba(245,239,214,.22) 68%,transparent)}
/* A single outside wrapper uses Source's existing entrance trigger. The mist below
   stays still; Source geometry and its internal interaction styles are untouched. */
.source-presence{display:flow-root}
.destination-back{display:inline-flex;align-items:center;min-height:44px;font-size:.82rem;color:var(--muted)}
.destination-back:hover{text-decoration:underline;text-underline-offset:5px}
.waiheke-copy h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
/* Waiheke only: mineral blue and sand light share one continuous bone ground.
   No photographic background extends beyond the arrival. */
.waiheke-destination{
  --waiheke-bone:#fdfbf6;
  --waiheke-mineral:195,219,221;
  --waiheke-sand:246,225,189;
  --waiheke-glass:210,229,216;
  background:
    linear-gradient(113deg,rgba(var(--waiheke-mineral),.34),rgba(var(--waiheke-mineral),.14) 32%,transparent 58%),
    linear-gradient(282deg,rgba(var(--waiheke-sand),.34),rgba(var(--waiheke-sand),.13) 42%,transparent 70%),
    linear-gradient(180deg,var(--waiheke-bone) 36%,rgba(var(--waiheke-glass),.12) 83%,var(--waiheke-bone)),
    var(--waiheke-bone);
}
.destination-arrival{position:relative;isolation:isolate}
.destination-visual{position:relative;min-height:max(100svh,46rem);display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
/* One static feather over the two crossfading images and their shared contrast veil. */
.destination-frame{position:absolute;inset:0;overflow:hidden;z-index:-1;background:#587779;mask-image:linear-gradient(180deg,#000 0%,#000 66%,rgba(0,0,0,.96) 72%,rgba(0,0,0,.73) 80%,rgba(0,0,0,.30) 89%,rgba(0,0,0,.04) 96%,transparent 100%)}
.destination-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:var(--destination-focus,50% 50%);opacity:0;transition:opacity 1250ms cubic-bezier(.33,0,.2,1)}
.destination-image[src$="waiheke-seaview.jpg"]{--destination-mobile-focus:80% 50%}
.destination-image.is-current{opacity:1}
.destination-image:not([src]){visibility:hidden}
.destination-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(6,25,31,.52) 0%,rgba(6,25,31,.2) 17%,transparent 36%,transparent 68%,rgba(6,25,31,.2) 100%)}
.destination-intro{position:relative;width:min(100%,56rem);padding:10rem 7.5vw 13svh;color:var(--light);text-shadow:0 2px 12px rgba(5,27,30,.42),0 1px 2px rgba(5,27,30,.28)}
.destination-kicker{font-size:.72rem;line-height:1.6;letter-spacing:.13em;font-weight:500;margin:0 0 1.3rem}
.destination-intro h1{font:400 clamp(2.35rem,3.1vw,3.45rem)/1.12 Fraunces,serif;letter-spacing:-.03em;margin:0 0 1.2rem;max-width:21ch;text-wrap:balance}
.destination-subtitle{font:400 clamp(1.05rem,1.2vw,1.25rem)/1.5 Fraunces,serif;max-width:32ch;margin:0 0 1.25rem}
.destination-elements{font-size:.78rem;line-height:1.8;max-width:50ch;margin:0 0 1.15rem;letter-spacing:.015em}
.destination-purpose{font-size:.92rem;line-height:1.7;max-width:42ch;margin:0}
/* The existing moving header adopts its photographic appearance only on this arrival. */
.on-waiheke .site-header:not(.is-away):not(.nav-open){color:var(--light);background:transparent;text-shadow:0 1px 8px rgba(4,24,27,.6)}
.destination-body{padding:clamp(2rem,3.5vw,3.5rem) 6.5vw 0;max-width:1700px;margin:auto}
.destination-body>.destination-back{display:flex;width:fit-content;max-width:1500px;margin:0 0 clamp(2.75rem,4.5vw,4.5rem)}
.destination-story{display:grid;grid-template-columns:minmax(21rem,1.05fr) minmax(0,1.65fr);gap:clamp(3rem,5vw,5.5rem);align-items:stretch;max-width:1500px;margin:0 auto}
.destination-passage{display:flex;flex-direction:column;min-width:0}
.destination-maori{font:400 clamp(1.25rem,1.5vw,1.375rem)/1.7 Fraunces,serif;margin:0 0 2.6rem;max-width:38ch}
.destination-translation{font-size:1rem;line-height:1.9;margin:0 0 2.5rem;max-width:42ch;color:#566b70;white-space:pre-line}
.destination-passage .solid-link{align-self:flex-start;margin-top:auto;line-height:1.6}
.booking-lens{padding:.72rem 1.15rem;border:1px solid rgba(50,110,116,.4);border-radius:999px;background:rgba(246,251,249,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 7px 20px rgba(36,59,61,.08);transition:color var(--fresh-ack,60ms) cubic-bezier(.4,0,.2,1),border-color var(--fresh-ack,60ms) cubic-bezier(.4,0,.2,1),background var(--fresh-reveal,220ms) cubic-bezier(.22,1,.36,1),box-shadow var(--fresh-settle,480ms) cubic-bezier(.22,1,.36,1),transform var(--fresh-settle,480ms) cubic-bezier(.22,1,.36,1)}
.booking-lens:is(:hover,:focus-visible){border-color:rgba(50,110,116,.74);background:rgba(238,248,246,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 10px 28px rgba(36,59,61,.11);transform:translateY(-1px);text-decoration:none}
.booking-lens:active{transform:none}
.destination-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:minmax(12rem,1fr) minmax(14rem,1.12fr);gap:clamp(1.25rem,2vw,2rem);align-self:stretch;min-width:0}
.destination-grid figure{position:relative;min-width:0;min-height:0;margin:0;grid-column:span 2;overflow:hidden}
.destination-grid figure:nth-child(n+4){grid-column:span 3}
.destination-grid img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.destination-grid figure:nth-child(1) img{object-position:55% 50%}
.destination-grid figure:nth-child(3) img{object-position:63% 50%}
.destination-closing{font:400 clamp(1.35rem,1.9vw,1.9rem)/1.5 Fraunces,serif;letter-spacing:-.02em;max-width:32ch;text-align:center;margin:clamp(5rem,9vw,9rem) auto}
.destination-footer{max-width:1500px;margin:auto;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.2rem 0 2.8rem;font-size:.85rem;color:var(--muted)}
.destination-footer a{min-height:44px;display:inline-flex;align-items:center}
.site-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
@media(max-width:1100px){.destination-story{grid-template-columns:minmax(19rem,1fr) minmax(0,1.25fr);gap:2.5rem}.destination-grid{grid-template-rows:auto;align-self:start}.destination-grid figure:nth-child(n){grid-column:span 3;aspect-ratio:1.25}.destination-grid figure:last-child{grid-column:1/-1;aspect-ratio:2.4}}
@media(max-width:900px){
  .source-handoff{--handoff-space:114px}.handoff-light{top:-78px;height:calc(var(--handoff-space) + 180px)}
  .destination-body{padding:2.5rem 5vw 0}
  .destination-intro{padding:9rem 7.5vw 14svh}
  .destination-intro h1{font-size:clamp(2.35rem,4.8vw,3rem);max-width:21ch}
  .destination-story{grid-template-columns:1fr;gap:4rem}
  .destination-passage{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 2.75rem}
  .destination-maori,.destination-translation{margin:0}.destination-passage .solid-link{justify-self:start;margin-top:0}
  .destination-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .destination-grid figure:nth-child(n){grid-column:span 2;aspect-ratio:1.35}
  .destination-grid figure:nth-child(n+4){grid-column:span 3;aspect-ratio:1.65}
}
@media(max-width:600px){
  .destination-image{object-position:var(--destination-mobile-focus,var(--destination-focus,50% 50%))}
  .destination-body{padding:2rem 1.5rem 0}
  .destination-visual{min-height:100svh}
  .destination-intro{padding:8rem 1.5rem 14svh}
  .destination-intro h1{font-size:clamp(2rem,8vw,2.45rem);max-width:17ch}
  .destination-subtitle{font-size:1.08rem;max-width:27ch}
  .destination-elements{font-size:.78rem}
  .destination-purpose{font-size:.92rem}
  .destination-shade{background:linear-gradient(180deg,rgba(6,25,31,.56) 0%,rgba(6,25,31,.28) 18%,rgba(6,25,31,.14) 48%,rgba(6,25,31,.24) 100%)}
  .destination-passage{display:block}
  .destination-maori{font-size:1.25rem;line-height:1.7;margin-bottom:2.5rem}
  .destination-translation{font-size:1rem;line-height:1.85}
  .destination-passage .solid-link{margin-top:2.2rem}
  .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
  .destination-grid figure:nth-child(n){grid-column:auto;aspect-ratio:1.05}
  .destination-grid figure:last-child{grid-column:1/-1;aspect-ratio:1.6}
  .destination-closing{margin:4.5rem auto;max-width:24ch}
}
@media(max-width:460px){.source-handoff{--handoff-space:110px}}
@media(max-height:600px) and (min-width:601px){.destination-intro{padding-top:8rem;padding-bottom:8rem}.destination-visual{min-height:46rem}}
@media(prefers-reduced-motion:reduce){.destination-image{transition:none}}
html[data-motion=reduce] .destination-image{transition:none}

/* Motion is progressive enhancement; reduced motion always exposes complete copy. */
@media(prefers-reduced-motion:reduce){
  .source-presence[data-arrival],[data-editorial-arrival][data-arrival]{opacity:1;transform:none;transition:none}
}
html[data-motion=reduce] .source-presence[data-arrival],html[data-motion=reduce] [data-editorial-arrival][data-arrival]{opacity:1;transform:none;transition:none}

/* Board refinement: the photograph and its introduction each have their own space. */
.destination-visual{min-height:clamp(30rem,76svh,58rem)}
.destination-intro{width:100%;max-width:1700px;margin:auto;padding:2rem 6.5vw 1rem;color:var(--ink);text-shadow:none}
.destination-intro h1{max-width:none;margin-bottom:1.15rem}
.destination-subtitle{max-width:48ch}
.destination-elements{margin-bottom:0;max-width:none;color:var(--muted)}
.destination-maori{margin-bottom:3.25rem}
@media(max-width:900px){.destination-intro{padding:2rem 5vw 1rem}}
@media(max-width:600px){
 .destination-visual{min-height:66svh}
 .destination-intro{padding:1.5rem 1.5rem 1rem}
 .destination-intro h1{font-size:2rem;max-width:19ch}
 .destination-maori{margin-bottom:3rem}
}
