*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#18314a;background:#fdfdfb;font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;width:100%}button{font:inherit;cursor:pointer}h1,h2,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;font-weight:400;line-height:1.18;letter-spacing:-.035em}h2{font-size:clamp(2.4rem,4vw,4.5rem)}h2 em,h1 em{font-weight:400;color:#bfa77d}#top,#about,#spaces,#gallery,#location,#sister,#booking{scroll-margin-top:94px}.header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 3px 20px #102d4c0a}.brand{display:flex;flex-direction:column;align-items:center;color:#102d4c;line-height:1}.brand-script,.footer-brand{font-family:Georgia,serif;font-style:italic;letter-spacing:-.06em;font-size:30px}.brand small{font-size:8px;letter-spacing:3.5px;margin-top:7px;color:#ab9471}.nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600;letter-spacing:.03em}.nav>a:not(.nav-cta):hover{color:#b99e72}.nav-cta{background:#102d4c;color:#fff;padding:12px 20px;border-radius:2px}.mobile-toggle{display:none;background:transparent;border:none;font-size:26px;color:#102d4c}.hero{height:min(750px,calc(100svh - 86px));min-height:520px;position:relative;overflow:hidden;background:#26394f;color:white}.hero-photo{height:100%;object-fit:cover;object-position:center 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,23,39,.79) 0%,rgba(8,23,39,.46) 48%,rgba(8,23,39,.1) 100%)}.hero-copy{position:absolute;left:9%;top:50%;transform:translateY(-44%);max-width:770px}.hero h1{font-size:clamp(3.1rem,6vw,6.3rem);margin:23px 0}.hero h1 em{color:#f4e7ce}.hero p{max-width:490px;line-height:1.8;font-size:16px;color:#f4f5f6}.eyebrow{font-size:11px;letter-spacing:3px;color:#ad956e;font-weight:700}.eyebrow.light{color:#ead8b9}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:32px}.btn{border-radius:2px;padding:15px 25px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;font-size:12px;font-weight:700;letter-spacing:.07em;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px)}.btn-cream{background:#f7f1e6;color:#102d4c}.hero-more{font-size:12px;color:white;border-bottom:1px solid #ffffff75;padding-bottom:7px}.hero-side{position:absolute;right:3%;bottom:35px;writing-mode:vertical-rl;font-size:10px;letter-spacing:2px}.hero-side span{margin-top:25px;color:#dcc8a3}.quickfacts{display:grid;grid-template-columns:repeat(4,1fr);max-width:1120px;margin:auto;padding:29px 0;border-bottom:1px solid #e9e6e0}.quickfacts>div{display:flex;flex-direction:column;align-items:center;border-right:1px solid #ece8e2;gap:0;text-align:center}.quickfacts>div:last-child{border:0}.quickfacts span:last-child{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:#75808a}.fact-num{font-family:"Playfair Display",serif;font-size:31px;color:#102d4c}.section{padding:110px 9%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:13%}.intro h2{margin:17px 0}.intro-copy>p{color:#64717a;font-size:15px}.small-note{font-size:12px!important;background:#f4f5f2;padding:15px 18px;border-left:2px solid #baa37c}.text-link{display:inline-flex;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#102d4c;font-weight:700;border-bottom:1px solid #b8a582;padding:7px 0}.editorial{display:grid;grid-template-columns:1fr 1fr;min-height:570px;background:#f3f4f2}.editorial-photo img{height:100%;object-fit:cover}.editorial-copy{padding:12% 13%;display:flex;flex-direction:column;justify-content:center}.editorial-copy h2{margin:20px 0}.editorial-copy p{color:#66737d;font-size:15px;max-width:500px}.editorial.reverse .editorial-photo{order:2}.editorial.reverse .editorial-copy{order:1;background:#fff}.feature-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:19px}.feature-tags span{font-size:11px;padding:6px 10px;border:1px solid #d1d4d5;color:#506172}.statement{text-align:center;background:#102d4c;color:white;padding:90px 20px}.statement h2{font-size:clamp(2.9rem,5vw,5rem);margin:20px 0 14px}.statement p{color:#d9e2eb}.section-header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.section-header h2{margin:15px 0 0}.section-header>p{color:#71818b;font-size:14px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter{background:transparent;border:1px solid #d7dbdd;padding:9px 16px;font-size:12px;color:#42586a}.filter.active,.filter:hover{background:#102d4c;color:white;border-color:#102d4c}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.gallery-item{position:relative;aspect-ratio:4/3;border:0;padding:0;overflow:hidden;background:#dce3e7}.gallery-item:nth-child(7n+1){grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.gallery-item img{height:100%;object-fit:cover;transition:transform .45s}.gallery-item:hover img{transform:scale(1.06)}.gallery-item span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#07182bcc);padding:35px 12px 10px;color:white;text-align:left;font-size:12px;opacity:0;transition:opacity .2s}.gallery-item:hover span{opacity:1}.gallery-item[hidden]{display:none!important}.testimonial{text-align:center;padding:90px 12%;background:#f3f5f6}.testimonial h2{font-size:clamp(2rem,4vw,3.2rem);margin:15px 0}.testimonial p{color:#61717b}.stars{color:#bba06c;letter-spacing:7px;font-size:19px;margin-top:15px}.location{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.location p,.location li{font-size:14px;color:#67747f}.location li{margin:11px 0}.location ul{padding-left:19px}.location-photo img{aspect-ratio:4/4.5;object-fit:cover}.sister{display:grid;grid-template-columns:1.2fr 1fr;color:white;background:#112d4b;min-height:420px}.sister-content{padding:70px 13%}.sister h2{margin:18px 0;font-size:clamp(2.2rem,4vw,4.2rem)}.sister p{color:#d2dce5;font-size:14px;max-width:500px}.btn-outline-light{border:1px solid #c7d3df;color:#fff;margin-top:18px}.sister-art{background:linear-gradient(135deg,#bda68a,#9bb3ba 55%,#365b71);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-shadow:0 2px 12px #102d4c55}.sister-art>span{font-family:Georgia,serif;font-size:clamp(3rem,6vw,6rem);letter-spacing:.09em}.sister-art small{font-size:10px;letter-spacing:3px}.booking{text-align:center}.booking h2{margin:14px 0}.booking>p{color:#647480;max-width:560px;margin:0 auto 28px}.booking-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.btn-blue{background:#102d4c;color:#fff}.btn-outline{border:1px solid #102d4c}.booking .booking-note{font-size:11px;margin-top:22px}.footer{background:#0c253e;color:white;padding:60px 9% 25px;display:grid;grid-template-columns:1fr auto;gap:25px}.footer-brand{font-size:32px}.footer p{color:#bdccd8;font-size:12px}.footer-links{display:flex;gap:20px;font-size:12px;flex-wrap:wrap;align-items:start}.footer-links a:hover{color:#d5bd94}.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff26;padding-top:22px;display:flex;justify-content:space-between;color:#9fb1c2;font-size:11px;gap:14px}.lightbox{display:none;position:fixed;inset:0;background:#061422f2;z-index:40;align-items:center;justify-content:center;padding:60px}.lightbox.open{display:flex}.lightbox img{width:auto;max-width:100%;max-height:83vh;object-fit:contain}.lightbox button{background:transparent;border:0;color:white;position:absolute;font-size:45px;z-index:2}.lightbox-close{right:25px;top:10px}.lightbox-prev{left:15px}.lightbox-next{right:15px}.lightbox-caption{position:absolute;bottom:18px;color:white;font-size:12px;letter-spacing:.05em}body.modal-open{overflow:hidden}@media(max-width:1050px){.nav{gap:15px;font-size:11px}.gallery-grid{grid-template-columns:repeat(3,1fr)}.section{padding:75px 6%}.editorial-copy{padding:9%}}@media(max-width:760px){.header{height:72px;padding:0 5%}.brand-script{font-size:25px}.mobile-toggle{display:block}.nav{position:absolute;top:72px;left:0;right:0;background:#fff;display:none;flex-direction:column;align-items:stretch;padding:20px 5%;gap:16px;box-shadow:0 20px 25px #102d4c18}.nav.open{display:flex}.hero{height:690px;min-height:0}.hero-copy{left:7%;right:7%;top:52%;transform:translateY(-40%)}.hero h1{font-size:clamp(3rem,11vw,4.5rem)}.hero p{font-size:14px}.hero-side{display:none}.quickfacts{grid-template-columns:1fr 1fr;gap:24px 0;padding:26px 0}.quickfacts>div:nth-child(2){border:0}.intro,.location{grid-template-columns:1fr;gap:18px}.section{padding:65px 7%}.editorial,.sister{grid-template-columns:1fr}.editorial-photo img{max-height:420px}.editorial.reverse .editorial-photo{order:0}.editorial.reverse .editorial-copy{order:1}.editorial-copy{padding:45px 7%}.statement{padding:75px 15px}.section-header{display:block}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-item:nth-child(7n+1){grid-column:auto;grid-row:auto;aspect-ratio:4/3}.gallery-item:first-child{grid-column:span 2;aspect-ratio:1.5}.gallery-item span{display:none}.sister-content{padding:65px 7%}.sister-art{min-height:250px}.location-photo img{aspect-ratio:1.5}.booking-actions{flex-direction:column}.booking-actions .btn{justify-content:center}.footer{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.lightbox{padding:50px 36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Calligraphic wordmark inspired by the Villa Chrispa entrance sign */
.brand-logo{display:block;width:205px;height:69px;object-fit:contain}
.brand{width:214px;flex-shrink:0}
.footer-logo{width:250px;height:auto;max-height:90px;object-fit:contain;object-position:left center;margin-left:-12px}
#reviews{scroll-margin-top:94px}
.reviews-section{background:#f3f5f6}
.reviews-section .section-header>p{max-width:310px}
.reviews-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.review-card{background:#fff;border:1px solid #e4e9eb;padding:25px 23px 20px;display:flex;flex-direction:column;min-height:325px;box-shadow:0 8px 28px #102d4c08}
.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.review-platform{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:1.4px;color:#758391}
.review-rating{font-size:12px;font-weight:700;white-space:nowrap;color:#ad8e58;letter-spacing:1px}
.review-card h3{font-family:'Playfair Display',serif;font-weight:400;font-size:21px;letter-spacing:-.02em;line-height:1.3;margin:0 0 13px;color:#102d4c}
.review-body{color:#54636f;font-size:13px;line-height:1.8;flex:1;margin-bottom:20px}
.review-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#71808c;border-top:1px solid #e7ecef;padding-top:14px}
.review-meta strong{color:#102d4c}
.review-translation{margin:8px 0 0;font-size:10px;color:#83909b;font-style:italic;line-height:1.45}
.review-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px;margin-top:27px}
.review-disclosure{max-width:760px;margin:25px auto 0;color:#86919a;font-size:11px;text-align:center;line-height:1.65}
@media(max-width:1180px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-logo{width:180px}.brand{width:182px}.nav{gap:14px}}
@media(max-width:760px){.brand{width:170px}.brand-logo{width:165px;height:58px}.reviews-grid{grid-template-columns:1fr}.review-card{min-height:0}.reviews-section .section-header>p{max-width:none}.footer-logo{width:225px}}
