:root{--bg: #f3efe7;--bg-soft: #ebe4d8;--text: #1f1d1a;--text-muted: #5d584f;--line: #cec4b5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Avenir Next,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}.page{position:relative}h1,h2,h3{font-family:Cormorant Garamond,Times New Roman,serif;letter-spacing:.02em;margin:0 0 1rem}p{line-height:1.7;margin:0;color:var(--text-muted)}.section{padding:5.5rem 1.2rem;max-width:1160px;margin:0 auto;border-top:1px solid var(--line)}.site-header{position:sticky;top:0;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.2rem;background:color-mix(in srgb,var(--bg) 90%,white 10%);border-bottom:1px solid var(--line);z-index:20;flex-wrap:wrap}.brand-mark{display:inline-flex;align-items:center;text-decoration:none;color:var(--text);font-weight:600;letter-spacing:.06em;flex-shrink:0}.brand-logo{display:block;width:clamp(150px,22vw,240px);height:auto}.site-header nav{flex:1 1 100%;order:3}.nav-list{list-style:none;display:flex;gap:.75rem;padding:0;margin:0;flex-wrap:wrap;justify-content:center}.nav-list a{color:var(--text-muted);text-decoration:none;font-size:.85rem;text-transform:uppercase}.hero{position:relative;min-height:calc(100vh - 70px);display:flex;align-items:flex-end;padding-top:2rem;border-top:0;overflow:hidden}.hero-media{position:fixed;top:70px;left:0;width:100vw;height:calc(100vh - 70px);object-fit:cover;z-index:-2;border-radius:0;margin-bottom:0}.hero:after{content:"";position:fixed;top:70px;left:0;width:100vw;height:calc(100vh - 70px);background:linear-gradient(to bottom,#00000029,#0000007a);z-index:-1}.hero-content{position:relative;color:#fff;max-width:min(720px,100%);padding:1.6rem;background:color-mix(in srgb,black 26%,transparent);border:1px solid color-mix(in srgb,white 25%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);margin-bottom:1.4rem}.hero-content p,.hero .eyebrow{color:color-mix(in srgb,#fff 92%,#cfcfcf 8%)}.hero-content h1{font-size:clamp(2rem,6vw,4rem);max-width:16ch}.hero-content p{max-width:60ch}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;color:var(--text-muted);margin-bottom:.75rem}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}.button{padding:.8rem 1.2rem;text-decoration:none;border:1px solid var(--text);font-size:.9rem}.button-primary{background:var(--text);color:var(--bg)}.button-secondary{color:var(--text);background:transparent}main{position:relative;z-index:2}main .section:not(.hero){background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.two-col,.card-grid,.spaces-grid{display:grid;gap:1.2rem;margin-top:1.2rem}.card,.space-card{padding:1.2rem;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 96%,white 4%)}.space-image{min-height:11rem;width:100%;object-fit:cover;margin-bottom:1rem;border-radius:.3rem;background:#d5c8b2}.image-placeholder{background:linear-gradient(125deg,#d5c8b2,#beb9a7 45%,#e0d4c0);position:relative;overflow:hidden}.image-placeholder:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-100%);animation:shimmer 4s infinite}.info-list,.services-grid{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.8rem}.info-list li,.services-grid li{border-bottom:1px solid var(--line);padding-bottom:.6rem}.location-map{margin-top:1.5rem;border:1px solid var(--line)}.location-map iframe{display:block;width:100%;min-height:24rem;border:0}.cta-section{text-align:center}.cta-section p{margin:0 auto;max-width:62ch}.cta-section .button{margin-top:1.5rem;display:inline-block}.site-footer{position:relative;z-index:2;border-top:1px solid var(--line);padding:2.3rem 1.2rem 3rem;text-align:center;display:grid;gap:.45rem;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.site-footer p{text-transform:lowercase;letter-spacing:.08em;font-size:.85rem}.footer-logo{display:block;width:clamp(96px,12vw,130px);height:auto;margin:0 auto .25rem}.footer-link{color:var(--text-muted);text-decoration:none}.footer-link:hover{text-decoration:underline}.social-links{list-style:none;padding:0;margin:.3rem 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem}.social-links li{text-transform:lowercase;letter-spacing:.08em;font-size:.85rem}@media (max-width: 360px){.section{padding:4.5rem 1rem}.hero-content h1{font-size:clamp(1.7rem,10vw,2.2rem)}.button{width:100%;text-align:center}}@media (min-width: 768px){.section{padding:6.5rem 2rem}.site-header{padding:1rem 2rem}.site-header nav{flex:1 1 auto;order:0}.two-col,.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spaces-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-list{justify-content:flex-end}}@keyframes shimmer{to{transform:translate(100%)}}.lang-switcher{display:inline-flex;gap:.4rem}.lang-switcher button{border:1px solid var(--line);background:transparent;color:var(--text);padding:.25rem .5rem;border-radius:999px;font-size:.72rem;cursor:pointer}.lang-switcher button.active{background:var(--text);color:var(--bg)}.contact-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;padding:1rem;z-index:100}.contact-modal{width:min(560px,100%);background:var(--bg);border:1px solid var(--line);padding:1.25rem;text-align:left;position:relative}.contact-modal-close{position:absolute;top:.75rem;right:.75rem;border:0;background:transparent;color:var(--text);font-size:1.1rem;cursor:pointer}.contact-form{display:grid;gap:.75rem}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);background:#fff;color:var(--text);padding:.65rem .75rem;font:inherit}.contact-form .button{justify-self:start}.contact-form-status{min-height:1.4rem}.botcheck{display:none}.hero .button-primary{background:#fff;color:#1f1d1a;border-color:#fff}.hero .button-secondary{color:#fff;border-color:#ffffffd9}.section-more{margin-top:1.5rem}.detail-page .detail-hero{border-top:0;padding-top:7rem}.detail-page h1{font-size:clamp(2rem,6vw,3.5rem);max-width:20ch}.detail-page .section .button{display:inline-block;margin-top:1.25rem}
