@font-face{font-family:"Barlow Condensed";src:url(assets/barlow-condensed-latin-600.woff2) format("woff2");font-display:swap;font-weight:600}
@font-face{font-family:Fraunces;src:url(assets/fraunces-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Fraunces;src:url(assets/fraunces-latin-400-italic.woff2) format("woff2");font-display:swap;font-style:italic}
@font-face{font-family:"DM Sans";src:url(assets/dm-sans-latin-wght-normal.woff2) format("woff2");font-display:swap;font-weight:100 900}
:root{--paper:#f6f0e5;--cream:#fff9ed;--ink:#222e25;--green:#293e32;--moss:#435846;--rust:#923d2d;--clay:#efdacf;--sand:#eae0cd;--line:#bcb6a2;--serif:Fraunces,Georgia,serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 "DM Sans",system-ui,sans-serif}
[hidden]{display:none!important}
img,video{display:block;max-width:100%;height:auto}
figure,blockquote{margin:0}
a{color:inherit;text-underline-offset:.22em}
a:hover{text-decoration-thickness:.12em}
:focus-visible{outline:3px solid #ac5835;outline-offset:4px}
h1,h2,h3,p{margin:0 0 .8rem}
h1,h2,h3{font:400 1rem/1.03 var(--serif);letter-spacing:-.033em}
h1{font-size:clamp(3.1rem,6.4vw,6.35rem)}
h2{font-size:clamp(2.45rem,5vw,4.8rem)}
h3{font-size:clamp(1.65rem,2.7vw,2.5rem)}
p:last-child{margin-bottom:0}
address{font-style:normal;margin:1.2rem 0}
.wrap{width:min(100% - 3.5rem,76rem);margin-inline:auto}
.section{padding-block:clamp(3.25rem,7.2vw,7rem)}
.kicker,.concept,figcaption{font-size:.72rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}
.kicker{color:var(--rust);margin-bottom:1rem}
.skip{position:absolute;left:1rem;top:1rem;z-index:5;transform:translateY(-180%);background:var(--cream);padding:.6rem 1rem}
.skip:focus{transform:none}
.concept{display:flex;justify-content:space-between;gap:.75rem;background:var(--green);color:var(--cream);padding:.34rem max(1.75rem,calc((100% - 76rem)/2));font-size:.63rem}
.masthead{border-bottom:1px solid var(--line)}
.nav,.brand,.nav nav,.actions{display:flex;align-items:center}
.nav{min-height:5rem;gap:1.2rem;justify-content:space-between}
.brand{text-decoration:none;gap:.62rem;line-height:1.1;flex-shrink:0}
.brand img{width:2.6rem;height:2.6rem;object-fit:contain}
.brand b{font:1.25rem/1.1 var(--serif);display:block}
.brand small{font-size:.65rem;letter-spacing:.06em}
.nav nav{flex-wrap:wrap;gap:clamp(.55rem,1.4vw,1.25rem);font-size:.83rem;font-weight:700}
.nav nav a{text-decoration:none}
.nav nav a:hover{text-decoration:underline}
.button,.menu-toggle{border:1px solid transparent;background:var(--rust);color:var(--cream);display:inline-flex;align-items:center;gap:.65rem;padding:.7rem 1rem;text-decoration:none;font:750 .83rem/1.4 "DM Sans",sans-serif;cursor:pointer}
.button:hover{background:#733020}
.menu-toggle{background:transparent;color:var(--green);border-color:var(--line)}
.under{font-weight:750;text-decoration:underline}
.actions{flex-wrap:wrap;gap:.75rem 1.2rem;margin-top:1.45rem}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,.48fr);column-gap:clamp(1.25rem,5vw,5rem);row-gap:clamp(.7rem,2.6vh,1.8rem);align-items:end;padding-block:clamp(.85rem,3.3vh,2.5rem) clamp(.65rem,1.7vh,1.1rem);border-bottom:1px solid var(--line)}
.hero-fit{height:calc(100vh - var(--hero-top));height:calc(100svh - var(--hero-top));min-height:min-content;grid-template-rows:auto minmax(6rem,1fr)}
.hero-label,.hero-location{font-size:.75rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase}
.hero-label{color:var(--rust);margin-bottom:.45rem}
.hero h1{font:600 clamp(3.4rem,min(9.5vw,17vh),9rem)/.86 "Barlow Condensed","Arial Narrow","DM Sans",sans-serif;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 .65rem}
.hero-location{color:var(--moss)}
.hero-location span{margin-inline:.4em;color:var(--rust)}
.hero-copy{border-left:1px solid var(--line);padding-left:clamp(.9rem,2vw,2rem)}
.hero-intro{max-width:32ch;font-size:clamp(1rem,1.6vw,1.2rem)}
.hero-copy .actions{margin-top:.9rem}
.hero-photo{grid-column:1/-1}
.hero-fit .hero-photo{align-self:stretch;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}
.hero-photo img{width:100%;height:clamp(17rem,33vw,30rem);object-fit:cover;object-position:center 65%}
.hero-fit .hero-photo img{height:100%;min-height:0}
figcaption{margin-top:.68rem;line-height:1.45}
.hero-photo figcaption{display:flex;justify-content:space-between;gap:.45rem 1rem;flex-wrap:wrap;color:var(--moss)}
.menu-icon{position:relative;width:.9rem;height:.8rem;flex:none}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0;width:100%;top:50%;border-top:1px solid currentColor;transform:translateY(-3px)}
.menu-icon::after{transform:translateY(3px)}
.menu-toggle[aria-expanded="true"] .menu-icon::before{transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon::after{transform:rotate(-45deg)}
.host,.stay-grid,.eco-grid,.find-grid,.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.75rem,6.5vw,6.5rem);align-items:center}
.host-photo{margin-inline:0 clamp(0rem,4vw,3rem);padding-bottom:.7rem;border-bottom:1px solid var(--line)}
.host-photo img{width:100%;aspect-ratio:1.25;object-fit:cover;object-position:50% 44%}
.stay-band,.find-band{background:var(--green);color:var(--cream)}
.stay-band .kicker,.find-band .kicker{color:#efbc9f}
.stay-grid figure img{width:100%;aspect-ratio:1.33;object-fit:cover}
.amenities{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1rem;padding:1rem 0;margin:1rem 0;border-block:1px solid #879387}
.amenities li::before{content:"✓";margin-right:.5em;color:#f5c5a7}
.intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:end;gap:1rem 3rem;margin-bottom:2rem}
.intro h2{margin-bottom:0}
.meal-grid,.teasers,.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}
.meal-grid article{border-bottom:1px solid var(--line);padding-bottom:1rem}
.meal-grid img,.teasers img,.album-grid img{width:100%;aspect-ratio:1.35;object-fit:cover}
.meal-grid .kicker{margin:.85rem 0 .25rem}
.note{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:.5rem 1.3rem;margin-top:1.7rem;border-left:3px solid var(--rust);padding:.8rem 1rem;background:var(--sand)}
.eco-band{background:#e1e5d7}
.eco-grid img{width:100%;aspect-ratio:1.2;object-fit:cover}
.guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.8rem;align-items:start}
.guide details{border-top:1px solid var(--line)}
.guide details:last-child{border-bottom:1px solid var(--line)}
.guide summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.6rem;padding:.72rem 0;cursor:pointer;font-weight:750;line-height:1.3}
.guide summary::-webkit-details-marker{display:none}
.guide summary::after{content:"+";color:var(--rust);font-size:1.2rem}
.guide details[open] summary::after{content:"−"}
.guide small{font-weight:600;color:var(--moss);white-space:nowrap}
.guide details p{padding-right:1rem}
.guide details .under{display:inline-block;font-size:.82rem;margin-bottom:.8rem}
.transport{margin-top:2.25rem;display:grid;grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,.8fr));align-items:center;gap:1.2rem;padding:clamp(1rem,3vw,2rem);background:var(--sand);border-top:2px solid var(--rust)}
.transport figure img{width:100%;aspect-ratio:1.4;object-fit:cover}
.transport figcaption a{display:block;font-size:.83rem;letter-spacing:0}
.gallery-band{background:var(--sand)}
.teasers a,.album-grid a{display:block}
.teasers img:hover,.album-grid img:hover{filter:brightness(.88)}
.review-band{background:var(--clay)}
.review-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.review-links{align-items:flex-start;flex-direction:column}
.review-quotes{display:grid;gap:1rem}
.review-quote{background:var(--cream);border-left:3px solid var(--rust);padding:clamp(1rem,2.8vw,2rem)}
.review-quote blockquote{font:italic clamp(1.5rem,3vw,2.35rem)/1.15 var(--serif);color:var(--rust)}
.review-quote figcaption{font:inherit;letter-spacing:normal;text-transform:none;margin-top:.7rem}
.friends-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 1.5rem;padding:0;margin:1.6rem 0 0;list-style:none}
.friends-list li{display:flex;align-items:center;gap:.75rem;min-width:0;border-top:1px solid var(--line);padding:.8rem 0}
.friends-list img{width:44px;height:44px;flex:0 0 44px;border-radius:50%;object-fit:cover}
.friends-list strong,.friends-list span{display:block}
.friends-list strong{font:1.2rem/1.2 var(--serif)}
.friends-list span{font-size:.8rem}
.map{display:block;width:100%;height:clamp(18rem,31vw,27rem);border:1px solid #a3ad94;background:#e1e5d7}
.contact-grid{align-items:start}
.contact-grid address{overflow-wrap:anywhere}
form{background:var(--cream);border:1px solid var(--line);padding:clamp(1rem,3vw,2rem)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1rem;margin:1.15rem 0}
.form-grid label{font-weight:700;font-size:.87rem;min-width:0}
.form-grid small{font-weight:400}
.form-grid .full{grid-column:1/-1}
input,textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #a29c8c;border-radius:0;background:white;color:var(--ink);font:inherit;padding:.55rem;margin-top:.22rem}
textarea{resize:vertical}
.draft{margin-top:1rem;padding:1rem;background:var(--sand);overflow-wrap:anywhere}
.draft p{white-space:pre-wrap}
footer{background:var(--green);color:var(--cream)}
.footer{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding-block:1.7rem;font-size:.83rem}
.footer p{margin:.2rem 0 0}
.album-section{padding-block:2.5rem;border-top:1px solid var(--line)}
.album-section .album-grid,.video-grid{margin-top:1.3rem}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.video-grid video{width:100%;aspect-ratio:1.65;background:var(--green)}
.plan{max-width:55rem;margin-top:1rem}
.plan img{width:100%;border:1px solid var(--line)}
@media(max-width:880px){
.friends-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.nav{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem .65rem;padding-block:.7rem}
.nav nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:.55rem;border-top:1px solid var(--line)}
.nav nav a{display:flex;align-items:center;min-height:44px;padding:.45rem}
.nav .button,.menu-toggle{min-height:44px;justify-content:center}
.nav nav[hidden]{display:none}
.nav-action{grid-column:3;grid-row:1}
}
@media(min-width:881px){.nav nav[hidden]{display:flex!important}}
@media(max-width:760px) and (min-height:481px), (max-width:639px){
.hero{grid-template-columns:minmax(0,1fr)}
.hero-fit{grid-template-rows:auto auto minmax(6rem,1fr)}
.hero h1{font-size:clamp(2.65rem,14vw,6.6rem)}
.hero-copy{border-left:0;padding-left:0}
.hero-photo img{height:auto;aspect-ratio:1.6}
}
@media(max-height:480px){
.nav{min-height:3.5rem;padding-block:.4rem}
.hero-fit{gap:.6rem 1rem;padding-block:.65rem}
.hero-fit h1{font-size:clamp(2.5rem,min(10vw,15vh),5.25rem);margin-bottom:.4rem}
.hero-fit .hero-intro{font-size:.95rem;line-height:1.35}
.hero-fit .actions{gap:.55rem .7rem;margin-top:.55rem}
.hero-fit .actions a{font-size:.8rem}
.hero-fit .button{padding:.55rem .75rem}
.hero-fit figcaption{margin-top:.4rem}
}
@media(max-height:480px) and (min-width:640px){
.hero-fit{grid-template-columns:minmax(0,1fr) minmax(16rem,.75fr)}
}
@media(max-width:630px){
.wrap{width:calc(100% - 2rem)}
.concept{padding-inline:1rem;letter-spacing:.06em}
.host,.stay-grid,.eco-grid,.find-grid,.contact-grid,.intro,.guide,.transport,.note,.review-layout{grid-template-columns:minmax(0,1fr)}
.host-photo{order:1}
.eco-grid figure{order:1}
.intro{gap:.7rem}
.meal-grid,.teasers,.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.meal-grid article:last-child{grid-column:1/-1}
.meal-grid article:last-child img{aspect-ratio:2}
.guide details:last-child{border-bottom:0}
.guide details:last-of-type{border-bottom:0}
.guide{border-bottom:1px solid var(--line)}
.transport{grid-template-columns:repeat(2,minmax(0,1fr))}
.transport>div{grid-column:1/-1}
.footer{flex-wrap:wrap}
}
@media(max-width:480px){
.video-grid,.form-grid{grid-template-columns:minmax(0,1fr)}
.brand{gap:.5rem}
.brand img{width:2rem;height:2rem;flex:none}
.brand > span{min-width:0;overflow-wrap:anywhere}
.brand b{font-size:1.05rem}
.nav .button,.menu-toggle{gap:.4rem;padding-inline:.65rem}
}
@media(max-width:410px){.friends-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:370px){
.brand{gap:.4rem}
.brand img{width:1.65rem;height:1.65rem;flex:none}
.brand b{font-size:.95rem}
.brand small{display:none}
.nav .button,.menu-toggle{padding:.55rem .45rem;font-size:.72rem}
.nav{gap:.4rem}
#albums-title{font-size:2.65rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.footer-links{display:flex;gap:.55rem 1rem;flex-wrap:wrap}

.find-grid figure img{width:100%;aspect-ratio:1.5;object-fit:cover}
