:root{--ink:#18302a;--forest:#26433b;--forest-2:#142c27;--cream:#f7f1e6;--paper:#fffdf8;--gold:#d5a93e;--rust:#9b4f32;--line:rgba(24,48,42,.16);--shadow:0 18px 55px rgba(18,41,35,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}img{display:block;width:100%}a{color:inherit;text-decoration:none}.site-header{height:84px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,248,.95);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:var(--cream);font-family:"Playfair Display",serif;font-weight:600}.brand strong,.brand small{display:block}.brand strong{font-family:"Playfair Display",serif;font-size:1.18rem}.brand small{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#60736d}.site-header nav{display:flex;align-items:center;gap:28px;font-size:.91rem;font-weight:600}.site-header nav>a{padding:8px 0;border-bottom:1px solid transparent}.site-header nav>a:hover{border-color:var(--gold)}.languages{display:flex;border:1px solid var(--line);border-radius:30px;padding:3px}.languages button{border:0;background:transparent;color:var(--ink);font:inherit;font-size:.74rem;padding:5px 8px;border-radius:20px;cursor:pointer}.languages button.active{background:var(--forest);color:white}.menu-toggle{display:none}.hero{min-height:calc(100vh - 84px);position:relative;display:flex;align-items:flex-end;color:white;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,29,24,.76) 0%,rgba(10,29,24,.3) 58%,rgba(10,29,24,.08)),linear-gradient(0deg,rgba(10,29,24,.58),transparent 45%)}.hero-copy{position:relative;z-index:2;padding:10vh clamp(24px,7vw,105px) 18vh;max-width:900px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.77rem;font-weight:600;color:var(--gold);margin:0 0 16px}.hero h1,h2{font-family:"Playfair Display",serif;font-weight:600;line-height:1.08;margin:0}.hero h1{font-size:clamp(3rem,6.8vw,6.7rem);letter-spacing:-.035em}.hero-copy>p:not(.eyebrow){font-size:clamp(1rem,1.4vw,1.27rem);max-width:620px;margin:26px 0 34px;color:rgba(255,255,255,.9)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:3px;font-weight:600;transition:.2s ease}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#18302a}.button-ghost{border:1px solid rgba(255,255,255,.7);color:white;background:rgba(255,255,255,.06)}.hero-facts{position:absolute;z-index:3;bottom:0;right:0;display:flex;background:rgba(20,44,39,.93);backdrop-filter:blur(12px);padding:24px clamp(24px,5vw,70px);gap:clamp(24px,5vw,70px)}.hero-facts div{display:flex;gap:11px;align-items:baseline}.hero-facts strong{font-family:"Playfair Display",serif;font-size:2rem;color:var(--gold)}.hero-facts span{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.section{padding:clamp(80px,10vw,150px) clamp(24px,7vw,105px)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,9vw,140px);background:var(--cream)}h2{font-size:clamp(2.5rem,4.6vw,4.8rem);letter-spacing:-.03em}.intro-copy>p{font-size:1.16rem;margin:4px 0 32px}.service-list{display:flex;flex-wrap:wrap;gap:10px}.service-list span{border:1px solid rgba(38,67,59,.22);border-radius:30px;padding:8px 14px;font-size:.86rem}.apartments{background:var(--paper)}.section-head{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end;margin-bottom:55px}.section-head>p{font-size:1.08rem;max-width:540px}.apartment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.apartment-card{background:white;border:1px solid var(--line);box-shadow:0 10px 40px rgba(20,44,39,.07);display:grid;grid-template-columns:45% 55%;min-height:330px;overflow:hidden}.apartment-card.featured{grid-column:1/-1;grid-template-columns:58% 42%;min-height:490px}.apartment-card img{height:100%;object-fit:cover}.card-body{padding:clamp(24px,3vw,44px);display:flex;flex-direction:column;align-items:flex-start}.capacity{font-size:.73rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rust);font-weight:600;margin:0 0 8px}.card-body h3{font-family:"Playfair Display",serif;font-size:clamp(1.7rem,2.6vw,2.65rem);margin:0 0 14px;line-height:1.1}.card-body p:not(.capacity){color:#52645f;margin:0}.price{margin-top:auto;padding-top:24px;color:#60736d}.price strong{font-size:1.5rem;color:var(--forest)}.story-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:minmax(370px,52vw) minmax(320px,38vw);background:var(--forest);color:white}.story-grid figure{margin:0;overflow:hidden}.story-grid img{width:100%;height:100%;object-fit:cover}.story-copy{padding:clamp(55px,8vw,125px);align-self:center}.story-copy p:not(.eyebrow){font-size:1.08rem;color:rgba(255,255,255,.77);max-width:530px;margin-top:28px}.sunset{grid-column:1}.garden{grid-column:2}.portico{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,9vw,130px);align-items:center;background:var(--cream)}.portico-image img{aspect-ratio:4/5;object-fit:cover;box-shadow:var(--shadow)}.portico-copy>p:not(.eyebrow){font-size:1.08rem;margin:28px 0}.portico ul{padding-left:20px}.portico li{margin:10px 0}.rates{background:var(--paper)}.season-legend{display:flex;gap:36px;flex-wrap:wrap;margin:0 0 25px;font-size:.88rem}.season-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.low{background:var(--gold)}.high{background:var(--rust)}.rate-table{border-top:1px solid var(--line)}.rate-row{display:grid;grid-template-columns:2fr .7fr 1fr 1fr;padding:19px 16px;border-bottom:1px solid var(--line);align-items:center}.rate-row:not(.rate-header):hover{background:var(--cream)}.rate-header{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#60736d}.contact{background:var(--forest-2);color:white;padding:clamp(75px,10vw,140px) clamp(24px,10vw,150px);display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.contact p:not(.eyebrow){color:rgba(255,255,255,.72);font-size:1.08rem}.contact-actions{display:flex;flex-direction:column;gap:12px}.button-light{border:1px solid rgba(255,255,255,.35);color:white}.contact address{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:25px;font-style:normal;color:rgba(255,255,255,.7)}footer{padding:44px clamp(24px,7vw,105px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:#0d211c;color:rgba(255,255,255,.58);font-size:.82rem}.footer-brand{color:white}.footer-brand small{color:rgba(255,255,255,.5)}
@media(max-width:900px){.site-header{height:72px}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;border-radius:3px;padding:9px 13px}.site-header nav{position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:24px;display:none;flex-direction:column;align-items:flex-start;gap:17px;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero{min-height:780px}.hero-copy{padding-bottom:210px}.hero-facts{left:0;right:0;justify-content:space-between;gap:12px;padding:20px 24px}.hero-facts div{display:block}.intro,.section-head,.portico,.contact{grid-template-columns:1fr}.apartment-grid{grid-template-columns:1fr}.apartment-card,.apartment-card.featured{grid-column:auto;grid-template-columns:1fr;min-height:0}.apartment-card img{height:300px}.story-grid{grid-template-columns:1fr;grid-template-rows:auto}.story-grid .pool,.story-grid .sunset,.story-grid .garden{grid-column:auto;height:380px}.story-copy{min-height:420px}.rate-row{grid-template-columns:1.5fr .45fr .9fr .9fr;font-size:.88rem}.contact address{grid-column:auto}footer{flex-direction:column;align-items:flex-start}}@media(max-width:560px){.brand small{display:none}.hero h1{font-size:3.2rem}.hero-facts span{font-size:.65rem}.section{padding:78px 20px}.apartment-card img{height:250px}.story-grid .pool,.story-grid .sunset,.story-grid .garden{height:300px}.rate-table{overflow-x:auto}.rate-row{min-width:620px}.contact{padding:72px 20px}.contact-actions .button{width:100%}footer{padding:38px 20px}}
