:root{color-scheme:light;--bg:#ffffff;--surface:#eef7ff;--surface2:#deeffd;--ink:#183447;--muted:#536b7c;--line:#cbdfea;--gold:#16638f;--gold2:#edf7ff;--blue:#32A1F4;--honey:#edb338;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}button,input{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:#ffe6a4;color:#183447}[hidden]{display:none!important}.wrap{max-width:var(--max);margin:auto;padding:0 56px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-main{position:fixed;top:-80px;left:20px;z-index:200;background:var(--blue);color:#0d2c42;padding:12px}.skip-main:focus{top:15px}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.muted{color:var(--muted)}
.intro{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff;animation:intro-out .7s 6.8s ease forwards}.intro img{width:240px;height:253px;object-fit:contain;animation:logo-in 1.5s ease both}.intro-track{margin-top:32px;width:100px;height:1px;background:#dce7ee;overflow:hidden}.intro-track:after{content:'';display:block;height:100%;background:var(--honey);transform-origin:left;animation:load-in 6.7s ease both}.intro p{font-size:13px;letter-spacing:.25em;text-transform:uppercase;margin-top:20px;color:var(--muted)}.intro-skip{position:absolute;bottom:35px;background:none;color:var(--muted);padding:14px;font-size:15px;text-decoration:underline;text-underline-offset:6px}@keyframes intro-out{to{opacity:0;visibility:hidden;pointer-events:none}}@keyframes logo-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes load-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.header{height:108px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:40;background:#ffffffed;backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:22px}.brand img{width:58px;height:73px;object-fit:contain}.brand-rule{width:1px;height:30px;background:var(--line)}.brand-caption{max-width:95px;font-size:12px;line-height:1.8;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.header-right{display:flex;gap:42px;align-items:center}.nav{display:flex;gap:32px;font-size:15px}.nav a{position:relative;padding:12px 0}.nav a:after{content:'';position:absolute;bottom:4px;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav a:hover:after{transform:scaleX(1)}.lang{display:flex;gap:3px;border:1px solid var(--line);border-radius:30px;padding:4px}.lang :is(button,a){font-size:13px;min-height:32px;min-width:35px;border-radius:30px;background:none;color:var(--muted)}.lang :is(button,a)[aria-pressed=true]{background:var(--blue);color:#0d2c42}
.hero{position:relative;min-height:690px;height:calc(100svh - 130px);max-height:900px;margin:22px -32px 0;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 27%;z-index:-2}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:58% center;animation:hero-image 1.8s ease both}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#123c32 0%,#123c32f2 20%,#123c3295 45%,#123c3210 78%),linear-gradient(0deg,#09251d80,transparent 40%)}.hero-copy{padding:92px 40px 100px;max-width:790px}.eyebrow,.section-label{font-size:13px;letter-spacing:.23em;text-transform:uppercase;font-weight:500;color:var(--gold);display:flex;gap:12px;align-items:center}.tiny-bee{width:5px;height:5px;border-radius:50%;background:var(--gold)}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(62px,7vw,104px);font-weight:400;letter-spacing:-.055em;line-height:1.06;margin:34px 0 28px}.hero h1 span{display:block}.hero h1 .accent{font-style:italic;color:var(--gold)}.hero-lede{font-size:17px;line-height:1.85;max-width:315px;color:#ffffff;margin:0 0 32px}.hero-actions{display:flex;gap:24px;align-items:center}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:15px 24px;border-radius:3px;background:var(--blue);color:#0d2c42;font-size:15px;font-weight:600;transition:background .3s,transform .35s}.primary:hover{background:#a8d9ff;transform:translateY(-3px)}.hero-contact{padding:12px 0;background:none;border-bottom:1px solid #afc9da;font-size:15px}.hero-bottom{position:absolute;left:40px;right:40px;bottom:30px;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.18em}.hero-gallery{border:1px solid #afc9da;background:#ffffff60;backdrop-filter:blur(10px);padding:12px 18px;border-radius:30px;font-size:14px;letter-spacing:0;display:flex;gap:25px;align-items:center}.scroll-cue{position:absolute;right:35px;top:35px;border:1px solid #b9d0df;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:20px}.welcome-strip{padding:29px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.welcome-strip>span:first-child{font-family:Georgia,serif;font-size:23px;letter-spacing:-.04em}.welcome-strip p{font-size:15px;color:var(--muted);margin:0}.strip-location{font-size:12px;letter-spacing:.12em;color:var(--muted)}
.stays-feature,.trip-section,.house-section{padding:100px 0;border-bottom:1px solid var(--line)}.section-label{margin-bottom:18px}.feature-title,.section-heading h2,.guide-top h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,4.8vw,65px);font-weight:400;letter-spacing:-.045em;line-height:1.1;margin:0 0 26px}.feature-lede{font-size:16px;line-height:1.95;color:var(--muted);max-width:470px}.property-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center;margin-bottom:38px}.property-intro p{max-width:360px;margin-left:auto}.tag-list{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:13px}.tag-list span+span:before{content:'·';margin-right:18px}.property-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px;gap:35px}.property-heading h3{font-size:32px;font-weight:400;letter-spacing:-.04em;margin:0}.property-heading p{font-size:15px;color:var(--muted);max-width:480px;margin:0}.photo-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.photo-tile{padding:0;background:var(--surface);position:relative;overflow:hidden;aspect-ratio:1.4;border-radius:4px}.photo-tile:first-child{grid-row:span 2;aspect-ratio:auto}.photo-tile img{height:100%;width:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .9s}.photo-tile:hover img{transform:scale(1.055);filter:brightness(1.08)}.photo-tile span{position:absolute;left:0;right:0;bottom:0;padding:45px 18px 16px;background:linear-gradient(transparent,#102820c0);color:white;font-size:13px;line-height:1.5;text-align:left;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}.photo-tile:hover span,.photo-tile:focus-visible span{opacity:1;transform:none}.gallery-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0 0}.outline-btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:45px;padding:10px 18px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--ink);font-size:15px;transition:background .25s,border-color .25s}.outline-btn:hover{background:var(--surface2);border-color:var(--blue)}.property-secondary{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px 0 0;margin-top:36px;border-top:1px solid var(--line)}.property-secondary h3{font-size:25px;font-weight:400;letter-spacing:-.03em;margin:0 0 6px}.property-secondary p{font-size:15px;color:var(--muted);margin:0}.property-secondary .primary{background:transparent;color:var(--gold);padding-right:0;border-bottom:1px solid var(--line)}
.host-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center;margin:100px 0;padding:45px;background:#e4f2ff;position:relative}.host-photo{width:100%;height:450px;object-fit:cover;object-position:center 25%;border-radius:120px 120px 3px 3px;filter:saturate(.8)}.host-section .feature-title{font-size:clamp(40px,4.6vw,65px)}.host-section .feature-lede{max-width:440px}.host-name{font-family:Georgia,serif;font-style:italic;font-size:28px;margin-top:22px}.host-role{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:4px 0 25px}.host-section .trip-note{max-width:350px;font-size:13px;margin-top:20px}
.trip-section{padding-top:0}.trip-banner{position:relative;overflow:hidden;height:350px;border-radius:4px;margin:0 0 42px}.trip-banner img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.65)}.trip-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#102c25d9,transparent 90%)}.trip-banner .feature-title{position:absolute;bottom:20px;left:35px;z-index:1;font-size:65px;font-style:italic}.trip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 35px;margin-top:30px}.trip-card{position:relative;padding:25px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:start}.trip-time{font-size:13px;letter-spacing:.1em;color:var(--gold);margin-bottom:12px}.trip-card h3{font-size:20px;line-height:1.25;font-weight:400;margin:0 0 10px;letter-spacing:-.03em}.trip-card p{font-size:15px;color:var(--muted);line-height:1.85;margin:0 0 15px;max-width:310px}.trip-card a{font-size:14px;color:var(--gold);text-decoration:underline;text-underline-offset:5px;margin-top:auto;padding:5px 0}.trip-note{font-size:14px;line-height:1.9;color:var(--muted);max-width:900px;margin-top:22px}
.stay-section{padding:80px 0 20px}.section-heading,.guide-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:30px}.section-heading h2{font-size:45px;margin:15px 0 0}.section-heading p{max-width:330px;color:var(--muted);font-size:16px}.stay-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0;border:0;padding:0;margin:0}.stay-choice{cursor:pointer}.stay-choice input{position:absolute;opacity:0;width:1px;height:1px}.stay-card{display:flex;gap:22px;align-items:center;padding:25px;border:1px solid var(--line);border-radius:4px;transition:background .3s,border-color .3s;background:#ffffff}.stay-choice input:checked+.stay-card{background:#edf7ff;border-color:var(--gold)}.stay-choice input:focus-visible+.stay-card{outline:2px solid var(--gold);outline-offset:5px}.stay-number{font-size:14px;color:var(--gold);align-self:start;margin-top:5px}.stay-name{display:block;font-size:25px;font-weight:400;letter-spacing:-.03em}.stay-check{margin-left:auto;width:30px;height:30px;border:1px solid #b9d0df;border-radius:50%;display:grid;place-items:center;color:transparent}.stay-check .icon{width:17px;height:17px}.stay-choice input:checked+.stay-card .stay-check{background:var(--blue);color:#0d2c42}.stay-privacy{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:center;margin-top:16px}.stay-privacy .icon{width:13px;height:13px}.guide{padding:40px 0 80px;border-bottom:1px solid var(--line)}.guide-top h2{font-size:45px;margin:12px 0 0}.guide-top h2 em{font-weight:400;color:var(--gold)}.guide-kicker{font-size:15px;color:var(--muted)}.categories{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 18px;scrollbar-width:thin;scrollbar-color:#32A1F4 transparent}.category{flex:none;white-space:nowrap;display:flex;align-items:center;gap:8px;padding:11px 15px;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:25px;font-size:14px;transition:background .25s}.category .icon{width:15px;height:15px}.category[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#0d2c42}.category:hover{border-color:var(--gold)}.directory-toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:10px 0 25px}.results-count{font-size:14px;color:var(--muted)}.search-box{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);width:320px}.search-box input{min-width:0;width:100%;background:transparent;border:0;color:var(--ink);font-size:15px}.search-box input::placeholder{color:var(--muted)}.search-box .icon{width:18px;height:18px}.clear-search{background:none;font-size:20px}.places-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.place-card{min-width:0;display:flex;flex-direction:column;align-items:start;text-align:left;padding:25px;min-height:260px;background:var(--surface);border:1px solid transparent;border-radius:4px;transition:background .3s,transform .4s,border-color .3s}.place-card:hover{background:var(--surface2);transform:translateY(-4px);border-color:#c9dde9}.card-top{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;margin-bottom:25px}.place-icon{width:36px;height:36px;display:grid;place-items:center;color:var(--gold)}.card-area{font-size:13px;color:var(--muted);text-align:right;max-width:140px}.place-card h3{font-size:22px;font-weight:400;letter-spacing:-.035em;line-height:1.25;margin:0 0 12px}.place-card p{font-size:15px;color:var(--muted);margin:0 0 20px;line-height:1.7}.card-bottom{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:auto;font-size:12px;letter-spacing:.13em;color:var(--gold)}.card-arrow{width:19px;height:19px}.place-drive{margin:0 0 18px}.drive-badge{font-size:13px;color:var(--gold);display:inline-flex;gap:6px;align-items:center}.drive-badge .icon{width:14px;height:14px}.drive-note{display:block;color:var(--muted);font-size:12px;line-height:1.8;margin:8px 0 0}.directory-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.map-more{font-size:15px;display:flex;gap:10px;align-items:center;color:var(--gold)}.curated-note{font-size:13px;color:var(--muted);line-height:1.8}.quick-food-note,.health-note{font-size:15px;line-height:1.8;padding:18px;border-left:2px solid var(--gold);background:var(--surface);color:var(--muted);margin:0 0 22px}.health-note{display:flex;gap:15px}.health-note a{color:var(--gold);text-decoration:underline}.empty{text-align:center;padding:40px;background:var(--surface)}.empty p{color:var(--muted);font-size:16px}.empty h3{font-size:25px;font-weight:400}
.house-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.house-grid .feature-title{font-size:52px}.house-grid details{border-top:1px solid var(--line);padding:22px 0}.house-grid details:last-child{border-bottom:1px solid var(--line)}.house-grid summary{font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.house-grid summary:after{content:'+';font-weight:300;font-size:23px;line-height:1}.house-grid details[open] summary:after{content:'−'}.house-grid details p{font-size:16px;line-height:1.9;color:var(--muted);animation:logo-in .4s ease}.reviews-section{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 0}.reviews-section p{font-size:15px;color:var(--muted);max-width:600px}.reviews-section .primary{background:transparent;padding-right:0;color:var(--gold);white-space:nowrap}.footer{display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:13px;letter-spacing:.04em;color:var(--muted);border-top:1px solid var(--line);padding:35px 0 80px}.footer-sign{display:flex;gap:12px;align-items:center}.dot{width:4px;height:4px;background:var(--gold);border-radius:50%}.booking-float{position:fixed;right:24px;bottom:22px;z-index:35;padding:13px 20px;border-radius:30px;font-size:14px;font-weight:600;background:var(--blue);color:#0d2c42;box-shadow:0 5px 25px #0003;transition:transform .3s}.booking-float:hover{transform:translateY(-3px)}
.place-dialog,.gallery-dialog{background:#ffffff;color:var(--ink);padding:0;border:1px solid #c9dde9;border-radius:6px;width:min(570px,calc(100% - 24px));max-height:92dvh;overflow:auto;box-shadow:0 25px 90px #16324940}.place-dialog::backdrop,.gallery-dialog::backdrop{background:#071f19e8;backdrop-filter:blur(12px)}.dialog-inner{padding:32px}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-close{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:none;display:grid;place-items:center}.dialog-area{font-size:13px;text-transform:uppercase;letter-spacing:.15em;color:var(--gold);margin-top:25px}.place-dialog h2{font-family:Georgia,serif;font-size:38px;font-weight:400;letter-spacing:-.04em;line-height:1.12;margin:12px 0 20px}.dialog-description{font-size:16px;color:var(--muted);line-height:1.9}.dialog-address{display:flex;gap:12px;align-items:start;padding:20px 0;border-top:1px solid var(--line);font-size:15px}.dialog-site{display:flex;justify-content:space-between;font-size:15px;color:var(--gold);padding:15px 0}.route-origin{background:var(--surface);padding:17px;margin:10px 0 20px}.route-origin span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;display:block;color:var(--muted)}.route-origin strong{font-size:15px;font-weight:400;display:block;margin-top:5px}.dialog-actions{display:grid;gap:10px}.dialog-actions a{width:100%}.dialog-fine,.dialog-emergency{font-size:13px;line-height:1.9;color:var(--muted)}.dialog-fine a,.dialog-emergency a,.drive-source{text-decoration:underline;text-underline-offset:4px}.drive-source{font-size:14px;color:var(--gold)}.gallery-dialog{width:min(1100px,calc(100% - 24px));padding:16px}.gallery-dialog-head,.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:15px}.gallery-dialog-head{margin-bottom:14px;font-size:16px}.gallery-dialog-head button,.gallery-controls button{padding:10px 16px;border:1px solid var(--line);border-radius:30px;background:none;font-size:15px;min-height:44px;flex-shrink:0}.gallery-full{width:100%;height:min(65dvh,700px);object-fit:contain;background:#edf7ff}.gallery-controls{margin-top:15px;font-size:15px}.gallery-caption{text-align:center;color:var(--muted);font-size:15px;margin:14px 0 0}.dialog-drive{margin-bottom:20px}
.reveal-ready{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal-ready.is-visible{opacity:1;transform:none}.reading-progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);z-index:100;width:0;pointer-events:none}@keyframes hero-image{from{transform:scale(1.04)}to{transform:scale(1)}}
@media(min-width:1441px){.hero h1{font-size:108px}}
@media(max-width:1100px){.wrap{padding:0 35px}.hero{margin-left:-15px;margin-right:-15px;min-height:650px}.hero-copy{padding-left:25px;padding-top:90px}.hero h1{font-size:82px}.host-section{gap:50px;padding:35px}.host-photo{height:410px}.header-right{gap:25px}.nav{gap:22px}.property-intro{gap:30px}.house-grid{gap:50px}.trip-grid{gap:0 24px}.strip-location{display:none}}
@media(max-width:760px){html{scroll-padding-top:90px}.wrap{padding:0 22px}.header{height:88px}.brand img{width:40px;height:55px}.brand-caption{font-size:12px;max-width:74px}.brand{gap:12px}.brand-rule{display:none}.header-right{gap:12px}.nav{gap:17px}.nav a{font-size:13px}.nav a:last-child{display:none}.lang{padding:2px;gap:0}.lang :is(button,a){min-width:28px;min-height:30px;font-size:12px}.hero{height:730px;min-height:0;max-height:none;margin:12px -10px 0}.hero-photo{inset:0}.hero-photo img{object-position:62% center}.hero:after{background:linear-gradient(0deg,#0b2d25b0,transparent 45%),linear-gradient(90deg,#123c32e8,#123c3260 90%)}.hero-copy{padding:100px 24px 120px}.hero h1{font-size:clamp(50px,9vw,70px);margin:30px 0;line-height:1.08}.hero-lede{font-size:16px;max-width:280px}.hero .eyebrow{font-size:12px;letter-spacing:.15em}.hero-actions{align-items:start;flex-direction:column;gap:12px}.hero-actions .primary{min-height:50px}.hero-bottom{left:24px;right:24px;bottom:25px;font-size:12px}.hero-gallery{font-size:13px;padding:10px 13px;gap:15px}.scroll-cue{top:23px;right:23px;width:35px;height:35px;font-size:17px}.welcome-strip{padding:24px 0;gap:18px}.welcome-strip>span:first-child{font-size:21px;white-space:nowrap}.welcome-strip p{font-size:13px;max-width:150px;text-align:right}.stays-feature,.house-section{padding:65px 0}.property-intro{grid-template-columns:1fr;gap:10px;margin-bottom:35px}.property-intro p{margin:0;max-width:420px}.feature-title{font-size:43px}.property-heading{align-items:start;flex-direction:column;gap:12px}.property-heading h3{font-size:27px}.property-heading p{font-size:15px}.photo-grid{grid-template-columns:1fr 1fr;gap:7px}.photo-tile:first-child{grid-row:auto;grid-column:1/-1;aspect-ratio:1.45}.photo-tile{aspect-ratio:1.4}.photo-tile span{display:none}.gallery-foot{align-items:stretch;flex-direction:column;gap:12px}.gallery-foot .primary{justify-content:center}.property-secondary{align-items:start;flex-direction:column;gap:12px}.host-section{margin:65px -10px;padding:28px;grid-template-columns:1fr;gap:30px}.host-photo{height:370px;width:100%;max-width:330px;margin:auto;border-radius:110px 110px 2px 2px}.host-section .feature-title{font-size:45px}.host-section .feature-lede{font-size:16px}.trip-banner{height:300px;margin-bottom:30px}.trip-banner .feature-title{font-size:47px;left:24px;bottom:12px}.trip-section{padding-bottom:55px}.trip-grid{grid-template-columns:1fr 1fr;gap:0 20px}.trip-card h3{font-size:19px}.trip-card p{font-size:14px}.trip-note{font-size:13px}.stay-section{padding-top:55px}.section-heading,.guide-top{align-items:start;flex-direction:column;gap:15px}.section-heading h2,.guide-top h2{font-size:38px}.section-heading p{margin:0;font-size:15px}.stay-options{grid-template-columns:1fr;gap:10px}.stay-card{padding:20px}.stay-name{font-size:24px}.stay-privacy{align-items:start;line-height:1.8}.stay-privacy .icon{margin-top:3px}.guide{padding-bottom:55px}.guide-kicker{margin:0}.categories{margin-right:-22px;padding-right:22px}.directory-toolbar{flex-direction:column-reverse;align-items:start;gap:8px}.search-box{width:100%}.places-grid{grid-template-columns:1fr 1fr;gap:8px}.place-card{padding:18px 15px;min-height:260px}.place-card h3{font-size:20px}.place-card p{font-size:14px}.card-area{font-size:12px}.card-top{gap:7px;margin-bottom:18px}.place-icon{width:23px}.place-icon .icon{width:21px}.card-bottom{font-size:12px}.drive-note{font-size:12px}.directory-bottom{align-items:start;flex-direction:column;gap:15px}.house-grid{grid-template-columns:1fr;gap:35px}.house-grid .feature-title{font-size:43px}.house-grid summary{font-size:17px}.reviews-section{align-items:start;flex-direction:column;gap:10px}.reviews-section .primary{font-size:14px;min-height:35px;padding:0}.reviews-section p{font-size:14px}.footer{font-size:12px;align-items:start;padding-bottom:90px}.footer-sign{max-width:230px}.booking-float{right:14px;bottom:14px;font-size:13px;padding:12px 17px}.gallery-full{height:auto;max-height:62dvh}.gallery-dialog-head{font-size:14px}.gallery-controls{gap:8px;font-size:14px}.gallery-controls button{padding:9px 12px;font-size:13px}.gallery-caption{font-size:13px}.dialog-inner{padding:24px}.place-dialog h2{font-size:32px}}
@media(max-width:390px){.wrap{padding:0 18px}.brand-caption{display:none}.hero-copy{padding-left:20px;padding-right:20px}.hero h1{font-size:50px}.hero-bottom{left:20px;right:20px}.hero-gallery{gap:9px}.trip-grid{grid-template-columns:1fr}.trip-card{padding:20px 0}.trip-card p{max-width:100%}.places-grid{grid-template-columns:1fr}.place-card{min-height:230px}.card-area{max-width:200px}.host-section{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro{display:none}.reveal-ready{opacity:1;transform:none}}




body{overflow-x:clip}
.hero{margin:0 calc(50% - 50vw);width:100vw;height:70svh;min-height:520px;max-height:800px;isolation:isolate}
.hero-photo{inset:0}.hero-photo img{object-position:center 50%}.hero:after{background:linear-gradient(180deg,#10375a14,#10375a30 55%,#10375a70)}
.hero-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 22px;color:white}
.hero-watermark{width:clamp(150px,17vw,260px);height:auto;max-height:45%;object-fit:contain;opacity:.48;filter:drop-shadow(0 4px 15px #102b4430)}
.hero h1{font-family:Georgia,serif;font-size:clamp(32px,3.6vw,52px);letter-spacing:-.035em;color:white;margin:24px 0 8px;line-height:1.15;text-shadow:0 2px 16px #0d2c4260}
.hero-center p{font-size:16px;color:white;margin:0;text-shadow:0 2px 8px #0d2c4270}.hero .scroll-cue{top:auto;bottom:25px;right:calc(50% - 20px);color:white;border-color:#ffffff90}
.stay-section{padding:65px 0 30px}.section-heading h2{max-width:650px}.stay-options{gap:22px}.stay-card{position:relative;display:grid;grid-template-columns:28px 1fr 32px;padding:0 24px 25px;gap:18px;overflow:hidden;box-shadow:0 6px 25px #19456208;border-radius:12px}
.stay-thumb{grid-column:1/-1;width:calc(100% + 48px);max-width:none;margin:0 -24px 6px;height:225px;object-fit:cover;transition:transform .7s ease}
.stay-choice:hover .stay-thumb{transform:scale(1.025)}.stay-choice input:checked+.stay-card{border-color:var(--blue);background:#edf7ff;box-shadow:0 0 0 1px var(--blue)}.stay-name{font-size:28px}.stay-number{color:#976315}.stay-privacy{margin-top:20px}
.lang :is(button,a)[aria-pressed=true]{background:#fff0cc;color:#674610}.tag-list span+span:before{color:#bf831b}.host-name{color:#a36e14}.section-label:before{content:'';width:24px;height:2px;background:var(--honey)}
.photo-tile span{color:white}.place-card{border-color:var(--line);background:white}.place-card:hover{border-color:var(--blue)}.place-icon{color:#1770a3}.trip-banner .feature-title{color:white}.trip-banner:after{background:linear-gradient(0deg,#10375acc,transparent 90%)}
.reading-progress{background:var(--blue)}.guide{background:#edf7ff;border-radius:16px;padding:35px;margin:20px 0 55px}.guide-top h2{font-size:45px}.guide-kicker{color:#7d581c}.booking-float{background:var(--blue);color:#0d2c42}.stay-check{color:transparent}
.property-gallery-block{margin-top:55px;padding-top:45px;border-top:1px solid var(--line)}
@media(max-width:760px){.hero{margin:0 calc(50% - 50vw);width:100vw;height:65svh;min-height:480px;max-height:700px}.hero-photo img{object-position:48% center}.hero h1{font-size:36px;margin:22px 0 8px}.hero-watermark{width:180px;height:auto;max-height:40%}.hero-center p{font-size:15px}.hero .scroll-cue{width:36px;height:36px;right:calc(50% - 18px);bottom:20px}.stay-section{padding:45px 0 25px}.stay-options{gap:16px}.stay-card{grid-template-columns:22px 1fr 30px;padding:0 20px 22px;gap:15px}.stay-thumb{height:200px;width:calc(100% + 40px);margin:0 -20px 5px}.guide{margin:10px -10px 35px;padding:25px 20px;border-radius:12px}.guide-top h2{font-size:36px}.categories{margin-right:-20px;padding-right:20px}.property-gallery-block{margin-top:40px;padding-top:30px}.house-grid .feature-title{font-size:40px}}
@media(prefers-reduced-motion:reduce){.hero-photo img,.stay-thumb{animation:none!important;transition:none!important}}

/* Readability and brand accents — preserve the existing page composition. */
.section-heading p,.feature-lede,.trip-card p,.place-card p,.house-grid details p,.dialog-description{line-height:1.85}
.stay-card [style]{font-size:15px!important;line-height:1.75!important}
.nav a:after{background:var(--honey);height:2px}
.section-label:before{width:32px;height:3px;border-radius:3px;flex-shrink:0}
.eyebrow{color:#16638f}
.outline-btn{background:#fffaf0;border-color:#e4be64;color:#77500d}
.outline-btn:hover{background:#fff0ca;border-color:#b57d14}
.trip-time{background:#fff2d5;color:#79520d;border:1px solid #f0d799;border-radius:20px;padding:4px 10px}
.tag-list span{color:#35617f}
.stay-choice input:checked+.stay-card{border-top:3px solid var(--honey)}
.place-icon{background:#e5f3ff;border-radius:50%}
.place-card:hover .place-icon{background:#fff0ca;color:#845810}
.host-section{border-top:3px solid var(--honey)}
.category[aria-pressed=true]{box-shadow:inset 0 -3px 0 #edb338}
.booking-float{font-size:14px;min-height:46px}
.gallery-caption,.dialog-fine,.drive-note{line-height:1.85}
/* Keep the approved desktop mosaic, but never crop or zoom the photographs. */
.photo-tile{display:grid;grid-template-rows:minmax(0,1fr) auto;background:var(--surface);border:1px solid var(--line)}
.photo-tile img{object-fit:contain;min-height:0;transform:none}
.photo-tile:hover img{transform:none;filter:none}
.photo-tile span{position:static;opacity:1;transform:none;padding:8px 12px;background:#fff;color:var(--muted);font-size:12px}
.photo-extra,.gallery-swipe-hint{display:none}
.gallery-full{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;object-fit:contain}
.gallery-gesture-hint{display:none;margin:10px 0 0;color:var(--muted);font-size:13px;text-align:center}
.gallery-dialog{overscroll-behavior:contain}
@media(max-width:760px){
 .photo-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:1px;overscroll-behavior-x:contain;padding:2px 1px 12px;scrollbar-width:thin;scrollbar-color:var(--blue) var(--surface);-webkit-overflow-scrolling:touch}
 .photo-grid .photo-tile,.photo-grid .photo-tile:first-child{display:grid;grid-template-rows:minmax(0,1fr) auto;flex:0 0 88%;width:88%;aspect-ratio:4/3;scroll-snap-align:start;scroll-snap-stop:normal;border-radius:10px}
 .photo-grid .photo-tile img{width:100%;height:100%;object-fit:contain}
 .photo-grid .photo-tile span{display:block;font-size:13px;line-height:1.5;min-height:44px;text-align:left}
 .gallery-swipe-hint,.gallery-gesture-hint{display:block}
 .gallery-swipe-hint{font-size:13px;color:var(--muted);margin:6px 0 16px;line-height:1.6}
 .gallery-full{height:50dvh;max-height:520px;min-height:180px;width:100%;object-fit:contain}
 .gallery-dialog-head{align-items:start}.gallery-dialog-head strong{font-size:14px;line-height:1.5;padding-top:8px}
}
@media(max-width:760px){.brand-caption{display:none}.nav{gap:16px}.header-right{gap:14px}.lang :is(button,a){min-width:32px;min-height:36px}.hero-center p{font-size:15px;max-width:290px;line-height:1.75}.place-card p,.trip-card p,.section-heading p,.house-grid details p{font-size:15px}.card-area,.drive-note,.card-bottom,.curated-note{font-size:12px}.guide-kicker,.results-count,.stay-privacy{font-size:13px}.gallery-controls button{font-size:13px;padding:10px 12px}.gallery-caption{font-size:14px}.footer{font-size:12px}.trip-card{padding:23px 0}.booking-float{font-size:13px}}

/* Welcome hero: a clear left-hand story with an open photographic right side. */
.hero:has(.hero-welcome){height:auto;min-height:740px;max-height:none;display:flex;align-items:center}
.hero:has(.hero-welcome):after{background:linear-gradient(90deg,#103b64fa 0%,#12548cdb 31%,#1c78b28c 49%,#32a1f426 72%,#32a1f400 100%),linear-gradient(0deg,#0d2c422b,transparent 55%)}
.hero .hero-welcome{position:relative;inset:auto;align-items:flex-start;justify-content:center;text-align:left;width:min(580px,48vw);min-height:740px;margin-left:clamp(28px,5.5vw,90px);padding:46px 0 70px;color:white}
.hero .hero-welcome .hero-watermark{width:126px;max-height:none;height:auto;opacity:.88;filter:drop-shadow(0 5px 14px #0d2c4230);flex-shrink:0}
.hero .hero-welcome h1{font-size:clamp(40px,4vw,59px);line-height:1.08;letter-spacing:-.045em;max-width:540px;margin:23px 0 23px;text-wrap:balance}
.hero-welcome-copy{max-width:470px}
.hero .hero-welcome p{font-size:17px;line-height:1.8;max-width:none;margin:0 0 17px;color:#f3f9ff;text-shadow:none}
.hero .hero-welcome .hero-closing{margin:23px 0 0;padding-left:16px;border-left:3px solid var(--honey);color:#ffe3a1;font-size:18px;font-weight:500}
@media(max-width:1100px){.hero .hero-welcome{width:52vw;margin-left:35px;padding-right:16px}.hero .hero-welcome h1{font-size:46px}.hero .hero-welcome p{font-size:16px}}
@media(max-width:760px){.hero:has(.hero-welcome){min-height:750px}.hero:has(.hero-welcome):after{background:linear-gradient(90deg,#103b64ef,#12548cba 58%,#32a1f42b),linear-gradient(0deg,#103b64d9,transparent 80%)}.hero .hero-welcome{width:100%;min-height:750px;margin:0;padding:40px 26px 88px;justify-content:center}.hero .hero-welcome .hero-watermark{width:105px;opacity:.9}.hero .hero-welcome h1{font-size:40px;max-width:380px;margin:22px 0}.hero-welcome-copy{max-width:390px}.hero .hero-welcome p{font-size:16px;line-height:1.8}.hero .hero-welcome .hero-closing{font-size:17px;margin-top:22px}.hero:has(.hero-welcome) .hero-photo img{object-position:57% center}}
@media(max-width:390px){.hero .hero-welcome{padding-left:22px;padding-right:22px}.hero .hero-welcome h1{font-size:37px}.hero:has(.hero-welcome),.hero .hero-welcome{min-height:770px}}

/* Full language names; mobile gives the photograph its own unobstructed space. */
.lang :is(button,a){padding:7px 13px;min-width:0;white-space:nowrap}
@media(max-width:760px){
 .header{height:108px;align-items:center;gap:16px}
 .header-right{display:grid;grid-template-columns:auto;justify-items:end;gap:2px;padding:7px 0}
 .lang{grid-row:1}.lang :is(button,a){font-size:12px;min-width:0;min-height:34px;padding:6px 12px}
 .nav{grid-row:2;gap:20px}.nav a{padding:5px 0;font-size:13px}.nav a:after{bottom:1px}
 .hero:has(.hero-welcome){background:#103b64;min-height:0}
 .hero:has(.hero-welcome) .hero-photo{inset:0 0 auto;height:auto;aspect-ratio:3/2}
 .hero:has(.hero-welcome) .hero-photo img{object-fit:cover;object-position:center;height:100%;animation:none}
 .hero:has(.hero-welcome):after{background:linear-gradient(180deg,transparent 0%,transparent calc(66.667vw - 65px),#14578b calc(66.667vw + 8px),#103b64 100%)}
 .hero .hero-welcome{min-height:0;justify-content:flex-start;padding-top:calc(66.667vw + 20px);padding-bottom:85px}
}

/* Property-specific rules and visible arrival information. */
.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;margin-top:35px}
.property-rules{border:1px solid var(--line);border-radius:12px;background:#f5faff;overflow:hidden}
.property-rules summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px;cursor:pointer;list-style:none;border-top:3px solid var(--honey)}
.property-rules summary::-webkit-details-marker{display:none}.property-rules summary small{display:block;font-size:13px;letter-spacing:.09em;color:#77500d}.property-rules summary strong{font-family:Georgia,serif;font-size:30px;font-weight:400;display:block;margin-top:5px}.rules-toggle{border:1px solid #b5d6eb;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:23px;color:#16638f;flex-shrink:0;transition:transform .25s}.property-rules[open] .rules-toggle{transform:rotate(45deg)}
.rules-content{padding:0 28px 28px}.rules-content h3{font-size:19px;font-weight:500;margin:0 0 13px}.rules-intro{font-size:15px;line-height:1.8;color:var(--muted)}.rules-list{padding-left:25px;margin:25px 0 0}.rules-list li{padding-left:8px;margin-bottom:22px}.rules-list li:last-child{margin-bottom:0}.rules-list li::marker{color:#9b6c17;font-weight:600}.rules-list h4{font-size:16px;font-weight:600;margin:0 0 6px}.rules-list p{font-size:15px;color:var(--muted);line-height:1.85;margin:0}
.arrival-info{display:grid;grid-template-columns:1.5fr 1fr;gap:55px;align-items:center;margin-top:45px;padding:35px;background:#e7f4ff;border:1px solid #c7e2f6;border-left:4px solid var(--honey);border-radius:12px}.arrival-info h3{font-family:Georgia,serif;font-size:35px;font-weight:400;letter-spacing:-.035em;line-height:1.15;margin:15px 0 22px}.arrival-info p{font-size:16px;line-height:1.85;color:var(--muted)}.arrival-info .arrival-help{color:#183447;font-weight:500}.arrival-contact{display:flex;flex-direction:column;gap:15px;align-items:start}.arrival-contact p{font-size:13px;line-height:1.8;max-width:300px}.booking-float{bottom:calc(18px + env(safe-area-inset-bottom,0px));min-height:48px}
@media(max-width:760px){.rules-grid{grid-template-columns:1fr;gap:18px}.property-rules summary{padding:22px}.rules-content{padding:0 22px 24px}.property-rules summary strong{font-size:28px}.arrival-info{grid-template-columns:1fr;gap:16px;padding:25px 22px;margin-top:30px}.arrival-info h3{font-size:31px}.arrival-info p{font-size:15px}.arrival-contact p{font-size:13px}.arrival-contact .primary{width:100%;gap:14px}.booking-float{right:12px;font-size:13px;max-width:calc(100vw - 24px)}}

.lang a{display:inline-block;text-align:center;text-decoration:none;cursor:pointer}
