:root{--paper: #f3efe7;--cool: #e3ece9;--ink: #171615;--muted: #625d56;--line: #c9c1b6;--wine: #772e3d;--citrus: #e9a34a;--font-body: "Manrope", Arial, sans-serif;--font-display: "Newsreader", Georgia, serif;font-family:var(--font-body);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem;background:var(--paper)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:clip;background:var(--paper)}button,input,select,textarea{font:inherit}a{text-decoration:none}img{max-width:100%}::-moz-selection{background:var(--citrus);color:var(--ink)}::selection{background:var(--citrus);color:var(--ink)}:focus-visible{outline:3px solid var(--citrus);outline-offset:3px}#root{min-height:100%}.skip-link{position:fixed;left:1rem;top:1rem;z-index:20;transform:translateY(-180%);background:var(--ink);color:var(--paper);padding:.75rem 1rem}.skip-link:focus{transform:none}.site-header{position:relative;z-index:5;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:5.25rem;padding:0 4vw;border-bottom:1px solid var(--line);background:var(--paper)}.wordmark{justify-self:start;color:var(--ink);font-size:1.12rem;font-weight:800;letter-spacing:-.035em;text-transform:uppercase}.wordmark span{color:var(--wine)}.desktop-nav{display:flex;align-items:center;gap:2rem;font-size:.82rem;font-weight:650}.desktop-nav a{color:var(--muted)}.desktop-nav a:hover{color:var(--wine)}.header-action{justify-self:end;min-height:2.75rem;padding:0 1rem;border:1px solid var(--ink);background:transparent;color:var(--ink);font:inherit;font-size:.82rem;font-weight:750;cursor:pointer}.header-action:hover{background:var(--ink);color:var(--paper)}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(22rem,.8fr);min-height:calc(100svh - 5.25rem);border-bottom:1px solid var(--line)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4.5rem,8vw,8rem) clamp(2rem,7vw,7rem)}.location,.section-heading>p:first-child,.section-kicker,.contact-intro>p:first-child{margin:0 0 1.5rem;color:var(--wine);font-size:.76rem;font-weight:800}.hero h1{max-width:10ch;margin:0;font-family:var(--font-display);font-size:clamp(4rem,7.3vw,7.6rem);font-weight:430;letter-spacing:-.06em;line-height:.91}.hero-intro{max-width:39rem;margin:2rem 0 0;color:var(--muted);font-size:clamp(1rem,1.6vw,1.22rem);line-height:1.6}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}.button{display:inline-flex;min-height:3.4rem;align-items:center;justify-content:center;padding:0 1.4rem;border:1px solid transparent;font:inherit;font-size:.9rem;font-weight:800;cursor:pointer}.button-primary{background:var(--wine);color:#fff}.button-primary:hover{background:#5d2030}.button:disabled{cursor:wait;opacity:.65}.phone-link{min-height:2.75rem;padding-top:.8rem;border-bottom:1px solid var(--ink);color:var(--ink);font-size:.88rem;font-weight:750}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);max-width:43rem;margin:3rem 0 0;border-top:2px solid var(--ink)}.hero-proof div{padding:.85rem .75rem .85rem 0;border-right:1px solid var(--line)}.hero-proof div+div{padding-left:.75rem}.hero-proof dt{color:var(--wine);font-size:.7rem;font-weight:800}.hero-proof dd{margin:.35rem 0 0;font-size:.82rem;line-height:1.4}.hero-campaign{position:relative;min-width:0;margin:0;overflow:hidden;background:#d7d4c8}.hero-campaign picture,.hero-campaign img{display:block;width:100%;height:100%}.hero-campaign img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.service-boundary{display:grid;grid-template-columns:repeat(3,1fr);background:var(--wine);color:#fff}.service-boundary span{display:flex;min-height:4.4rem;align-items:center;justify-content:center;padding:.8rem 1rem;border-right:1px solid rgba(255,255,255,.24);font-size:.82rem;font-weight:700;text-align:center}.service-section,.booking-section,.questions-section{width:min(100% - 3rem,82rem);margin:0 auto;padding:clamp(5.5rem,10vw,9rem) 0}.section-heading{display:grid;grid-template-columns:.55fr 1fr;gap:1.5rem 5vw;align-items:start}.section-heading>p:first-child{grid-row:1 / span 2}.section-heading h2,.menu-copy h2,.contact-intro h2{max-width:13ch;margin:0;font-family:var(--font-display);font-size:clamp(2.8rem,5.7vw,5.8rem);font-weight:430;letter-spacing:-.055em;line-height:.96}.section-intro{max-width:40rem;margin:.25rem 0 0;color:var(--muted);line-height:1.75}.service-list{margin-top:clamp(4rem,7vw,7rem);border-top:2px solid var(--ink)}.service-list article{display:grid;grid-template-columns:.7fr 1fr;gap:2rem 5vw;padding:2rem 0;border-bottom:1px solid var(--line)}.service-list h3,.booking-list h3{margin:0;font-family:var(--font-display);font-size:1.85rem;font-weight:480;letter-spacing:-.025em}.service-list p,.booking-list p{max-width:38rem;margin:0;color:var(--muted);line-height:1.7}.menu-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--cool)}.service-photo{margin:0;background:var(--ink)}.service-photo picture,.service-photo img{display:block;width:100%}.service-photo img{aspect-ratio:3 / 4;height:100%;-o-object-fit:cover;object-fit:cover}.menu-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,8rem)}.menu-copy>p:not(.section-kicker){max-width:38rem;margin:2rem 0 0;color:var(--muted);line-height:1.75}.menu-note{display:grid;gap:.55rem;max-width:38rem;margin-top:3rem;padding-top:1.25rem;border-top:2px solid var(--wine)}.menu-note strong{color:var(--wine);font-size:.9rem}.menu-note span{color:var(--muted);line-height:1.6}.booking-section{border-bottom:1px solid var(--line)}.section-heading.compact{grid-template-columns:.45fr 1fr}.booking-list{margin:5rem 0 0;padding:0;list-style:none;border-top:2px solid var(--ink)}.booking-list li{display:grid;grid-template-columns:3rem .65fr 1fr;gap:1.5rem;padding:1.7rem 0;border-bottom:1px solid var(--line)}.booking-list li>span{display:grid;width:2.1rem;height:2.1rem;place-items:center;border:1px solid var(--wine);color:var(--wine);font-size:.75rem;font-weight:800}.booking-list li>div{display:contents}.questions-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw}.questions-section .section-heading{display:block}.questions-section .section-heading>p:first-child{margin-bottom:1.5rem}.faq-list{border-top:2px solid var(--ink)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;padding:1.35rem 2.5rem 1.35rem 0;font-family:var(--font-display);font-size:1.35rem;font-weight:520;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:0;color:var(--wine);font-family:var(--font-body)}.faq-list details[open] summary:after{content:"–"}.faq-list p{max-width:38rem;margin:0 0 1.5rem;color:var(--muted);line-height:1.7}.contact-section{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(3rem,7vw,7rem);padding:clamp(5rem,9vw,8rem) max(4vw,calc((100vw - 82rem)/2));background:var(--wine);color:#fff}.contact-intro>p:first-child{color:var(--citrus)}.contact-intro h2{color:#fff}.contact-intro>p:not(:first-child){max-width:34rem;margin:2rem 0 0;color:#ffffffbf;line-height:1.75}.direct-contact{display:grid;gap:.65rem;margin-top:3rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.35)}.direct-contact a{width:-moz-fit-content;width:fit-content;color:#fff;font-weight:750}.direct-contact span{color:#ffffffad;font-size:.83rem}.inquiry-form{align-self:start;padding:clamp(1.5rem,4vw,3rem);background:var(--paper);color:var(--ink)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}.inquiry-form label{display:grid;gap:.45rem}.inquiry-form label>span{font-size:.75rem;font-weight:800}.inquiry-form small{color:var(--muted);font-weight:500}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;min-height:3rem;border:0;border-bottom:1px solid #a79f94;border-radius:0;background:transparent;color:var(--ink);font:inherit}.inquiry-form textarea{padding-top:.8rem;resize:vertical}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{outline:0;border-bottom:2px solid var(--wine)}.field-wide{grid-column:1 / -1}.form-submit{width:100%;margin-top:1.5rem}.form-note{margin:1rem 0 0;color:var(--muted);font-size:.72rem;line-height:1.6;text-align:center}.form-note a{color:var(--ink);text-decoration:underline}.form-status{display:none;margin:1rem 0 0;padding:.8rem;border:1px solid currentColor;font-size:.82rem;line-height:1.5;text-align:center}.form-status.success,.form-status.error{display:block}.form-status.success{color:#266642}.form-status.error{color:#a32235}.site-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;padding:2.25rem 4vw;background:var(--ink);color:#ffffffad}.site-footer .wordmark{color:#fff}.site-footer p{margin:0;font-size:.75rem}.site-footer>div{display:flex;justify-self:end;gap:1.15rem;font-size:.72rem}.site-footer a{color:inherit}@media(max-width:900px){.site-header{grid-template-columns:1fr auto;min-height:4.5rem;padding-inline:1rem}.desktop-nav{display:none}.header-action{min-height:2.5rem;padding-inline:.8rem}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:auto;justify-content:flex-end;padding:3rem 1.25rem 2.25rem}.hero h1{max-width:9ch;font-size:clamp(3.5rem,14.5vw,5.6rem)}.hero-campaign{order:-1;aspect-ratio:8 / 5}.hero-campaign img{-o-object-position:center 18%;object-position:center 18%}.service-section,.booking-section,.questions-section{width:min(100% - 2.5rem,82rem)}.section-heading,.section-heading.compact{grid-template-columns:1fr}.section-heading>p:first-child{grid-row:auto;margin-bottom:.25rem}.menu-section{grid-template-columns:1fr}.service-photo img{max-height:46rem}.menu-copy{padding:4rem 1.25rem}.booking-list li{grid-template-columns:2.5rem 1fr}.booking-list li>div{display:block}.booking-list p{margin-top:.5rem}.questions-section{grid-template-columns:1fr}.contact-section{grid-template-columns:1fr;padding-inline:1.25rem}.site-footer{grid-template-columns:1fr}.site-footer>div{justify-self:start;flex-wrap:wrap}}@media(max-width:520px){.wordmark{font-size:.94rem}.location{margin-bottom:1.1rem}.hero h1{font-size:clamp(3.25rem,15vw,4.3rem)}.hero-intro{margin-top:1.4rem;font-size:.98rem}.hero-actions{display:grid;gap:.8rem;margin-top:1.5rem}.button-primary{width:100%}.phone-link{width:-moz-fit-content;width:fit-content}.hero-proof{margin-top:2rem}.service-boundary{grid-template-columns:1fr}.service-boundary span{min-height:3rem;border-right:0;border-bottom:1px solid rgba(255,255,255,.24)}.section-heading h2,.menu-copy h2,.contact-intro h2{font-size:clamp(2.8rem,13vw,4rem)}.service-list article{grid-template-columns:1fr;gap:.8rem}.field-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}}@media(max-width:360px)and (max-height:650px){.hero-campaign{aspect-ratio:16 / 7}.hero-copy{padding:1.5rem 1rem 1.75rem}.location{margin-bottom:.7rem;font-size:.66rem}.hero h1{max-width:100%;font-size:2.75rem;line-height:.9}.hero-intro{margin-top:.9rem;font-size:.84rem;line-height:1.45}.hero-actions{margin-top:.9rem}.hero-actions .button{min-height:3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
