:root{--bg: #f5f0e6;--bg-alt: #ece4d4;--bg-deep: #e6dcc8;--text: #1f1c18;--dim: rgba(31, 28, 24, .62);--accent: #b85c38;--accent-bright: #c96b45;--line: rgba(31, 28, 24, .16);--on-accent: #f5f0e6;--map-filter: grayscale(.25) sepia(.1);--font-display: "Cormorant Garamond", Georgia, serif;--font-sans: "Jost", system-ui, sans-serif;--maxw: 1240px;--pad: clamp(1.25rem, 5vw, 5rem);--nav-h: 84px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .5s ease,color .5s ease}img{display:block;max-width:100%}h1,h2,h3{font-family:var(--font-display);font-weight:500;margin:0;line-height:1.05}a{color:inherit;text-decoration:none}.nav__logo--dark,.nav.is-scrolled .nav__logo--light,.nav.is-open .nav__logo--light{display:none}.nav.is-scrolled .nav__logo--dark,.nav.is-open .nav__logo--dark{display:block}.kicker{font-family:var(--font-sans);font-weight:400;text-transform:uppercase;letter-spacing:.4em;font-size:.72rem;margin:0 0 1rem;color:var(--dim)}.kicker--accent{color:var(--accent)}.section{padding:clamp(4.5rem,11vw,9rem) var(--pad);scroll-margin-top:var(--nav-h)}.section__head{text-align:center;max-width:720px;margin:0 auto clamp(2.5rem,5vw,4rem)}.section__title{font-size:clamp(2.2rem,5vw,3.6rem)}.btn{display:inline-block;font-family:var(--font-sans);font-weight:400;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;padding:.95em 2.2em;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease}.btn--lg{padding:1.1em 2.8em;font-size:.82rem}.btn--accent{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn--accent:hover{background:var(--accent-bright);border-color:var(--accent-bright);transform:translateY(-2px)}.btn--outline{border-color:var(--accent);color:var(--accent)}.btn--outline:hover{background:var(--accent);color:var(--on-accent)}.btn--ghost{border-color:color-mix(in srgb,var(--text) 45%,transparent);color:var(--text)}.btn--ghost:hover{border-color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent)}.bracket{position:absolute;width:46px;height:46px;pointer-events:none}.bracket--tl{top:-18px;left:-10px;border-top:1.5px solid var(--accent);border-left:1.5px solid var(--accent)}.bracket--br{bottom:-18px;right:-10px;border-bottom:1.5px solid var(--accent);border-right:1.5px solid var(--accent)}.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background .4s ease,backdrop-filter .4s ease,border-color .4s ease;border-bottom:1px solid transparent}.nav.is-scrolled{background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-color:var(--line)}.nav.is-open{background:color-mix(in srgb,var(--bg) 97%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav__inner{max-width:var(--maxw);margin:0 auto;height:var(--nav-h);padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between}.nav__logo{height:30px;width:auto}.nav__links{display:flex;align-items:center;gap:clamp(1.25rem,2.5vw,2.5rem)}.nav__links a{font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:#f5f0e6cc;transition:color .25s ease}.nav__links a:hover{color:#f5f0e6}.nav.is-scrolled .nav__links a,.nav.is-open .nav__links a{color:var(--dim)}.nav.is-scrolled .nav__links a:hover,.nav.is-open .nav__links a:hover{color:var(--text)}.nav__cta{color:var(--accent)}.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}.nav__toggle span{width:26px;height:1.5px;background:#f5f0e6;transition:transform .3s ease,opacity .3s ease,background .3s ease}.nav.is-scrolled .nav__toggle span,.nav.is-open .nav__toggle span{background:var(--text)}.hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--nav-h) var(--pad) 0;overflow:hidden}.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#161210}.hero__overlay{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 35%,#0a080640,#0a08069e),linear-gradient(to top,var(--bg) 1%,rgba(10,8,6,0) 42%)}.hero__content{position:relative;max-width:760px;padding:2.5rem 1rem;color:#f5f0e6}.hero__content .kicker{color:#f5f0e6d9}.hero__title{font-size:clamp(4rem,16vw,11rem);font-weight:500;letter-spacing:.02em;margin:.5rem 0 1.25rem}.hero__sub{font-size:clamp(1.05rem,2.2vw,1.4rem);color:#f5f0e6d1;max-width:32ch;margin:0 auto 2.4rem}.hero__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.hero .btn--ghost{border-color:#f5f0e680;color:#f5f0e6}.hero .btn--ghost:hover{border-color:#f5f0e6;background:#f5f0e61a}.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);width:26px;height:44px;border:1px solid rgba(245,240,230,.4);border-radius:14px}.hero__scroll span{position:absolute;top:8px;left:50%;width:3px;height:7px;margin-left:-1.5px;background:var(--accent-bright);border-radius:2px;animation:scrollcue 1.8s ease-in-out infinite}@keyframes scrollcue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}80%{opacity:0;transform:translateY(14px)}to{opacity:0}}.gallery{background:var(--bg-deep);transition:background .5s ease}.gallery__grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.75rem,1.5vw,1.25rem)}.gallery__item{margin:0;overflow:hidden;border-radius:2px}.gallery__item img{width:100%;height:100%;aspect-ratio:9 / 11;object-fit:cover;transition:transform .7s ease}.gallery__item:hover img{transform:scale(1.05)}.cta{text-align:center;background:var(--bg-alt);transition:background .5s ease}.cta__inner{max-width:640px;margin:0 auto}.cta__title{font-size:clamp(2.4rem,6vw,4.2rem);margin-bottom:1.2rem}.cta__text{color:var(--dim);font-size:1.1rem;margin:0 auto 2.4rem;max-width:46ch}.construction{background:var(--bg);text-align:center;transition:background .5s ease}.construction__inner{position:relative;max-width:600px;margin:0 auto;padding:.5rem 1rem}.construction__title{font-size:clamp(2.2rem,5.5vw,3.6rem);margin:.4rem 0 1.2rem}.construction__text{color:var(--dim);font-size:1.1rem;margin:0 auto 2.2rem;max-width:42ch}.construction__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.location{background:var(--bg-deep);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;max-width:var(--maxw);margin:0 auto;transition:background .5s ease}.location__details{margin:2rem 0 2.4rem;display:grid;gap:1.4rem}.location__details dt{text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;color:var(--accent);margin-bottom:.3rem}.location__details dd{margin:0;color:var(--dim);font-size:1.05rem}.location__map{height:100%;min-height:380px;border:1px solid var(--line);border-radius:2px;overflow:hidden;background:var(--bg-alt)}#map{width:100%;height:100%;min-height:380px;background:var(--bg-alt)}#map img{max-width:none}.map-fallback{display:flex;align-items:center;justify-content:center;height:100%;min-height:380px;padding:1.5rem;text-align:center;font-size:.85rem;letter-spacing:.04em;color:var(--dim)}.footer{background:var(--bg);border-top:1px solid var(--line);padding:clamp(3rem,6vw,5rem) var(--pad) 2rem;transition:background .5s ease}.footer__inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;align-items:start}.footer__logo{height:40px;margin-bottom:1.2rem}.footer__brand p{color:var(--dim);margin:0;font-size:.95rem}.footer__nav,.footer__social{display:grid;gap:.7rem}.footer__nav a,.footer__social a{color:var(--dim);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;transition:color .25s ease}.footer__nav a:hover,.footer__social a:hover{color:var(--accent)}.footer__legal{max-width:var(--maxw);margin:3rem auto 0;padding-top:1.6rem;border-top:1px solid var(--line);text-align:center;font-size:.78rem;letter-spacing:.12em;color:var(--dim)}.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem}.modal[hidden]{display:none}.modal__backdrop{position:absolute;inset:0;background:#0a080699;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modal-fade .3s ease}.modal__card{position:relative;z-index:1;width:100%;max-width:440px;background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:clamp(2.4rem,6vw,3.2rem) clamp(1.6rem,5vw,2.6rem);text-align:center;box-shadow:0 30px 80px #0a080673;animation:modal-pop .4s cubic-bezier(.22,1,.36,1)}.modal__card .bracket--tl{top:14px;left:14px}.modal__card .bracket--br{bottom:14px;right:14px}.modal__close{position:absolute;top:.7rem;right:.95rem;background:none;border:0;cursor:pointer;font-size:1.7rem;line-height:1;color:var(--dim);transition:color .2s ease,transform .2s ease}.modal__close:hover{color:var(--accent);transform:rotate(90deg)}.modal__text{font-family:var(--font-display);font-style:italic;font-size:clamp(1.4rem,4vw,1.95rem);line-height:1.35;margin:.6rem auto 1.9rem;max-width:26ch;color:var(--text)}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:900px){.gallery__grid{grid-template-columns:repeat(2,1fr)}.location{grid-template-columns:1fr}.footer__inner{grid-template-columns:1fr 1fr}}@media(max-width:720px){.nav__toggle{display:flex}.nav__links{position:fixed;inset:var(--nav-h) 0 auto 0;flex-direction:column;gap:1.5rem;padding:2.5rem var(--pad) 3rem;background:color-mix(in srgb,var(--bg) 97%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transform:translateY(-120%);transition:transform .4s ease}.nav__links.is-open{transform:translateY(0)}.nav.is-open .nav__toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav.is-open .nav__toggle span:nth-child(2){opacity:0}.nav.is-open .nav__toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.footer__inner{grid-template-columns:1fr;gap:2rem}.bracket{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}
