:root{--font-display:'Boska',Georgia,serif;--font-body:'Switzer',Arial,sans-serif;--text-xs:clamp(.75rem,.72rem + .15vw,.875rem);--text-sm:clamp(.875rem,.82rem + .2vw,1rem);--text-base:clamp(1rem,.95rem + .2vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .6vw,1.5rem);--text-xl:clamp(1.8rem,1.2rem + 1.5vw,2.5rem);--text-hero:clamp(3rem,1.4rem + 4vw,5.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--color-bg:oklch(.974 .012 85);--color-surface:oklch(.993 .004 85);--color-surface-offset:oklch(.935 .014 85);--color-text:oklch(.265 .023 251);--color-text-muted:oklch(.47 .014 251);--color-primary:oklch(.31 .04 245);--color-primary-hover:oklch(.4 .04 245);--color-divider:oklch(from var(--color-text) l c h / .15);--gold:oklch(.8 .075 82);--white:oklch(.99 .008 85);--radius-sm:3px;--radius-md:6px;--shadow-lg:0 12px 40px oklch(.2 .02 80/.12)}
[data-theme=dark]{--color-bg:oklch(.22 .02 245);--color-surface:oklch(.26 .02 245);--color-surface-offset:oklch(.29 .02 245);--color-text:oklch(.94 .01 85);--color-text-muted:oklch(.77 .01 85);--color-primary:oklch(.82 .06 82);--color-primary-hover:oklch(.9 .04 82)}
body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg)}h1,h2,h3{font-family:var(--font-display)}h2{font-size:var(--text-xl)}.wrap{width:min(1240px,calc(100% - var(--space-24)));margin-inline:auto}.eyebrow{font-size:var(--text-xs);letter-spacing:.15em;font-weight:600;line-height:1.5}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding:var(--space-4) var(--space-6);font-size:var(--text-sm);font-weight:500;border:1px solid transparent;border-radius:var(--radius-sm);min-height:52px;transition:background .2s}.button span{font-size:var(--text-lg)}.primary{color:var(--color-bg);background:var(--color-primary)}.primary:hover{background:var(--color-primary-hover)}.gold{background:var(--gold);color:oklch(.25 .02 245)}.gold:hover{background:oklch(.87 .065 82)}.small{min-height:46px;padding:var(--space-2) var(--space-5)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-6);font-size:var(--text-sm);font-weight:600;min-height:44px;border-bottom:1px solid var(--color-divider)}.text-link:hover{border-color:var(--color-text)}header{height:96px;padding-inline:var(--space-12);display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);background:var(--color-bg);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--color-divider)}.brand{display:flex;gap:var(--space-3);align-items:center}.brand svg{width:48px;height:44px}.brand>span{font-family:var(--font-display);font-size:var(--text-xl);line-height:1}.brand small{display:block;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;margin-top:var(--space-2)}nav{display:flex;gap:var(--space-8);font-size:var(--text-sm)}nav a{padding-block:var(--space-3)}nav a:hover{color:var(--color-text-muted)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.icon-button{background:none;border:0;min-width:44px;min-height:44px;font-size:var(--text-lg)}.menu{display:none}.hero{position:relative;min-height:640px;color:var(--white);isolation:isolate;overflow:hidden}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:65% 43%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,oklch(.14 .018 245/.88) 0%,oklch(.16 .018 245/.62) 38%,oklch(.14 .018 245/.1) 70%),linear-gradient(0deg,oklch(.15 .015 245/.35),transparent 40%)}.hero-content{padding:var(--space-20) var(--space-24) var(--space-24);max-width:790px}.hero .eyebrow{max-width:400px;color:var(--gold)}h1{font-size:var(--text-hero);letter-spacing:-.035em;margin-block:var(--space-5) var(--space-6)}h1 span{font-style:italic;font-weight:400;color:var(--gold)}.hero-content>p:not(.eyebrow){max-width:420px;color:oklch(.94 .008 85);margin-bottom:var(--space-8)}.hero-caption{position:absolute;right:var(--space-12);bottom:var(--space-8);font-size:var(--text-sm);border-top:1px solid oklch(1 0 0/.5);padding-top:var(--space-3)}.hero-caption span{display:block;font-size:var(--text-xs);letter-spacing:.13em;margin-bottom:var(--space-1)}.hero-caption b{margin-left:var(--space-6)}.arrival{padding-block:var(--space-8);display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;gap:var(--space-10);border-bottom:1px solid var(--color-divider)}.arrival h2{font-size:var(--text-lg);font-family:var(--font-body);font-weight:500;margin-top:var(--space-2)}#finder>label{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2)}.finder-controls{display:flex;gap:var(--space-3)}select{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-divider);border-radius:var(--radius-sm);padding:var(--space-3);min-width:180px;font-size:var(--text-sm)}.finder-controls .button{white-space:nowrap;gap:var(--space-4)}.finder-note{font-size:var(--text-sm);padding-left:var(--space-8);border-left:1px solid var(--color-divider);color:var(--color-text-muted)}.stays{padding-block:var(--space-20)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:var(--space-16)}.section-head h2{margin-top:var(--space-3)}.section-head>p{max-width:350px;color:var(--color-text-muted);font-size:var(--text-sm)}.filters{display:flex;gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap}.filter{border:1px solid var(--color-divider);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-5);background:transparent;font-size:var(--text-sm);min-height:46px}.filter.active{background:var(--color-primary);color:var(--color-bg);border-color:var(--color-primary)}.result-status{margin-block:var(--space-3) var(--space-5);font-size:var(--text-xs);color:var(--color-text-muted)}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10) var(--space-8)}.property-card{min-width:0}.card-image{position:relative;overflow:hidden;aspect-ratio:1.65}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.card-image:hover img{transform:scale(1.035)}.image-button{display:block;width:100%;height:100%;border:0;padding:0}.card-tag{position:absolute;left:var(--space-4);bottom:var(--space-4);background:var(--color-bg);color:var(--color-text);font-size:var(--text-xs);padding:var(--space-2) var(--space-3);pointer-events:none}.card-body{padding-top:var(--space-5)}.card-title-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.card-title-row h3{font-size:var(--text-xl)}.card-meta{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.card-body>p{margin-block:var(--space-2) var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm)}.amenities{font-size:var(--text-xs);padding-top:var(--space-3);border-top:1px solid var(--color-divider)}.card-links{display:flex;justify-content:space-between;gap:var(--space-5);align-items:center;margin-top:var(--space-3)}.details-link{border:0;border-bottom:1px solid var(--color-divider);background:none;font-size:var(--text-sm);font-weight:500;padding-block:var(--space-2);min-height:44px}.listing-note{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-8)}#group-result{padding:var(--space-8);background:var(--color-surface-offset)}.experience{background:var(--color-surface-offset);padding-block:var(--space-16)}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-20);align-items:center}.experience-photo{position:relative}.experience-photo img{aspect-ratio:.96;object-fit:cover;height:100%;width:100%}.experience-photo>span{position:absolute;bottom:var(--space-5);left:var(--space-5);right:var(--space-5);font-size:var(--text-xs);letter-spacing:.1em;background:var(--color-bg);padding:var(--space-3) var(--space-4)}.experience-copy h2{margin-block:var(--space-4) var(--space-5)}.experience-copy>p:not(.eyebrow){color:var(--color-text-muted);font-size:var(--text-sm)}.experience-list{margin-block:var(--space-6)}.experience-list>div{display:flex;gap:var(--space-5);padding-block:var(--space-4);border-bottom:1px solid var(--color-divider)}.experience-list>div>span{font-size:var(--text-xs);color:var(--color-text-muted);padding-top:var(--space-1)}.experience-list p{font-size:var(--text-sm);color:var(--color-text-muted)}.experience-list b{display:block;color:var(--color-text);font-weight:500;margin-bottom:var(--space-1)}.groups{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-20);align-items:center;padding-block:var(--space-24)}.group-copy h2{margin-block:var(--space-4) var(--space-6)}.group-copy>p:not(.eyebrow){color:var(--color-text-muted);font-size:var(--text-sm)}.group-stats{display:flex;gap:var(--space-10);padding-block:var(--space-6);margin-bottom:var(--space-3)}.group-stats b{display:block;font-family:var(--font-display);font-size:var(--text-xl);font-weight:400}.group-stats span{font-size:var(--text-xs);letter-spacing:.1em;color:var(--color-text-muted)}.micro{font-size:var(--text-xs)!important}.group-copy .micro{margin-top:var(--space-4);max-width:360px}.group-photos{position:relative;display:grid;grid-template-columns:1fr .8fr;gap:var(--space-4);align-items:end;padding-bottom:var(--space-8)}.group-photos img:first-child{grid-column:1/-1;width:100%;aspect-ratio:1.6;object-fit:cover}.group-photos img:nth-child(2){grid-column:2;width:100%;aspect-ratio:1.4;object-fit:cover;margin-top:calc(-1 * var(--space-16));border:8px solid var(--color-bg);position:relative}.group-photos span{position:absolute;bottom:0;left:0;font-size:var(--text-xs);letter-spacing:.07em;max-width:85%}.destination{position:relative;color:var(--white);padding-block:var(--space-20);isolation:isolate;overflow:hidden}.destination>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.destination-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,oklch(.15 .02 245/.88),oklch(.18 .02 245/.45))}.destination-copy h2{margin-block:var(--space-4) var(--space-6);font-size:var(--text-xl)}.destination-copy>p:not(.eyebrow){max-width:540px}.destination-copy .eyebrow{color:var(--gold)}.season-tags{display:flex;gap:var(--space-5);flex-wrap:wrap;padding-block:var(--space-6);font-size:var(--text-sm)}.season-tags span{border-bottom:1px solid oklch(1 0 0/.5);padding-bottom:var(--space-2)}.destination-copy .micro{color:oklch(.9 .01 85)}.story{padding-block:var(--space-20);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-20);border-bottom:1px solid var(--color-divider)}.story h2{margin-top:var(--space-4)}.story p:not(.eyebrow){font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-5)}.faq{padding-block:var(--space-16);display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-20)}.faq h2{margin-top:var(--space-4)}details{border-bottom:1px solid var(--color-divider)}summary{font-size:var(--text-sm);list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--space-5);padding-block:var(--space-5)}summary::-webkit-details-marker{display:none}summary span{font-size:var(--text-lg);line-height:1}details[open] summary span{transform:rotate(45deg)}details p{font-size:var(--text-sm);color:var(--color-text-muted);padding-bottom:var(--space-5);padding-right:var(--space-8)}.closing{text-align:center;padding-block:var(--space-16) var(--space-20)}.closing h2{font-size:var(--text-xl);margin-block:var(--space-4) var(--space-8)}footer{border-top:1px solid var(--color-divider);padding-block:var(--space-12) var(--space-6)}.footer-top{display:grid;grid-template-columns:1fr 1fr .7fr .8fr;gap:var(--space-10);align-items:start}.footer-brand{font-size:var(--text-xl);font-family:var(--font-display)}.footer-top p{font-size:var(--text-sm);color:var(--color-text-muted)}.footer-top>div a{display:block;font-size:var(--text-sm);min-height:36px}.footer-bottom{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-12);padding-top:var(--space-5);border-top:1px solid var(--color-divider);font-size:var(--text-xs);color:var(--color-text-muted)}dialog{border:0;background:var(--color-bg);color:var(--color-text);width:min(900px,calc(100% - var(--space-8)));max-height:90vh;margin:auto;padding:0;border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}dialog::backdrop{background:oklch(.12 .02 245/.75)}.close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1;background:var(--color-bg);border-radius:50%}.dialog-image{width:100%;max-height:360px;object-fit:cover}.dialog-copy{padding:var(--space-8)}.dialog-copy h2{margin-block:var(--space-3) var(--space-4)}.dialog-copy p{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-5)}.dialog-copy ul{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);list-style:none;padding:0;margin-bottom:var(--space-6);font-size:var(--text-sm)}.dialog-copy li::before{content:'· ';color:var(--color-text-muted)}.img-fallback{display:flex;align-items:center;justify-content:center;min-height:220px;padding:var(--space-6);background:var(--color-surface-offset);color:var(--color-text-muted)}
.group-photos img{height:auto}.button{transition:none}.header-actions .button .booking-desktop,.header-actions .button .booking-mobile{font-size:var(--text-sm)}.booking-mobile,.mobile-theme{display:none}.brand>span{white-space:nowrap}
@media(min-width:1600px){.hero-content{margin-left:calc((100vw - 1440px)/2)}.hero{min-height:700px}}
@media(max-width:1150px){header{padding-inline:var(--space-6);gap:var(--space-4)}nav{gap:var(--space-4)}.brand svg{width:36px}.brand>span{font-size:var(--text-lg)}.brand small{letter-spacing:.04em}.wrap{width:calc(100% - var(--space-16))}.hero-content{padding-inline:var(--space-16)}.arrival{grid-template-columns:1fr 1.5fr;gap:var(--space-8)}.finder-note{display:none}.experience-grid,.groups,.story,.faq{gap:var(--space-10)}.card-title-row{display:block}.card-meta{display:block;margin-top:var(--space-2)}}
@media(max-width:850px){header{height:80px}.menu{display:block}nav{display:none;position:absolute;top:80px;left:0;right:0;padding:var(--space-5) var(--space-6);background:var(--color-bg);border-bottom:1px solid var(--color-divider)}nav.open{display:flex;flex-direction:column;gap:var(--space-2)}nav a{min-height:44px}.brand>span{font-size:var(--text-lg)}.header-actions .button{font-size:var(--text-xs);gap:var(--space-2)}.hero{min-height:640px}.hero-content{padding:var(--space-16) var(--space-8) var(--space-24)}.hero-caption{right:var(--space-8)}.hero-shade{background:linear-gradient(90deg,oklch(.14 .02 245/.87),oklch(.15 .02 245/.4))}.experience-grid{grid-template-columns:1fr 1fr;gap:var(--space-8)}.section-head{align-items:start;gap:var(--space-8)}.section-head>p{max-width:250px}.groups{gap:var(--space-8)}.group-stats{gap:var(--space-6)}.footer-top{grid-template-columns:1fr 1fr}.footer-bottom{flex-wrap:wrap}}
@media(max-width:600px){html{scroll-padding-top:80px}.wrap{width:calc(100% - var(--space-10))}header{padding-inline:var(--space-4);gap:var(--space-2)}.brand svg{width:24px;height:32px;flex-shrink:0}.brand{gap:var(--space-2)}.brand>span{font-size:1.65rem}.brand small{font-size:var(--text-xs);letter-spacing:0;white-space:nowrap}.header-actions{gap:0}.header-actions .button{padding-inline:var(--space-3);min-height:44px;white-space:nowrap}.header-actions .button span{display:none}.header-actions .button .booking-mobile{display:inline;font-size:var(--text-xs)}.mobile-theme{display:block;text-align:left;border:0;border-top:1px solid var(--color-divider);background:none;font-size:var(--text-sm);padding-block:var(--space-4)}#theme{display:none}.hero{min-height:640px}.hero-photo{object-position:58% 50%}.hero-shade{background:linear-gradient(0deg,oklch(.14 .02 245/.9),oklch(.14 .02 245/.25)),linear-gradient(90deg,oklch(.15 .02 245/.62),transparent)}.hero-content{padding:var(--space-12) var(--space-6) var(--space-24)}.hero .eyebrow{max-width:280px;line-height:1.7}h1{margin-top:var(--space-6);font-size:clamp(2.75rem,12vw,3.5rem)}.hero-content>p:not(.eyebrow){font-size:var(--text-sm);max-width:320px}.hero-caption{left:var(--space-6);right:auto;bottom:var(--space-6)}.arrival{grid-template-columns:1fr;padding-block:var(--space-6);gap:var(--space-5)}.finder-controls{justify-content:space-between}.finder-controls select{min-width:0;flex:1}.finder-controls .button{padding-inline:var(--space-4)}.stays{padding-block:var(--space-12)}.section-head{display:block}.section-head>p{margin-top:var(--space-4);max-width:100%}.filters{gap:var(--space-2);margin-top:var(--space-6)}.filter{padding:var(--space-2) var(--space-3)}.property-grid{grid-template-columns:1fr;gap:var(--space-10)}.card-title-row{display:flex;align-items:start}.card-title-row h3{font-size:var(--text-xl)}.card-meta{max-width:100px;white-space:normal;text-align:right;margin-top:var(--space-1)}.experience{padding-block:var(--space-10)}.experience-grid{grid-template-columns:1fr}.experience-photo img{aspect-ratio:1.15}.experience-photo>span{font-size:var(--text-xs);left:var(--space-3);right:var(--space-3);bottom:var(--space-3)}.groups{grid-template-columns:1fr;padding-block:var(--space-12);gap:var(--space-8)}.group-photos{margin-top:var(--space-3)}.group-photos span{max-width:100%;letter-spacing:.03em}.destination{padding-block:var(--space-12)}.destination-copy>p:not(.eyebrow){font-size:var(--text-sm)}.story,.faq{grid-template-columns:1fr;gap:var(--space-8);padding-block:var(--space-12)}.closing{padding-block:var(--space-10) var(--space-16)}.footer-top{gap:var(--space-6)}.footer-bottom{margin-top:var(--space-8)}.dialog-copy{padding:var(--space-6)}.dialog-image{max-height:240px}}

/* Targeted branding and Gr8 Epic Escape image updates */
.brand-logo{width:54px;height:54px;object-fit:contain;border-radius:50%;background:transparent;flex:0 0 auto}.group-photos-single{display:block;padding-bottom:var(--space-8)}.group-photos-single img:first-child{width:100%;aspect-ratio:1.6;object-fit:cover;display:block}.group-photos-single span{position:absolute;bottom:0;left:0;font-size:var(--text-xs);letter-spacing:.07em;max-width:85%}@media(max-width:1150px){.brand-logo{width:44px;height:44px}}@media(max-width:700px){.brand-logo{width:38px;height:38px}.brand{gap:var(--space-2)}.brand>span{font-size:var(--text-base)}}
