:root{--navy:#0c355c;--navy-2:#234c6b;--cream:#eee8d8;--paper:#faf6eb;--copper:#d5a153;--ink:#17384d;--muted:#53666c;--line:#d7d1bf;--serif:'Bricolage Grotesque','Trebuchet MS',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif}
body{background:var(--paper)}h1,h2,h3{font-family:var(--serif);font-weight:700;letter-spacing:-.045em;line-height:1.05}h1{font-size:clamp(3.8rem,6.4vw,6.6rem)}h2{font-size:clamp(2.6rem,4.3vw,4.25rem)}h3{font-size:2.2rem}.eyebrow{font-weight:700;letter-spacing:.11em}.site-header{border-bottom:2px solid var(--navy)}.header-inner{height:108px}.brand-name{font-family:var(--serif);font-size:2rem;letter-spacing:-.04em;font-weight:800}.brand-name small{font-size:.65rem;letter-spacing:.16em;margin-top:4px}.nav{gap:23px}.nav a{font-size:.9rem;font-weight:700}.nav a:not(.button):hover,.nav a[aria-current=page]{text-decoration-color:#c99440;text-decoration-thickness:3px}.menu-toggle{border:2px solid var(--navy);border-radius:50%;width:46px;height:46px}.button{border-radius:999px;padding:14px 25px;min-height:53px;font-size:.88rem;font-weight:700;border:2px solid var(--navy);box-shadow:0 3px 0 rgba(12,53,92,.12);transition:background .16s,color .16s,transform .16s}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(1px);box-shadow:none}.button.light{border-color:var(--cream);background:var(--cream);color:var(--navy)}.button.copper{border-color:var(--copper)}.button.outline{background:transparent;color:var(--navy);border-color:var(--navy)}.button.outline:hover{background:var(--navy);color:var(--cream)}.hero .button.outline{color:var(--cream);border-color:var(--cream)}.hero .button.outline:hover{background:var(--cream);color:var(--navy)}.hero .button.light{background:var(--copper);border-color:var(--copper)}.hero .button.light:hover{background:#e5b769;border-color:#e5b769}.text-link{font-weight:700;text-decoration-thickness:2px;text-decoration-color:#b58033}.hero{min-height:610px}.hero-copy{padding-top:70px;padding-bottom:76px}.hero .eyebrow{color:#ead8b5;font-size:.78rem;letter-spacing:.1em}.hero .eyebrow:before{display:none}.hero h1{font-size:clamp(4.2rem,6.7vw,7rem);line-height:1.01;letter-spacing:-.055em}.hero p{font-size:1.05rem;line-height:1.7;max-width:37ch;color:#e2e7e6;margin:27px 0 31px}.hero-media{margin:24px 24px 24px 0;min-height:562px;border-radius:22px}.hero-media img{object-position:57% center}.photo-caption{background:var(--cream);color:var(--navy);border-radius:999px;left:20px;bottom:20px;padding:8px 14px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-shadow:none}.hero-media:after{display:none}.section{padding:78px 0}.page-heading{padding:59px 0 50px;background:var(--cream);border-bottom:2px solid var(--navy)}.page-heading h1{font-size:clamp(3.6rem,6.1vw,6rem);font-weight:700;line-height:1.06}.page-heading p{font-size:1.03rem;margin-top:20px}.page-heading .eyebrow{color:#795b2d}.menu-nav{border-bottom:0;gap:10px;margin-bottom:43px}.menu-nav a{border:1.5px solid var(--navy);border-radius:999px;padding:9px 19px;font-weight:600;font-size:.9rem;background:var(--paper)}.menu-nav a:hover{background:var(--navy);color:var(--cream)}.menu-section h2{font-family:var(--serif);font-weight:700;font-size:2.8rem;border-bottom:3px solid var(--navy);padding-bottom:17px;letter-spacing:-.045em}.menu-items{gap:28px 58px}.menu-item h3{font-family:var(--sans);font-size:1.03rem;font-weight:700;line-height:1.5;letter-spacing:0}.menu-item h3 span:last-child{font-size:.91rem;background:#e8d5aa;color:var(--navy);padding:1px 9px;border-radius:8px;align-self:start}.menu-item p{font-size:.94rem;line-height:1.65}.contact-card{border-top:3px solid var(--navy);padding-top:23px}.contact-card h2{font-size:2.4rem}.contact-card .eyebrow{color:#85612d;font-size:.73rem}.contact-card p{line-height:1.65}.contact-section{border-top:0}.contact-request-buttons{gap:13px}.contact-request-buttons .button{font-size:.8rem;padding:13px 20px}.visit-info h2{font-size:3.5rem;line-height:1.06}.parking-image{border:2px solid var(--navy);border-radius:16px;overflow:hidden}.hours{border-top:2px solid var(--line)}.hours h3,.overflow-parking h3{font-family:var(--sans);font-size:.95rem;letter-spacing:0}.overflow-parking .button{font-size:.8rem}.site-footer{padding-top:42px}.footer-label{color:#e0b66f;letter-spacing:.11em}.footer-brand p{color:#d0dce0}.footer-links{gap:9px}.footer-links a{font-weight:500}.footer-bottom{border-color:#46647d}.opening-banner{background:#dab474;border-bottom:2px solid var(--navy)}.opening-banner-inner{padding-top:14px;padding-bottom:14px}.opening-banner strong{font-family:var(--serif);font-size:1rem;font-weight:800;letter-spacing:-.025em}.opening-banner span{font-size:.86rem}.opening-banner a{font-weight:700;font-size:.85rem}.grand-opening{border-radius:20px;gap:42px;padding:42px;grid-template-columns:190px 1fr;margin-bottom:44px}.opening-date{background:var(--cream);color:var(--navy);border:0;border-radius:15px;padding:25px 16px;transform:rotate(-2deg)}.opening-date strong{font-family:var(--serif);font-weight:800;font-size:6.5rem;letter-spacing:-.08em}.opening-date>span:first-child{font-weight:700;font-size:1rem}.opening-date>span:last-child{font-weight:700;font-size:.66rem}.opening-details h2{font-size:3.2rem}.opening-details .eyebrow{color:#e0b66f}.opening-details li{padding:5px 0}.weekly-grid{gap:23px}.weekly-event{padding:30px;border:2px solid #c4c9bd;border-radius:18px;background:var(--cream)}.weekly-event .eyebrow{color:#85612d;margin-bottom:16px}.weekly-event h2{font-size:2.25rem;line-height:1.1;max-width:19ch}.weekly-event p{margin-top:18px}.weekly-event .text-link{margin-top:20px}.limited-special{background:var(--paper);border-radius:10px;padding:15px 17px}.limited-special p{margin-top:7px}.limited-special strong{color:#795723}.form-heading h1{font-size:clamp(3.3rem,5.3vw,5.15rem)}.form-aside h2{font-size:2.45rem}.form-aside p{line-height:1.65}.form-aside .party-option a{font-size:.78rem}.form-field label{font-size:.9rem;font-weight:700}.form-field input,.form-field select,.form-field textarea{border:1.5px solid #9caeab;border-radius:10px;background:#fffdf6;padding:12px 13px;min-height:52px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline-color:var(--navy);border-color:var(--navy)}.form-status{border:1.5px dashed #a7926b;border-radius:11px;background:var(--cream);padding:16px 18px;font-size:.87rem}.request-form button:disabled{transform:none;box-shadow:none}.form-privacy,.form-small{line-height:1.6}.party-option{border-color:var(--line)}.request-success{border-radius:16px}.form-layout{gap:64px}.form-aside a{font-weight:500}.form-aside a.button{font-weight:700}
@media(max-width:1100px){.nav{gap:19px}.hero-copy{padding-left:32px;padding-right:29px}.hero h1{font-size:clamp(4.4rem,7.4vw,6rem)}.hero-media{margin-right:18px;min-height:560px}.photo-caption{font-size:.62rem;padding:8px 11px}.grand-opening{padding:33px;gap:32px;grid-template-columns:170px 1fr}}
@media(max-width:950px){.header-inner{height:90px}.brand-name{font-size:1.9rem}.nav{gap:0}.nav a{font-size:1rem}.hero-copy{padding-top:58px;padding-bottom:62px}.hero h1{font-size:clamp(4rem,7.7vw,5.5rem)}.hero-media{min-height:540px}.form-layout{gap:38px}.grand-opening{grid-template-columns:150px 1fr;padding:29px;gap:29px}.opening-details h2{font-size:2.75rem}.opening-date strong{font-size:5.3rem}.weekly-event{padding:26px}.weekly-event h2{font-size:2.05rem}}
@media(max-width:760px){.hero-copy{padding:49px 24px 43px}.hero .eyebrow{font-size:.72rem;margin-bottom:22px}.hero h1{font-size:clamp(4.1rem,13vw,5.65rem);line-height:1.01}.hero p{font-size:1rem;max-width:35ch;margin:23px 0 28px}.hero-media{margin:0 20px 22px;min-height:320px;border-radius:17px}.hero .actions{gap:10px}.hero .button{padding:13px 17px;font-size:.78rem;min-height:51px}.photo-caption{left:15px;bottom:15px;font-size:.62rem}.section{padding:52px 0}.page-heading{padding:43px 0 38px}.page-heading h1{font-size:3.4rem}.page-heading p{font-size:.98rem}.page-heading .eyebrow{font-size:.72rem}.menu-nav{gap:8px;margin-bottom:33px}.menu-nav a{font-size:.82rem;padding:8px 15px}.menu-section h2{font-size:2.5rem}.menu-item h3{font-size:1rem}.contact-card h2{font-size:2.25rem}.visit-info h2{font-size:2.95rem}.opening-banner-inner{padding-top:12px;padding-bottom:12px}.opening-banner p{gap:3px 12px}.opening-banner strong{font-size:.96rem}.opening-banner span{font-size:.79rem}.opening-banner a{font-size:.78rem}.grand-opening{grid-template-columns:1fr;padding:26px 23px;gap:27px}.opening-date{transform:rotate(-1deg);padding:12px 17px;gap:12px;justify-content:flex-start;border-radius:11px}.opening-date strong{font-size:3.3rem;letter-spacing:-.065em}.opening-date>span:first-child{font-size:.77rem}.opening-date>span:last-child{font-size:.64rem}.opening-details h2{font-size:2.55rem}.weekly-grid{gap:18px}.weekly-event{padding:25px}.weekly-event h2{font-size:2.05rem}.form-heading h1{font-size:3rem}.form-layout{gap:26px}.form-section{padding-top:30px}.footer-brand .brand-name{font-size:1.9rem}.site-footer{padding-top:37px}.footer-bottom{font-size:.73rem}.overflow-parking .button{font-size:.77rem}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover,.button:active{transform:none}}
