:root{--forest:#183d34;--forest2:#102e27;--olive:#a3a98d;--cream:#f8f6f0;--paper:#f2eee6;--ink:#20372f;--muted:#66736c;--line:#e3e2d9;--gold:#ddc59b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--cream);font-family:'DM Sans',sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{width:min(1300px,calc(100% - 100px));margin:auto}.skip{position:absolute;left:-999px;top:15px;background:#fff;z-index:999;padding:14px}.skip:focus{left:15px}.site-header{height:90px;position:absolute;left:0;right:0;top:0;z-index:50;color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}.site-header.is-scrolled{position:fixed;background:#17372e;box-shadow:0 9px 32px #0c201a22}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:flex;gap:13px;align-items:center;min-width:250px}.brand-symbol{font-family:Georgia,serif;font-size:32px;white-space:nowrap;letter-spacing:-4px}.brand-symbol span{font-style:italic;font-size:21px;color:var(--gold);margin:0 2px}.brand-copy{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:1.25px;font-size:10px;line-height:1.6;white-space:nowrap}.brand-copy small{display:block;font-size:8px;letter-spacing:2.2px;font-weight:600;opacity:.75}.nav-links{display:flex;gap:27px;align-items:center}.nav-links a{font-size:12px;font-weight:600;transition:opacity .2s}.nav-links a:hover{opacity:.6}.nav-actions{display:flex;align-items:center;gap:20px}.lang-switch{position:relative}.lang-active{padding:9px 3px;border:0;background:none;color:#fff;font-size:12px;font-weight:700}.lang-active span{padding-left:6px}.lang-list{display:none;position:absolute;top:36px;right:-20px;background:#fff;min-width:150px;color:var(--forest);box-shadow:0 15px 40px #0002;padding:10px;z-index:60}.lang-switch.open .lang-list{display:flex;flex-direction:column}.lang-list a{padding:10px 12px;font-size:12px}.lang-list a:hover,.lang-list a[aria-current]{background:var(--paper)}.nav-book{font-weight:700;font-size:11px;letter-spacing:.1px;background:#f7f3e8;color:#17362e;padding:15px 17px;white-space:nowrap}.nav-book span{padding-left:12px}.burger{display:none;flex-direction:column;gap:5px;border:0;background:transparent}.burger span{width:25px;height:2px;background:#fff}.hero{height:min(790px,95svh);min-height:590px;position:relative;background-image:var(--hero-image);background-size:cover;background-position:center 42%;color:#fff}.hero-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,30,24,.86) 0%,rgba(12,35,29,.62) 38%,rgba(7,23,19,.07) 90%),linear-gradient(0deg,#102c2560,transparent 26%)}.hero-inner{position:relative;height:100%;display:flex;align-items:center}.hero-content{padding-top:55px;max-width:690px}.kicker{display:block;font-family:Manrope,sans-serif;color:#8e977b;font-size:10px;font-weight:800;letter-spacing:2.4px;line-height:1.8;text-transform:uppercase}.hero-kicker{color:#e0d4b8;display:flex;align-items:center;gap:14px}.hero-kicker i{height:1px;width:24px;background:#d9cba8;display:block}.hero h1,h2,h3{font-family:Manrope,sans-serif}.hero h1{font-size:clamp(56px,6.6vw,100px);line-height:1.09;letter-spacing:-5px;margin:23px 0;font-weight:700}.hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-4.2px}.hero-content p{max-width:455px;line-height:1.9;color:#f2f0e9;font-size:15px;margin:0 0 33px}.hero-buttons{display:flex;align-items:center;gap:33px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:19px 23px;border:0;font-weight:700;font-size:12px}.button-cream{background:#f8f4e9;color:var(--forest)}.button span{font-size:19px;font-weight:400}.hero-link{font-size:12px;font-weight:700;border-bottom:1px solid #fff6;padding-bottom:10px}.hero-link span{margin-left:14px;font-size:18px}.hero-bottom{position:absolute;bottom:35px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;color:#e4e4dc;font-size:10px;letter-spacing:2px}.hero-scroll span{margin-left:20px;font-size:22px}.hero-side{position:absolute;right:35px;top:50%;font-size:10px;letter-spacing:3px;writing-mode:vertical-rl}.section{padding:115px 0}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:12%}.intro h2,.section h2{font-size:clamp(34px,4vw,58px);letter-spacing:-2.7px;line-height:1.2;margin:18px 0 0;font-weight:700}.intro h2 em,.section h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.6px}.intro-description{padding-top:35px}.intro-description p,.section-head>p,.common-copy>p,.location-copy>p,.contact-intro>p{color:#66736c;font-size:15px;line-height:2;margin:0}.intro-features{display:flex;flex-wrap:wrap;gap:17px 24px;margin-top:31px;font-size:10px;font-weight:700;letter-spacing:1px}.apartments{background:#eeeee8}.section-head{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:50px}.section-head>div{max-width:720px}.section-head>p{width:290px;font-size:13px}.apartment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.apartment-card{background:#fcfbf7}.apartment-cover{display:block;position:relative;width:100%;height:300px;border:0;padding:0;overflow:hidden;background:#ddd}.apartment-cover img{height:100%;width:100%;object-fit:cover;transition:transform .7s}.apartment-cover:hover img{transform:scale(1.06)}.image-count{position:absolute;bottom:18px;left:20px;font-size:10px;color:#fff;background:#152f29ba;padding:9px 12px;text-transform:uppercase;letter-spacing:1px}.cover-arrow{position:absolute;right:17px;top:17px;width:37px;height:37px;background:#fffb;display:grid;place-items:center;color:var(--forest);font-size:21px}.apartment-info{padding:29px 30px 32px}.apartment-number{font-size:9px;font-weight:800;color:#929b88;letter-spacing:2px}.apartment-info h3{font-size:31px;letter-spacing:-1.2px;margin:8px 0 10px}.apartment-info p{line-height:1.8;color:var(--muted);font-size:13px;margin:0;min-height:72px}.text-link{border:0;border-bottom:1px solid #526d5e;background:none;padding:0 0 10px;text-align:left;color:var(--forest);font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:34px}.text-link span{font-size:19px}.common{background:#f9f7f1}.common-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:11%;align-items:center}.common-photo{height:490px;position:relative}.common-photo img{width:100%;height:100%;object-fit:cover}.photo-badge{position:absolute;right:-30px;bottom:35px;background:var(--forest);color:#fff;width:128px;height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:34px}.photo-badge small{font-family:Manrope,sans-serif;font-size:8px;letter-spacing:2px;padding-top:8px}.common-copy h2{margin-bottom:25px}.common-copy>p{margin-bottom:30px}.video-section{background:var(--forest2);color:white}.video-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:center}.video-grid h2{margin-bottom:22px}.video-grid p{color:#cad6cb;font-size:14px;line-height:1.9;max-width:380px}.kicker-light{color:#c7b892}.video-frame{height:350px;background-size:cover;background-position:center;display:grid;place-items:center;position:relative}.video-frame button,.video-placeholder{height:76px;width:76px;border-radius:50%;border:1px solid #fff;background:#fffdf9ed;color:var(--forest);display:grid;place-items:center;font-size:21px}.location{background:#f5f2eb}.location-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;align-items:center}.location-copy h2{margin-bottom:28px}.location-copy>p{margin-bottom:35px}.address-card{display:flex;gap:17px;padding:20px 0;border-top:1px solid #dcded5;margin-bottom:22px}.address-icon{font-size:30px;color:#819581}.address-card div{display:flex;flex-direction:column;gap:6px}.address-card small{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#859085}.address-card strong{font-size:13px}.address-card div>span{font-size:13px;color:#66736c}.location-map{height:420px;background:#e6e8dc}.location-map iframe{width:100%;height:100%;border:0;filter:saturate(.7)}.contact{background:var(--forest);color:white;overflow:hidden}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:start}.contact-intro{padding-top:40px;position:relative;min-height:650px}.contact-intro h2{margin-bottom:25px}.contact-intro>p{color:#d0ded3;max-width:400px}.contact-deco{position:absolute;bottom:30px;left:0;font:200px Georgia,serif;letter-spacing:-25px;color:#ffffff0b;white-space:nowrap;pointer-events:none}.contact-deco span{font-style:italic}.booking-card{background:#fffdfa;color:var(--forest);padding:42px 46px;box-shadow:0 20px 40px #0001}.booking-heading h3{font-size:24px;margin:0 0 8px;letter-spacing:-.5px}.booking-heading p{font-size:12px;color:var(--muted);margin:0 0 25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#445d50;font-weight:700}.field.full{grid-column:span 2}.field input,.field select,.field textarea{width:100%;border:1px solid #deded5;background:#faf9f5;border-radius:0;min-height:44px;padding:11px 13px;color:#183d34;font-size:12px;outline-color:#8a9d8a}.field textarea{resize:vertical;min-height:85px}.privacy-row{display:flex;align-items:start;gap:10px;margin-top:22px;color:#647368;font-size:10.5px;line-height:1.7}.privacy-row input{accent-color:var(--forest);margin:3px 0 0}.privacy-row a{text-decoration:underline}.submit-button{width:100%;margin-top:22px;background:var(--forest);color:white}.required-note{display:block;color:#8b9188;margin-top:14px;text-align:center;font-size:10px}.form-message{padding:13px 16px;margin-bottom:18px;font-size:13px;line-height:1.7}.form-message.success{background:#e5f3e7;color:#23552e}.form-message.error{background:#f9e8e3;color:#90392f}.trap{position:absolute;left:-9999px}.footer{background:#102e27;color:#fff}.footer-top{padding:55px 0 50px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff30}.footer-brand{min-width:unset}.footer-top p{font-size:12px;color:#bdcfc6;margin:12px 0 0}.footer-right{display:flex;gap:35px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;padding:23px 0 28px;color:#b1bfb5;font-size:10px;letter-spacing:.2px}.lightbox{position:fixed;inset:0;background:rgba(7,16,13,.96);z-index:1000;display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:85vw;max-height:84vh;object-fit:contain}.lightbox button{position:absolute;border:0;background:transparent;color:#fff;font-size:54px}.lightbox #lightbox-close{right:25px;top:10px}.lightbox #lightbox-prev{left:22px;top:50%}.lightbox #lightbox-next{right:22px;top:50%}.lightbox #lightbox-count{position:absolute;bottom:18px;color:white;font-size:12px;letter-spacing:2px}body.modal-open{overflow:hidden}body.admin-bar .site-header{top:32px}@media(max-width:1170px){.nav-links{gap:15px}.nav-wrap{gap:20px}.brand{min-width:220px}.nav-book{padding:12px}.shell{width:min(1300px,calc(100% - 64px))}.apartment-cover{height:245px}.apartment-info{padding:25px 22px}.hero h1{letter-spacing:-3px}}@media(max-width:950px){.burger{display:flex}.nav-book{display:none}.nav-links{display:none;position:absolute;top:90px;left:0;right:0;background:var(--forest);padding:25px 35px;flex-direction:column;align-items:start;gap:25px}.nav-links.open{display:flex}.site-header{height:80px}.nav-links{top:80px}.intro-grid,.common-grid,.video-grid,.location-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.intro-description{padding-top:0}.section-head{display:block}.section-head>p{margin-top:20px;width:auto}.common-photo{height:400px}.contact-intro{min-height:unset;padding-top:0}.contact-deco{display:none}.section{padding:80px 0}.hero{min-height:650px;height:85svh}.hero h1{font-size:clamp(53px,9vw,76px)}.location-map{height:380px}.apartment-grid{gap:16px}.apartment-cover{height:225px}.apartment-info h3{font-size:25px}.apartment-info p{min-height:92px}}@media(max-width:680px){.shell{width:calc(100% - 38px)}.brand-symbol{font-size:27px}.brand-copy{font-size:9px}.nav-actions{gap:12px}.hero{min-height:660px}.hero h1{font-size:clamp(45px,12vw,72px);letter-spacing:-2.2px}.hero h1 em{letter-spacing:-2.5px}.hero-content p{font-size:13px}.hero-buttons{align-items:flex-start;flex-direction:column;gap:23px}.hero-bottom{bottom:23px}.hero-bottom>span:first-child,.hero-bottom>span:last-child,.hero-side{display:none}.hero-scroll{margin-left:auto}.section{padding:66px 0}.section h2{font-size:37px;letter-spacing:-1.7px}.apartment-grid{grid-template-columns:1fr;gap:24px}.apartment-cover{height:290px}.apartment-info p{min-height:unset;margin-bottom:18px}.section-head{margin-bottom:30px}.common-photo{height:320px;margin-right:15px}.photo-badge{height:83px;width:100px;right:-16px;font-size:25px}.video-frame{height:260px}.location-map{height:330px}.booking-card{padding:26px 19px}.contact-grid{gap:25px}.form-grid{gap:12px}.field:not(.dates){grid-column:span 2}.field.dates{grid-column:span 1}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start;gap:20px}.footer-right{gap:17px;flex-wrap:wrap}.lightbox img{max-width:90vw}.lightbox #lightbox-prev{left:4px}.lightbox #lightbox-next{right:4px}}@media(max-width:380px){.brand-copy{letter-spacing:.5px}.brand{min-width:0}.booking-card{padding:25px 14px}.field.dates{grid-column:span 2}}

/* v1.0.1: hero scroll cue and video state */
.hero-scroll{display:inline-flex;align-items:center;color:inherit;cursor:pointer;text-decoration:none;padding:10px 0;transition:opacity .2s}
.hero-scroll:hover,.hero-scroll:focus-visible{opacity:.7;text-decoration:underline;text-underline-offset:5px}
.hero-scroll span{display:inline-block;transition:transform .2s}
.hero-scroll:hover span{transform:translateY(6px)}
.video-unavailable{background:rgba(15,46,39,.89);color:#fff;padding:12px 18px;max-width:85%;text-align:center;font-size:13px;line-height:1.5;border-radius:4px}
.video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#102e27}
