:root{color-scheme:light;--paper:#fcf9f6;--ink:#291820;--muted:#63515a;--accent:#912751;--line:#e4d7dd;--blush:#f5e7ed;--white:#fff;--gutter:clamp(20px,5vw,72px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}
a{color:inherit} a:hover{color:var(--accent)} :focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.wrap{width:min(100%,1440px);margin-inline:auto;padding-inline:var(--gutter)}
.header,.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.header{min-height:80px;border-bottom:1px solid var(--line)}
.brand{font:700 30px/1 Georgia,serif;text-decoration:none;letter-spacing:-.06em;white-space:nowrap}.brand small{font:600 14px system-ui;letter-spacing:0;margin-left:5px;color:var(--accent)}
nav,.footer div{display:flex;gap:24px;flex-wrap:wrap} nav a,.header-cta{font-size:14px;text-decoration:none;font-weight:650}.header-cta{border-bottom:1px solid var(--accent);padding-block:3px}.header-cta span{margin-left:6px}
h1,h2,h3{font-family:Georgia,serif;font-weight:400;margin:0;line-height:1.03;letter-spacing:-.045em}
h1{font-size:clamp(48px,5.8vw,86px);max-width:10ch}h2{font-size:clamp(39px,4.3vw,65px)}h3{font-size:clamp(29px,3vw,42px)}
p{margin:0;color:var(--muted)}
.hero{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:clamp(30px,6vw,90px);padding-block:clamp(34px,5vw,75px) clamp(55px,7vw,102px)}
.hero p,.quote p{margin-top:19px;max-width:37ch}.choices{display:grid;justify-items:start;gap:10px;margin-top:27px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;min-height:48px;background:var(--accent);color:var(--white);border:1px solid var(--accent);border-radius:4px;font:650 14px/1.35 system-ui;text-align:left;text-decoration:none;cursor:pointer}.button:hover{background:#741a40;color:var(--white)}.button.outline{background:transparent;color:var(--accent)}.button.outline:hover{background:var(--blush)}
.photo{position:relative;margin:0;background:var(--blush)}.photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.hero-photo img{aspect-ratio:1.14;object-position:center}.photo figcaption{position:absolute;bottom:12px;left:12px;background:var(--paper);color:var(--ink);padding:3px 8px;font-size:12px}
.events{padding-bottom:clamp(55px,7vw,100px)}.events h2{border-top:1px solid var(--line);padding-top:30px;margin-bottom:28px}
.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,4vw,60px)}.event-grid img{aspect-ratio:1.72}.event-grid h3{margin-top:19px}.event-grid p{margin-top:10px;max-width:45ch}.menu-note{font-size:13px;font-weight:650}
.quote{background:var(--blush);padding-block:clamp(43px,6vw,86px)}.quote-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(28px,6vw,90px);align-items:start}.hours{font-size:14px;font-weight:650}
form{background:var(--paper);padding:clamp(18px,3vw,34px);border:1px solid var(--line);border-radius:5px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-bottom:22px}.field{min-width:0}label{display:block;font-size:14px;font-weight:650;margin-bottom:7px}input,select{width:100%;min-width:0;min-height:46px;border:1px solid #ac97a3;background:#fff;border-radius:4px;padding:8px;color:var(--ink);font:inherit}input[aria-invalid=true],select[aria-invalid=true]{border-color:#a02639}.quote .error{font-size:13px;color:#a02639;margin:5px 0 0}.footer{padding-block:28px}.footer a:not(.brand),.footer p{font-size:14px}
@media(max-width:740px){.header{min-height:66px;gap:12px}.header nav{display:none}.brand{font-size:25px}.brand small{font-size:12px}.hero,.quote-grid,.event-grid{grid-template-columns:1fr}.hero{gap:24px}.hero h1{max-width:13ch}.hero-photo img{aspect-ratio:1.48}.choices{margin-top:21px}.event-grid{gap:35px}.footer{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:480px){.fields{grid-template-columns:1fr}.choices .button,form .button{width:100%}}
