@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=DM+Sans:wght@400;500;600&display=swap";:root{--ivory: #FAF8F5;--warm-grey: #F0EDE8;--charcoal: #2C2C2C;--mauve: #9B7FA6;--text-secondary: #7A7A7A;--blush: #E8D8DC;--border: #E2DDD8;--placeholder-bg: #E8E3DD}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:DM Sans,system-ui,sans-serif;background:var(--ivory);color:var(--charcoal);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;color:var(--charcoal);margin:0;line-height:1.15}p{margin:0 0 1em}a{color:inherit;text-decoration:none;transition:color .25s ease}img{display:block;max-width:100%}button{font-family:inherit;cursor:pointer}.container{max-width:1200px;margin:0 auto;padding:0 32px}.section{padding:100px 0}@media(max-width:768px){.section{padding:60px 0}}.label{font-family:DM Sans,sans-serif;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--mauve);margin-bottom:16px;display:inline-block}.h1{font-size:clamp(40px,6vw,72px)}.h2{font-size:clamp(32px,4.5vw,52px)}.h3{font-size:clamp(22px,2.5vw,30px)}.divider{width:80px;height:1px;background:var(--mauve);margin:24px auto;border:0}.btn{display:inline-block;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:14px 30px;border-radius:6px;border:1px solid transparent;transition:all .25s ease;cursor:pointer}.btn-primary{background:var(--mauve);color:var(--ivory)}.btn-primary:hover{background:#876d92}.btn-outline{background:transparent;border-color:var(--ivory);color:var(--ivory)}.btn-outline:hover{background:var(--ivory);color:var(--charcoal)}.btn-outline-mauve{background:transparent;border-color:var(--mauve);color:var(--mauve)}.btn-outline-mauve:hover{background:var(--mauve);color:var(--ivory)}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 0;transition:background .3s ease,border-color .3s ease;border-bottom:1px solid transparent}.navbar.scrolled{background:var(--ivory);border-bottom-color:var(--border)}.navbar-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.navbar-logo{height:48px;width:48px;object-fit:cover;border-radius:14px;background:var(--ivory);padding:4px;box-shadow:0 2px 10px #00000014;border:1px solid var(--border);transition:transform .3s ease}.navbar-logo:hover{transform:rotate(-3deg) scale(1.04)}.navbar.over-hero:not(.scrolled) .navbar-logo{background:#ffffffeb;border-color:#fff6}.navbar-links{display:flex;gap:32px;list-style:none;margin:0;padding:0}.navbar-links a{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--charcoal);font-weight:500}.navbar.over-hero:not(.scrolled) .navbar-links a,.navbar.over-hero:not(.scrolled) .navbar-ig{color:var(--ivory)}.navbar-links a:hover,.navbar-links a.active{color:var(--mauve)}.navbar-links a.active{border-bottom:1px solid var(--mauve);padding-bottom:4px}.navbar-ig{color:var(--mauve);display:flex;align-items:center}.hamburger{display:none;background:transparent;border:0;padding:8px}.hamburger span{display:block;width:24px;height:1.5px;background:var(--charcoal);margin:5px 0;transition:.3s}.navbar.over-hero:not(.scrolled) .hamburger span{background:var(--ivory)}.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);background:var(--charcoal)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);background:var(--charcoal)}.mobile-menu{position:fixed;inset:0;background:var(--ivory);z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;transform:translate(100%);transition:transform .3s ease}.mobile-menu.open{transform:translate(0)}.mobile-menu a{font-family:Cormorant Garamond,serif;font-style:italic;font-size:36px;color:var(--charcoal)}.mobile-menu .navbar-ig{margin-top:24px}@media(max-width:860px){.navbar-links,.navbar-ig.desktop{display:none}.hamburger{display:block}}.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:flex-end;overflow:hidden;color:var(--ivory)}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,#141414c7,#14141473 45%,#14141459),radial-gradient(ellipse at center bottom,rgba(0,0,0,.55),transparent 70%);z-index:1}.hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 32px 120px;width:100%;text-align:center}.hero h1{color:var(--ivory);font-size:clamp(48px,7vw,86px);margin:12px 0 20px;text-shadow:0 2px 30px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.4)}.hero .label{color:#d9c2e2;letter-spacing:.22em}.hero-sub{font-size:17px;color:#f5f1ec;opacity:.95;margin-bottom:36px;text-shadow:0 1px 12px rgba(0,0,0,.55)}.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translate(-50%);z-index:2;color:var(--ivory);animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}.hero-short{height:50vh;min-height:380px}.hero-short .hero-inner{padding-bottom:0;text-align:center;display:flex;flex-direction:column;justify-content:center;height:100%;padding-top:80px}.tagline-strip{background:var(--warm-grey);text-align:center;padding:70px 32px}.tagline-strip p{font-family:Cormorant Garamond,serif;font-style:italic;font-size:clamp(28px,3.5vw,42px);color:var(--charcoal);margin:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.two-col img{width:100%;height:100%;max-height:600px;object-fit:cover;border-radius:12px}.two-col .img-placeholder{width:100%;height:500px;background:var(--placeholder-bg);border-radius:12px}@media(max-width:860px){.two-col{grid-template-columns:1fr;gap:40px}.two-col.reverse-mobile>*:first-child{order:2}.two-col.reverse-mobile>*:last-child{order:1}}.body-copy{color:#4a4a4a;font-size:16px;line-height:1.75}.stat-row{display:flex;gap:32px;margin:28px 0;flex-wrap:wrap}.stat{font-size:14px;color:var(--text-secondary)}.stat strong{color:var(--mauve);font-weight:600;font-size:18px;margin-right:6px;font-family:DM Sans,sans-serif}.text-link{color:var(--mauve);font-weight:500;font-size:14px;letter-spacing:.05em}.text-link:hover{color:#876d92}.section-dark{background:var(--charcoal);color:var(--ivory)}.section-dark h2{color:var(--ivory)}.section-dark .label{color:var(--mauve);filter:brightness(1.4)}.section-header{text-align:center;margin-bottom:60px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media(max-width:860px){.card-grid{grid-template-columns:1fr}}.featured-card{background:#363636;border-radius:12px;overflow:hidden;transition:transform .3s ease}.featured-card:hover{transform:translateY(-4px)}.featured-card img,.featured-card .img-placeholder{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--placeholder-bg)}.featured-card-body{padding:24px}.featured-card h3{color:var(--ivory);font-size:24px;margin-bottom:8px}.featured-card p{color:#b0b0b0;font-size:14px;margin-bottom:12px}.featured-card .price{color:var(--mauve);font-weight:600;font-size:16px;filter:brightness(1.3)}.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}@media(max-width:860px){.gallery-strip{grid-template-columns:repeat(2,1fr)}}.gallery-strip>div{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:var(--placeholder-bg);cursor:pointer}.gallery-strip img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-strip>div:hover img{transform:scale(1.05)}.gallery-overlay{position:absolute;inset:0;background:#9b7fa600;display:flex;align-items:center;justify-content:center;color:var(--ivory);font-size:12px;text-transform:uppercase;letter-spacing:.14em;opacity:0;transition:opacity .25s ease}.gallery-strip>div:hover .gallery-overlay{opacity:1;background:#9b7fa68c}.section-grey{background:var(--warm-grey)}.review-card{background:var(--ivory);border-radius:12px;padding:32px;box-shadow:0 4px 24px #0000000f}.stars{color:var(--mauve);margin-bottom:16px;letter-spacing:2px}.review-text{font-family:Cormorant Garamond,serif;font-style:italic;font-size:19px;line-height:1.5;color:var(--charcoal);margin-bottom:24px}.reviewer-name{font-weight:600;font-size:14px;color:var(--charcoal)}.review-source{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-secondary);margin-top:4px}.visit-strip{position:relative;padding:140px 32px;text-align:center;color:var(--ivory);background-size:cover;background-position:center}.visit-strip:before{content:"";position:absolute;inset:0;background:#2c2c2c8c}.visit-strip>*{position:relative;z-index:1}.visit-strip h2{color:var(--ivory);margin-bottom:16px}.visit-strip p{opacity:.9;margin-bottom:28px}.footer{background:var(--charcoal);color:#a0a0a0;padding:70px 0 0}.footer-inner{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:60px;max-width:1200px;margin:0 auto;padding:0 32px 50px}@media(max-width:860px){.footer-inner{grid-template-columns:1fr;text-align:center;gap:40px}}.footer h4{font-family:DM Sans,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#a0a0a0;margin-bottom:18px;font-weight:500}.footer-logo{height:64px;width:64px;object-fit:cover;margin-bottom:16px;border-radius:14px;background:#fff;padding:6px;box-shadow:0 4px 16px #00000040}.footer-tagline{font-style:italic;font-family:DM Sans,sans-serif;color:#a0a0a0;margin-bottom:20px;font-size:14px}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.footer-links a{color:#a0a0a0;font-size:14px}.footer-links a:hover{color:var(--ivory)}.footer-socials{display:flex;gap:16px}@media(max-width:860px){.footer-socials{justify-content:center}}.footer-socials a{color:#a0a0a0}.footer-socials a:hover{color:var(--ivory)}.footer-info p{font-size:14px;margin:0 0 8px}.footer-bar{border-top:1px solid #3a3a3a;padding:22px 32px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;max-width:1200px;margin:0 auto;font-size:12px;color:#6a6a6a}@media(max-width:860px){.footer-bar{justify-content:center;text-align:center}}.menu-tabs{display:flex;justify-content:center;gap:36px;margin:0 0 50px;border-bottom:1px solid var(--border);flex-wrap:wrap}.menu-tab{background:transparent;border:0;padding:16px 4px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .25s ease;font-weight:500}.menu-tab:hover{color:var(--charcoal)}.menu-tab.active{color:var(--charcoal);border-bottom-color:var(--mauve)}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:24px 80px;animation:fadeIn .4s ease}@media(max-width:768px){.menu-list{grid-template-columns:1fr;gap:20px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.menu-item{display:flex;align-items:baseline;gap:12px;padding:8px 0}.menu-item-name{font-weight:600;color:var(--charcoal);white-space:nowrap}.menu-item-leader{flex:1;border-bottom:1px dotted #c5bfb8;transform:translateY(-4px)}.menu-item-price{color:var(--mauve);font-weight:600}.menu-item-desc{grid-column:1 / -1;font-style:italic;font-size:13px;color:var(--text-secondary);margin-top:-12px;margin-bottom:4px}.menu-item-row{display:flex;flex-direction:column}.menu-item-row>.menu-item{padding-bottom:4px}.pull-quote{font-family:Cormorant Garamond,serif;font-style:italic;font-size:24px;color:var(--charcoal);border-left:3px solid var(--mauve);padding:12px 0 12px 24px;margin:32px 0;line-height:1.4}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}@media(max-width:860px){.values-grid{grid-template-columns:1fr}}.value-card{background:var(--ivory);border-radius:12px;padding:40px 32px;box-shadow:0 4px 24px #0000000f;text-align:center}.value-icon{color:var(--mauve);margin-bottom:20px;display:flex;justify-content:center}.value-card h3{font-family:DM Sans,sans-serif;font-size:18px;font-weight:600;margin-bottom:12px}.value-card p{color:var(--text-secondary);font-size:14px;margin:0}.info-box{border:1px solid var(--border);border-radius:12px;padding:24px;margin-top:24px}.info-box p{font-size:14px;margin:4px 0}.cta-banner{background:var(--mauve);color:var(--ivory);padding:100px 32px;text-align:center}.cta-banner h2{color:var(--ivory);margin-bottom:14px}.cta-banner p{opacity:.9;margin-bottom:28px}.cta-banner .btn{background:var(--ivory);color:var(--mauve)}.cta-banner .btn:hover{background:#f0e8e8}.masonry{column-count:3;column-gap:16px}@media(max-width:860px){.masonry{column-count:2}}@media(max-width:540px){.masonry{column-count:1}}.masonry>div{break-inside:avoid;margin-bottom:16px;border-radius:12px;overflow:hidden;background:var(--placeholder-bg);cursor:pointer;position:relative}.masonry img{width:100%;height:auto;display:block;transition:transform .5s ease}.masonry>div:hover img{transform:scale(1.04)}.masonry .gallery-overlay{font-size:32px;font-weight:300}.masonry>div:hover .gallery-overlay{opacity:1;background:#9b7fa673}.lightbox{position:fixed;inset:0;background:#000000eb;z-index:200;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:4px}.lightbox-close,.lightbox-nav{position:absolute;background:transparent;border:0;color:var(--ivory);font-size:28px;cursor:pointer;padding:16px}.lightbox-close{top:20px;right:20px}.lightbox-nav.prev{left:20px;top:50%;transform:translateY(-50%)}.lightbox-nav.next{right:20px;top:50%;transform:translateY(-50%)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}@media(max-width:860px){.visit-grid{grid-template-columns:1fr}}.info-row{display:flex;gap:16px;margin-bottom:28px;align-items:flex-start}.info-row svg{color:var(--mauve);flex-shrink:0;margin-top:2px}.info-row strong{display:block;font-weight:600;margin-bottom:4px}.info-row p{font-size:14px;color:var(--text-secondary);margin:0}.hours-table{width:100%}.hours-row{display:flex;justify-content:space-between;padding:10px 14px;font-size:14px;border-radius:4px}.hours-row:nth-child(2n){background:var(--warm-grey)}.hours-row.today{border-left:3px solid var(--mauve);padding-left:11px}.hours-row .day{font-weight:500}.hours-row .time{color:var(--text-secondary)}.map-frame{width:100%;height:480px;border:1px solid var(--border);border-radius:12px}@media(max-width:860px){.map-frame{height:360px}}.contact-form{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.contact-form input,.contact-form textarea{font-family:inherit;font-size:14px;background:var(--ivory);border:1px solid var(--border);border-radius:6px;padding:14px 16px;transition:border-color .25s ease;color:var(--charcoal)}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--mauve)}.contact-form textarea{min-height:140px;resize:vertical}.reveal{opacity:0;transform:translateY(24px);filter:blur(12px);transition:opacity .8s ease-out,transform .8s ease-out,filter .8s ease-out}.reveal.in{opacity:1;transform:translateY(0);filter:blur(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none;filter:none}}.cd-spinner{position:relative;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at center,#2C2C2C 0 18%,#f5f1ec 18.5% 21%,transparent 21.5%),conic-gradient(from 0deg,#b09cc2,#e8d8dc,#9b7fa6,#d4c0d8,#b09cc2,#e8d8dc,#9b7fa6,#d4c0d8,#b09cc2);box-shadow:inset 0 0 0 1px #00000026,inset 0 0 60px #ffffff40,0 14px 40px #0000002e;animation:cd-spin 9s linear infinite}.cd-spinner:before{content:"";position:absolute;inset:8%;border-radius:50%;background:repeating-radial-gradient(circle,#ffffff0a 0 2px,#0000000a 2px 4px);mix-blend-mode:overlay}.cd-spinner:after{content:"";position:absolute;top:50%;left:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:var(--ivory);box-shadow:0 0 0 2px var(--charcoal)}@keyframes cd-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.cd-spinner{animation:none}}.cd-strip{background:var(--warm-grey);padding:70px 32px;display:flex;align-items:center;justify-content:center;gap:60px;flex-wrap:wrap}.cd-strip .cd-copy{max-width:420px}.cd-strip .cd-copy em{font-family:Cormorant Garamond,serif;font-size:clamp(26px,3vw,36px);color:var(--charcoal);line-height:1.3;display:block}.cd-strip .cd-copy small{display:block;margin-top:14px;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--mauve)}.deco-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--mauve);opacity:.4;animation:float-y 6s ease-in-out infinite}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.menu-est{text-align:center;font-family:DM Sans,sans-serif;font-size:11px;letter-spacing:.45em;color:var(--mauve);text-transform:uppercase;margin:8px 0 4px}.menu-est:before,.menu-est:after{content:"— ";opacity:.6}.menu-est:after{content:" —"}.menu-category{margin-bottom:72px;position:relative}.menu-category-header{text-align:center;margin-bottom:40px;position:relative}.menu-category-header h2{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:600;font-size:clamp(30px,4vw,44px);color:var(--charcoal);display:inline-block;padding:0 28px;background:var(--ivory);position:relative;z-index:1}.menu-category-header:before{content:"";position:absolute;top:50%;left:10%;right:10%;height:1px;background:var(--border);z-index:0}.menu-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 64px}@media(max-width:768px){.menu-category-grid{grid-template-columns:1fr;gap:18px}}.menu-entry{padding:6px 0}.menu-entry-top{display:flex;align-items:baseline;gap:12px}.menu-entry-name{font-family:Cormorant Garamond,serif;font-weight:600;font-size:20px;color:var(--charcoal)}.menu-entry-dots{flex:1;border-bottom:1px dotted #c5bfb8;transform:translateY(-5px)}.menu-entry-price{font-family:DM Sans,sans-serif;font-weight:600;font-size:15px;color:var(--mauve);letter-spacing:.02em}.menu-entry-desc{font-size:13.5px;color:var(--text-secondary);line-height:1.55;margin-top:4px;max-width:95%}.menu-dressings{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 32px;text-align:center;max-width:720px;margin:0 auto}@media(max-width:540px){.menu-dressings{grid-template-columns:repeat(2,1fr)}}.menu-dressings span{font-family:Cormorant Garamond,serif;font-style:italic;font-size:17px;color:var(--charcoal);padding:6px 0}
