@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--ink:#102d37;--muted:#59686f;--blue:#1b5c70;--line:#dfe6e9;--paper:#fff;--soft:#f3f7f8;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);font-size:16px;scroll-behavior:smooth;scroll-padding-top:90px}*{box-sizing:border-box}body{margin:0;background:var(--paper)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #238caf;outline-offset:4px}h1,h2,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400}h2{font-size:clamp(2rem,3vw,2.7rem);line-height:1.16;letter-spacing:-.025em;margin-bottom:24px}p{line-height:1.7;color:var(--muted)}.header{height:91px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:22px;background:#fff}.brand{display:flex;gap:12px;align-items:center;font-size:.84rem;letter-spacing:.13em;font-weight:700;line-height:1.4}.brand-mark{width:39px;height:45px;display:grid;place-items:center;border:1px solid var(--ink);font-family:Georgia,serif;font-size:1.65rem;font-weight:400}.brand-sub{display:block;font-size:.68rem;letter-spacing:.36em}.header nav{display:flex;gap:30px;font-size:.9rem}.header nav a:hover,.text-link:hover{text-decoration:underline}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--ink);color:white;border:1px solid var(--ink);padding:16px 22px;border-radius:3px;font-weight:600;font-size:.95rem;min-height:50px;transition:background .18s}.button:hover{background:var(--blue)}.button-small{padding:12px 20px;min-height:44px}.button-white{background:#fff;color:var(--ink);border-color:#fff}.button-white:hover{background:#eaf3f6}.hero{position:relative;min-height:590px;height:65vh;max-height:760px;background:var(--ink);overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,24,29,.82),rgba(8,24,29,.42) 44%,transparent 77%),linear-gradient(0deg,rgba(8,24,29,.3),transparent 40%)}.hero-content{position:relative;color:white;padding:65px 7%;max-width:770px}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.18em;color:var(--blue);margin-bottom:20px}.hero .eyebrow{color:#fff}.hero h1{font-size:clamp(3.5rem,6.8vw,6rem);line-height:1.02;letter-spacing:-.03em;margin:0 0 26px}.hero-desc{color:#f2f5f6;font-size:1.1rem;line-height:1.6;margin-bottom:28px}.hero-meta{display:flex;gap:16px;margin-top:25px;font-size:.85rem;color:#fff}.hero-meta span+span:before{content:'·';margin-right:16px}.photo-button{position:absolute;right:5%;bottom:36px;border:1px solid #fff;background:#fff;color:var(--ink);border-radius:3px;padding:12px 18px;font-size:.875rem;display:flex;gap:22px;align-items:center}.hero-caption{position:absolute;left:7%;bottom:28px;color:#fff;font-size:.75rem}.trust-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 7%;border-bottom:1px solid var(--line);font-size:.85rem}.trust-bar>span{color:var(--muted)}.rating{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rating strong{font-size:1.1rem}.rating strong span{font-weight:400;font-size:.85rem}.rating>span:last-child{font-size:.8rem;color:var(--muted)}.star{color:#aa7b28;font-size:1.1rem}.wrapper{max-width:1350px;margin:auto;padding:70px 7%}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:65px;align-items:start}.section-block{padding-bottom:48px;margin-bottom:42px;border-bottom:1px solid var(--line);scroll-margin-top:40px}.intro>p:not(.eyebrow){max-width:630px}.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0 35px}.specs strong,.specs span{display:block}.specs strong{font-size:.9rem;margin-bottom:7px}.specs span{font-size:.8rem;color:var(--muted)}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.image-card{position:relative;display:block;padding:0;border:0;background:var(--soft);overflow:hidden;border-radius:3px;width:100%;color:white}.image-card img{width:100%;height:245px;display:block;object-fit:cover;transition:transform .3s}.image-card:hover img{transform:scale(1.025)}.image-card span{position:absolute;bottom:0;left:0;right:0;text-align:left;padding:35px 16px 15px;background:linear-gradient(transparent,rgba(0,0,0,.65));font-size:.85rem}.amenity-list{display:grid;grid-template-columns:1fr 1fr;gap:27px 25px;list-style:none;padding:0;margin:32px 0}.amenity-list li{display:flex;gap:14px;align-items:flex-start}.amenity-list li>span{width:32px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:3px;flex-shrink:0;font-size:1.1rem}.amenity-list strong{font-size:.9rem;font-weight:600}.amenity-list p{font-size:.85rem;line-height:1.5;margin:5px 0 0}.pool-image img{height:315px}.neighborhood>div{margin-bottom:25px}.building-image img{height:300px;object-position:50% 65%}.text-link{font-size:.9rem;border-bottom:1px solid var(--ink);padding-bottom:3px}.source-note{font-size:.75rem;margin-top:20px}.host-section{padding:30px;background:var(--soft);border:0;border-radius:3px}.host-section h2{font-size:2rem}.faq h2{margin-bottom:30px}.faq details{border-top:1px solid var(--line);padding:19px 0}.faq summary{cursor:pointer;font-weight:500;font-size:.95rem;padding-right:15px}.faq details p{font-size:.9rem;margin:16px 0 0}.faq{border:0;margin-bottom:0;padding-bottom:0}.stay-card{position:sticky;top:25px;border:1px solid var(--line);border-top:3px solid var(--ink);border-radius:3px;padding:28px;box-shadow:0 10px 35px rgba(16,45,55,.07);background:white;scroll-margin-top:25px}.stay-card .eyebrow{font-size:.7rem;margin-bottom:13px}.stay-card h2{font-size:2rem;margin-bottom:14px}.stay-card>p:not(.eyebrow){font-size:.875rem}.date-row{display:grid;grid-template-columns:1fr 1fr;border:1px solid #b7c4ca;border-radius:3px;overflow:hidden;margin-top:25px}.date-row label{padding:11px 10px;font-size:.75rem;font-weight:600;min-width:0}.date-row label+label{border-left:1px solid #b7c4ca}.date-row input{border:0;width:100%;min-width:0;background:white;color:var(--ink);display:block;margin-top:7px;font-size:.8rem;height:29px}.guest-label{display:block;border:1px solid #b7c4ca;border-radius:3px;padding:10px;font-size:.75rem;font-weight:600;margin-top:12px}.guest-label select{display:block;border:0;background:white;color:var(--ink);width:100%;margin-top:6px;padding:3px 0;font-size:.9rem}.night-count{font-size:.8rem;margin:16px 0}.full-width{width:100%}.card-note{text-align:center;font-size:.75rem!important;line-height:1.6;margin:15px 0;color:var(--muted)}.card-divider{border-top:1px solid var(--line);margin:23px 0}.small-highlight{font-size:.8rem;margin:12px 0;display:flex;gap:10px;align-items:center}.small-highlight span{color:var(--blue)}.footer{display:flex;justify-content:space-between;align-items:center;gap:25px;background:var(--ink);color:white;padding:35px 7%;font-size:.8rem}.footer .brand-mark{border-color:#fff}.footer>span{color:#c4d0d4}dialog{border:0;border-radius:6px;padding:28px;width:min(900px,94vw);max-height:92vh;box-shadow:0 20px 90px #0005;color:var(--ink)}dialog::backdrop{background:rgba(8,24,29,.78)}.dialog-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.dialog-heading h2{font-size:1.65rem;margin:0}.close-button{border:0;background:var(--soft);color:var(--ink);height:42px;width:42px;border-radius:50%;font-size:1.7rem;flex-shrink:0}.gallery-controls{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:18px;font-size:.875rem}.outline-button{background:white;border:1px solid var(--line);border-radius:3px;padding:12px;color:var(--ink);font-size:.875rem}#gallery-image{width:100%;height:min(60vh,590px);object-fit:contain;background:var(--soft);display:block}#inquiry-dialog{max-width:570px}textarea{width:100%;resize:vertical;line-height:1.6;color:var(--ink);border:1px solid #b7c4ca;border-radius:3px;padding:14px;margin-bottom:20px;font-size:1rem}.inquiry-notice{font-size:.85rem;padding:14px;background:var(--soft);margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.header,.trust-bar,.footer{padding-left:calc((100vw - 1160px)/2);padding-right:calc((100vw - 1160px)/2)}}@media(max-width:1050px){.content-grid{gap:32px;grid-template-columns:minmax(0,1fr) 320px}.wrapper{padding-left:5%;padding-right:5%}.trust-bar{flex-wrap:wrap;justify-content:center}.hero-content{padding-left:5%}.hero-caption{left:5%}.specs{grid-template-columns:1fr}.specs div{display:flex;justify-content:space-between;gap:15px}.image-card img{height:190px}.pool-image img,.building-image img{height:290px}}@media(max-width:760px){.header{height:78px;padding:0 5%;gap:12px}.header nav{display:none}.brand{font-size:.7rem;gap:8px;letter-spacing:.08em}.brand-sub{font-size:.625rem}.brand-mark{width:32px;height:38px;font-size:1.4rem}.button-small{font-size:.8rem;padding:11px 13px}.hero{height:auto;min-height:620px}.hero-content{padding:55px 6% 115px;max-width:100%}.hero-photo{object-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(8,24,29,.76),rgba(8,24,29,.32)),linear-gradient(0deg,rgba(8,24,29,.25),transparent)}.hero h1{font-size:clamp(3rem,12vw,4.8rem)}.hero-desc{font-size:1rem}.hero-caption{display:none}.photo-button{bottom:25px;right:6%;font-size:.8rem}.trust-bar{padding:23px 6%;display:grid;grid-template-columns:1fr 1fr;font-size:.75rem;gap:17px}.trust-bar .rating{grid-column:1/-1}.wrapper{padding:38px 6%}.content-grid{display:flex;flex-direction:column;gap:35px}.main-content{display:contents}.stay-card{order:-1;position:static;width:100%;padding:25px}.section-block{width:100%;padding-bottom:35px;margin-bottom:0}.intro h2{font-size:2.2rem}.specs{grid-template-columns:1fr 1fr;gap:18px}.specs div{display:block}.photo-pair{gap:10px}.image-card img{height:200px}.amenity-list{gap:22px 15px}.amenity-list li{gap:10px}.amenity-list strong{font-size:.85rem}.pool-image img,.building-image img{height:270px}.host-section{padding:25px}.footer{flex-direction:column;align-items:flex-start;padding:30px 6%;gap:20px}.gallery-controls{flex-wrap:wrap}.gallery-controls span{flex:1;text-align:center}.dialog-heading h2{font-size:1.4rem}dialog{padding:20px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.image-card img,.button{transition:none}}@media(max-width:380px){.amenity-list{grid-template-columns:1fr}.photo-pair{grid-template-columns:1fr}.specs{grid-template-columns:1fr}.hero{min-height:570px}.hero h1{font-size:3rem}}

/* Slow camera movement over the original property photographs. */
.hero-photo{animation:hero-drift 18s ease-in-out infinite alternate;transform-origin:60% 50%;will-change:transform}
.image-card img{animation:photo-drift 15s ease-in-out infinite alternate;transform-origin:center;will-change:transform}
.photo-pair .image-card:nth-child(2) img,.building-image img{animation-delay:-7s;animation-direction:alternate-reverse}
.pool-image img{animation-duration:20s;transform-origin:50% 65%}
@keyframes hero-drift{from{transform:scale(1.025) translate3d(-.35%,0,0)}to{transform:scale(1.09) translate3d(.35%,-.6%,0)}}
@keyframes photo-drift{from{transform:scale(1.015) translate3d(-.2%,0,0)}to{transform:scale(1.055) translate3d(.2%,-.35%,0)}}
.motion-button{position:absolute;bottom:58px;left:7%;padding:10px 15px;border:1px solid rgba(255,255,255,.75);border-radius:3px;background:rgba(8,24,29,.55);color:white;min-height:44px;font-size:.8rem;backdrop-filter:blur(6px)}
.motion-button:hover{background:rgba(8,24,29,.8)}
body[data-motion="paused"] .hero-photo,body[data-motion="paused"] .image-card img{animation-play-state:paused}
@media(max-width:1050px){.motion-button{left:5%}}
@media(max-width:760px){.motion-button{left:6%;bottom:25px}}
@media(prefers-reduced-motion:reduce){.hero-photo,.image-card img{animation:none;transform:none;will-change:auto}.motion-button{display:none}}
/* Six-property collection, using the existing visual system. */
.catalog-section{padding-bottom:45px}.catalog-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.catalog-heading h2{margin-bottom:10px}.catalog-filters{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:10px}.catalog-filters button{padding:11px 15px;border:1px solid var(--line);border-radius:3px;background:white;font-size:.85rem;color:var(--ink);min-height:44px}.catalog-filters button[aria-pressed="true"]{background:var(--ink);color:white;border-color:var(--ink)}.catalog-count{font-size:.85rem;margin:22px 0}.apartment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.apartment-card{border:1px solid var(--line);border-radius:3px;overflow:hidden;background:white}.apartment-card[hidden]{display:none}.catalog-photo{border-radius:0}.catalog-photo img{height:230px}.apartment-card-body{padding:20px}.card-kicker{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;color:var(--muted)}.card-rating{white-space:nowrap;color:var(--ink)}.apartment-card h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:1.5rem;line-height:1.3;margin:15px 0 12px}.apartment-card h3 a:hover{text-decoration:underline}.apartment-spec{font-size:.85rem;margin-bottom:15px}.card-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.card-tags span{padding:6px 8px;background:var(--soft);font-size:.7rem;line-height:1.3;border-radius:3px}.card-link{display:block;padding-top:15px;border-top:1px solid var(--line);font-size:.875rem;font-weight:600}.card-link:hover{text-decoration:underline}.collection-bottom{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:65px;padding-top:30px}.neighborhood-cards{display:grid;grid-template-columns:1fr 1fr;gap:30px}.neighborhood-cards h3{font-family:'Playfair Display',Georgia,serif;font-size:1.7rem;font-weight:400;margin:0 0 15px}.neighborhood-cards p{font-size:.9rem}.collection-caption{position:absolute;right:5%;bottom:30px;font-size:.75rem;color:#fff}.selected-property{font-size:.9rem;font-weight:600;padding:12px 0 4px}.form-error{font-size:.85rem;color:#a12828;line-height:1.5}.form-error:empty{display:none}.direct-contact{display:inline-block;font-size:.8rem;margin-top:15px}.property-label{margin-top:35px}.property-hero h1{font-size:clamp(3.1rem,5.4vw,4.8rem);max-width:670px}.property-hero .hero-desc{max-width:520px}.property-hero .hero-content{padding-top:55px}.property-hero{min-height:640px;height:auto}.property-photos{gap:15px}.catalog-section .source-note{margin-top:26px}.collection-bottom .stay-card{top:25px}.collection-info .faq{margin-bottom:0}.image-card:hover img{animation-play-state:paused}
@media(max-width:1100px){.apartment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-heading{align-items:flex-start;flex-direction:column;gap:12px}.collection-bottom{gap:30px;grid-template-columns:minmax(0,1fr) 320px}.neighborhood-cards{grid-template-columns:1fr}}
@media(max-width:760px){.apartment-grid{grid-template-columns:1fr}.catalog-photo img{height:260px}.catalog-section{padding-top:40px}.catalog-heading h2{font-size:2rem}.collection-bottom{display:flex;flex-direction:column;gap:35px}.collection-bottom .stay-card{order:0;position:static}.collection-info{width:100%}.neighborhood-cards{grid-template-columns:1fr;gap:30px}.collection-caption{right:6%;bottom:30px;max-width:46%;text-align:right;font-size:.7rem}.property-hero{min-height:650px}.property-hero h1{font-size:clamp(2.75rem,10vw,4rem)}.property-hero .hero-content{padding-top:45px}.property-hero .hero-meta{flex-wrap:wrap;gap:10px}.card-kicker{font-size:.8rem}.card-tags span{font-size:.75rem}.apartment-card-body{padding:22px}}
.building-amenity-gallery{margin:32px 0}.building-amenity-gallery .eyebrow{margin-bottom:18px}.building-amenity-gallery .photo-pair{row-gap:18px}.building-amenity-gallery img{height:245px}.selected-property{line-height:1.5}.hero-photo[src$="bay-hero.webp"]{object-position:50% 52%;transform-origin:50% 55%}
@media(max-width:760px){.building-amenity-gallery img{height:210px}.collection-caption{max-width:42%}}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .5s;background:var(--ink)}.hero-video[data-ready="true"]{opacity:1}.collection-hero .hero-shade{background:linear-gradient(90deg,rgba(8,24,29,.72),rgba(8,24,29,.26) 53%,rgba(8,24,29,.1)),linear-gradient(0deg,rgba(8,24,29,.35),transparent 35%)}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}
.favorite-badge{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 0 18px;margin:0 0 16px;border-bottom:1px solid var(--line);color:#222}.favorite-symbol{display:flex;align-items:center;gap:5px;flex-shrink:0}.favorite-symbol img{display:block;width:auto;height:35px;object-fit:contain}.favorite-symbol strong{font-size:.85rem;line-height:1.12;font-weight:700;text-align:center}.favorite-status{text-align:right;line-height:1.4}.favorite-status>span{display:block;font-size:.75rem;font-weight:600}.favorite-status small{display:block;font-size:.7rem;color:var(--muted);margin-top:3px}.favorite-badge-gold .favorite-status>span{color:#80530a}.favorite-badge:hover .favorite-status>span{text-decoration:underline}.favorite-badge-standard .favorite-status>span{color:#444}
@media(max-width:760px){.favorite-symbol strong{font-size:.9rem}.favorite-status>span{font-size:.8rem}}
.favorite-status-pill{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;align-items:center;font-size:.83rem;font-weight:600;border:1px solid var(--line);border-radius:3px;padding:10px 12px;margin-bottom:20px;color:#333;background:#f5f6f7}.favorite-status-pill small{font-size:.7rem;font-weight:400}.favorite-status-gold{color:#80530a;background:#fff8e4;border-color:#dec48b}.favorite-status-pill:hover{text-decoration:underline}.card-cleaning{font-size:.8rem;margin:14px 0 5px}.card-rate{font-size:.8rem;margin:0 0 15px}.quote-breakdown{font-size:.78rem;border-top:1px solid var(--line);padding-top:15px;margin:15px 0}.quote-breakdown>div{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:12px 0}.quote-breakdown>div[hidden]{display:none}.quote-breakdown dt{max-width:55%;color:var(--muted)}.quote-breakdown dd{margin:0;text-align:right;line-height:1.4;font-weight:500}.deposit-note{background:var(--soft);padding:15px;margin:20px 0;border-radius:3px;font-size:.85rem;line-height:1.5}.deposit-note p{font-size:.8rem;margin:10px 0 0;line-height:1.6}.deposit-note a,.reservation-terms a{color:var(--blue);text-decoration:underline}.app-help,.rate-details{font-size:.75rem;line-height:1.5;margin:10px 0}.app-help:empty,.rate-details:empty{display:none}.policy-page{max-width:1050px}.policy-page h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.15;margin-bottom:40px}.policy-page h2{font-size:1.85rem;margin-bottom:18px}.policy-page section{padding:30px 0;border-top:1px solid var(--line)}.policy-page p,.policy-page li{line-height:1.8}.policy-page li{margin:12px 0;color:var(--muted)}#contact-dialog{max-width:620px}.footer{flex-wrap:wrap}
.stay-card{position:relative;top:auto}
