.inner-v2{background:var(--ivory)}
.inner-v2 .site-head a[aria-current="page"]{color:var(--rust)}
.faux-menu button{list-style:none;min-height:44px;display:flex;align-items:center;background:none;border:1px solid var(--forest);border-radius:999px;color:var(--forest);font-family:var(--serif);font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:.6em 1em;cursor:pointer}
.faux-menu nav{display:none}
.faux-menu:hover nav,.faux-menu:focus-within nav{display:grid}
.inner-v2 .page-hero{padding:5rem 0 4rem;text-align:center}
.inner-v2 .page-hero h1{font-size:clamp(3.8rem,8vw,6.75rem);color:var(--forest);margin:.25rem 0 .5rem}
.inner-v2 .page-hero p:not(.eyebrow){max-width:40rem;margin:0 auto;color:var(--ink-soft);font-size:1.3rem}
.travel-section{padding:5.75rem 0}
.travel-section h2,.venue-copy h2,.shuttle-card h2{font-size:clamp(2.8rem,5.8vw,4.25rem)}
.venue-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.8fr);gap:3rem;align-items:center}
.venue-copy h3{font-family:var(--serif);font-size:1.6rem;line-height:1.2;margin-top:.2rem;color:var(--ivory)}
.venue-copy p{font-size:1.25rem;margin-top:.75rem}
.venue-copy .addr{font-size:1.0625rem;letter-spacing:.04em}
.venue-copy .btn{margin-top:1.5rem}
.airport-grid,.stay-grid,.shuttle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.airport-grid{grid-template-columns:repeat(2,1fr);max-width:860px}
.airport-grid article,.stay-grid article,.shuttle-grid article,.place-card{background:var(--stone);border:1px solid rgba(62,90,71,.14);padding:1.25rem;text-align:left}
.airport-grid article{background:var(--ivory)}
.airport-grid p:not(.eyebrow),.stay-grid p,.shuttle-grid p,.place-card p{color:var(--ink-soft)}
.travel-note{max-width:58rem;margin-top:1.5rem;color:var(--ink-soft);font-size:1.18rem}
.small-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}
.small-links a{font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid currentColor}
.stay-grid h3,.shuttle-grid h3,.place-card h3{font-family:var(--serif);font-size:1.45rem;line-height:1.2;color:var(--forest)}
.shuttle-grid article{background:rgba(251,250,247,.08);border-color:rgba(251,250,247,.22)}
.shuttle-grid h3{color:var(--ivory)}
.shuttle-grid p{color:var(--on-forest)}
.fine-line{margin-top:1.6rem;font-size:1rem;color:var(--on-forest)}
.places-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem}
.place-card{padding:0;background:var(--stone);overflow:hidden}
.place-card h3,.place-card p,.place-card .small-links{margin-left:1rem;margin-right:1rem}
.place-card h3{margin-top:1rem}
.place-card .small-links{margin-bottom:1.25rem}
.place-photo{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--forest);color:var(--ivory)}
.place-photo.no-photo{display:grid;place-items:center;font-size:1rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ivory);background:linear-gradient(135deg,var(--forest),var(--forest-deep))}
.place-meta{font-size:1rem;font-style:italic}
.tag{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--rust);margin-bottom:.35rem}
.heading-with-tag{display:inline-flex;align-items:baseline;justify-content:center;gap:1rem;flex-wrap:wrap}
.heading-with-tag .tag{margin:0;color:var(--on-forest)}
.place-credit{margin:2rem auto 0;max-width:48rem;color:var(--ink-soft);font-size:.95rem}
.faq-shell{padding:2.5rem 0 6rem}
.faq-list{max-width:760px;margin:0 auto}
.faq-group + .faq-group{margin-top:3rem}
.faq-group h2{font-family:var(--serif);font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--forest);margin-bottom:.75rem}
.faq-group details{border-top:1px solid rgba(62,90,71,.22)}
.faq-group details:last-child{border-bottom:1px solid rgba(62,90,71,.22)}
.faq-group summary{list-style:none;cursor:pointer;position:relative;padding:1.1rem 3rem 1.1rem 0;font-size:1.35rem;line-height:1.25;color:var(--ink)}
.faq-group summary::-webkit-details-marker{display:none}
.faq-group summary::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font-family:var(--serif);font-size:1.65rem;line-height:1;color:var(--rust)}
.faq-group details[open] summary::after{content:"×"}
.faq-group details p{padding:0 3rem 1.25rem 0;color:var(--ink-soft);font-size:1.2rem}
.faq-group details a{border-bottom:1px solid currentColor}
.story-hero{padding:5.5rem 0 3rem}
.story-chapter{padding:5.5rem 0}
.section-heading{text-align:center;max-width:760px;margin:0 auto}
.section-heading h1{font-size:clamp(4.2rem,8vw,6.5rem);color:var(--forest);line-height:1;margin:.35rem 0}
.section-heading p:not(.eyebrow){font-size:1.35rem;color:var(--ink-soft)}
.story-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(280px,.72fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.story-copy{max-width:640px}
.story-copy.center{margin:0 auto;text-align:center}
.story-copy h2{margin:.35rem 0 .8rem}
.story-copy p:not(.eyebrow){font-size:1.25rem;color:var(--ink-soft)}
.on-dark .story-copy p:not(.eyebrow){color:var(--on-forest)}
.story-chapter figure{margin:0}
.story-chapter figure:not(.slideshow){padding:9px 9px 0;background:var(--ivory);box-shadow:0 12px 35px rgba(27,36,51,.12);border:1px solid rgba(62,90,71,.08)}
.story-chapter img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover;background:var(--stone)}
.story-chapter figcaption{font-size:1.25rem;line-height:1.2;text-align:center;padding:.8rem 0;color:var(--ink)}
.story-photo-row{display:grid;gap:clamp(1rem,2.5vw,1.5rem);margin-top:2.5rem}
.story-photo-row.two-up{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin-left:auto;margin-right:auto}
.story-photo-row.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}
.story-photo-row .slideshow{padding:9px 9px 0;background:var(--ivory);box-shadow:0 12px 35px rgba(27,36,51,.12);border:1px solid rgba(62,90,71,.08)}
.slide-controls{display:flex;gap:1.2rem;align-items:center;justify-content:center;padding-bottom:1rem}
.slide-controls button,.viewer-controls button{border:1px solid rgba(62,90,71,.35);background:transparent;border-radius:50%;width:44px;height:44px;color:var(--ink);cursor:pointer}
.slide-controls span,#viewer-count{font-size:.75rem;letter-spacing:.14em}
#slide-photo{transition:opacity .25s}
.slideshow:focus-within{outline:1px solid rgba(62,90,71,.5);outline-offset:10px}
.story-us{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:clamp(2rem,5vw,4rem);align-items:center}
.story-us figure{padding:9px 9px 0;background:var(--ivory);box-shadow:0 12px 35px rgba(27,36,51,.2);border:1px solid rgba(251,250,247,.12)}
.story-us img{aspect-ratio:4/5;object-fit:cover}
.story-links{display:flex;gap:1.5rem;flex-wrap:wrap}
.story-credit{padding:2.5rem 0 1rem}
.credit{text-align:center;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
.photo-trigger{cursor:zoom-in!important;transition:box-shadow .25s,filter .25s}
.photo-trigger:hover{box-shadow:0 6px 24px rgba(27,36,51,.18);filter:brightness(1.035)}
#photo-viewer{width:min(1100px,96vw);max-width:96vw;height:min(950px,94svh);max-height:94svh;margin:auto;padding:55px 35px 20px;border:1px solid rgba(62,90,71,.25);background:var(--stone);color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.35);overflow:hidden}
#photo-viewer::backdrop{background:rgba(27,36,51,.86);backdrop-filter:blur(7px)}
#photo-viewer figure{margin:0;height:calc(100% - 65px);display:flex;flex-direction:column;align-items:center}
#viewer-image{display:block;max-width:100%;height:calc(100% - 45px);object-fit:contain;min-height:0}
#viewer-caption{font-size:1.35rem;line-height:1.3;padding:10px 0;text-align:center}
.viewer-close{position:absolute;right:20px;top:12px;border:0;background:none;padding:10px;font-size:.9rem;color:var(--ink);min-height:40px;cursor:pointer}
.viewer-controls{display:flex;gap:25px;justify-content:center;align-items:center;margin-top:10px}
body.photo-open{overflow:hidden}
@media (max-width:900px){
  .venue-layout,.story-split,.story-us{grid-template-columns:1fr}
  .story-split figure,.story-us figure{max-width:430px}
  .story-us .story-copy{grid-row:1}
  .airport-grid,.stay-grid,.shuttle-grid,.places-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .inner-v2 .page-hero{padding:4rem 0 3rem}
  .travel-section{padding:4.25rem 0}
  .airport-grid,.stay-grid,.shuttle-grid,.places-grid{grid-template-columns:1fr}
  .story-hero{padding:4rem 0 2rem}
  .story-chapter{padding:4rem 0}
  .story-split figure,.story-us figure{max-width:none}
  .slide-controls button,.viewer-controls button{width:44px;height:44px}
  #photo-viewer{padding:55px 15px 15px}
  .faq-group summary{font-size:1.2rem}
  .faq-group details p{padding-right:0}
  .more + .more{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  #slide-photo{transition:none}
}
@media print{
  #photo-viewer{display:none!important}
}

/* --- fixes: images must not inherit HTML height attributes --- */
.story-chapter img,.place-photo,.venue-photo img{height:auto}
img.place-photo{aspect-ratio:4/3;height:auto;object-fit:cover;display:block}
.place-photo.no-photo{aspect-ratio:4/3;height:auto}
.venue-photo img{aspect-ratio:4/3;object-fit:cover;display:block}
/* friends-mobile-2up */

/* round 6: restored polaroid hero + arch in chapter one */
.memories{padding:5.5rem 0 4rem}
.photo-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:clamp(1.4rem,3vw,2.6rem);align-items:center;max-width:1120px;margin:3rem auto 0}
.photo-grid figure{margin:0;padding:9px 9px 0;background:var(--ivory);box-shadow:0 12px 35px rgba(27,36,51,.12);border:1px solid rgba(62,90,71,.08)}
.photo-grid figure:nth-child(1){transform:rotate(-2deg)}
.photo-grid figure:nth-child(3){transform:rotate(2deg)}
.photo-grid img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;display:block;max-height:620px}
.photo-grid figcaption{font-size:1.35rem;line-height:1.2;text-align:center;padding:.85rem 0;color:var(--ink)}
.story-chapter figure.story-arch{padding:0;background:none;border:0;aspect-ratio:3/4;max-width:460px;margin-left:auto;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.story-chapter figure.story-arch img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.story-copy p+p{margin-top:1rem}
@media(max-width:900px){.photo-grid{grid-template-columns:1fr;max-width:430px}.photo-grid figure:nth-child(1),.photo-grid figure:nth-child(3){transform:none}.story-chapter figure.story-arch{margin:0 auto;max-width:none}}
/* friends grid, single source of truth */
.friends-block{margin-top:3rem;text-align:center}
.friends-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.25rem}
.friend-slot{display:block;margin:0;padding:9px 9px 0;background:var(--ivory);box-shadow:0 12px 35px rgba(27,36,51,.12);border:1px solid rgba(62,90,71,.08)}
.friend-slot .friend-photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
@supports not (aspect-ratio:4/5){.friend-slot .friend-photo{height:300px}}
.friend-slot .friend-photo{height:auto}
.friend-slot figcaption{font-size:1.05rem;line-height:1.3;padding:.7rem .25rem .8rem;text-align:center;color:var(--ink)}
@media(max-width:900px){.friends-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
