:root{--font-display: "Bodoni Moda", Georgia, "Times New Roman", serif;--font-body: "Work Sans", "Segoe UI", system-ui, sans-serif;--color-mat: #292019;--color-bg: #F1E9DB;--color-surface: #FAF6ED;--color-surface-2: #EAE0CD;--color-ink: #2A2119;--color-ink-muted: #6C6153;--color-primary: #8C4430;--color-primary-dark: #6E3423;--color-accent: #A07A3B;--color-border: #DCCFB2;--color-border-strong: #C7B790;--color-on-primary: #F6EEDF;--space-1: 4px;--space-2: 8px;--space-3: 14px;--space-4: 22px;--space-5: 34px;--space-6: 52px;--space-7: 80px;--space-8: 120px;--fs-eyebrow: .76rem;--fs-small: .92rem;--fs-body: 1.05rem;--fs-lead: 1.22rem;--fs-h4: clamp(1.2rem, 1.05rem + .5vw, 1.4rem);--fs-h3: clamp(1.55rem, 1.3rem + 1vw, 2.05rem);--fs-h2: clamp(2.05rem, 1.6rem + 1.8vw, 2.9rem);--fs-h1: clamp(2.9rem, 1.9rem + 4.4vw, 5.4rem);--container: 1080px;--container-narrow: 700px;--frame-margin: clamp(0px, 3vw, 40px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-mat);color:var(--color-ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-ink);font-weight:600;line-height:1.12;margin:0;text-wrap:balance}h1{font-size:var(--fs-h1);font-weight:700}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}p{margin:0}a{color:inherit}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}.page-frame{max-width:calc(var(--container) + var(--frame-margin) * 2 + 2px);margin:0 auto;background:var(--color-bg);border-left:1px solid var(--color-border-strong);border-right:1px solid var(--color-border-strong);box-shadow:0 0 0 1px #00000005,0 40px 90px #0a060259}.container{max-width:var(--container);margin:0 auto;padding-inline:var(--space-4)}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding-inline:var(--space-4)}section{padding-block:var(--space-7)}.eyebrow{display:inline-block;font-family:var(--font-body);font-size:var(--fs-eyebrow);letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--color-primary)}.rule{border:none;border-top:1px solid var(--color-border-strong);margin:0}.fleuron{display:block;text-align:center;color:var(--color-accent);font-size:1.3rem;margin-bottom:var(--space-3)}.section-head{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;margin-bottom:var(--space-6)}.section-head p.lede{max-width:52ch;color:var(--color-ink-muted);font-size:var(--fs-small);margin-top:var(--space-1)}.text-muted{color:var(--color-ink-muted)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:.85em 1.6em;font-family:var(--font-body);font-size:var(--fs-small);letter-spacing:.06em;text-transform:uppercase;font-weight:600;text-decoration:none;border-radius:2px;border:1px solid transparent}.btn--solid{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.btn--solid:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn--outline{background:transparent;border-color:currentColor;color:inherit}.btn--outline:hover{background:#0000000d}.link-underline{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--color-border-strong)}.link-underline:hover{text-decoration-color:currentColor}.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--color-bg) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-border)}.site-header .container{padding-block:var(--space-3)}.brand{display:block;text-align:center;font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:.03em;text-decoration:none;color:var(--color-ink)}.nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-5);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);list-style:none;padding-left:0}.nav-links a{font-size:var(--fs-eyebrow);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--color-ink-muted)}.nav-links a:hover{color:var(--color-primary)}.nav-toggle{display:none}@media (max-width: 640px){.nav-links{gap:var(--space-4) var(--space-4)}}.hero{position:relative;min-height:min(88vh,780px);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--color-on-primary);text-align:center}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--hero-image);background-size:cover;background-position:center 65%;background-attachment:fixed}@media (max-width: 800px){.hero__bg{background-attachment:scroll}}.hero__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1e130c8c,#1e130c6b 45%,#140d08b8)}.hero__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-4);max-width:720px}.hero__content .eyebrow{color:#e7c08f}.hero h1{color:#fbf3e4;font-size:var(--fs-h1);letter-spacing:.01em}.hero__tagline{font-size:var(--fs-lead);color:#f0e4d2;max-width:46ch}.hero__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-2)}.hero .btn--outline{border-color:#f6eedfb3;color:#fbf3e4}.hero .btn--outline:hover{background:#ffffff1f}.about{background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.about__body{display:flex;flex-direction:column;gap:var(--space-4);text-align:center;align-items:center}.about__body p{font-size:var(--fs-lead);color:var(--color-ink-muted);max-width:62ch}.about__body p:first-of-type{color:var(--color-ink)}.menu-note{text-align:center;color:var(--color-ink-muted);font-size:var(--fs-small);font-style:italic}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6) var(--space-6)}@media (max-width: 720px){.menu-grid{grid-template-columns:1fr}}.menu-course__label{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--color-primary);margin-bottom:var(--space-3);padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border-strong)}.menu-items{display:flex;flex-direction:column;gap:var(--space-3)}.menu-item__title{font-family:var(--font-display);font-size:var(--fs-h4);font-weight:600}.menu-item__desc{font-size:var(--fs-small);color:var(--color-ink-muted);margin-top:2px}.menu-callout{margin-top:var(--space-6);text-align:center;padding:var(--space-4);border:1px solid var(--color-border-strong);background:var(--color-surface)}.menu-callout strong{color:var(--color-primary);font-family:var(--font-display)}.gallery{background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}@media (max-width: 720px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.gallery-cell{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--color-surface-2);border:1px solid var(--color-border)}.gallery-cell img{width:100%;height:100%;object-fit:cover}.reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);max-width:840px;margin:0 auto}@media (max-width: 640px){.reviews-grid{grid-template-columns:1fr}}.review-card{background:var(--color-surface);border:1px solid var(--color-border-strong);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.review-stars{color:var(--color-accent);letter-spacing:2px;font-size:.95rem}.review-quote{font-family:var(--font-display);font-size:var(--fs-h4);line-height:1.3}.review-meta{font-size:var(--fs-small);color:var(--color-ink-muted)}.visit{background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.visit-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--space-6);align-items:stretch}@media (max-width: 800px){.visit-grid{grid-template-columns:1fr}}.visit-card{display:flex;flex-direction:column;gap:var(--space-4)}.visit-row{display:flex;gap:var(--space-3);align-items:flex-start}.visit-row .icon{width:1.2em;color:var(--color-primary);flex:none;margin-top:2px}.visit-row h4{font-size:1rem;margin-bottom:2px}.map-frame{border:1px solid var(--color-border-strong);min-height:320px;overflow:hidden}.map-frame iframe{width:100%;height:100%;min-height:320px;border:0;display:block;filter:sepia(12%) saturate(85%)}.contact-form{display:grid;gap:var(--space-4);max-width:var(--container-narrow);margin:0 auto;background:var(--color-surface);border:1px solid var(--color-border-strong);padding:var(--space-5)}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 560px){.form-row-2{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--color-ink-muted)}.field input,.field textarea{font-family:var(--font-body);font-size:var(--fs-body);padding:.75em .9em;border:1px solid var(--color-border-strong);background:var(--color-bg);color:var(--color-ink);border-radius:2px}.field input:focus,.field textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.form-status{font-size:var(--fs-small);padding:var(--space-2) 0}.form-status--ok{color:#3f6b3e}.form-status--err{color:var(--color-primary)}.cf-turnstile{margin-top:2px}.site-footer{background:var(--color-ink);color:var(--color-bg)}.site-footer .container{padding-block:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.site-footer .brand{color:var(--color-bg)}.footer-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4);font-size:var(--fs-small);color:color-mix(in srgb,var(--color-bg) 75%,transparent)}.footer-meta a{text-decoration:none}.footer-meta a:hover{color:var(--color-accent)}.footer-copy{font-size:var(--fs-eyebrow);color:color-mix(in srgb,var(--color-bg) 55%,transparent);letter-spacing:.06em}.skip-link{position:absolute;left:-999px;top:0;background:var(--color-primary);color:var(--color-on-primary);padding:10px 16px;z-index:100}.skip-link:focus{left:var(--space-3);top:var(--space-3)}
