:root{--ink: #2b1014;--ink-soft: #5a2e34;--cream: #fdf6f2;--cream-2: #f6e7df;--gold: #cf9a5a;--gold-dark: #b07e42;--gold-ink: #8a5f2d;--rose: #a8424f;--rose-deep: #7e2531;--serif: "Fraunces", Georgia, serif;--sans: "Outfit", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{margin:0}.flag{display:inline-block;width:20px;height:14px;border-radius:2px;box-shadow:0 0 0 1px #00000014}.flag--do{background:linear-gradient(to right,#002d62 50%,#ce1126 50%) top / 100% 50% no-repeat,linear-gradient(to right,#ce1126 50%,#002d62 50%) bottom / 100% 50% no-repeat;position:relative}.flag--do:after{content:"";position:absolute;inset:0;background:linear-gradient(#fff,#fff) center/3px 100% no-repeat,linear-gradient(#fff,#fff) center/100% 3px no-repeat}.flag--us{background:repeating-linear-gradient(#b22234 0 2px,#fff 2px 4px);position:relative}.flag--us:before{content:"";position:absolute;top:0;left:0;width:45%;height:50%;background:#3c3b6e}.langtoggle{display:inline-flex;align-items:center;gap:6px}.flag-btn{display:inline-flex;padding:3px;border:0;background:transparent;border-radius:4px;cursor:pointer;line-height:0;opacity:.4;transition:opacity .15s ease,box-shadow .15s ease}.flag-btn:hover{opacity:.8}.flag-btn.is-active{opacity:1;box-shadow:0 0 0 2px var(--rose)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--sans);font-weight:600;font-size:1rem;padding:.85rem 1.5rem;border-radius:999px;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;line-height:1}.btn--solid{background:linear-gradient(135deg,var(--rose),var(--rose-deep));color:#fff;box-shadow:0 8px 22px -8px #7e2531b3}.btn--solid:hover{transform:translateY(-2px);box-shadow:0 14px 28px -10px #7e2531cc}.btn--outline{background:transparent;color:var(--cream);border-color:#fdf6f280}.btn--outline:hover{background:#fdf6f21f}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1.25rem;padding:.7rem clamp(1rem,4vw,2.5rem);background:#fdf6f2eb;backdrop-filter:blur(8px);border-bottom:1px solid var(--cream-2)}.brandmark{text-decoration:none;display:flex;align-items:center;gap:.6rem;margin-right:auto;line-height:1}.brandmark__mono{display:none;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;background:linear-gradient(135deg,var(--rose),var(--rose-deep));color:#fff;font-family:var(--serif);font-weight:800;font-size:1.2rem}.brandmark__text{display:flex;flex-direction:column;line-height:1}.brandmark__a{font-family:var(--serif);font-weight:800;font-size:1.35rem;color:var(--rose-deep);letter-spacing:-.01em}.brandmark__sub{font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-ink);font-weight:600;margin-top:2px}.topnav{display:none;gap:1.8rem}.topnav a{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;position:relative;padding:.2rem 0;transition:color .15s ease}.topnav a:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--gold-dark);transition:width .25s ease}.topnav a:hover{color:var(--rose-deep)}.topnav a:hover:after{width:100%}.topbar__right{display:flex;align-items:center;gap:.8rem}.topbar__book{font-weight:700;text-decoration:none;color:#fff;background:var(--ink);padding:.5rem 1.1rem;border-radius:999px;font-size:.9rem}.topbar__book:hover{background:var(--rose-deep)}.navtoggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;border:1px solid rgba(138,95,45,.4);border-radius:999px;background:none;padding:0;margin:0;color:var(--rose-deep);cursor:pointer;-webkit-appearance:none;appearance:none}.navtoggle__bars{position:relative;width:20px;height:13px}.navtoggle__bars span{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor;transition:transform .25s ease,opacity .2s ease}.navtoggle__bars span:nth-child(1){top:0}.navtoggle__bars span:nth-child(2){top:50%;transform:translateY(-50%)}.navtoggle__bars span:nth-child(3){bottom:0}body.nav-open .navtoggle__bars span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}body.nav-open .navtoggle__bars span:nth-child(2){opacity:0}body.nav-open .navtoggle__bars span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}body.nav-open{overflow:hidden}body.nav-open .stickybook{display:none}.mobilemenu{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;justify-content:space-between;padding:6.25rem 2rem 2.5rem;background:radial-gradient(120% 90% at 100% 0%,var(--cream-2) 0%,transparent 55%),#fdf6f2fa;backdrop-filter:blur(12px);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .28s ease,transform .28s ease,visibility .28s}body.nav-open .mobilemenu{opacity:1;visibility:visible;transform:none}.mobilemenu__head{padding-top:.5rem}.mobilemenu__eyebrow{font-family:var(--sans);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 .9rem}.mobilemenu__tagline{font-family:var(--serif);font-weight:600;font-size:clamp(2.1rem,11vw,3rem);line-height:1.04;color:var(--ink);margin:0}.mobilemenu__tagline span{display:block}.mobilemenu__tagline-accent{font-style:italic;font-weight:500;color:var(--rose)}.mobilemenu__body{display:flex;flex-direction:column}.mobilemenu__nav{display:flex;flex-direction:column;border-top:1px solid rgba(138,95,45,.28)}.mobilemenu__nav a{font-family:var(--serif);font-weight:600;font-size:clamp(1.7rem,8vw,2.2rem);line-height:1;color:var(--ink);text-decoration:none;min-height:3.5rem;padding:.85rem .15rem;border-bottom:1px solid rgba(138,95,45,.28);display:flex;align-items:center;justify-content:space-between;transition:color .15s ease,padding-left .15s ease}.mobilemenu__nav a:after{content:"→";font-size:.46em;color:var(--gold-ink);opacity:.6;transition:transform .15s ease}.mobilemenu__nav a:hover,.mobilemenu__nav a:active{color:var(--rose);padding-left:.4rem}.mobilemenu__nav a:hover:after,.mobilemenu__nav a:active:after{opacity:1;transform:translate(3px)}.mobilemenu__cta{margin-top:1.5rem;width:100%;padding-top:1.05rem;padding-bottom:1.05rem;text-align:center}.mobilemenu__foot{margin-top:1.5rem;padding-top:1.4rem;border-top:1px solid rgba(138,95,45,.28);display:flex;align-items:center;justify-content:space-between;gap:1rem}.mobilemenu__call{display:inline-flex;align-items:center;gap:.6rem;color:var(--ink);font-family:var(--sans);font-size:1rem;font-weight:600;padding:.5rem 0;text-decoration:none}.mobilemenu__call:hover,.mobilemenu__call:active{color:var(--rose)}.mobilemenu__ico{width:1.15em;height:1.15em;color:var(--gold-ink);flex-shrink:0}.mobilemenu__socials{display:flex;gap:.6rem}.mobilemenu__socials a{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid rgba(138,95,45,.4);color:var(--ink-soft);transition:color .15s ease,border-color .15s ease}.mobilemenu__socials a:hover,.mobilemenu__socials a:active{color:var(--rose);border-color:var(--rose)}.mobilemenu__socials svg{width:1.3em;height:1.3em}.kicker{text-transform:uppercase;letter-spacing:.26em;font-size:.72rem;font-weight:700;color:var(--rose);margin:0 0 .8rem}.kicker--gold{color:var(--gold-ink)}.h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,4.5vw,3rem);line-height:1.05;letter-spacing:-.015em;color:var(--ink)}.h2--light{color:var(--cream)}.hero{background:radial-gradient(120% 90% at 100% 0%,var(--cream-2) 0%,transparent 55%),var(--cream);padding:clamp(2.5rem,6vw,5rem) clamp(1rem,4vw,2.5rem) clamp(2rem,4vw,3rem);overflow:hidden}.hero__wrap{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;font-size:.85rem;letter-spacing:.06em;color:var(--gold-ink);text-transform:uppercase;margin:0 0 1.1rem}.eyebrow__dot{width:8px;height:8px;border-radius:50%;background:var(--rose);box-shadow:0 0 0 4px #a8424f2e}.eyebrow__link{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease,color .15s ease}.eyebrow__link:hover{color:var(--rose);border-bottom-color:currentColor}.inline-link{color:inherit;text-decoration:none;border-bottom:1px solid rgba(168,66,79,.4);transition:border-color .15s ease}.inline-link:hover{border-bottom-color:var(--rose)}.hero__title{font-family:var(--serif);font-weight:800;font-size:clamp(2.7rem,8vw,5rem);line-height:.98;letter-spacing:-.025em;color:var(--ink);margin:0}.hero__title .line{display:block}.hero__title .line--accent{font-style:italic;font-weight:500;color:var(--rose)}.hero__lead{font-size:clamp(1.05rem,2vw,1.2rem);color:var(--ink-soft);max-width:30rem;margin:1.3rem 0 0}.hero__lead em{font-style:italic;color:var(--rose-deep);font-weight:600}.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.8rem}.btn--call{background:#fff;color:var(--rose-deep);border-color:#a8424f59;box-shadow:0 8px 22px -12px #7e253166}.btn--call:hover{background:var(--cream-2);border-color:var(--rose);transform:translateY(-2px)}.btn--call svg{color:var(--rose)}.hero__rating{display:flex;align-items:center;gap:.7rem;margin-top:1.7rem;font-size:.95rem;color:var(--ink-soft)}.stars{display:inline-flex;gap:2px;color:var(--gold)}.hero__rating-txt{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease,color .15s ease}.hero__rating-txt:hover{color:var(--rose-deep);border-bottom-color:#a8424f80}.hero__rating-txt strong{color:var(--ink)}.hero__right{position:relative;min-height:380px}.hero__card{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -28px #2b10148c;aspect-ratio:4/5;max-width:340px;margin-left:auto;border:5px solid #fff}.hero__card img{width:100%;height:100%;object-fit:cover}.hero__card--sm{position:absolute;bottom:-28px;left:-10px;width:160px;aspect-ratio:1/1;z-index:3;margin:0}.hero__card-badge{position:absolute;top:12px;right:12px;background:#fdf6f2f2;border-radius:12px;padding:.5rem .7rem;text-align:center;line-height:1;box-shadow:0 8px 20px -8px #0006}.hero__card-num{display:block;font-family:var(--serif);font-weight:800;font-size:1.4rem;color:var(--rose-deep)}.hero__card-lbl{display:block;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);margin-top:2px}.hero__deco{position:absolute;z-index:-1;top:-30px;right:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--gold) 0%,var(--gold-dark) 70%);opacity:.22;filter:blur(4px)}.story{background:var(--cream-2);border-top:1px solid rgba(138,95,45,.18);border-bottom:1px solid rgba(138,95,45,.18);padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,2.5rem)}.story__inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.8rem,5vw,4rem);align-items:center}.story__media{position:relative}.story__media img{width:100%;border-radius:16px;aspect-ratio:4/5;object-fit:cover;box-shadow:0 24px 50px -26px #2b101480}.story__est{position:absolute;bottom:-18px;right:-14px;background:var(--gold);color:var(--ink);font-family:var(--serif);font-weight:600;text-align:center;line-height:1;padding:.8rem 1rem;border-radius:14px;font-size:.8rem;box-shadow:0 12px 26px -12px #b07e42cc}.story__est b{font-size:1.5rem}.story__copy p{color:var(--ink-soft);margin:1rem 0 0;font-size:1.05rem}.story__copy .h2{margin-bottom:.4rem}.story__quote{font-family:var(--serif);font-style:italic;font-size:1.2rem!important;color:var(--ink)!important;border-left:3px solid var(--gold);padding-left:1.1rem;margin-top:1.8rem!important}.story__quote-by{display:block;font-style:normal;font-family:var(--sans);font-size:.85rem;color:var(--gold-ink);margin-top:.5rem;font-weight:600}.services{background:var(--cream-2);padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,2.5rem)}.services__head{max-width:1100px;margin:0 auto 2.5rem}.services__lead{color:var(--ink-soft);font-size:1.1rem;margin:.6rem 0 0}.svc-list{max-width:1100px;margin:0 auto;list-style:none;padding:0}.svc{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:baseline;padding:1.6rem 0;border-top:1px solid rgba(138,95,45,.28)}.svc:last-child{border-bottom:1px solid rgba(138,95,45,.28)}.svc__no{font-family:var(--serif);font-weight:600;font-style:italic;font-size:1.4rem;color:var(--gold-dark);min-width:2ch}.svc__title{font-family:var(--serif);font-weight:600;font-size:clamp(1.3rem,3vw,1.7rem);color:var(--ink);line-height:1.1}.svc__desc{color:var(--ink-soft);margin:.4rem 0 0;max-width:38rem}.svc__price{font-weight:700;color:var(--rose-deep);white-space:nowrap;font-size:.95rem;text-align:right;background:#fff;padding:.35rem .7rem;border-radius:999px}.svc-cta{max-width:1100px;margin:2.5rem auto 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;background:var(--ink);color:var(--cream);padding:1.6rem 2rem;border-radius:18px}.svc-cta p{margin:0;font-family:var(--serif);font-size:1.2rem;max-width:34rem}.gallery{max-width:1180px;margin:0 auto;padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,2.5rem)}.gallery__head{margin-bottom:2rem}.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:1rem}.gtile{margin:0;border-radius:14px;overflow:hidden;box-shadow:0 16px 36px -22px #2b10148c;aspect-ratio:3/4}.gtile img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gtile:hover img{transform:scale(1.06)}.gtile--2{aspect-ratio:3/4;transform:translateY(-1.5rem)}.gallery__note{margin-top:1.4rem;color:var(--ink-soft);font-size:.95rem}.gallery__note a{color:var(--rose-deep);font-weight:700;text-decoration:none}.team{max-width:1100px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem) clamp(3rem,7vw,6rem);text-align:center}.team .kicker{text-align:center}.team__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:2rem}.member{display:flex;align-items:center;gap:1rem;text-align:left;background:var(--cream-2);padding:1.1rem 1.6rem 1.1rem 1.1rem;border-radius:999px}.member__monogram{width:56px;height:56px;border-radius:50%;flex:none;display:grid;place-items:center;background:linear-gradient(135deg,var(--rose),var(--rose-deep));color:#fff;font-family:var(--serif);font-weight:700;font-size:1.6rem}.member__name{font-family:var(--serif);font-weight:600;font-size:1.2rem;margin:0}.member__role{font-size:.85rem;color:var(--gold-ink);margin:2px 0 0;font-weight:600}.visit{background:radial-gradient(120% 100% at 0% 0%,var(--rose-deep) 0%,transparent 60%),var(--ink);color:var(--cream);padding:clamp(3rem,7vw,5.5rem) clamp(1rem,4vw,2.5rem)}.visit__inner{max-width:1100px;margin:0 auto}.visit__head{margin-bottom:clamp(1.5rem,3.5vw,2.4rem)}.visit__cols{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(1.5rem,4vw,3rem);align-items:stretch}.visit__info{max-width:560px;width:100%}.hours{border-collapse:collapse;width:100%;max-width:420px;margin:0 0 1.6rem}.hours{max-width:360px}.hours #live-hours{display:grid;grid-template-columns:1fr;gap:.4rem}.hours tr th,.hours tr td{white-space:nowrap}.hours tr{display:flex;justify-content:space-between;gap:1rem;padding:.45rem .8rem;border-radius:8px;background:#fdf6f20f;font-size:.95rem}.hours th{font-weight:700;color:var(--gold);text-align:left}.hours td{color:var(--cream);text-align:right}.hours__row--closed{opacity:.55}.hours__row--closed .hours__time,.hours__row--closed td{color:var(--cream-2)}.hours__book{display:inline-block;margin:0 0 1.4rem;font-weight:600;font-size:.95rem;color:var(--gold);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease,color .15s ease}.hours__book:hover{color:#fff;border-bottom-color:var(--gold)}.visit__addr{font-style:normal;margin:0 0 1.4rem;font-size:1rem}.visit__addr-link{display:flex;align-items:center;gap:.55rem;color:var(--cream);text-decoration:none;transition:color .15s ease}.visit__addr-link:hover{color:var(--gold)}.visit__addr svg{color:var(--gold);flex:none}.visit__actions{display:flex;flex-wrap:wrap;gap:.9rem}.visit__phone{display:inline-flex;align-items:center;gap:.6rem;margin:1.5rem 0 0;font-size:1rem;color:var(--cream);text-decoration:none;background:#fdf6f20f;border:1px solid rgba(207,154,90,.4);border-radius:999px;padding:.7rem 1.2rem;font-weight:600;transition:border-color .2s ease,background .2s ease}.visit__phone:hover{border-color:var(--gold);background:#fdf6f21f}.visit__phone svg{color:var(--gold);flex:none}.visit__phone strong{color:#fff;letter-spacing:.02em}.visit__map{display:grid;place-items:stretch}.visit__map-link{position:relative;display:block;text-decoration:none;width:100%;min-height:320px;height:100%;overflow:hidden;border-radius:20px;border:1px solid rgba(138,95,45,.45);background:#f6e7df;color:var(--cream);box-shadow:0 18px 44px #0000006b;transition:border-color .2s ease,transform .2s ease}.visit__map-link:hover{border-color:var(--gold);transform:translateY(-3px)}.visit__map-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border:0;transition:opacity .2s ease}.visit__map-link:hover .visit__map-img{opacity:.9}.visit__map-cap{position:absolute;left:0;right:0;bottom:0;z-index:1;display:block;text-align:center;font-weight:600;letter-spacing:.04em;font-size:.9rem;padding:.7rem 1rem;color:var(--cream);background:linear-gradient(transparent,#2b1014e6 55%)}.footer{background:#1a0a0c;color:var(--cream-2);padding:clamp(2.5rem,5vw,3.5rem) clamp(1rem,4vw,2.5rem) 1.5rem;border-top:3px solid var(--gold)}.footer__top{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:2.5rem 3rem;align-items:flex-start}.footer__top>:first-child{flex:1 1 16rem}.footer__brand{font-family:var(--serif);font-weight:800;font-size:1.6rem;color:var(--cream);margin:0}.footer__brand span{font-weight:500;font-style:italic;color:var(--gold);font-size:1.1rem}.footer__tag{margin:.4rem 0 0;font-size:.95rem}.footer__col{display:flex;flex-direction:column;gap:.7rem;align-items:flex-start}.footer__col h4{font-family:var(--sans);font-weight:700;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 .2rem}.footer__line{display:inline-flex;align-items:center;gap:.55rem;width:max-content;text-decoration:none;color:var(--cream);font-weight:600;font-size:.95rem;transition:color .15s ease}.footer__line:hover{color:var(--gold)}.footer__addr{display:flex;align-items:flex-start;gap:.55rem;font-style:normal;color:var(--cream-2);font-size:.92rem;line-height:1.5}.footer__ico{width:1.05em;height:1.05em;color:var(--gold);flex-shrink:0}.footer__addr .footer__ico{margin-top:.15em}.footer__book{background:var(--rose-deep);color:var(--cream);padding:.55rem 1.2rem;border-radius:999px;text-decoration:none;font-weight:600;font-size:.95rem;margin-top:.3rem;transition:background .15s ease}.footer__book:hover{background:var(--rose);color:#fff}.footer__bottom{max-width:1100px;margin:2rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(253,246,242,.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.82rem;color:#fdf6f299}.footer__flags{display:inline-flex;gap:5px}.stickybook{display:none;position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;text-align:center;text-decoration:none;color:#fff;font-weight:700;padding:1rem;border-radius:999px;background:linear-gradient(135deg,var(--rose),var(--rose-deep));box-shadow:0 14px 30px -8px #7e2531b3}@media(max-width:860px){.hero__wrap{grid-template-columns:1fr}.hero__right{min-height:auto;margin-top:1.5rem}.hero__card{max-width:100%;aspect-ratio:16/11}.hero__card--sm,.hero__deco{display:none}.story__inner{grid-template-columns:1fr}.story__media{max-width:360px;margin:0 auto}.visit__cols{grid-template-columns:1fr}.visit__info{margin:0 auto}.visit__map{order:-1}.gallery__grid{grid-template-columns:repeat(2,1fr)}.gtile--2{transform:none}}@media(max-width:560px){.svc{grid-template-columns:auto 1fr}.svc__price{grid-column:2;text-align:left;justify-self:start;margin-top:.5rem}.svc-cta{flex-direction:column;align-items:flex-start}.hours{max-width:100%}.hours #live-hours{grid-template-columns:1fr}.stickybook{display:block}body{padding-bottom:5rem}.footer__bottom{flex-direction:column}}@media(max-width:939px){.topbar__book,.brandmark__text{display:none}.brandmark__mono{display:grid}}@media(min-width:940px){.topnav{display:flex}.brandmark__mono,.navtoggle,.mobilemenu{display:none}}
