:root{--red:#7f1024;--red-dark:#4e0714;--cream:#f4ead7;--ink:#271913;--rose:#d93a55;--white:#fffaf0;--line:rgba(39,25,19,.18);font-family:DM Sans,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:#fff;color:#000;padding:.8rem 1rem}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{height:84px;position:absolute;z-index:20;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(1.25rem,4vw,4.5rem);color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}.brand{display:flex;gap:.7rem;align-items:center;text-decoration:none;font:600 clamp(1.25rem,2vw,1.65rem) "Fraunces",serif}.brand-mark{display:grid;place-items:center;width:29px;height:29px;border:1px solid currentColor;border-radius:50%;font-size:.72rem}.site-header nav{display:flex;gap:2.4rem}.site-header nav a,.header-cta{font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;text-decoration:none;font-weight:700}.site-header nav a{padding:.6rem 0;position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:#fff;transition:right .25s}.site-header nav a:hover:after{right:0}.header-cta{justify-self:end;border:1px solid rgba(255,255,255,.65);padding:.8rem 1rem;border-radius:99px}.menu-toggle{display:none}.hero{position:relative;min-height:760px;height:100svh;color:#fff;display:flex;align-items:center;isolation:isolate}.hero picture,.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-shade{z-index:-1;background:linear-gradient(90deg,#260409eb,#400510c7 33%,#40051014 70%),linear-gradient(0deg,rgba(24,0,5,.35),transparent 40%)}.hero-copy{width:min(720px,56%);margin-left:clamp(1.25rem,8vw,9rem);padding-top:64px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.21em;font-size:.72rem;font-weight:700}.eyebrow{display:flex;align-items:center;gap:.8rem}.eyebrow:before{content:"";width:42px;height:1px;background:currentColor}.hero h1{font:600 clamp(3.7rem,7vw,7.5rem)/.91 "Fraunces",serif;letter-spacing:-.055em;margin:.5rem 0 1.5rem}.hero h1 em,.essentials h2 em{font-weight:600;color:#ffb1bd}.hero-intro{max-width:530px;font-size:clamp(1rem,1.4vw,1.22rem);line-height:1.65;color:#ffffffd1}.hero-actions,.visit-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}.button{display:inline-flex;justify-content:center;align-items:center;padding:1rem 1.35rem;border-radius:3px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;transition:.2s transform,.2s background}.button:hover{transform:translateY(-2px)}.button-light{background:var(--white);color:var(--red-dark)}.text-link{text-decoration:none;font-size:.82rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:.3rem}.text-link span{margin-left:.5rem}.hero-note{position:absolute;right:clamp(1.25rem,4vw,4.5rem);bottom:2rem;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;writing-mode:vertical-rl}.marquee{background:var(--red);color:#fff;white-space:nowrap;overflow:hidden;padding:1rem 0;text-transform:uppercase;letter-spacing:.18em;font-size:.67rem;font-weight:700}.marquee div{display:flex;justify-content:space-around;min-width:980px}.marquee i{font-style:normal;color:#ff8da0}.section{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,8vw,9rem)}.section-kicker{color:var(--red);margin:0 0 2rem}.story{position:relative;min-height:700px}.story-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:start}.story h2,.visit h2{font:600 clamp(3rem,6vw,6.4rem)/.95 "Fraunces",serif;letter-spacing:-.05em;margin:0}.story h2 span{color:var(--red)}.story-copy{padding-top:1rem}.story-copy p{line-height:1.8;color:#5b4941}.story-copy .lead{font:600 1.45rem/1.5 Fraunces,serif;color:var(--ink)}.underlined{display:inline-block;margin-top:1rem;text-transform:uppercase;font-size:.72rem;letter-spacing:.15em;text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:.4rem;color:var(--red);font-weight:700}.rose-stamp{position:absolute;left:8vw;bottom:2.4rem;width:150px;height:150px;color:var(--red);display:grid;place-items:center;transform:rotate(-8deg)}.rose-stamp svg{width:100%;height:100%;position:absolute;fill:none;stroke:currentColor;stroke-width:2}.rose-stamp span{text-align:center;text-transform:uppercase;letter-spacing:.13em;font-size:.6rem;font-weight:700}.essentials{background:var(--red-dark);color:var(--cream)}.essentials-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:4rem}.essentials .section-kicker{color:#ff8498}.essentials h2{font:600 clamp(3rem,5.8vw,5.9rem)/.95 "Fraunces",serif;letter-spacing:-.045em;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.23);border-bottom:1px solid rgba(255,255,255,.23)}.card{padding:2.5rem clamp(1rem,3vw,3rem);min-height:310px;position:relative;border-right:1px solid rgba(255,255,255,.23)}.card:last-child{border:0}.card-number{position:absolute;top:1rem;right:1rem;font-size:.65rem;color:#d99aa4}.icon{font:600 3rem Fraunces,serif;color:#ff8297;margin:2rem 0}.card h3{font:600 1.6rem Fraunces,serif;margin:.6rem 0}.card p{line-height:1.65;color:#d9c6c2;max-width:260px}.quote-section{background:var(--rose);color:var(--white);padding:clamp(6rem,12vw,12rem) 1.5rem;text-align:center}.quote-section blockquote{font:600 clamp(3rem,7vw,7.3rem)/.95 "Fraunces",serif;letter-spacing:-.05em;margin:0}.quote-section span{color:#50101b}.visit{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.visit-copy>p:not(.section-kicker){line-height:1.7;color:#5c4940}.hours{font-weight:600}.phone{display:inline-block;font:600 1.2rem Fraunces,serif;color:var(--red);margin-top:.4rem}.button-red{background:var(--red);color:#fff}.button-outline{border:1px solid var(--red);color:var(--red)}.map-card{min-height:470px;position:relative;overflow:hidden;background:#e8d8bd;border:1px solid #c7b69b;color:var(--ink);text-decoration:none}.map-grid{position:absolute;inset:-30%;opacity:.42;background-image:linear-gradient(34deg,transparent 45%,#a9977b 46%,#a9977b 48%,transparent 49%),linear-gradient(-18deg,transparent 44%,#b1a084 45%,#b1a084 47%,transparent 48%);background-size:120px 80px,150px 110px;transform:rotate(8deg)}.map-card:before,.map-card:after{content:"";position:absolute;background:#f6efe2;box-shadow:0 0 0 1px #cabb9f}.map-card:before{width:130%;height:54px;left:-15%;top:45%;transform:rotate(-7deg)}.map-card:after{height:130%;width:45px;left:57%;top:-15%;transform:rotate(18deg)}.pin{position:absolute;left:54%;top:46%;z-index:2;width:66px;height:66px;border-radius:50% 50% 50% 0;background:var(--red);transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 15px 30px #32140a33}.pin span{color:#fff;transform:rotate(45deg);font-size:1.3rem}.map-label{position:absolute;left:1.4rem;bottom:1.4rem;background:var(--white);padding:1rem 1.2rem;display:flex;flex-direction:column;box-shadow:0 12px 30px #3c281421}.map-label strong{font:600 1.15rem Fraunces,serif}.map-label span{font-size:.68rem;margin-top:.25rem;color:#735f55}.map-arrow{position:absolute;right:1.4rem;top:1.4rem;width:40px;height:40px;background:var(--white);display:grid;place-items:center;border-radius:50%}footer{background:#21090d;color:#fff;padding:3rem clamp(1.25rem,4vw,4.5rem);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem}footer p{color:#c8aaa9;font-size:.83rem}footer>div{display:flex;gap:1.5rem;text-transform:uppercase;font-size:.68rem;letter-spacing:.13em}footer small{grid-column:1/-1;color:#c3aaaa;font-size:.65rem}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(22px);transition:.75s opacity,.75s transform}.js .reveal.visible{opacity:1;transform:none}@media(max-width:850px){.site-header{grid-template-columns:1fr auto;height:72px}.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;gap:4px;background:none;border:0;padding:.7rem;color:#fff}.menu-toggle span:not(.sr-only){display:block;width:24px;height:1px;background:currentColor}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--red-dark);padding:2rem;flex-direction:column;gap:1rem;border-top:1px solid rgba(255,255,255,.2)}.site-header nav.open{display:flex}.hero{min-height:700px}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#260409e6,#4005104d),linear-gradient(0deg,rgba(24,0,5,.65),transparent 60%)}.hero-copy{width:auto;margin:0 1.25rem;padding-top:72px;align-self:flex-end;padding-bottom:5rem}.hero h1{font-size:clamp(3.4rem,15vw,5.5rem)}.hero-note{display:none}.story-grid,.visit{grid-template-columns:1fr}.story{min-height:auto;padding-bottom:10rem}.rose-stamp{bottom:1rem}.essentials-head{align-items:start;flex-direction:column}.cards{grid-template-columns:1fr}.card{min-height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.23);padding:2rem 1rem}.visit{gap:4rem}.map-card{min-height:400px}footer{grid-template-columns:1fr}footer small{grid-column:auto}}@media(max-width:480px){.hero h1{font-size:3.45rem}.hero-intro{font-size:.97rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.section{padding-left:1.2rem;padding-right:1.2rem}.story h2,.visit h2,.essentials h2{font-size:3.25rem}.visit-actions{align-items:stretch;flex-direction:column}.button{width:100%}.map-card{min-height:330px}.quote-section blockquote{font-size:3.4rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
