:root{--paper:#eff0e8;--ink:#17392f;--muted:#4f675b;--line:#b7c4b8;--focus:#9faf56}.resorts h1,.resorts h2,.resorts h3{font-family:Archivo,Arial,sans-serif;font-weight:500;letter-spacing:-.04em}.site-header{background:#17392f;color:#eff0e8}.site-header .button{background:#d7dfac;color:#17392f}.landscape{height:min(900px,calc(100svh - 90px));min-height:710px;color:#fff;isolation:isolate;overflow:hidden}.landscape-image,.landscape-shade{position:absolute;inset:0;z-index:-2}.landscape-image img{object-position:center 44%}.landscape-shade{z-index:-1;background:linear-gradient(90deg,rgba(5,24,15,.76),rgba(5,24,15,.12) 85%),linear-gradient(0deg,rgba(5,24,15,.9),transparent 48%)}.landscape-copy{padding-top:80px}.landscape h1{font-size:clamp(60px,7vw,96px);font-weight:500;line-height:.98;max-width:8ch}.landscape-copy>p{margin-block:30px;font-size:19px;color:#fff;max-width:40ch}.landscape-copy>.button{background:#d7dfac;color:#17392f;border-color:#d7dfac}.landscape-rail{position:absolute;bottom:34px;left:0;right:0;display:flex;justify-content:space-between;align-items:end;gap:32px}.landscape .scene-controls{flex-wrap:nowrap;gap:0;background:#17392f;border:1px solid #b7c4b8}.landscape .scene-controls button{border:0;min-width:120px;padding:20px}.landscape .scene-controls button[aria-pressed=true]{background:#d7dfac;color:#17392f}.landscape .scene-copy{max-width:42ch;font-size:14px}.landscape .scene-copy p{margin-top:5px;min-height:44px}.resort-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:start}.resort-intro h2{max-width:15ch}.resort-intro p+p{margin-top:20px}.resort-intro .button{margin-top:30px}.journey{padding-block:75px 90px;background:#d7dfac;overflow:hidden}.journey-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.journey-head h2{font-size:48px;max-width:17ch}.journey-buttons{display:flex;gap:10px}.journey-buttons button{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;border:1px solid #17392f;color:#17392f;background:transparent}.journey-buttons svg{width:23px;height:23px}.journey-buttons button:first-child svg{transform:rotate(180deg)}.journey-buttons button:hover{background:#eff0e8}.photo-rail{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:48px;padding:0 48px 25px;scrollbar-width:thin}.photo-rail figure{flex:0 0 52%;scroll-snap-align:start}.photo-rail .photo{height:430px}.photo-rail figure:nth-child(2){flex-basis:34%}.photo-rail figcaption{margin-top:23px;display:flex;justify-content:space-between;gap:25px}.photo-rail h3{font-size:28px;flex-shrink:0}.photo-rail p{font-size:15px;max-width:24ch}.stay-section{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}.stay-photo{height:600px}.stay-section p{margin-top:26px}.stay-section dl{margin-block:30px}.stay-section dl>div{display:grid;grid-template-columns:60px 1fr;gap:20px;border-top:1px solid #b7c4b8;padding-block:15px}.stay-section dt{font-weight:600}.stay-section dd{margin:0;color:#4f675b;font-size:16px}.contact{background:#17392f;color:#eff0e8}.contact-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.contact h3{margin-bottom:20px}.contact .button{background:#d7dfac;color:#17392f}.contact-address{border-top:1px solid #6f8b78;padding-top:26px}.site-footer{background:#17392f;color:#eff0e8;border-color:#6f8b78}@media(max-width:1000px){.landscape-rail{display:block}.landscape .scene-copy{max-width:65ch;margin-top:15px}.landscape .scene-copy p{min-height:0}.landscape .scene-controls{width:max-content}.resort-intro,.stay-section{gap:45px}.photo-rail figure{flex-basis:65%}.photo-rail figure:nth-child(2){flex-basis:55%}.contact-inner{gap:40px}}@media(max-width:700px){.landscape{height:750px;min-height:0}.landscape-copy{padding-top:45px}.landscape h1{font-size:70px}.landscape-copy>p{font-size:17px;max-width:30ch}.landscape-rail{bottom:25px}.landscape .scene-controls{width:100%}.landscape .scene-controls button{min-width:0;flex:1;padding:14px 7px;font-size:14px}.landscape .scene-copy{min-height:82px}.landscape .scene-copy p{font-size:13px}.resort-intro,.stay-section,.contact-inner{display:block}.resort-intro>div{margin-top:30px}.journey{padding-block:55px}.journey-head{align-items:center}.journey-head h2{font-size:34px}.journey-buttons button{width:44px;height:44px}.photo-rail{padding-inline:20px;scroll-padding-left:20px;gap:18px}.photo-rail figure,.photo-rail figure:nth-child(2){flex-basis:85%}.photo-rail .photo{height:350px}.photo-rail figcaption{display:block}.photo-rail p{margin-top:8px}.stay-photo{height:400px;margin-bottom:38px}.contact-address{margin-top:40px}}
.limited-photos .venue-folio{grid-template-columns:1fr}.limited-photos .invite-photos{padding-bottom:0}.secondary-purpose p{margin-top:24px}.secondary-purpose{border-top:1px solid var(--line)}@media(max-width:480px){.house-copy h1{font-size:clamp(46px,16vw,72px)}}

/* Banner content and photo controls share normal flow; copy cannot be clipped by a fixed panel. */
.landscape{height:auto;min-height:710px;display:flex;flex-direction:column}
.landscape h1{max-width:11ch;text-wrap:balance}
.landscape-copy{padding-bottom:0}
.landscape-rail{position:relative;bottom:auto;left:auto;right:auto;margin-top:auto;padding-top:40px;padding-bottom:32px}
@media(max-width:700px){
  .landscape{height:auto;min-height:680px}
  .landscape h1{font-size:clamp(48px,14vw,64px)}
  .landscape-copy>p{margin-block:24px;max-width:32ch}
}
/* A reserved 44px link keeps the logo from increasing the approved header. */
.site-header .brand.brand-logo{display:flex;align-items:center;flex:0 1 245px;width:245px;max-width:245px;min-width:0;height:44px;min-height:44px;line-height:1;position:relative}
.site-header .brand-logo img{display:block;flex:0 1 auto;width:100%;max-width:245px;height:42px;max-height:42px;min-width:0;object-fit:contain;object-position:left center}
.site-header:has(.brand-logo) nav{flex-shrink:0}
@media(max-width:600px){
 .site-header .brand.brand-logo{flex-basis:168px;width:168px;max-width:168px}
 .site-header .brand-logo img{max-width:168px;height:34px;max-height:34px}
}
