:root{--green:#173d32;--cream:#f7f3e9;--gold:#b78c4b;--ink:#233c33;--muted:#657064}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08}h1{font-size:clamp(48px,5.1vw,78px);letter-spacing:-3px}h2{font-size:clamp(40px,4vw,59px);letter-spacing:-2px}h3{font-size:27px}em{font-weight:400;color:#a17737}p{color:var(--muted)}.skip{position:absolute;top:-60px;background:white;padding:10px;z-index:9}.skip:focus{top:0}.topline{background:var(--green);color:#f3ecdf;font-size:10px;letter-spacing:1.8px;padding:9px 6%;display:flex;justify-content:space-between}header{display:flex;align-items:center;justify-content:space-between;padding:27px 6%;border-bottom:1px solid #d9d8cb;gap:25px;background:var(--cream)}.brand{font:30px/1 Georgia,serif;white-space:nowrap}.brand span{display:block;font:8px/1.6 Arial,sans-serif;letter-spacing:2.1px;margin-top:9px}nav{display:flex;align-items:center;gap:27px;font-size:13px}nav a:hover,.textlink:hover{color:var(--gold)}#navtoggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--green);color:#fff;padding:15px 23px;font-size:13px;border:1px solid var(--green);border-radius:2px;line-height:1.4}.btn:hover{background:#2b5341;color:white}.btn.small{padding:12px 17px;font-size:12px}.textlink{font-size:13px;border-bottom:1px solid var(--gold);padding:5px 0;display:inline-block}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:6%;padding:56px 6% 65px;max-width:1600px;margin:auto}.eyebrow{font-size:10px;letter-spacing:2.2px;color:#8f743f;font-weight:bold;margin-bottom:24px}.lead{font-size:17px;max-width:440px;margin:27px 0 30px}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.heronote{font-size:11px;margin-top:40px;letter-spacing:1px}.heroart{position:relative;max-width:500px;width:100%;justify-self:end}.arch{background:var(--green);border-radius:230px 230px 4px 4px;padding:10px 7px;box-shadow:16px 16px 0 #e9e2d1}.arch svg{display:block;width:100%}.artbadge{position:absolute;bottom:25px;left:-37px;border-radius:50%;background:#d9bf8e;width:125px;height:125px;display:grid;align-content:center;text-align:center;font:21px/1.1 Georgia;transform:rotate(-9deg)}.ribbon{border-block:1px solid #d4d5c5;display:flex;justify-content:space-around;gap:20px;padding:20px 6%;font-size:10px;letter-spacing:2px}.ribbon span:nth-child(even){color:var(--gold)}.section{padding:90px 6%;max-width:1600px;margin:auto}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:38px}.sectionhead>p{max-width:370px;font-size:14px}.tabs{display:flex;gap:28px;border-bottom:1px solid #cdd1c3}.tabs button{border:0;background:none;padding:17px 0;font-size:13px;color:#677364;border-bottom:2px solid transparent}.tabs button[aria-selected=true]{color:var(--green);border-color:var(--green)}.menulist{display:grid;grid-template-columns:1fr 1fr;gap:0 65px}.dish{border-bottom:1px solid #d9dccf;padding:29px 0}.dish h3{font-size:24px}.dish p{font-size:13px;margin-top:11px}.menufoot{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:26px}.menufoot p{font-size:11px}.barsection{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;background:var(--green);color:var(--cream);padding:55px 9%}.barsection p:not(.eyebrow){color:#ccd4c6;font-size:15px;margin-top:25px;max-width:420px}.barsection em{color:#d3b57c}.barsection .eyebrow{color:#d3b57c}.barsection .textlink{margin-top:28px}.barvisual{max-width:400px;width:100%;justify-self:center;text-align:center}.barvisual svg{display:block;width:100%}.barvisual p{font:10px Arial!important;letter-spacing:4px!important;margin:0 auto!important}.takeout{display:grid;grid-template-columns:1fr 1fr;gap:0 12%;border-bottom:1px solid #d6d9cc}.takeout>.eyebrow{grid-column:1/-1}.takeout>div{align-self:center}.takeout>div p{margin-bottom:24px;max-width:420px}.takeout .textlink{margin-left:20px}.celebrate{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#edeedf}.celebrate>div>p:not(.eyebrow){max-width:420px;margin-top:28px;font-size:15px}.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.chips span{font-size:10px;border:1px solid #c1c9b5;padding:8px 10px}form{background:var(--cream);padding:35px}form h3{margin-bottom:22px}label{display:block;font-size:11px;letter-spacing:.2px;margin-bottom:14px}input,select,textarea{width:100%;border:1px solid #ccd1c1;background:#fffdf6;padding:11px;margin-top:6px;border-radius:2px;color:var(--ink);font-size:13px}textarea{resize:vertical}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:13px}form .btn{width:100%}.formnote{font-size:10px;margin-top:13px}#formstatus{font-size:12px;margin-top:10px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:12%}address{font-style:normal;font-size:19px;margin:27px 0}.visitdetails{border-left:1px solid #cdd1c3;padding-left:45px}.visitdetails>div{margin-bottom:28px}.visitdetails h3{font-size:23px;margin-bottom:10px}.visitdetails p{font-size:14px}.visitdetails a{display:block;font-size:14px;overflow-wrap:anywhere}footer{background:var(--green);color:var(--cream);padding:40px 6%;display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}footer p{color:#becbbb;font:italic 17px Georgia}footer small,footer>a:last-child{font-size:10px;color:#ccd4c6}@media(min-width:1600px){.barsection{padding-inline:max(9%,calc((100vw - 1300px)/2))}}@media(max-width:1000px){nav{gap:16px}.brand{font-size:25px}.hero{gap:5%;padding-top:40px}h1{letter-spacing:-2px}.heroart{max-width:400px}.takeout .textlink{margin-left:0;margin-top:16px}.celebrate{gap:5%}}@media(max-width:760px){.topline{font-size:8px;letter-spacing:.6px}.topline a{display:none}header{padding:22px 6%;position:relative;flex-wrap:wrap}.brand{font-size:28px}#navtoggle{display:block;background:none;border:1px solid #bfc8b6;color:var(--green);font-size:12px;padding:8px 12px}nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:15px}nav.open{display:flex}nav a{padding:8px 0}.hero{grid-template-columns:1fr;padding-top:43px;gap:45px}.hero h1{font-size:52px}.heroart{max-width:330px;justify-self:center}.heronote{margin-top:25px;font-size:10px}.eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:18px}.lead{font-size:15px}.artbadge{width:100px;height:100px;font-size:18px;left:-14px}.ribbon{font-size:8px;letter-spacing:1px;flex-wrap:wrap;gap:12px}.ribbon span:last-child{display:none}.section{padding:60px 6%}.sectionhead{display:block}.sectionhead>p{margin-top:25px}.menulist{grid-template-columns:1fr}.menufoot{align-items:start;flex-direction:column}.tabs{gap:23px}.tabs button{font-size:11px}.barsection{grid-template-columns:1fr;padding:45px 6% 60px;gap:32px}.barvisual{max-width:270px}.barsection h2{font-size:45px}.takeout,.celebrate,.visit{grid-template-columns:1fr;gap:30px}.takeout>div p{max-width:none}.takeout .textlink{margin-left:14px}.celebrate form{padding:25px}.visitdetails{border-left:none;border-top:1px solid #cdd1c3;padding:30px 0 0}footer{flex-direction:column;align-items:start}h2{font-size:44px}.formrow{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand img{display:block;width:220px;height:auto;max-width:100%}header .brand{margin-block:-13px}footer .brand img{width:200px} @media(max-width:760px){header .brand img{width:180px}header .brand{margin-block:-8px}}

/* Restaurant photography */
.hero-photo{margin:0;position:relative;border-radius:220px 220px 4px 4px;overflow:hidden;box-shadow:16px 16px 0 #e9e2d1;background:#e5dfd0;aspect-ratio:4/5}.hero-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:34px 20px 18px;background:linear-gradient(transparent,rgba(23,61,50,.9));color:white;font-size:9px;letter-spacing:2px;text-align:center}.foodgallery{padding-top:20px}.photogrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px}.photogrid figure{margin:0;grid-column:span 2}.photogrid figure:nth-child(n+4){grid-column:span 3}.photo-frame{overflow:hidden;background:#e8e3d5;aspect-ratio:1/1}.photo-frame img{width:100%;height:100%;display:block;object-fit:cover}.photogrid figcaption{font:22px/1.3 Georgia,serif;padding-top:14px}.pasta-photo img{object-position:77% 50%}.salmon-photo img{object-position:50% 47%}.grill-photo img{object-position:50% 48%}.starter-photo img{object-position:50% 47%}.steak-shrimp-photo img{object-position:73% 50%}.galleryend{text-align:center;margin-top:30px}nav{gap:20px}
@media(max-width:1000px){nav{gap:13px;font-size:12px}.brand img{width:190px}.photogrid{gap:20px}}
@media(max-width:760px){.hero-photo{width:100%;max-width:380px;aspect-ratio:4/5}.foodgallery{padding-top:10px}.photogrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.photogrid figure,.photogrid figure:nth-child(n+4){grid-column:span 1}.photogrid figure:last-child{grid-column:1/-1;max-width:100%}.photogrid figure:last-child .photo-frame{aspect-ratio:4/3}.photogrid figcaption{font-size:19px}nav{font-size:13px}}

/* Expanded dishes and dining room */
.photogrid figure:nth-child(n+4){grid-column:span 2}.atmosphere{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:7%;padding-bottom:0}.atmosphere-photo{overflow:hidden;aspect-ratio:4/3}.atmosphere-photo img{display:block;width:100%;height:100%;object-fit:cover}.atmosphere-copy>p:not(.eyebrow){font-size:15px;margin:25px 0;max-width:390px}
@media(max-width:760px){.photogrid figure:nth-child(n+4){grid-column:span 1}.photogrid figure:last-child{grid-column:1/-1}.atmosphere{grid-template-columns:1fr;gap:30px}.atmosphere-photo{aspect-ratio:4/3}.atmosphere-copy>p:not(.eyebrow){max-width:none}}

.specials{background:#eeecdf}.specialcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.specialcards article{padding:30px;background:var(--cream);border-top:3px solid var(--green)}.specialcards h3{font-size:29px}.specialcards article>p:not(.eyebrow):not(.offerprice){font-size:14px;margin:14px 0}.specialcards .offerprice{font:35px/1.2 Georgia;color:#92703d;margin-top:20px}.specialcards details{font-size:12px;margin-top:20px}.specialcards summary{cursor:pointer;color:var(--green)}.specialcards ul{padding-left:17px;color:var(--muted)}.weeklyextras{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.weeklyextras article{padding:35px;background:var(--cream)}.weeklyextras .music{background:var(--green);color:var(--cream)}.music p{color:#d8dfcd;margin-top:20px}.music h3{font-size:39px}.music em{color:#d1b27b}.music .eyebrow{color:#d1b27b;margin-top:0}.music a{margin-top:25px}.happyhour dl{margin:24px 0}.happyhour dl>div{display:flex;justify-content:space-between;border-bottom:1px solid #d7daca;padding:7px 0;font-size:14px}.happyhour dd{margin:0;color:#8c6732}.smallprint{font-size:11px}.passport{display:grid;grid-template-columns:1.5fr 1fr;gap:35px;padding:35px;background:#e0d3b5;margin-top:22px}.passport h3{font-size:34px}.passport>div>p:not(.eyebrow){font-size:14px;margin-top:20px}.passportprice{text-align:center;align-self:center}.passportprice>strong{display:block;font:45px Georgia}.passportprice>span{display:block;font-size:9px;letter-spacing:2px;margin-top:8px}.passportprice .btn{margin-top:20px}.second-room{grid-column:1/-1;margin:30px 0 0;position:relative;overflow:hidden;height:370px}.second-room img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 56%}.second-room figcaption{position:absolute;bottom:0;left:0;right:0;color:white;background:linear-gradient(transparent,rgba(23,61,50,.85));padding:40px 28px 20px;font:italic 25px Georgia}.visitdetails p.parkingterms{font-size:11px;margin-top:12px}.visitdetails>div>p+p{margin-top:15px}
@media(max-width:760px){.specialcards,.weeklyextras,.passport{grid-template-columns:1fr}.specialcards article,.weeklyextras article,.passport{padding:27px}.passportprice{text-align:left}.second-room{height:390px;margin-top:0}.second-room img{object-position:50% 65%}}

.fullmenus{margin-top:50px;padding-top:32px;border-top:1px solid #cdd1c3}.fullmenuhead p{font-size:13px;margin:12px 0 25px}.menudocs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.menudoc{display:block;background:#eeecdf;border:1px solid #d4d5c5}.menuthumb{background:#e8dec5;aspect-ratio:2/3;overflow:hidden}.menuthumb img{display:block;width:100%;height:100%;object-fit:contain}.menudoc>div:last-child{padding:18px}.menudoc h4{font:20px/1.2 Georgia;margin:0 0 10px}.menudoc p{font-size:11px;line-height:1.5;min-height:34px}.menudoc span{display:inline-block;font-size:10px;margin-top:14px;color:#8b692f;border-bottom:1px solid #b78c4b}.menudoc:hover{border-color:#b78c4b}.menuterms{font-size:11px;margin-top:25px;max-width:900px}.dish h3{display:flex;justify-content:space-between;gap:15px;align-items:baseline}.dishprice{font-size:20px;color:#8d6935;white-space:nowrap}.musicposter{display:block;margin-top:24px!important;max-width:235px}.musicposter img{display:block;width:100%;height:auto;border:1px solid #b19461}
@media(max-width:1000px){.menudocs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.menudocs{gap:15px}.menudoc>div:last-child{padding:13px}.menudoc h4{font-size:18px}.menudoc p{min-height:50px}.dishprice{font-size:19px}.musicposter{max-width:280px;margin-inline:auto}}

.hours{width:100%;border-collapse:collapse;font-size:12px;margin-top:17px}.hours caption{text-align:left;font-size:11px;color:var(--muted);margin-bottom:8px}.hours th,.hours td{text-align:left;padding:10px 5px;border-bottom:1px solid #d9dccf}.hours thead th{font-size:10px;color:var(--muted);font-weight:normal;letter-spacing:.5px}.hours tbody th{font-weight:normal}.hours td{white-space:nowrap}.visitdetails p.hoursnote{font-size:11px;margin-top:14px}@media(max-width:1000px){.visit{gap:6%}.visitdetails{padding-left:25px}}@media(max-width:760px){.visitdetails{padding-left:0}.hours{font-size:12px}}

.menudocs{grid-template-columns:repeat(3,minmax(0,1fr))}.menudoc p.printednote{font-size:10px;color:#845a2c;margin-top:9px}.tabs{overflow-x:auto;white-space:nowrap}.tabs button{flex-shrink:0}@media(max-width:1000px){.menudocs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact original-photo collections: keep smaller uploads at thumbnail size. */
.bar-photo-collection{display:grid;grid-template-columns:repeat(2,160px);gap:20px;justify-content:center;align-items:center}.bar-photo-collection figure{margin:0;border:1px solid #927b52;padding:6px}.bar-photo-collection img{display:block;width:100%;height:198px;object-fit:cover}.bar-photo-collection figure:nth-child(4) img{object-fit:contain;background:#102c24}.small-tastes{margin-top:55px;padding:30px 0;border-block:1px solid #d4d5c5;display:flex;gap:35px;align-items:center;justify-content:space-between}.small-tastes h3{font-size:32px}.small-tastes-pictures{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}.small-tastes figure{width:160px;margin:0}.small-tastes img{width:160px;height:195px;object-fit:cover;display:block}.small-tastes figcaption{font:16px/1.4 Georgia;padding-top:10px}.villa-moments{grid-column:1/-1;margin-top:30px}.villa-moments h3{font-size:31px;margin-bottom:25px}.moment-pictures{display:flex;gap:20px;overflow-x:auto;padding-bottom:15px}.moment-pictures figure{margin:0;flex:0 0 160px}.moment-pictures img{width:160px;height:200px;object-fit:cover;display:block}.moment-pictures figure:nth-child(5) img,.moment-pictures figure:nth-child(6) img{object-fit:contain;background:#e9e4d6}
.clear-room-pair{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.clear-room-pair figure{margin:0}.clear-room-pair img{width:100%;height:470px;display:block;object-fit:cover;object-position:center 60%}.clear-room-pair figcaption{font:italic 23px Georgia;margin-top:15px}.entrance-photo{margin:35px 0 0;max-width:380px}.entrance-photo img{display:block;width:100%;height:auto}.entrance-photo figcaption{font-size:11px;color:var(--muted);margin-top:10px}@media(max-width:760px){.clear-room-pair{grid-template-columns:1fr;gap:30px}.clear-room-pair img{height:auto}.entrance-photo{max-width:100%}}

header .brand img{width:260px;height:auto}footer .brand img{width:250px;height:auto}header .brand{margin-block:0}@media(max-width:1000px){header .brand img{width:210px}}@media(max-width:760px){header .brand img{width:220px;max-width:62vw}}

/* Keep every photo caption in its own readable area below the image. */
.hero-photo{aspect-ratio:auto;display:flex;flex-direction:column;border-radius:220px 220px 4px 4px;overflow:hidden}
.hero-photo>img{height:auto;aspect-ratio:4/5;object-fit:cover;flex:none}
.hero-photo figcaption,.photogrid figcaption,.clear-room-pair figcaption,.small-tastes figcaption,.entrance-photo figcaption,.second-room figcaption{position:static;inset:auto;display:block;background:var(--cream);color:var(--ink);margin:0;padding:16px 18px;line-height:1.5;overflow-wrap:anywhere;letter-spacing:normal;text-align:left}
.hero-photo figcaption{font:12px/1.6 Arial,sans-serif;letter-spacing:1px;text-align:center;padding:18px}
.photogrid{row-gap:36px}
.photogrid figure,.clear-room-pair figure,.small-tastes figure{display:flex;flex-direction:column;min-width:0;align-self:start}
.photogrid .photo-frame{flex:none;width:100%}
.photogrid figcaption{font:22px/1.5 Georgia,serif;border-bottom:1px solid #d9dccf}
.clear-room-pair figcaption{font:italic 22px/1.5 Georgia,serif}
.small-tastes figcaption{font:16px/1.5 Georgia,serif;padding:12px 4px}
.entrance-photo figcaption{font:12px/1.6 Arial,sans-serif;padding:12px 0}
.second-room{height:auto;overflow:visible}
.second-room img{height:370px}
@media(max-width:760px){.hero-photo{aspect-ratio:auto}.photogrid{grid-template-columns:minmax(0,1fr);gap:28px}.photogrid figure,.photogrid figure:nth-child(n+4),.photogrid figure:last-child{grid-column:1/-1}.photogrid .photo-frame,.photogrid figure:last-child .photo-frame{aspect-ratio:4/3}.photogrid figcaption{font-size:21px;padding:16px}.clear-room-pair figcaption{font-size:21px}.small-tastes-pictures{gap:22px}}

/* Fixed row gaps keep the multi-row gallery inside its section's height. */
.atmosphere{row-gap:32px;column-gap:7%;padding-bottom:60px}
.atmosphere>*{min-width:0}
.atmosphere .villa-moments{margin-top:0;width:100%}
.moment-pictures{max-width:100%;min-width:0}
@media(max-width:760px){.atmosphere{row-gap:30px;column-gap:0;padding-bottom:40px}}
@media(max-width:1000px){.small-tastes{display:block}.small-tastes-pictures{margin-top:25px;justify-content:flex-start}}@media(max-width:760px){.bar-photo-collection{grid-template-columns:repeat(2,minmax(0,145px));gap:15px}.bar-photo-collection img{height:180px}.small-tastes-pictures{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:15px}.small-tastes figure{flex:0 0 145px;width:145px}.small-tastes img{width:145px;height:180px}.moment-pictures figure{flex-basis:145px}.moment-pictures img{width:145px;height:185px}}
.photogrid .photo-frame,.photogrid figure:last-child .photo-frame{aspect-ratio:1/1;background:#f6f1e7}
.photogrid .photo-frame img{object-fit:contain;object-position:center}
.social-link{display:inline-flex;align-items:center;gap:9px;text-decoration:none;min-height:44px;width:fit-content;border-bottom:1px solid currentColor}
.social-link:hover{color:var(--gold)}
.social-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.social-block p{margin-bottom:10px}
.footer-social{display:flex;justify-content:center}
.social-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.footer-social .social-links{justify-content:center}
