:root{--paper:#fff8ed;--plum:#42213e;--pink:#f5cede;--dark:#321a30;--line:#dcc6ca;--yellow:#f8de91}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--plum);font:16px/1.55 system-ui,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #97632b;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em;line-height:1.02;text-wrap:balance}h1{font-size:clamp(3.5rem,8vw,8rem)}h2{font-size:clamp(2.45rem,5vw,5rem)}h3{font-size:clamp(1.65rem,3vw,2.6rem)}p{max-width:65ch}img{display:block;width:100%;object-fit:cover}.wrap{width:min(1240px,90%);margin:auto}.block{padding:clamp(55px,8vw,110px) 0}.stack>*+*{margin-top:16px}.eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:750}.lead{font-size:clamp(1.03rem,1.5vw,1.23rem)}.bar{background:var(--plum);color:white;text-align:center;padding:7px 12px;font-size:.77rem}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:78px}.brand{font:700 2rem Georgia,serif;letter-spacing:-.08em;text-decoration:none;white-space:nowrap}.nav{display:flex;gap:clamp(12px,2.5vw,30px);font-size:.9rem}.nav a{text-decoration:none;font-weight:650}.nav a[aria-current]{text-decoration:underline;text-underline-offset:5px}.mobile{display:none}.skip{position:absolute;top:-100px;left:12px;padding:10px;background:white;z-index:10}.skip:focus{top:10px}.btn{border:1px solid var(--plum);border-radius:100px;display:inline-flex;align-items:center;min-height:48px;padding:8px 18px;background:var(--plum);color:white;text-decoration:none;font:700 .88rem system-ui;cursor:pointer}.btn.outline{background:transparent;color:inherit;border-color:currentColor}.btn:hover{filter:brightness(1.2)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--pink);min-height:clamp(550px,77svh,800px)}.hero-copy{padding:clamp(30px,6vw,100px);align-self:center}.hero h1{max-width:10ch}.hero figure{margin:0;position:relative;min-height:100%;background:#edbdba}.hero img{height:100%;position:absolute}.hero figcaption{position:absolute;bottom:12px;right:12px;color:#fff;background:#321a30e0;padding:4px 8px;font-size:.68rem}.pink{background:var(--pink)}.yellow{background:var(--yellow)}.dark{background:var(--dark);color:var(--paper)}.dark .btn{background:var(--pink);color:var(--dark)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:clamp(20px,3.5vw,38px);background:#fffdf7;border:1px solid var(--line);border-radius:18px}.card h3{margin:10px 0}.card a{font-weight:700;text-underline-offset:4px}.section-title{margin-bottom:24px}.section-title h2{margin-top:10px}.page-head h1{max-width:15ch}.filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.filter button{font:inherit;padding:8px 15px;border:1px solid var(--plum);border-radius:99px;background:transparent;color:inherit;cursor:pointer}.filter button[aria-pressed=true]{background:var(--plum);color:white}[hidden]{display:none!important}.hours{width:100%;border-collapse:collapse;font-size:.92rem}.hours th,.hours td{padding:7px 0;border-top:1px solid var(--line);text-align:left}.hours td{text-align:right}.hours caption{text-align:left;font-weight:700;margin-bottom:8px}.foot{padding:42px 0}.foot .wrap{display:grid;grid-template-columns:1fr 1fr;gap:22px}.small{font-size:.84rem}.link{font-weight:700;text-underline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:850px){.nav{display:none}.mobile{display:block;margin-left:auto;position:relative}.mobile summary{cursor:pointer;font-weight:700}.mobile nav{position:absolute;right:0;z-index:5;width:175px;background:var(--paper);box-shadow:0 8px 24px #321a3044;padding:10px}.mobile a{display:block;padding:7px}.nav-wrap{min-height:65px}}@media(max-width:650px){.hero,.grid,.grid.two,.foot .wrap{grid-template-columns:1fr}.hero figure{min-height:310px}.hero-copy{padding:45px 5%}.nav-wrap .btn{min-height:40px;padding:7px 11px}.brand{font-size:1.65rem}}
