
:root{--black:#111210;--acid:#efff00;--paper:#e5dcc7;--white:#faf9f5;--muted:#b6b4aa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#f3f0e7;font:16px/1.6 Arial,sans-serif;padding-top:132px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid var(--acid)}header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(17,18,16,.86);backdrop-filter:blur(8px);border-bottom:1px solid #ffffff22;padding:10px 4vw 8px;height:132px}.brand{display:flex;align-items:center;width:100%;height:78px;font-weight:bold;line-height:1.2;letter-spacing:.03em}.brand img{width:104px;height:104px;object-fit:contain;background:transparent;position:absolute;left:4vw;top:8px}.brand>span{margin:auto;text-align:center;font-size:30px}.brand small{display:block;font-size:12px;letter-spacing:.27em;margin-top:7px}nav{display:flex;justify-content:center;align-items:center;gap:36px;height:34px;font-size:14px}nav a{padding:4px 0}nav a[aria-current="page"]{color:var(--acid);border-bottom:1px solid var(--acid)}nav .book-link{color:var(--acid)}main{min-height:calc(100vh - 205px)}.eyebrow{font:12px/1.5 'Courier New',monospace;letter-spacing:.14em;color:var(--muted)}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.15;margin:0}h1{font-size:clamp(48px,6vw,86px)}h2{font-size:42px}h3{font-size:28px}.button{display:inline-block;background:var(--acid);color:#111;padding:13px 20px;border:0;cursor:pointer;font-size:14px;font-weight:bold}.button:hover{background:#dce82a}.home-hero{position:relative;min-height:calc(100vh - 132px);display:flex;align-items:center;padding:60px 7vw;isolation:isolate}.home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 55%;z-index:-2}.home-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#090a09dd,#090a0977 60%,#090a0922);z-index:-1}.home-copy{max-width:620px}.home-copy h1{margin:18px 0 26px}.home-copy h1 em{color:var(--acid)}.home-copy p{font:20px/1.6 Georgia,serif;max-width:440px;margin-bottom:30px}.page-intro{padding:55px 5vw 35px}.page-intro h1{font-size:60px;margin:12px 0}.page-intro p{color:var(--muted);margin:12px 0}.studios-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:0 5vw 55px}.apartment{min-width:0;border:1px solid #ffffff22}.gallery{position:relative;aspect-ratio:4/3;overflow:hidden;background:#222}.gallery>img{width:100%;height:100%;object-fit:cover}.gallery-controls{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#111b;font-size:12px}.gallery-controls button{border:0;background:none;color:white;padding:6px 0;cursor:pointer;font-size:12px}.apartment-copy{background:var(--paper);color:#29271f;padding:22px 18px}.apartment-copy .eyebrow{color:#625d4e}.apartment-copy h3{margin:12px 0}.apartment-copy p{font-size:15px;min-height:120px;margin:0 0 18px}.apartment-copy ul{padding:18px 0;list-style:none;border-top:1px solid #b8ae95;font-size:14px;margin:0}.apartment-copy .button{width:100%;text-align:center;padding:12px 8px}.gallery-grid{padding:0 5vw 55px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}figure{margin:0}figure img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}figcaption{font:12px/1.5 'Courier New',monospace;padding:8px 0;color:var(--muted)}.booking-page{background:var(--white);color:#24251f}.booking-page .eyebrow,.booking-page .page-intro p{color:#69695e}.booking-wrap{max-width:900px;margin:0 auto;padding:0 5vw 70px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.booking-form label{font-size:14px;display:block}.booking-form input,.booking-form select,textarea{width:100%;margin-top:8px;border:1px solid #c8c6bc;background:white;padding:14px;color:#24251f;min-height:52px;border-radius:0}.booking-form .wide{grid-column:1/-1}.booking-form .button{font-size:16px;min-height:52px}.booking-note{font-size:14px;color:#68685f;margin:18px 0}.booking-result{margin-top:30px;padding-top:25px;border-top:1px solid #d6d3c7}.booking-result textarea{min-height:130px}.inquiry-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:18px 0}.text-link{border-bottom:1px solid currentColor;font-size:14px}.booking-page footer{border-color:#ddd9cd;color:#6b6b60}footer{display:flex;justify-content:space-between;gap:20px;padding:24px 5vw;border-top:1px solid #ffffff22;font:12px/1.5 'Courier New',monospace;color:var(--muted)}[hidden]{display:none!important}@media(max-width:1050px){.studios-grid{gap:12px;padding-left:3vw;padding-right:3vw}.apartment-copy{padding:18px 12px}.apartment-copy p{min-height:145px}.apartment-copy h3{font-size:25px}}@media(max-width:800px){.studios-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.apartment-copy p{min-height:95px}.page-intro h1{font-size:48px}.brand img{width:82px;height:82px;top:4px}.brand>span{font-size:25px}.home-hero{min-height:650px}.home-copy h1{font-size:66px}}@media(max-width:480px){body{padding-top:120px}header{height:120px;padding:8px 5vw}.brand{height:68px}.brand img{width:70px;height:70px;left:3vw;top:4px}.brand>span{font-size:23px;padding-left:52px}.brand small{font-size:10px}nav{gap:22px;font-size:13px;height:34px}.home-hero{min-height:calc(100svh - 120px);padding:45px 6vw}.home-copy h1{font-size:54px}.home-copy p{font-size:18px}.studios-grid,.gallery-grid{grid-template-columns:1fr;padding-left:5vw;padding-right:5vw}.apartment-copy p{min-height:0}.booking-form{grid-template-columns:1fr;gap:18px}.booking-form .wide{grid-column:auto}.page-intro{padding-top:35px}footer{flex-wrap:wrap;font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Continuous sections and studio-organized gallery */
html{scroll-padding-top:132px}main>section{scroll-margin-top:0}#studios,#gallery{border-top:1px solid #ffffff22}#gallery{padding-bottom:55px;background:#191a16}.gallery-group{margin:0 5vw 36px}.gallery-group:last-child{margin-bottom:0}.gallery-group-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 16px;margin-bottom:16px;border-bottom:1px solid #ffffff22}.gallery-group-heading h2{font-size:30px}.studio-photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.studio-photo-grid figure{min-width:0}.studio-photo-grid img{aspect-ratio:4/3}.booking-section{background:var(--white);color:#24251f;padding-top:1px}.booking-section .eyebrow,.booking-section .page-intro p{color:#69695e}.booking-section input:focus-visible,.booking-section select:focus-visible,.booking-section textarea:focus-visible{outline:2px solid #333}.booking-section .page-intro{max-width:900px;margin:auto;padding-left:5vw;padding-right:5vw}@media(max-width:800px){.studio-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}@media(max-width:480px){html{scroll-padding-top:120px}.studio-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-group-heading h2{font-size:26px}.gallery-group-heading .text-link{font-size:13px}.gallery-group{margin-bottom:32px}}

.header-instagram{position:absolute;right:4vw;top:24px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#f3f0e7}.header-instagram svg{width:24px;height:24px}.header-instagram:hover{color:var(--acid)}.whatsapp-contact{position:fixed;bottom:24px;right:24px;z-index:120;display:flex;align-items:center;gap:10px;padding:14px 20px;border:1px solid #111;background:var(--acid);color:#111;box-shadow:0 5px 24px #0003;border-radius:32px;cursor:pointer;font-weight:bold;font-size:14px}.whatsapp-contact svg{width:27px;height:27px}.whatsapp-contact:hover{background:#dce82a}.whatsapp-panel{position:fixed;right:24px;bottom:100px;z-index:120;background:var(--white);color:#24251f;padding:30px;max-width:350px;width:calc(100vw - 48px);box-shadow:0 8px 40px #0004;border:1px solid #d8d4c8}.whatsapp-panel h2{font-size:28px;padding-right:12px}.whatsapp-panel p{font-size:15px}.whatsapp-panel .whatsapp-pending{font-size:14px;color:#777467}.whatsapp-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:25px;cursor:pointer;color:#24251f}footer{padding-right:180px}@media(max-width:480px){.header-instagram{right:3vw;top:14px;width:40px;height:40px}.header-instagram svg{width:21px;height:21px}.brand>span{padding-left:35px;padding-right:40px;font-size:20px}.brand small{font-size:9px;letter-spacing:.12em}.whatsapp-contact{right:16px;bottom:16px;padding:13px;border-radius:50%;width:54px;height:54px;justify-content:center}.whatsapp-contact span{display:none}.whatsapp-panel{right:16px;bottom:84px;width:calc(100vw - 32px)}footer{padding-right:85px}}

/* Right dropdown and light studio descriptions */
.apartment-copy{background:var(--white)}.apartment-copy ul{border-color:#d6d3ca}.header-menu{position:absolute;right:4vw;top:78px}.menu-toggle{display:flex;align-items:center;gap:10px;background:transparent;border:0;color:#f3f0e7;padding:8px 0 8px 12px;cursor:pointer;font-size:14px}.menu-toggle svg{width:23px;height:23px}.header-menu nav{position:absolute;right:0;top:48px;display:flex;flex-direction:column;align-items:stretch;justify-content:start;gap:0;height:auto;width:210px;padding:12px;background:rgba(17,18,16,.97);border:1px solid #ffffff22;box-shadow:0 12px 24px #0004}.header-menu nav a{padding:12px 14px;border-bottom:none;font-size:15px}.header-menu nav a:hover{background:#ffffff0c}.header-menu nav .book-link{color:var(--acid)}.whatsapp-contact{background:#25d366;color:white;border-color:#25d366}.whatsapp-contact:hover{background:#1fbc59}.whatsapp-contact svg{width:28px;height:28px}@media(max-width:480px){.header-menu{right:5vw;top:75px}.menu-toggle{padding:4px 0 4px 12px}.header-menu nav{top:42px;width:205px}}
/* Contemporary editorial system */
:root{--black:#10110f;--white:#fafaf7;--muted:#aaa99f;--acid:#efff00}body{padding-top:110px;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}html{scroll-padding-top:110px}header{height:110px;padding:0 4vw;background:rgba(16,17,15,.88);backdrop-filter:blur(18px);border-color:#ffffff16}.brand{height:110px;pointer-events:none}.brand img{width:100px;height:100px;top:5px;pointer-events:auto}.brand>span{font-size:27px;letter-spacing:.12em;pointer-events:auto}.brand small{font-size:10px;letter-spacing:.4em;margin-top:10px}.header-instagram{right:calc(4vw + 106px);top:33px}.header-menu{right:4vw;top:34px}.menu-toggle{padding:10px 14px;gap:12px;border:1px solid #ffffff35;border-radius:3px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.menu-toggle:hover{border-color:var(--acid)}.menu-toggle svg{width:19px;height:19px}.header-menu nav{top:58px;width:230px;padding:10px;border-color:#ffffff22;border-radius:4px}.header-menu nav a{padding:16px;font-size:15px}.header-menu nav .book-link{background:var(--acid);color:#111;margin-top:6px;border-radius:2px;font-weight:bold}.header-menu nav .book-link:hover{background:#dfe927}.eyebrow{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.18em;font-weight:500}h1,h2,h3{letter-spacing:-.04em}.home-hero{min-height:calc(100svh - 110px);padding:80px 7vw 100px}.home-hero>img{object-position:65% 53%}.home-hero:after{background:linear-gradient(90deg,#080908dc 0%,#0809088c 42%,#08090815 85%),linear-gradient(0deg,#08090888,transparent 40%)}.home-copy{max-width:900px}.home-copy>.eyebrow{color:#dfded4}.home-copy h1{font-family:Arial,Helvetica,sans-serif;font-weight:600;font-size:clamp(76px,8.4vw,140px);line-height:.99;letter-spacing:-.065em;margin:30px 0}.home-copy h1 em{font-family:Georgia,serif;font-weight:normal;letter-spacing:-.06em}.home-copy p{font-family:Arial,sans-serif;font-size:18px;line-height:1.65;max-width:380px;color:#e2e0d8;margin:30px 0 34px}.button{padding:16px 22px;border-radius:2px;font-size:13px;letter-spacing:.02em;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.home-copy .button{padding:17px 28px}.page-intro{padding:85px 5vw 42px;max-width:1600px;margin:auto}.page-intro h1{font-family:Arial,sans-serif;font-size:clamp(42px,4.5vw,70px);font-weight:500;line-height:1.08;margin:18px 0}.page-intro p{font-size:16px;max-width:540px;color:#aaa99f}.studios-grid{gap:22px;padding:0 5vw 85px;max-width:1600px;margin:auto}.apartment{border:0;border-radius:3px;overflow:hidden;display:flex;flex-direction:column}.gallery{aspect-ratio:1.22}.gallery>img{transition:transform .6s}.apartment:hover .gallery>img{transform:scale(1.025)}.gallery-controls{padding:8px 12px;background:linear-gradient(transparent,#000b);padding-top:25px}.gallery-controls button{font-size:12px;min-height:35px}.apartment-copy{padding:26px 22px 22px;flex:1;display:flex;flex-direction:column;background:var(--white)}.apartment-copy .eyebrow{font-size:10px;color:#76776b;letter-spacing:.16em}.apartment-copy h3{font-family:Georgia,serif;font-size:32px;margin:13px 0 18px}.apartment-copy p{font-size:14px;line-height:1.7;min-height:120px;color:#67685e;margin-bottom:18px}.apartment-copy ul{font-size:12px;line-height:1.9;border-color:#dedfd6;padding:15px 0 20px;margin-top:auto}.apartment-copy .button{font-size:12px;padding:14px 8px}#gallery{background:#171814;padding-bottom:75px}.gallery-group{max-width:1440px;margin:0 5vw 55px}.gallery-group-heading{padding-bottom:20px;border-color:#ffffff19}.gallery-group-heading h2{font-family:Arial,sans-serif;font-weight:400;font-size:26px;letter-spacing:-.03em}.gallery-group-heading .text-link{font-size:12px;color:#dedfd4;border-color:#797b63}.studio-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.studio-photo-grid figure{position:relative;border-radius:2px;overflow:hidden;aspect-ratio:1.45}.studio-photo-grid figure:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.studio-photo-grid img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;transition:transform .6s}.studio-photo-grid figure:hover img{transform:scale(1.025)}.studio-photo-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:28px 12px 10px;background:linear-gradient(transparent,#0009);color:#efefe7;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.06em}.booking-section .page-intro{max-width:1080px;padding-top:85px}.booking-section .page-intro h1{font-size:clamp(42px,4.5vw,65px);max-width:650px}.booking-wrap{max-width:1080px;padding-bottom:85px}.booking-form{gap:24px 28px;margin-top:8px}.booking-form label{font-size:13px;color:#53554b}.booking-form input,.booking-form select,textarea{background:transparent;border:0;border-bottom:1px solid #c8cbc0;padding:15px 0;border-radius:0}.booking-form input:focus,.booking-form select:focus{border-color:#20221b}.booking-form .button{margin-top:16px;min-height:58px;font-size:14px}.booking-note{font-size:12px;margin-top:22px;line-height:1.7}.booking-result textarea{border:1px solid #c8cbc0;padding:14px}.whatsapp-contact{box-shadow:0 6px 26px #0003;font-size:13px;padding:13px 18px}.whatsapp-contact span{font-weight:500}footer{padding-top:32px;padding-bottom:32px;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.08em;border-color:#ffffff19}@media(min-width:1600px){.gallery-group{margin-left:auto;margin-right:auto}}@media(max-width:1050px){.apartment-copy{padding:22px 15px}.apartment-copy h3{font-size:28px}.apartment-copy p{min-height:145px}.studios-grid{gap:14px}.brand>span{font-size:23px;letter-spacing:.08em}}@media(max-width:800px){.brand>span{padding-right:90px;padding-left:70px;font-size:22px}.brand small{letter-spacing:.25em}.studios-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.apartment-copy{padding:25px 22px}.apartment-copy p{min-height:90px}.home-copy h1{font-size:clamp(70px,11vw,95px)}.home-hero{min-height:680px}.page-intro{padding-top:65px}.studio-photo-grid{gap:8px}.gallery-group-heading{gap:15px}}@media(max-width:540px){body{padding-top:100px}html{scroll-padding-top:100px}header,.brand{height:100px}.brand img{width:84px;height:84px;left:2vw;top:8px}.brand>span{font-size:17px;letter-spacing:.055em;padding-left:64px;padding-right:110px}.brand small{font-size:8px;letter-spacing:.2em;margin-top:7px}.header-instagram{right:66px;top:28px;width:34px}.header-instagram svg{width:19px}.header-menu{right:14px;top:32px}.menu-toggle{padding:10px;border:0}.menu-toggle span{display:none}.menu-toggle svg{width:23px}.header-menu nav{top:54px;width:210px}.home-hero{padding:65px 6vw;min-height:calc(100svh - 100px)}.home-copy h1{font-size:clamp(56px,12vw,76px);margin:28px 0}.home-copy p{font-size:16px;max-width:310px}.home-hero>img{object-position:58% center}.page-intro{padding-top:58px;padding-bottom:28px}.page-intro h1{font-size:44px}.studios-grid{grid-template-columns:1fr;padding-bottom:60px}.apartment-copy p{min-height:0}.apartment-copy h3{font-size:32px}.gallery{aspect-ratio:1.35}.gallery-group{margin-bottom:38px}.studio-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.studio-photo-grid figure:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:1.6}.studio-photo-grid figure{aspect-ratio:1.3}.gallery-group-heading h2{font-size:23px}.booking-section .page-intro{padding-top:58px}.booking-wrap{padding-bottom:60px}.booking-form{grid-template-columns:1fr}.booking-form .wide{grid-column:auto}.whatsapp-contact{padding:13px}.whatsapp-contact span{display:none}.whatsapp-panel h2{font-size:27px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.button:hover{transform:none}}

.whatsapp-contact{width:58px;height:58px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;gap:0}.whatsapp-contact svg{width:30px;height:30px}@media(max-width:480px){.whatsapp-contact{width:54px;height:54px;padding:0}}

.home-copy h1{font-size:clamp(64px,7.2vw,116px)}@media(max-width:540px){.home-copy h1{font-size:clamp(44px,10vw,60px)}}

/* Lighter glass masthead and minimal dropdown */
header{background:rgba(16,17,15,.48);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.07)}.menu-toggle{border:0;background:transparent;padding:10px 0 10px 12px;border-radius:0}.menu-toggle:hover{color:var(--acid)}.header-menu nav{width:190px;padding:14px 18px;background:rgba(16,17,15,.76);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:0;border-radius:0;box-shadow:none;gap:0;align-items:flex-end}.header-menu nav a{padding:11px 0;width:100%;text-align:right;font-size:14px;font-weight:400;letter-spacing:.02em;border:0}.header-menu nav a:hover{background:transparent;color:var(--acid)}.header-menu nav a[aria-current="location"]{border:0;color:var(--acid)}.header-menu nav .book-link{background:transparent;color:var(--acid);margin-top:4px;border-radius:0;font-weight:500}.header-menu nav .book-link:hover{background:transparent;color:#f5ff77}@media(max-width:540px){.header-menu nav{width:180px;padding:12px 16px}}

/* Emblem extends beyond the masthead at the top, tucks in on scroll. */
header{overflow:visible}.brand img{width:170px;height:170px;top:0;transform:translateX(-20px);transition:width .32s ease,height .32s ease,top .32s ease,transform .32s ease}header.is-scrolled .brand img{width:100px;height:100px;top:5px;transform:translateX(0)}@media(max-width:540px){.brand img{width:138px;height:138px;top:3px;transform:translateX(-18px)}header.is-scrolled .brand img{width:84px;height:84px;top:8px;transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.brand img{transition:none}}

.about-contact{background:#171814;border-top:1px solid #ffffff19;padding:85px 5vw}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;max-width:1440px;margin:auto;align-items:center}.about-photo{aspect-ratio:1.12;overflow:hidden;border-radius:2px}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 31%;display:block}.about-copy h2{font-family:Arial,sans-serif;font-weight:500;font-size:clamp(42px,4.5vw,68px);line-height:1.06;letter-spacing:-.045em;margin:22px 0 28px}.about-copy p{font-size:16px;line-height:1.8;color:#c0c0b6;max-width:530px;margin:0 0 18px}.about-copy p:first-of-type{color:#f3f0e7}.about-contact-details{display:flex;flex-wrap:wrap;gap:18px 26px;border-top:1px solid #ffffff19;padding-top:25px;margin-top:30px}.about-contact-details>.eyebrow{width:100%}.about-contact-details .text-link{font-size:14px;color:#f3f0e7}.about-contact-details .text-link:hover{color:var(--acid)}@media(max-width:800px){.about-layout{gap:5vw}.about-copy p{font-size:15px}.about-photo{aspect-ratio:.85}}@media(max-width:540px){.about-contact{padding:58px 5vw}.about-layout{grid-template-columns:1fr;gap:36px}.about-photo{aspect-ratio:1.08}.about-copy h2{font-size:45px}.about-copy p{font-size:16px}}

.about-contact-details{display:grid;grid-template-columns:1fr;gap:22px}.contact-icon-link{display:flex;align-items:flex-start;gap:15px;max-width:520px;color:#e1e1d7;font-size:14px;line-height:1.7}.contact-icon-link svg{width:24px;height:24px;flex-shrink:0;margin-top:2px}.contact-icon-link span{max-width:440px}.contact-icon-link:hover{color:var(--acid)}.contact-icon-link:focus-visible{outline:2px solid var(--acid);outline-offset:6px}

/* Compact white room cards and a restrained expandable gallery */
.apartment-copy{background:#fff;padding:20px 20px 18px;gap:0}.apartment-copy h3{font-family:Arial,sans-serif;font-size:30px;font-weight:400;letter-spacing:-.04em;margin:0 0 12px}.apartment-copy p{font-size:14px;line-height:1.55;min-height:0;margin:0 0 14px;color:#676a60}.apartment-copy ul{display:flex;flex-wrap:wrap;gap:5px 12px;padding:12px 0 14px;line-height:1.5;font-size:12px;margin-top:auto;border-color:#eceee7}.apartment-copy .button{background:transparent;border-top:1px solid #eceee7;color:#202219;text-align:left;border-radius:0;padding:13px 0 0;font-size:13px;font-weight:500;letter-spacing:0}.apartment-copy .button:hover{background:transparent;color:#737b00;transform:none}#gallery.compact-gallery{padding:52px 5vw 58px;background:#171814}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.gallery-heading h2{font-family:Arial,sans-serif;font-weight:400;font-size:36px;margin:12px 0 0;letter-spacing:-.04em}.gallery-expand{background:transparent;border:0;color:#cccfc3;font-size:13px;display:flex;align-items:center;gap:18px;padding:10px 0;cursor:pointer}.gallery-expand:hover{color:var(--acid)}.gallery-plus{font-size:23px;font-weight:300;transition:transform .2s}.gallery-expand[aria-expanded="true"] .gallery-plus{transform:rotate(45deg)}.gallery-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery-preview figure{min-width:0}.gallery-preview img{aspect-ratio:1.7;border-radius:2px;object-fit:cover}.gallery-preview figcaption{position:static;padding:8px 0 0;background:none;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.04em;color:#92958a}.gallery-filmstrip{display:flex;gap:14px;overflow-x:auto;padding:24px 0 12px;margin-top:22px;border-top:1px solid #ffffff16;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#66695a transparent}.gallery-filmstrip figure{flex:0 0 240px;scroll-snap-align:start}.gallery-filmstrip img{width:100%;height:165px;aspect-ratio:auto;object-fit:cover;border-radius:2px}.gallery-filmstrip figcaption{font-family:Arial,sans-serif;font-size:11px;padding-top:7px;color:#92958a}@media(max-width:800px){.apartment-copy{padding:20px 18px}.gallery-preview{gap:10px}}@media(max-width:540px){.apartment-copy{padding:22px 20px}.gallery-preview{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x proximity;scrollbar-width:thin}.gallery-preview figure{flex:0 0 65%;scroll-snap-align:start}.gallery-heading h2{font-size:30px}.gallery-filmstrip figure{flex-basis:220px}#gallery.compact-gallery{padding:42px 5vw}.gallery-expand{gap:12px}}

/* Two-by-two rooms with photography opened directly from each card. */
.studios-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1320px;gap:32px;padding-bottom:75px}.gallery{aspect-ratio:1.55}.open-room-photos{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;color:#fff;overflow:hidden}.open-room-photos img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.open-room-photos:hover img{transform:scale(1.025)}.photo-open-label{position:absolute;right:16px;top:16px;padding:7px 11px;background:#1118;font-size:12px;letter-spacing:.02em;backdrop-filter:blur(6px)}.apartment-copy{padding:22px 24px 18px}.apartment-copy h3{font-size:30px}.apartment-copy p{margin-bottom:12px}.apartment-copy ul{gap:5px 18px}.photos-open{overflow:hidden}.room-photo-dialog{width:min(1100px,94vw);max-width:94vw;max-height:94dvh;padding:20px;background:#111210;color:#f3f0e7;border:1px solid #ffffff20;overflow:auto}.room-photo-dialog::backdrop{background:#050605e6;backdrop-filter:blur(8px)}.photo-dialog-top,.photo-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.photo-dialog-top{padding-bottom:16px}.photo-dialog-top h2{font-family:Arial,sans-serif;font-size:25px}.photo-dialog-close{background:transparent;color:inherit;border:0;font-size:30px;cursor:pointer;width:44px;height:44px}.photo-dialog-image{position:relative;display:flex;align-items:center;justify-content:center;background:#090a08;height:min(65dvh,700px)}.photo-dialog-image img{max-width:100%;max-height:100%;object-fit:contain}.photo-dialog-prev,.photo-dialog-next{position:absolute;top:50%;transform:translateY(-50%);background:#111a;color:white;border:1px solid #ffffff30;border-radius:50%;width:44px;height:44px;font-size:30px;cursor:pointer}.photo-dialog-prev{left:12px}.photo-dialog-next{right:12px}.photo-dialog-bottom{padding-top:18px}.photo-dialog-count{font-size:13px;color:#aaa99f}.photo-dialog-book{font-size:12px;padding:12px 18px}@media(max-width:540px){.studios-grid{grid-template-columns:1fr;gap:26px}.gallery{aspect-ratio:1.3}.apartment-copy{padding:20px}.room-photo-dialog{padding:12px}.photo-dialog-image{height:58dvh}.photo-dialog-bottom{gap:10px}.photo-open-label{right:12px;top:12px}}

/* Simple outlined amenities and spacious light photo viewer. */
.apartment-copy .amenities,.room-photo-info .amenities{display:flex;flex-direction:column;align-items:flex-start;gap:10px;list-style:none}.amenities li{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.5}.amenities svg{width:21px;height:21px;flex:0 0 21px;color:inherit}.apartment-copy .amenities{padding:16px 0 20px}.room-photo-dialog{width:min(1400px,96vw);max-width:96vw;padding:22px;background:#fafaf7;color:#24251f;border:0;max-height:96dvh;border-radius:3px}.room-photo-dialog::backdrop{background:rgba(14,15,12,.68);backdrop-filter:blur(10px)}.photo-dialog-content{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:28px;align-items:center}.photo-dialog-image{height:min(74dvh,800px);background:#f1f2ed;min-width:0}.photo-dialog-image img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}.room-photo-info p{font-size:15px;line-height:1.7;color:#606358;margin:0 0 25px}.room-photo-info .amenities{border-top:1px solid #dedfd6;margin:0;padding:20px 0;color:#33362e}.photo-dialog-prev,.photo-dialog-next{background:#fafaf7e8;color:#24251f;border:1px solid #ddd;box-shadow:0 2px 12px #0001}.photo-dialog-count{color:#65685e}.photo-dialog-top h2{font-size:28px}.photo-dialog-close{color:#24251f}.photo-dialog-bottom{border-top:1px solid #dedfd6;margin-top:18px;padding-top:16px}@media(max-width:800px){.photo-dialog-content{grid-template-columns:1fr;gap:22px}.photo-dialog-image{height:62dvh}.room-photo-info p{margin-bottom:14px}.room-photo-info .amenities{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0}.room-photo-dialog{padding:16px}}@media(max-width:540px){.photo-dialog-image{height:52dvh}.room-photo-dialog{width:96vw;padding:12px}.photo-dialog-content{gap:18px}.room-photo-info .amenities li{font-size:12px;gap:9px}}

/* Tighter room cards with two-column features and a clear booking action. */
.studios-grid{max-width:1180px;gap:26px}.gallery{aspect-ratio:1.72}.apartment-copy{padding:18px 20px 20px}.room-card-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.room-card-heading h3{margin:0;font-size:28px}.room-card-emblem{width:44px;height:44px;object-fit:contain;filter:invert(1);opacity:.78}.apartment-copy p{font-size:13px;line-height:1.5;margin:0 0 10px}.apartment-copy .amenities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:13px 0 17px}.apartment-copy .amenities li{font-size:12px;gap:9px;min-width:0}.apartment-copy .amenities svg{width:19px;height:19px;flex-basis:19px}.apartment-copy .button{display:flex;align-items:center;justify-content:space-between;width:100%;background:#151711;color:#f9faf4;border:1px solid #151711;border-radius:3px;padding:13px 16px;font-size:13px;font-weight:500;letter-spacing:.01em;transition:background .2s,color .2s,border-color .2s}.apartment-copy .button svg{width:20px;height:20px;flex-shrink:0}.apartment-copy .button:hover{background:var(--acid);color:#151711;border-color:var(--acid);transform:none}@media(max-width:540px){.studios-grid{gap:24px}.gallery{aspect-ratio:1.45}.apartment-copy{padding:16px 18px 18px}.apartment-copy .amenities{gap:10px 12px}.apartment-copy .amenities li{font-size:12px}.room-card-emblem{width:40px;height:40px}}

/* Verified room equipment, kept within the existing photo viewer. */
.room-all-amenities{border-top:1px solid #ddd;margin-top:1.4rem;padding-top:1rem;}
.room-all-amenities summary{font-size:1rem;cursor:pointer;font-weight:500;padding:.4rem 0;}
.room-all-amenities[open] summary{margin-bottom:1rem;}
.room-all-amenities .full-amenities{grid-template-columns:1fr;gap:.85rem;}
.room-photo-info{overflow-y:auto;}
.room-photo-info .amenities li{align-items:flex-start;}
.room-photo-info .amenities svg{flex-shrink:0;}

/* Four unique room cards, with lightweight booking links and complete equipment. */
.card-all-amenities{margin:0 0 16px;border-top:1px solid #e5e5e5;padding-top:12px;}
.card-all-amenities summary{cursor:pointer;font-size:14px;color:#51534e;padding:4px 0;width:fit-content;}
.card-all-amenities summary:hover{color:#111;}
.apartment-copy .card-all-amenities .full-amenities{border:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 0 6px;gap:12px 16px;}
.apartment-copy .card-all-amenities .full-amenities li{font-size:14px;line-height:1.5;align-items:flex-start;}
.apartment-copy .room-availability,.apartment-copy .room-availability:hover{background:transparent;border:0;border-top:1px solid #d7d9d2;border-radius:0;color:#171914;box-shadow:none;padding:14px 0 2px;font-size:14px;}
.apartment-copy .room-availability:hover span{text-decoration:underline;text-underline-offset:5px;}
.photo-dialog-book,.photo-dialog-book:hover{background:transparent;color:#171914;border:0;border-bottom:1px solid #171914;padding:10px 0;border-radius:0;}
.contact-location{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:center;margin-top:24px;}
.contact-location .contact-icon-link{margin:0;}
.map-directions{display:inline-block;font-size:14px;margin:14px 0 0 38px;border-bottom:1px solid #a0a29b;padding-bottom:3px;}
.map-directions:hover{border-color:#171914;}
.contact-map{display:block;border:1px solid #dedfd9;width:100%;height:180px;border-radius:2px;filter:grayscale(1);}
@media(max-width:1100px){.contact-location{grid-template-columns:minmax(0,1fr);gap:18px;}.contact-map{height:200px;}}
@media(max-width:540px){.apartment-copy .card-all-amenities .full-amenities{grid-template-columns:1fr;}.contact-location{margin-top:24px;}}

/* A pale, cool room section with white cards; the rest of the site keeps its palette. */
#studios{background:#f2f5f3;color:#1c2822;border-top:0;}
#studios .eyebrow{color:#65786c;}
#studios .section-heading h2{color:#1c2822;}
#studios .section-heading p{color:#5c6b62;}
#studios .apartment{background:#fff;border:1px solid #e2e9e4;border-radius:5px;box-shadow:0 3px 18px #17332405;}
#studios .apartment-copy{background:#fff;color:#1c2822;}
#studios .apartment-copy p,#studios .amenities{color:#5a665e;}
#studios .card-all-amenities{border-color:#e4eae6;}
#studios .room-availability,#studios .room-availability:hover{color:#213c2c;border-top-color:#dce5de;background:transparent;}
#studios .gallery-controls{z-index:3;pointer-events:auto;gap:12px;color:#fff;}
#studios .gallery-controls button{display:flex;align-items:center;justify-content:center;width:40px;min-height:40px;padding:0;border:1px solid #ffffff65;background:#10161266;border-radius:50%;color:#fff;pointer-events:auto;}
#studios .gallery-controls button:hover{background:#101612b3;border-color:#fff;}
#studios .gallery-controls button svg{width:20px;height:20px;}
#studios .gallery-controls [aria-live]{font-size:13px;}
/* Address and contact links share one rhythm, beside a generous map panel. */
.about-layout{align-items:start;}
.about-contact-bottom{max-width:1440px;margin:50px auto 0;padding-top:32px;border-top:1px solid #ffffff26;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start;}
.about-contact-bottom .about-contact-details{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:22px;}
.about-contact-bottom .contact-icon-link{max-width:none;}
.location-panel{min-width:0;overflow:hidden;}
.location-panel .contact-map{width:100%;height:340px;border:0;border-radius:4px;filter:grayscale(.85);background:#e8eae5;}
.map-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;color:#c0c0b6;font-size:14px;}
.map-caption .map-directions{margin:0;color:#e1e1d7;border-color:#70756c;}
.map-caption .map-directions:hover{color:var(--acid);border-color:var(--acid);}
@media(max-width:800px){.about-contact-bottom{gap:5vw;}.location-panel .contact-map{height:300px;}}
@media(max-width:540px){.about-contact-bottom{grid-template-columns:1fr;gap:32px;margin-top:32px;padding-top:28px;}.location-panel .contact-map{height:300px;}}
#studios .page-intro h1{color:#1c2822;}
#studios .page-intro p{color:#5c6b62;}
/* Coordinated room and booking surfaces, with a visible shift between sections. */
#studios{background:#d8dfda;color:#202a24;}
#studios .apartment{background:#eef1ec;border-color:#c5cfc7;box-shadow:0 4px 20px #23372a08;}
#studios .apartment-copy{background:#eef1ec;}
#studios .eyebrow{color:#53675a;}
#studios .page-intro p,#studios .apartment-copy p,#studios .amenities{color:#4f6055;}
#studios .card-all-amenities,#studios .room-availability{border-top-color:#cbd5cc;}
#book-now{background:#fafbf8;color:#202a24;border-top:1px solid #c3cec5;}
#book-now .eyebrow,#book-now .page-intro p,#book-now .booking-form label,#book-now .booking-note{color:#59685d;}
#book-now .booking-form input,#book-now .booking-form select{border-bottom-color:#c6d0c7;color:#202a24;}
#book-now .booking-form input:focus,#book-now .booking-form select:focus{border-bottom-color:#334d3b;}
/* Compact, full-color location map. */
.location-panel{width:100%;max-width:380px;justify-self:start;}
.location-panel .contact-map{height:230px;filter:none;}
@media(max-width:800px){.location-panel .contact-map{height:220px;}}
@media(max-width:540px){.location-panel{max-width:360px;}.location-panel .contact-map{height:220px;}}

/* Capacity and cot request belong to the apartment inquiry. */
.booking-capacity{border-top:1px solid #dce3dc;padding-top:16px;}
.booking-capacity p{margin:0 0 12px;font-size:14px;line-height:1.6;color:#59685d;}
.booking-form .cot-option{display:flex;align-items:center;gap:12px;cursor:pointer;color:#202a24;font-size:14px;}
.booking-form .cot-option input{width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:#334d3b;flex-shrink:0;}

.whatsapp-contact{text-decoration:none;}
.contact-whatsapp svg{width:24px;height:24px;}
/* Direct room availability */
body.availability-open{overflow:hidden}.availability-dialog{box-sizing:border-box;width:min(94vw,510px);max-height:92dvh;overflow:auto;border:0;border-radius:8px;padding:36px;background:#fafbf9;color:#26302c;box-shadow:0 25px 90px #0003}.availability-dialog::backdrop{background:#16221e80;backdrop-filter:blur(6px)}.availability-dialog h2{font-size:2rem;margin:8px 0 12px}.availability-close{position:absolute;right:16px;top:10px;background:none;border:0;font-size:30px;color:inherit;cursor:pointer}.availability-status{font-size:14px;min-height:40px;line-height:1.5;margin:0 0 16px}.calendar-head{display:flex;align-items:center;justify-content:space-between}.calendar-head h3{font-size:18px;margin:10px}.calendar-head button{border:0;background:none;font-size:26px;width:40px;height:40px;cursor:pointer;color:inherit}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-week{font-size:13px;color:#66706b;text-align:center;margin:14px 0 8px}.calendar-days button{font:inherit;font-size:14px;border:0;border-radius:3px;background:transparent;min-height:42px;color:inherit;cursor:pointer}.calendar-days button:hover:not(:disabled){background:#e1e7e2}.calendar-days button:disabled{opacity:.32;cursor:default}.calendar-days .unavailable{text-decoration:line-through}.calendar-days .checkout-only{opacity:.8;text-decoration:none;border:1px solid #b8c3ba}.calendar-days .selected{background:#293d32!important;color:#fff}.calendar-days .in-range{background:#e1e7e2}.calendar-legend,.availability-note{font-size:13px;line-height:1.6;color:#647069}.availability-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid #dde3dc;padding-top:20px;margin-top:20px}.availability-selection{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:14px}.calendar-clear{margin-left:auto;border:0;background:none;text-decoration:underline;color:inherit;font-size:13px;cursor:pointer}.availability-form label{font-size:14px}.availability-form select{display:block;margin-top:6px;width:100%;padding:10px;background:#fff;border:1px solid #ccd5ce;border-radius:3px;font:inherit}.availability-cot{display:flex;align-items:center;gap:8px}.availability-cot input{accent-color:#293d32}.availability-request{grid-column:1/-1;background:none;color:#263d30;border:0;border-bottom:1px solid #263d30;padding:14px 0;font:inherit;font-size:15px;cursor:pointer}.availability-request:disabled{opacity:.35;cursor:default}.availability-dialog button:focus-visible{outline:2px solid #947622;outline-offset:2px}.calendar-head button:disabled{opacity:.25;cursor:default}[hidden]{display:none!important}@media(max-width:480px){.availability-dialog{padding:28px 20px}.calendar-days button{min-height:38px}.availability-selection{gap:10px}.calendar-clear{margin-left:0}}
.availability-airbnb{grid-column:1/-1;display:block;padding:14px 20px;border-radius:3px;background:#293d32;color:#fff;text-align:center;text-decoration:none;font-size:15px;line-height:1.4;transition:background .2s}.availability-airbnb:hover{background:#3b5244}.availability-airbnb:focus-visible{outline:2px solid #947622;outline-offset:3px}.availability-request{border:1px solid #b5c0b7;border-radius:3px;padding:14px 12px}.availability-form{gap:12px}.booking-airbnb-options{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.booking-airbnb-options a{flex:1 1 180px}
/* Room cards share the availability calendar's quiet surfaces and controls. */
#studios .apartment{background:#fafbf9;border:1px solid #e1e6e1;border-radius:8px;overflow:hidden;box-shadow:0 8px 28px #26302c08;color:#26302c}
#studios .apartment-copy{background:#fafbf9;color:#26302c;padding:20px 24px 24px}
#studios .room-card-heading{margin-bottom:10px;min-height:40px}
#studios .room-card-heading h3{font-size:32px;line-height:1.15;letter-spacing:0}
#studios .room-card-emblem{width:38px;height:38px;opacity:.65}
#studios .apartment-copy>p{color:#647069;font-size:14px;line-height:1.6;min-height:0;margin:0 0 16px}
#studios .apartment-copy .amenities{color:#536059;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;padding:16px 0 18px;border-top:1px solid #dde3dc}
#studios .apartment-copy .amenities li{font-size:14px;line-height:1.45;gap:9px;align-items:flex-start}
#studios .apartment-copy .amenities svg{width:19px;height:19px;flex-basis:19px;stroke-width:1.3;margin-top:1px;color:#66736b}
#studios .card-all-amenities{border-top:1px solid #dde3dc;padding-top:10px;margin:0 0 18px}
#studios .card-all-amenities summary{display:flex;justify-content:space-between;align-items:center;width:100%;color:#647069;font-size:14px;list-style:none;padding:5px 0}
#studios .card-all-amenities summary::-webkit-details-marker{display:none}
#studios .card-all-amenities summary::after{content:'+';font-size:20px;font-weight:normal;line-height:1}
#studios .card-all-amenities[open] summary::after{content:'−'}
#studios .apartment-copy .card-all-amenities .full-amenities{border:0;padding:15px 0 0}
#studios .apartment-copy .room-availability,#studios .apartment-copy .room-availability:hover{background:transparent;border:1px solid #b5c0b7;border-radius:3px;color:#263d30;box-shadow:none;padding:13px 16px;font-size:15px;font-weight:400;letter-spacing:0;transition:border-color .2s,background .2s}
#studios .apartment-copy .room-availability:hover{background:#edf1ec;border-color:#7b8c7e}
#studios .apartment-copy .room-availability:hover span{text-decoration:none}
#studios .room-availability:focus-visible,#studios summary:focus-visible{outline:2px solid #947622;outline-offset:3px}
#studios .photo-open-label{background:#fafbf9ed;color:#26302c;border:1px solid #ffffff70;border-radius:3px;font-size:13px;padding:7px 12px;backdrop-filter:blur(6px)}
#studios .gallery-controls{background:linear-gradient(transparent,#15201960);padding:12px 14px}
#studios .gallery-controls button{width:36px;min-height:36px;background:#fafbf9eb;border:1px solid #ffffff70;color:#26302c}
#studios .gallery-controls button:hover{background:#fff;border-color:#fff}
@media(max-width:800px){#studios .apartment-copy{padding:18px 20px 20px}#studios .apartment-copy .amenities{gap:12px 14px}}
@media(max-width:540px){#studios .apartment-copy{padding:18px 20px 20px}#studios .room-card-heading h3{font-size:30px}#studios .apartment-copy .card-all-amenities .full-amenities{grid-template-columns:1fr}}
/* A quieter room action, without a button enclosure. */
#studios .apartment{border-color:#e8ece7;box-shadow:0 5px 20px #26302c04}
#studios .apartment-copy .room-availability,#studios .apartment-copy .room-availability:hover{display:flex;justify-content:flex-start;align-items:center;gap:10px;background:transparent;border:0;border-radius:0;padding:9px 0 2px;width:fit-content;color:#53665a;font-size:14px;line-height:1.5;font-weight:400;box-shadow:none;letter-spacing:0}
#studios .apartment-copy .room-availability svg{order:-1;width:18px;height:18px;stroke-width:1.2;color:#7c8b80;transition:color .2s}
#studios .apartment-copy .room-availability span{border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
#studios .apartment-copy .room-availability:hover{color:#263d30}
#studios .apartment-copy .room-availability:hover span{border-bottom-color:#a8b5aa;text-decoration:none}
#studios .apartment-copy .room-availability:hover svg{color:#53665a}
#studios .card-all-amenities{margin-bottom:9px}
/* About & Contact: a light editorial close to the room cards. */
#about-contact{background:#f6f7f4;color:#26302c;border-top:1px solid #cbd5cc;padding:80px 5vw 72px}
#about-contact .eyebrow{color:#718075;font-family:Arial,sans-serif;font-size:12px;letter-spacing:.15em}
#about-contact .about-layout{max-width:1080px;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:7vw;align-items:center}
#about-contact .about-photo{aspect-ratio:auto;overflow:visible;border-radius:0;align-self:start}
#about-contact .about-photo img{width:100%;height:auto;aspect-ratio:1/1.12;object-fit:cover;object-position:center 34%;border-radius:6px}
#about-contact .family-caption{display:block;font-size:12px;color:#718075;letter-spacing:.025em;padding-top:12px}
#about-contact .about-copy h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(44px,5vw,66px);line-height:1.08;letter-spacing:-.035em;margin:18px 0 28px;color:#293d32}
#about-contact .about-copy h2 em{font-weight:400;color:#758476}
#about-contact .about-copy p{font-size:16px;line-height:1.75;color:#647069;margin:0 0 16px;max-width:480px}
#about-contact .about-copy p:first-of-type{color:#34473b}
#about-contact .about-contact-bottom{max-width:1080px;margin:60px auto 0;padding-top:42px;border-top:1px solid #dce3da;grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr);gap:7vw;align-items:start}
#about-contact .contact-conversation h3{font-family:Georgia,serif;font-size:30px;line-height:1.2;letter-spacing:-.02em;margin:14px 0 26px;color:#34473b}
#about-contact .about-contact-details{display:grid;grid-template-columns:1fr 1fr;gap:22px;border:0;padding:0;margin:0}
#about-contact .contact-icon-link{color:#526357;font-size:14px;line-height:1.55;gap:12px;max-width:none;width:fit-content}
#about-contact .contact-icon-link svg{width:20px;height:20px;flex:0 0 20px;margin-top:3px;color:#768679}
#about-contact .contact-icon-link span{max-width:none}
#about-contact .contact-icon-link strong{display:block;font-weight:400;font-size:15px;color:#34473b;margin-bottom:4px}
#about-contact .contact-icon-link small{display:block;font-size:14px;line-height:1.65;color:#718075;overflow-wrap:anywhere}
#about-contact .contact-icon-link:hover strong{color:#1b3223;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#a8b5aa}
#about-contact .contact-icon-link:focus-visible,#about-contact .map-directions:focus-visible{outline:2px solid #947622;outline-offset:5px}
#about-contact .contact-social{margin-top:30px;padding-top:22px;border-top:1px solid #dce3da;max-width:410px}
#about-contact .contact-social .contact-icon-link small{max-width:320px}
#about-contact .location-panel{width:100%;max-width:380px;justify-self:end;overflow:visible}
#about-contact .location-panel>.contact-icon-link{margin:17px 0 20px;color:#526357;font-size:15px;line-height:1.6}
#about-contact .location-panel .contact-map{height:210px;border:1px solid #e0e6df;border-radius:6px;filter:none;background:#e8ede7}
#about-contact .map-caption{justify-content:flex-end;padding-top:12px;font-size:13px;color:#718075}
#about-contact .map-directions{font-size:13px;color:#718075;border-color:#c4cec3;margin:0;padding-bottom:2px}
#about-contact .map-directions:hover{color:#34473b;border-color:#718075}
@media(max-width:900px){#about-contact .about-layout,#about-contact .about-contact-bottom{gap:5vw}#about-contact .about-contact-details{grid-template-columns:1fr;gap:18px}}
@media(max-width:650px){#about-contact{padding:48px 6vw}#about-contact .about-layout,#about-contact .about-contact-bottom{grid-template-columns:1fr;gap:32px}#about-contact .about-photo{max-width:420px}#about-contact .about-photo img{aspect-ratio:1.05}#about-contact .about-copy h2{font-size:46px;margin:14px 0 22px}#about-contact .about-contact-bottom{margin-top:35px;padding-top:30px;gap:35px}#about-contact .about-contact-details{grid-template-columns:1fr 1fr;gap:14px}#about-contact .location-panel{justify-self:start;max-width:380px}#about-contact .contact-conversation h3{font-size:29px}#about-contact .contact-social{margin-top:24px}}
@media(max-width:360px){#about-contact .about-contact-details{grid-template-columns:1fr}}
/* Keep the family story dark; contact information has its own clear layout. */
#about-contact{padding:0;background:#171814;border-top:1px solid #ffffff19;color:#f3f0e7}
#about-contact .about-story{padding:80px 5vw;background:#171814}
#about-contact .about-layout{max-width:1180px;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
#about-contact .about-photo{aspect-ratio:1.12;overflow:hidden;border-radius:3px}
#about-contact .about-photo img{height:100%;aspect-ratio:auto;object-position:center 31%;border-radius:0}
#about-contact .about-copy .eyebrow{color:#aaa99f;font-family:'Courier New',monospace;letter-spacing:.14em}
#about-contact .about-copy h2{font-family:Arial,sans-serif;font-weight:500;font-size:clamp(42px,4.5vw,68px);line-height:1.06;letter-spacing:-.045em;color:#f3f0e7;margin:22px 0 28px}
#about-contact .about-copy p{color:#c0c0b6;line-height:1.8;max-width:530px}
#about-contact .about-copy p:first-of-type{color:#f3f0e7}
#about-contact .about-contact-bottom{display:block;max-width:none;margin:0;padding:52px 5vw 60px;background:#f6f7f4;color:#26302c;border-top:0}
#about-contact .contact-bottom-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr);gap:7vw;align-items:start;max-width:1080px;margin:0 auto}
@media(max-width:900px){#about-contact .about-layout,#about-contact .contact-bottom-inner{gap:5vw}#about-contact .about-photo{aspect-ratio:.95}}
@media(max-width:650px){#about-contact{padding:0}#about-contact .about-story{padding:48px 6vw}#about-contact .about-layout,#about-contact .contact-bottom-inner{grid-template-columns:1fr;gap:32px}#about-contact .about-photo{aspect-ratio:1.08;max-width:none}#about-contact .about-photo img{aspect-ratio:auto}#about-contact .about-copy h2{font-size:45px}#about-contact .about-contact-bottom{padding:40px 6vw 48px;margin:0}#about-contact .contact-bottom-inner{gap:35px}}
.calendar-days button{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.calendar-days .day-price{font-size:12px;line-height:1.2;font-weight:400;color:#718075}.calendar-days .selected .day-price{color:#e3eae2}.stay-price{padding:14px 0 0;border-top:1px solid #dde3dc;font-size:14px;line-height:1.6;color:#34473b}.availability-note{max-width:420px}@media(max-width:480px){.calendar-days button{min-height:50px}}

