.house-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 30px;padding:23px 0;border-block:1px solid #d2d9cf}
.house-numbers strong{display:block;color:var(--green);font:400 clamp(32px,4vw,48px)/1 'DM Serif Display',serif}
.house-numbers span{display:block;margin-top:10px;color:var(--ink-soft);font-size:10px;line-height:1.5}
.house-details{padding-top:0;background:var(--cream)}
.house-details-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:35px}
.house-details-heading h2{margin:0}.house-details-heading>p{max-width:300px;color:var(--ink-soft);font-size:13px;line-height:1.9}
.shared-amenities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.amenity-card{padding:26px 22px 28px;border:1px solid #dbddd2;border-radius:5px;background:#fffdf7;transition:transform 400ms var(--ease-out),box-shadow 400ms ease,border-color 400ms ease}
.amenity-card:hover{transform:translateY(-6px);border-color:#b3c3b1;box-shadow:0 18px 35px #203e2d0b}
.amenity-symbol{position:relative;display:grid;place-items:center;width:45px;height:45px;border:1px solid #d7b8a3;border-radius:50%;color:var(--coral);font:26px 'DM Serif Display',serif;transition:transform 500ms var(--ease-out)}
.amenity-card:hover .amenity-symbol{transform:rotate(-8deg) scale(1.08)}
.amenity-card h3{margin:24px 0 13px;color:var(--green);font:400 25px/1.12 'DM Serif Display',serif}
.amenity-card p{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.85}
.occasion-explorer{margin-top:52px}
.occasion-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}
.occasion-heading h3{margin:0;font:400 clamp(24px,3vw,34px)/1.2 'DM Serif Display',serif}
.occasion-switch{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;flex-shrink:0;padding:5px;border:1px solid #ccd3c6;border-radius:50px;background:#e7e8df}
.occasion-switch::before{position:absolute;content:'';top:5px;bottom:5px;left:5px;width:calc(50% - 5px);z-index:-1;border-radius:40px;background:var(--green);box-shadow:0 4px 10px #203e2d17;transition:transform 450ms cubic-bezier(.22,1,.36,1)}
.occasion-switch[data-selected=event]::before{transform:translateX(100%)}
.occasion-switch button{padding:14px 20px;border:0;border-radius:35px;background:transparent;color:var(--ink);font:500 11px 'DM Sans',sans-serif;cursor:pointer;transition:color 300ms ease}
.occasion-switch button[aria-pressed=true]{color:white}.occasion-switch button:focus-visible{outline:2px solid var(--coral);outline-offset:3px}
.occasion-panel[hidden]{display:none}
.occasion-layout{display:grid;grid-template-columns:.88fr 1.12fr;overflow:hidden;border:1px solid #dbddd2;border-radius:6px;background:#fffdf7}
.occasion-photo{position:relative;min-height:540px;overflow:hidden;background:#17392d}
.occasion-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;animation:occasion-drift 18s ease-in-out infinite alternate}
#occasion-event .occasion-photo img{object-position:48% center}
.occasion-photo::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#102e25ba)}
.occasion-photo>span{position:absolute;bottom:25px;left:25px;right:25px;z-index:1;color:white;font-size:9px;letter-spacing:.14em;line-height:1.7}
.occasion-content{padding:clamp(25px,4vw,50px)}
.occasion-tag{font-size:8px;font-weight:700;letter-spacing:.12em;color:#9d634b;line-height:1.7}
.occasion-content>h3{margin:19px 0 24px;color:var(--green);font:400 clamp(30px,3.4vw,43px)/1.1 'DM Serif Display',serif}
.occasion-content>h3 em{color:var(--coral);font-weight:400}
.occasion-intro{color:var(--ink-soft);font-size:12px;line-height:1.85}
.occasion-list{margin:0 0 25px}.occasion-list>div{padding:17px 0;border-bottom:1px solid #e1e4d9}
.occasion-list dt{margin-bottom:7px;font-size:12px;font-weight:700;color:var(--green)}
.occasion-list dd{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.85}
@keyframes occasion-drift{from{transform:scale(1)}to{transform:scale(1.055)}}
@media(max-width:1100px){.shared-amenities{grid-template-columns:repeat(2,minmax(0,1fr))}.occasion-heading{align-items:start;flex-direction:column}.occasion-photo{min-height:580px}}
@media(max-width:700px){.house-details-heading{display:block}.house-details-heading>p{max-width:none;margin-top:20px}.house-details{padding-top:0}.shared-amenities{gap:10px}.amenity-card{padding:20px 16px}.amenity-card h3{font-size:23px}.amenity-card p{font-size:11px}.occasion-heading{gap:22px}.occasion-switch{width:100%}.occasion-switch button{padding:14px 10px}.occasion-layout{grid-template-columns:1fr}.occasion-photo{min-height:300px;height:300px}#occasion-stay .occasion-photo img{object-position:center 52%}.occasion-content{padding:28px 23px}.occasion-content>h3{font-size:34px}.house-numbers{gap:10px}.house-numbers span{font-size:9px}.occasion-explorer{margin-top:38px}}
@media(max-width:390px){.shared-amenities{grid-template-columns:1fr}.amenity-card{display:grid;grid-template-columns:42px 1fr;column-gap:15px}.amenity-symbol{width:40px;height:40px;grid-row:span 2}.amenity-card h3{margin:0 0 10px}.amenity-card p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.occasion-photo img{animation:none}.occasion-switch::before,.amenity-card,.amenity-symbol{transition:none}}
.house-video{overflow:hidden;background:#102820}
.house-video-cover{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:#17392d;color:white;cursor:pointer;text-align:left}
.house-video-cover[hidden],.house-video video[hidden]{display:none}
.house-video-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 900ms cubic-bezier(.22,1,.36,1),filter 500ms ease;filter:brightness(.8)}
.house-video-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#102820ed,transparent 75%)}
.house-video-cover:hover img{transform:scale(1.045);filter:brightness(.95)}
.video-play-icon{position:absolute;top:38%;left:50%;z-index:1;display:grid;place-items:center;width:76px;height:76px;padding-left:5px;transform:translate(-50%,-50%);border:1px solid #ffffffa8;border-radius:50%;background:#ffffff25;backdrop-filter:blur(8px);font-size:25px;box-shadow:0 0 0 12px #ffffff0e;transition:background 250ms ease,box-shadow 400ms ease}
.house-video-cover:hover .video-play-icon{background:#c77c61;box-shadow:0 0 0 19px #ffffff13}
.house-video-cover:focus-visible{outline:3px solid #c77c61;outline-offset:-5px}
.video-cover-copy{position:absolute;left:clamp(24px,4vw,55px);right:24px;bottom:40px;z-index:1}
.video-cover-copy small{display:block;font-size:8px;letter-spacing:.18em;line-height:1.8}
.video-cover-copy strong{display:block;margin:12px 0;font:400 clamp(26px,3vw,38px)/1.1 'DM Serif Display',serif}
.video-cover-copy>span{font-size:11px;line-height:1.7;color:#fffdf0d9}
.house-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#102820}
.video-status{position:absolute;top:10px;left:15px;right:15px;z-index:3;margin:0;color:white;background:#102820d9;font-size:11px;line-height:1.7;text-align:center}
.video-status:empty{display:none}
@media(max-width:700px){.host-photo.house-video{height:380px;min-height:380px}.video-cover-copy{bottom:28px}.video-play-icon{width:66px;height:66px}.video-cover-copy strong{font-size:30px}}
@media(prefers-reduced-motion:reduce){.house-video-cover img,.video-play-icon{transition:none}}

/* Portrait video with full frame visible on desktop and mobile. */
.host-video-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(35px,7vw,105px);min-height:0;padding:clamp(45px,6vw,85px) clamp(24px,9vw,135px)}
.host-video-section .host-photo.house-video{width:100%;max-width:360px;height:auto;min-height:0;aspect-ratio:9/16;justify-self:center;align-self:center;border-radius:7px}
.host-video-section .host-copy{padding:0;max-width:500px}
.host-video-section .host-copy h2{font-size:clamp(34px,4vw,52px)}
.host-video-section .video-cover-copy{left:23px;right:23px;bottom:30px}
.host-video-section .video-cover-copy strong{font-size:30px;margin:12px 0}
.host-video-section .video-play-icon{top:40%;width:70px;height:70px;font-size:24px}
@media(max-width:700px){.host-video-section{grid-template-columns:1fr;gap:36px}.host-video-section .host-photo.house-video{max-width:340px}.host-video-section .host-copy{max-width:550px}.host-video-section .host-copy h2{font-size:38px}}
