:root{--brown:#6b4f45;--pink:#d9b4a7;--blush:#f1d7d2;--paper:#faf6f2;--sage:#d6dcd4;--ink:#51433e;--muted:#8f7f78}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans CJK SC","PingFang SC",sans-serif}
.site-header{height:92px;padding:0 5.5vw;display:flex;align-items:center;gap:56px;position:relative;z-index:10;background:#faf6f2e8;backdrop-filter:blur(12px)}
.site-header:after{content:"";position:absolute;left:5.5vw;right:5.5vw;bottom:0;height:1px;background:var(--brown);opacity:.35;transform:rotate(-.25deg)}
.brand{width:260px;height:78px;overflow:hidden;display:block}
.brand img{width:184px;height:auto;display:block;margin-top:-19px;mix-blend-mode:multiply}
nav{margin-left:auto;display:flex;gap:36px;align-items:center}
a{color:inherit;text-decoration:none}
nav a{font-size:13px;white-space:nowrap}
.language-menu{position:relative;display:inline-flex;align-items:center}.language-select{min-width:96px;padding:8px 28px 8px 10px;border:1px solid #cfc0b7;border-radius:3px;background:#fffaf0;color:var(--muted);font:11px/1.2 sans-serif;cursor:pointer}.language-select:focus-visible{outline:2px solid var(--brown);outline-offset:2px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hero{min-height:625px;position:relative;padding:96px 6.2vw 0}
.hero-copy{width:48%;position:relative;z-index:2}
.eyebrow{font-size:11px;letter-spacing:.24em;margin:0 0 20px;color:var(--muted)}
h1,h2,h3{font-family:"Noto Serif CJK SC","Songti SC",serif;font-weight:500}
h1{font-size:58px;line-height:1.28;margin:0;letter-spacing:.02em}
.hero-copy:after{content:"";display:block;width:310px;height:8px;border-bottom:2px solid var(--pink);border-radius:50%;transform:rotate(-1deg);margin-top:6px}
.lead{font-family:"Noto Serif CJK SC",serif;font-size:17px;line-height:1.9;margin-top:28px}
.proof{font-size:12px;color:var(--muted);margin-top:28px}
.hero-actions{display:flex;align-items:center;gap:22px;margin-top:24px}.hero-actions a{font-size:12px;padding-bottom:4px;border-bottom:1px solid var(--pink)}.hero-actions .primary{padding:11px 17px;border:1px solid var(--brown);border-radius:4px;background:#fffdfa}
.hero-photo{position:absolute;right:4vw;top:35px;width:51vw;height:475px;margin:0;overflow:hidden;border-radius:49% 43% 46% 42% / 36% 45% 42% 48%;transform:rotate(-1.2deg);box-shadow:0 26px 70px #654b4030}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#d9b4a720,transparent 46%)}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-photo figcaption{position:absolute;right:8%;bottom:8%;z-index:2;background:#faf6f2df;padding:9px 14px;font-size:11px;border-radius:18px}
.search-card{position:absolute;z-index:4;left:7vw;right:7vw;bottom:-8px;min-height:112px;background:#fffdfa;box-shadow:0 18px 40px #6b4f4522;border:1px solid #80675e;border-radius:28px 36px 25px 32px;display:grid;grid-template-columns:1.2fr 1fr 1fr .9fr 1.25fr;align-items:center;padding:15px 18px}
.search-card label{min-width:0;padding:0 24px;border-right:1px solid #d8cac4;display:grid;grid-template-rows:auto 32px;gap:11px}
.search-card label span{font-size:10px;letter-spacing:.18em;color:var(--muted)}
select,input{font:14px inherit;color:var(--ink);border:0;background:transparent;min-width:0;outline:none}
.search-card select,.search-card input{display:block;width:100%;height:32px;margin:0;padding:0;font-family:inherit;font-size:13px;line-height:1.4;letter-spacing:normal}
.search-card select{appearance:none;padding-right:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2351433e' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 4px center}
.search-card input[type=date]::-webkit-datetime-edit,.search-card input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}
.search-card input[type=date]::-webkit-datetime-edit{display:inline-flex;align-items:center;height:100%}
.search-card button{height:72px;border:1px solid var(--brown);background:var(--pink);color:var(--ink);font:15px inherit;border-radius:16px 20px 15px 18px;margin-left:16px}
.search-card button b{font-size:18px;margin-left:10px}
.host-intro{margin:78px 5.5vw 0;padding:52px 4vw;display:grid;grid-template-columns:190px minmax(0,1fr) 230px;align-items:center;gap:48px;border-top:1px solid #bca9a0;border-bottom:1px solid #bca9a0;background:#fffdfa;position:relative}.host-intro:before{content:"";position:absolute;left:0;right:0;top:-5px;border-top:1px solid var(--pink);transform:rotate(.2deg)}.host-emblem{margin:0}.host-emblem img{display:block;width:170px;height:170px;object-fit:contain;border-radius:50%;background:#faf6f2;border:1px solid #dccbc4}.host-emblem figcaption{margin-top:12px;text-align:center;font:9px monospace;letter-spacing:1.5px;color:var(--muted)}.host-intro h2{margin:0 0 18px;font-size:38px;line-height:1.35}.host-copy{display:grid;grid-template-columns:1fr 1fr;gap:28px}.host-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.9}.host-intro blockquote{margin:22px 0 0;padding-left:17px;border-left:2px solid var(--pink);font:16px/1.8 "Noto Serif CJK SC","Songti SC",serif}.host-follow{padding:25px;border:1px solid #d7c6bf;border-radius:8px;background:var(--blush);transform:rotate(1deg)}.host-follow span{font:9px monospace;letter-spacing:2px}.host-follow p{font-size:12px;line-height:1.8;color:var(--muted)}.host-follow a{display:inline-block;margin-top:10px;padding-bottom:3px;border-bottom:1px solid var(--brown);font-size:12px}
.stays{padding:118px 5.5vw 110px}
.section-heading{display:flex;align-items:end;justify-content:space-between}
.section-heading h2{font-size:39px;margin:0}
.section-heading>a{font-size:13px;margin-bottom:7px}
.stay-stack{height:980px;position:relative;margin-top:48px}
.stay-card{position:absolute;width:31%;background:#fffdfa;border:1px solid #7e655c;padding:12px;box-shadow:0 20px 45px #6b4f451a}
.stay-card img{width:100%;height:265px;object-fit:cover}
.stay-card div{padding:18px 10px 11px}
.stay-card p,.stay-card span{font-size:11px;color:var(--muted)}
.stay-card h3{font-size:23px;margin:9px 0 11px}
.stay-one{left:0;top:28px;transform:rotate(-2deg)}
.stay-two{left:34.5%;top:0;width:34%;transform:rotate(1.2deg);z-index:2}
.stay-three{right:0;top:40px;transform:rotate(2deg)}
.real-stays .stay-card{display:block;width:31%;transition:transform .25s,box-shadow .25s}
.real-stays .stay-card img{height:315px}
.real-stays .stay-one{left:0;top:24px;transform:rotate(-1.2deg)}
.real-stays .stay-two{left:34.5%;right:auto;top:0;width:31%;transform:rotate(1deg)}
.real-stays .stay-three{right:0;top:32px;width:31%;transform:rotate(1.7deg)}
.real-stays .stay-four{left:17%;top:500px;width:31%;transform:rotate(-1deg)}
.real-stays .stay-five{right:17%;top:485px;width:31%;transform:rotate(1.2deg)}
.real-stays .stay-card:hover{box-shadow:0 25px 55px #6b4f4530}
.real-stays .stay-one:hover{transform:rotate(-1.2deg) translateY(-5px)}
.real-stays .stay-two:hover{transform:rotate(1deg) translateY(-5px)}
.real-stays .stay-three:hover{transform:rotate(1.7deg) translateY(-5px)}
.real-stays .stay-four:hover{transform:rotate(-1deg) translateY(-5px)}
.real-stays .stay-five:hover{transform:rotate(1.2deg) translateY(-5px)}
.real-stays .stay-card b{display:block;margin-top:15px;color:var(--brown);font-size:12px;font-weight:500}
.guest-reviews{margin:0 5.5vw 118px;padding:76px 5vw 62px;border-top:1px solid #a89085;border-bottom:1px solid #a89085;background:#fffdf8;position:relative}
.guest-reviews:before{content:"";position:absolute;left:0;right:0;top:-5px;border-top:1px solid var(--pink);transform:rotate(.14deg)}
.guest-reviews-heading{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(420px,1.2fr);align-items:end;gap:8vw;margin-bottom:45px}
.guest-reviews-heading h2{margin:0;font-size:clamp(38px,4.2vw,57px);line-height:1.2}
.guest-reviews-heading>p{max-width:640px;margin:0;color:var(--muted);font-size:13px;line-height:2}
.guest-reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.guest-review-card{min-height:330px;padding:30px 34px 28px;border:1px solid #a68b80;background:#f1d7d2;display:flex;flex-direction:column;position:relative}
.guest-review-card-alt{background:#e4e8dc}
.guest-review-card:before{content:'“';position:absolute;right:28px;top:39px;color:#fffaf3aa;font:90px/1 Georgia,serif}
.review-card-top{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid #a8908570;position:relative;z-index:1}
.review-card-top a{font:500 16px/1.4 "Noto Serif CJK SC","Songti SC",serif}
.review-card-top span{flex:0 0 auto;padding:5px 9px;border:1px solid #8d766c;border-radius:14px;font:9px/1 sans-serif;letter-spacing:.08em}
.guest-review-card blockquote{margin:31px 0 35px;max-width:31em;font:20px/1.75 "Noto Serif CJK SC","Songti SC",serif;position:relative;z-index:1}
.guest-review-card footer{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-top:auto}
.guest-review-card footer div{display:grid;gap:5px}.guest-review-card footer strong{font-size:12px;font-weight:500}.guest-review-card footer small{color:var(--muted);font-size:10px}
.guest-review-card footer>a{flex:0 0 auto;padding-bottom:3px;border-bottom:1px solid var(--brown);font-size:10px}
.discover{min-height:900px;position:relative;padding:0 5.5vw}
.discover-heading{width:min(100%,680px);margin:0 auto;text-align:center}.discover-heading h2{font-size:42px;margin:0 0 15px}.discover-heading>p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted);margin:0 auto;max-width:620px}
.map-blob{position:relative;width:78vw;height:650px;margin:40px auto 0;background:var(--sage);border:1px solid #80675e;border-radius:12% 9% 11% 8% / 10% 12% 9% 11%;overflow:hidden;transform:rotate(-.6deg);box-shadow:0 24px 60px #6b4f451b}
.map-blob:before{content:"";position:absolute;inset:0;background-image:linear-gradient(20deg,#fff4 1px,transparent 1px);background-size:18px 18px}
.map-blob:before{pointer-events:none;z-index:2}
.map-blob iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1}
.map-legend{position:absolute;z-index:3;top:22px;right:25px;display:flex;gap:18px;padding:10px 15px;border:1px solid #cdbdb6;border-radius:22px;background:#fffdf3e8;backdrop-filter:blur(8px);font-size:11px;color:var(--ink)}.map-legend span{display:flex;align-items:center;gap:7px}.map-legend b{font-weight:400}.map-legend i{display:grid;place-items:center;width:16px;height:16px;font-style:normal}.landmark-dot{border-radius:50%;background:var(--brown);box-shadow:0 0 0 3px #d9b4a755}.stay-dot{width:auto!important;min-width:27px;padding:0 6px;border:1px solid #718763;border-radius:9px;background:#fffbed;color:#5b704f;font:600 10px/1 sans-serif}
.map-blob svg{position:absolute;inset:7%;width:86%;height:86%;fill:none;stroke:#7c6a62;stroke-width:2}
.map-blob circle{fill:var(--brown);stroke:none}
.map-blob circle:nth-of-type(2){fill:var(--pink)}
.map-note{position:absolute;left:4.8vw;top:300px;width:390px;padding:36px 38px 40px;background:#fffdfaee;backdrop-filter:blur(9px);border:1px solid var(--brown);border-radius:22px 28px 18px 25px;transform:rotate(-1.2deg);box-shadow:0 18px 44px #6b4f4525;z-index:4}
.map-note h2{font-size:35px;line-height:1.35;margin:0 0 18px}
.map-note p:not(.eyebrow),.journal-note p:not(.eyebrow){font-size:13px;line-height:1.9}
.map-note a,.journal-note a{display:inline-block;margin-top:14px;font-size:13px;border-bottom:1px solid var(--pink)}
.journal-note{position:absolute;right:4.8vw;bottom:28px;width:340px;padding:34px 34px 37px;background:var(--blush);border:1px solid var(--brown);border-radius:17px 24px 15px 21px;transform:rotate(1.4deg);box-shadow:0 20px 48px #6b4f4520;z-index:4}
.journal-note h2{font-size:39px;line-height:1.22;margin:0 0 18px}
.meet{margin:15px 5.5vw 70px;padding:45px 6vw 45px 3vw;border-top:1px solid #9f8c84;border-bottom:1px solid #9f8c84;display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:45px;position:relative}
.meet:before{content:"";position:absolute;left:0;right:0;top:-4px;border-top:1px solid #d9b4a7;transform:rotate(.4deg)}
.portrait{width:145px;height:145px;border-radius:50%;overflow:hidden;background:#fff;border:1px solid var(--brown)}
.portrait img{width:100%;height:100%;object-fit:cover;transform:scale(1.8)}
.meet h2{font-size:35px;margin:0 0 12px}
.meet p:not(.eyebrow){font-size:13px;color:var(--muted)}
.meet>a{font-size:13px}
@media(max-width:900px){.site-header{gap:15px}
.brand{width:170px}
nav{display:none}
.hero{padding:45px 24px 130px}
.hero-copy{width:100%}
h1{font-size:42px}
.hero-photo{position:relative;right:auto;top:auto;width:100%;height:340px;margin-top:35px}
.search-card{left:24px;right:24px;grid-template-columns:1fr 1fr;bottom:10px}
.search-card label{padding:8px 12px}
.search-card button{grid-column:1/-1}
.stays{padding:70px 24px}
.stay-stack{height:auto;display:grid;gap:20px}
.stay-card{position:relative;inset:auto!important;width:100%!important;transform:none!important}
.discover{min-height:0;padding:30px 24px}
.map-blob{position:relative;left:auto;width:100%;height:390px}
.map-note,.journal-note{position:relative;inset:auto;width:85%;margin-top:-80px}
.journal-note{margin:25px 0 0 auto}
.meet{grid-template-columns:100px 1fr;margin:60px 24px}
.portrait{width:100px;height:100px}
.meet>a{grid-column:2}
}
/* Square logo supplied for the current brand. */
.brand{width:92px;height:82px}.brand img{width:82px;height:82px;margin:0 0 0 5px;object-fit:contain;transform:scale(1.42)}
.footer-mark img{object-fit:cover;transform:none}
@media(max-width:900px){.brand{width:76px;height:68px}.brand img{width:68px;height:68px;margin:0 0 0 4px;transform:scale(1.42)}}

/* Global page chrome: navigation is a true sticky header; the Shirley story closes the site as its footer. */
html{scroll-padding-top:112px}
.site-header{height:96px;position:sticky;top:0;z-index:20;background:#faf6f2f2;backdrop-filter:blur(14px);box-shadow:0 8px 30px #6b4f4509}
.site-header:after{left:0;right:0;opacity:1;transform:none;background:linear-gradient(90deg,transparent 4%,#6b4f4570 18%,#6b4f4570 82%,transparent 96%)}
.site-footer{min-height:440px;margin-top:35px;padding:68px 7vw 64px;background:var(--brown);color:var(--paper);display:grid;grid-template-columns:180px minmax(420px,1fr) 280px;align-items:center;gap:55px;position:relative;overflow:hidden}
.site-footer:before{content:"";position:absolute;left:-3%;right:-3%;top:-12px;height:28px;background:var(--paper);border-radius:0 0 52% 48%}
.footer-mark{width:160px;height:160px;border-radius:50%;overflow:hidden;background:#fff9f4;border:1px solid #e1c8be}
.footer-mark img{width:100%;height:100%;object-fit:cover;transform:scale(1.75)}
.footer-story .eyebrow{color:#e7c9bf;margin-bottom:15px}
.footer-story h2{font-size:36px;margin:0 0 12px;color:#fffaf7}
.story-copy{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:790px}.story-copy p{font-size:13px;line-height:1.9;color:#eadfd9;margin:0}.footer-story blockquote{margin:22px 0 0;padding-left:18px;border-left:2px solid #d9b4a7;font:16px/1.8 "Noto Serif CJK SC","Songti SC",serif;color:#fff4ef}
.footer-story>a{display:inline-block;margin-top:24px;padding-bottom:3px;border-bottom:1px solid #d9b4a7;font-size:13px}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:24px}.footer-links a{padding-bottom:3px;border-bottom:1px solid #d9b4a7;font-size:12px;color:#fff4ef}
.footer-signature{justify-self:end;text-align:right;display:flex;flex-direction:column;gap:8px}
.footer-signature strong{font:500 20px/1.2 serif;letter-spacing:.24em}
.footer-signature span{font-size:11px;letter-spacing:.25em;color:#e6d8d2}
.footer-signature small{margin-top:35px;font-size:9px;letter-spacing:.18em;color:#cdb8b0}
@media(max-width:900px){
  .site-header{height:78px}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:13px}
  .host-intro{margin:55px 24px 0;padding:38px 25px;grid-template-columns:90px 1fr;gap:25px}.host-emblem img{width:90px;height:90px}.host-emblem figcaption{font-size:7px}.host-intro article{grid-column:1/-1}.host-intro h2{font-size:30px}.host-copy{grid-template-columns:1fr;gap:13px}.host-follow{grid-column:1/-1;transform:none}
  .discover-heading{width:auto;text-align:left}.discover-heading h2{font-size:33px}.discover-heading>p:not(.eyebrow){margin:0}
  .map-legend{top:12px;right:12px;gap:10px;padding:8px 10px}.map-legend b{display:none}
  .site-footer{grid-template-columns:100px 1fr;padding:55px 24px;gap:25px}
  .footer-mark{width:100px;height:100px}
  .footer-story h2{font-size:27px}
  .story-copy{grid-template-columns:1fr;gap:12px}.footer-story blockquote{font-size:14px}
  .footer-signature{grid-column:2;justify-self:start;text-align:left;margin-top:15px}
  .footer-signature small{margin-top:8px}
}
.footer-mark img{transform:scale(1.32)}

/* The homepage opens inside the stays: four real interiors crossfade behind the booking task. */
.hero{
  min-height:720px;
  padding:94px 6.2vw 150px;
  display:flex;
  align-items:center;
  isolation:isolate;
  overflow:hidden;
  background:#3d332e;
  color:#fffaf7;
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(36,27,24,.78) 0%,rgba(42,31,27,.58) 39%,rgba(35,27,24,.18) 68%,rgba(31,25,23,.25) 100%),
    linear-gradient(0deg,rgba(30,24,21,.52) 0%,transparent 46%,rgba(28,22,20,.12) 100%);
  pointer-events:none;
}
.hero-slideshow{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#3d332e}
.hero-slideshow img{
  position:absolute;
  inset:-3%;
  width:106%;
  height:106%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.025);
  animation:hero-interior-cycle 24s linear infinite;
  will-change:opacity,transform;
}
.hero-slideshow img:nth-child(1){animation-delay:0s;object-position:center 56%}
.hero-slideshow img:nth-child(2){animation-delay:6s;object-position:center 52%}
.hero-slideshow img:nth-child(3){animation-delay:12s;object-position:center 53%}
.hero-slideshow img:nth-child(4){animation-delay:18s;object-position:center 55%}
@keyframes hero-interior-cycle{
  0%{opacity:0;transform:scale(1.025)}
  4%,25%{opacity:1}
  29%,100%{opacity:0;transform:scale(1.095)}
}
.hero-copy{width:min(620px,52%);text-shadow:0 2px 24px rgba(24,17,15,.28)}
.hero .eyebrow,.hero .proof{color:rgba(255,250,247,.8)}
.hero-copy:after{border-color:#e1b9a9;opacity:.92}
.hero-actions a{border-color:rgba(255,244,238,.72)}
.hero-actions .primary{border-color:rgba(255,250,247,.88);background:rgba(255,250,247,.92);color:var(--ink);text-shadow:none;backdrop-filter:blur(8px)}
.hero-actions a:not(.primary){color:#fffaf7}
.hero .search-card{bottom:28px;color:var(--ink);text-shadow:none;background:rgba(255,253,250,.94);backdrop-filter:blur(12px)}

@media(max-width:900px){
  .hero{min-height:790px;padding:65px 24px 215px;align-items:flex-start}
  .hero:before{background:linear-gradient(90deg,rgba(34,25,22,.72),rgba(38,28,24,.36)),linear-gradient(0deg,rgba(29,22,19,.6),transparent 58%)}
  .hero-copy{width:100%}
  .hero-slideshow img{inset:0;width:100%;height:100%}
  .hero-slideshow img:nth-child(1){object-position:62% center}
  .hero-slideshow img:nth-child(2){object-position:58% center}
  .hero-slideshow img:nth-child(3){object-position:47% center}
  .hero-slideshow img:nth-child(4){object-position:58% center}
  .hero .search-card{bottom:22px}
}

@media(prefers-reduced-motion:reduce){
  .hero-slideshow img{animation:none;opacity:0;transform:none}
  .hero-slideshow img:first-child{opacity:1}
}

/* Five cards flash in once, in sequence, when the recommendation wall enters view. */
.stay-stack.is-reveal-ready .stay-card{
  opacity:0;
  filter:blur(5px);
  translate:0 22px;
  transition:opacity .42s ease,filter .5s ease,translate .56s cubic-bezier(.2,.8,.2,1),transform .25s,box-shadow .25s;
}
.stay-stack.is-reveal-ready.is-visible .stay-card{opacity:1;filter:blur(0);translate:0 0}
.stay-stack.is-reveal-ready .stay-card:nth-child(1){transition-delay:.03s}
.stay-stack.is-reveal-ready .stay-card:nth-child(2){transition-delay:.11s}
.stay-stack.is-reveal-ready .stay-card:nth-child(3){transition-delay:.19s}
.stay-stack.is-reveal-ready .stay-card:nth-child(4){transition-delay:.27s}
.stay-stack.is-reveal-ready .stay-card:nth-child(5){transition-delay:.35s}

@media(max-width:900px){
  .stays .section-heading{display:block}
  .stays .section-heading h2{font-size:34px;line-height:1.3}
  .stays .section-heading>a{display:inline-block;margin-top:15px;white-space:nowrap}
  .guest-reviews{margin:0 24px 72px;padding:50px 0 35px}
  .guest-reviews-heading{grid-template-columns:1fr;gap:22px;margin-bottom:31px;padding:0 4px}
  .guest-reviews-heading h2{font-size:36px}
  .guest-reviews-grid{grid-template-columns:1fr;gap:16px}
  .guest-review-card{min-height:310px;padding:27px 25px 25px}
}

@media(max-width:560px){
  .guest-review-card{min-height:345px}
  .guest-review-card blockquote{font-size:18px}
  .guest-review-card footer{align-items:flex-start;flex-direction:column;gap:17px}
}

/* Three-page guest review carousel: six real reviews per desktop page. */
.reviews-carousel{position:relative}
.guest-reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;transition:opacity .18s ease,transform .18s ease}
.guest-reviews-grid.is-changing{opacity:0;transform:translateY(8px)}
.guest-review-card{min-height:250px;padding:22px 23px 20px}
.guest-review-card:before{right:19px;top:29px;font-size:68px}
.review-card-top{gap:10px;padding-bottom:13px}
.review-card-top a{font-size:13px}
.guest-review-card blockquote{margin:20px 0 22px;font-size:16px;line-height:1.65}
.guest-review-card footer{gap:14px}
.guest-review-card footer strong{font-size:12px}
.guest-review-card footer small{display:block;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.45}
.guest-review-card footer>a{max-width:90px;color:var(--brown);font-size:9px;line-height:1.45;text-align:right}
.reviews-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px}
.reviews-arrow{display:grid;place-items:center;width:40px;height:40px;border:1px solid #a68b80;border-radius:50%;background:transparent;color:var(--brown);cursor:pointer;transition:background .2s,color .2s}
.reviews-arrow:hover{background:var(--brown);color:#fffdf8}
.reviews-dots{display:flex;align-items:center;gap:8px}
.reviews-dots button{width:7px;height:7px;padding:0;border:1px solid var(--brown);border-radius:50%;background:transparent;cursor:pointer}
.reviews-dots button[aria-current=true]{background:var(--brown)}
#reviews-status{min-width:76px;color:var(--muted);font:10px/1 monospace;text-align:center}

@media(max-width:1050px){
  .guest-reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .guest-reviews-grid{grid-template-columns:1fr}
  .guest-review-card{min-height:230px}
}
@media(prefers-reduced-motion:reduce){.guest-reviews-grid{transition:none}}

/* Four booking choices read in order on a phone. */
@media(max-width:600px){
  .hero{min-height:900px;padding-bottom:440px}
  .hero .search-card{left:18px;right:18px;bottom:20px;grid-template-columns:minmax(0,1fr);gap:0;padding:10px 18px 18px;transform:none;border-radius:18px}
  .search-card label{min-width:0;padding:10px 2px;border-right:0;border-bottom:1px solid #d8cac4;gap:4px}
  .search-card label span{font-size:11px}
  .search-card select,.search-card input{min-height:30px}
  .search-card button{grid-column:1;margin:14px 0 0;height:48px}
  .discover{padding:38px 18px 48px}
  .discover-heading h2{font-size:30px}
  .map-blob{height:420px;margin-top:26px;border-radius:18px;transform:none}
  .journal-note{width:calc(100% - 26px);margin:-58px 0 0 auto;padding:24px 25px 27px;transform:rotate(1deg)}
  .journal-note h2{font-size:31px;margin-bottom:10px}
}

/* Section-by-section entrance motion, progressively enabled by JavaScript. */
.section-pop-group .section-pop-item{will-change:transform,opacity}
.section-pop-group:not(.is-popped) .section-pop-item{opacity:0;transform:translateY(46px) scale(.94) rotate(var(--pop-rotate,0deg))}
.section-pop-group.is-popped .section-pop-item{animation:section-pop-in .82s cubic-bezier(.2,.82,.24,1.12) both;animation-delay:calc(var(--pop-order,0)*110ms)}
.journal-note.section-pop-item{--pop-rotate:1.4deg}
@keyframes section-pop-in{
  0%{opacity:0;transform:translateY(46px) scale(.94) rotate(var(--pop-rotate,0deg))}
  68%{opacity:1;transform:translateY(-5px) scale(1.012) rotate(var(--pop-rotate,0deg))}
  100%{opacity:1;transform:translateY(0) scale(1) rotate(var(--pop-rotate,0deg))}
}
@media(min-width:901px) and (max-width:1180px){
  .site-header>nav{gap:10px}
  .site-header>nav a{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .section-pop-group.is-popped .section-pop-item{animation:none}
}

@media(prefers-reduced-motion:reduce){
  .stay-stack.is-reveal-ready .stay-card{opacity:1;filter:none;translate:none;transition:none}
}

/* Optional support around the stay: arrival from the airport and luggage between homes. */
.guest-services{margin:55px 5.5vw 90px;padding:78px 5vw 55px;border-top:1px solid #a89085;border-bottom:1px solid #a89085;background:#fffdf8;position:relative}
.guest-services:before{content:"";position:absolute;left:0;right:0;top:-5px;border-top:1px solid var(--pink);transform:rotate(.16deg)}
.guest-services-heading{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(420px,1.15fr);align-items:end;gap:9vw;margin-bottom:52px}
.guest-services-heading h2{margin:0;font-size:clamp(34px,3vw,40px);line-height:1.2}
.guest-services-heading>p{max-width:630px;margin:0;color:var(--muted);font-size:13px;line-height:2}
.guest-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.guest-service-card{min-height:420px;padding:35px 38px 38px;border:1px solid #a68b80;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;transition:transform .25s ease,box-shadow .25s ease}
.guest-service-card:hover{transform:translateY(-4px);box-shadow:0 22px 45px rgba(107,79,69,.14)}
.airport-service{background:#efd9d1}
.guide-service{background:#e4e8dc}
.service-number{position:absolute;right:29px;top:25px;color:#806b63;font:11px/1 monospace;letter-spacing:.15em}
.service-icon{width:88px;height:88px;margin-bottom:36px;display:grid;place-items:center;border:1px solid #8c746a;border-radius:50%;background:rgba(255,253,248,.55)}
.service-icon svg{width:51px;height:51px;fill:none;stroke:#705950;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.guest-service-card .eyebrow{margin-bottom:10px;color:#91614f}
.guest-service-card h3{margin:0 0 17px;font-size:clamp(29px,3vw,42px)}
.guest-service-card>p:not(.eyebrow){max-width:590px;margin:0;color:#726760;font-size:13px;line-height:2}
.service-meta{margin-top:auto;padding-top:28px;color:#69564f;font:10px/1.5 monospace;letter-spacing:.12em}
.guest-services-footer{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-top:28px}
.guest-services-footer p{max-width:790px;margin:0;color:var(--muted);font-size:11px;line-height:1.8}
.guest-services-footer a{flex:0 0 auto;padding-bottom:4px;border-bottom:1px solid var(--brown);font-size:12px}

@media(max-width:900px){
  .guest-services{margin:25px 24px 65px;padding:50px 0 35px}
  .guest-services-heading{grid-template-columns:1fr;gap:22px;margin-bottom:32px;padding:0 4px}
  .guest-services-heading h2{font-size:32px}
  .guest-services-grid{grid-template-columns:1fr;gap:16px}
  .guest-service-card{min-height:390px;padding:29px 25px 31px}
  .service-icon{width:74px;height:74px;margin-bottom:28px}.service-icon svg{width:43px;height:43px}
  .guest-service-card h3{font-size:31px}
  .guest-services-footer{align-items:flex-start;flex-direction:column;gap:17px;padding:24px 4px 0}
}
