@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap');
:root{--paper:#f6f4ec;--green:#303b2e;--muted:#737669;--line:#d8d9cd;--accent:#acb68e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--green);font-family:'DM Sans',Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:'Italiana',Georgia,serif;font-weight:400}h1{font-size:clamp(54px,5.6vw,88px);line-height:1.08;letter-spacing:-2.5px}h2{font-size:clamp(38px,4vw,59px);line-height:1.12;letter-spacing:-1.2px}em{font-family:Georgia,serif;font-weight:400;font-size:.94em;color:#7c886a}p{color:var(--muted);line-height:1.85}.header{height:119px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;flex-direction:column;text-align:center;width:max-content}.brand-top{font-size:8px;letter-spacing:3px}.brand-name{font-family:Georgia,serif;font-size:37px;letter-spacing:-2px;line-height:1.2}.brand-dot{color:#919c7c}.brand-bottom{font-size:7px;letter-spacing:2.8px;margin-top:5px}nav{display:flex;gap:32px}nav a{font-size:12px}nav a:hover,.text-link:hover{color:#89946f}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--green);color:var(--paper);padding:19px 24px;font-size:12px;transition:background .2s,transform .2s}.button:hover{background:#536149;transform:translateY(-2px)}.button span{font-size:20px;line-height:15px}.header-cta{padding:16px 20px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:658px;padding:30px 30px 30px 7.2%;gap:30px}.hero-copy{padding:54px 0 12px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.3px;display:flex;align-items:center;gap:13px;margin-bottom:28px}.line{width:29px;height:1px;background:var(--green)}.hero-copy>p{max-width:345px;margin:27px 0 30px;font-size:14px}.text-link{display:inline-flex;gap:24px;align-items:center;font-size:12px;border-bottom:1px solid #adb29f;padding:0 0 9px}.hero-link{margin-left:24px}.hero-foot{display:flex;gap:15px;align-items:center;margin-top:57px;color:var(--muted);font-size:10px;line-height:1.7}.small-star{font-size:34px;color:#8e9878}.hero-photo{position:relative;min-height:595px}.hero-photo>img{position:absolute;object-position:center 60%}.photo-shade{position:absolute;inset:0;background:linear-gradient(transparent 65%,#17211480)}.photo-label{position:absolute;bottom:32px;left:30px;color:white;font-size:8px;letter-spacing:2px}.photo-next{position:absolute;bottom:23px;right:25px;width:39px;height:39px;border:1px solid #ffffff70;border-radius:50%;display:grid;place-items:center;color:white;font-size:21px}.ribbon{display:flex;justify-content:center;align-items:center;gap:5%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 20px;font-size:10px;letter-spacing:1.1px}.ribbon i{color:#919b7d;font-size:19px;font-style:normal}.section{padding:100px 7.2%}.story{display:grid;grid-template-columns:1fr 3fr;gap:40px}.story>.eyebrow{align-self:start;padding-top:10px}.story-columns{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin:32px 0 24px}.gastronomy{background:#eceee3;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.food-photo{height:630px;position:relative}.food-photo img{object-position:center 58%}.food-photo>span{position:absolute;bottom:0;left:0;background:var(--green);color:white;padding:20px 25px;font-size:9px;letter-spacing:2px}.food-copy>p{margin-top:24px}.food-list{margin-top:22px}.food-list>div{position:relative;padding:20px 0 20px 37px;border-bottom:1px solid #cdd2bf}.food-list span{position:absolute;left:0;top:23px;font-size:10px;color:#8a947a}.food-list h3{font-family:Georgia,serif;font-weight:400;font-size:20px;margin-bottom:6px}.food-list p{font-size:12px}.food-copy .menu-note{font-size:10px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-heading>p{font-size:12px}.rooms-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}.rooms-layout>img{height:525px;object-position:center 58%}.rooms details{border-bottom:1px solid var(--line)}.rooms summary{cursor:pointer;padding:23px 0;list-style:none;font-family:Georgia,serif;font-size:23px;display:flex;align-items:center;gap:22px}.rooms summary::-webkit-details-marker{display:none}.rooms summary>span{font-family:Arial,sans-serif;font-size:10px;color:#89937b}.rooms summary>b{font-family:Arial,sans-serif;font-size:22px;font-weight:400;margin-left:auto}.rooms details[open] summary>b{transform:rotate(45deg)}.rooms details p{padding:0 24px 24px 36px;font-size:12px}.terrace-note{display:flex;gap:20px;padding-top:33px}.terrace-note>span{font-size:32px;color:#879372}.terrace-note h3{font-size:13px;font-weight:500;margin-bottom:7px}.terrace-note p{font-size:12px}.music{position:relative;min-height:535px;display:flex;align-items:center}.music>img{position:absolute;inset:0;object-position:center 47%}.music-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,30,20,.9),rgba(21,30,20,.5) 55%,rgba(21,30,20,.12))}.music-copy{position:relative;padding:75px 7.2%;color:var(--paper)}.music-copy .eyebrow{color:#d4dac6}.music h2 em{color:#c6d0b0}.music p{color:#e0e1d7;margin:25px 0 28px}.button-light{background:var(--paper);color:var(--green)}.button-light:hover{background:#dce1cf}.visit{display:grid;grid-template-columns:1.1fr 1fr;gap:14%;padding-top:105px;padding-bottom:105px}.visit-intro>p{max-width:365px;margin:26px 0}.phone{font-family:Georgia,serif;font-size:30px;display:inline-block;border-bottom:1px solid #9da58f;padding-bottom:12px}.phone span{font-family:Arial,sans-serif;font-size:23px;margin-left:20px}.phone-note{display:block;font-size:8px;letter-spacing:2px;margin-top:14px}.visit-info>h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin-bottom:20px}dl{margin:0}dl>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:17px 0;gap:20px;font-size:12px}dd{margin:0;white-space:nowrap}dt small{display:block;color:#849072;font-size:9px;padding-top:7px}.dress{padding:25px 0}.dress>span{font-size:9px;text-transform:uppercase;letter-spacing:1.8px;color:var(--muted)}.dress h3{font-size:14px;font-weight:500;margin-top:12px}.dress p{font-size:11px;margin-top:4px}footer{background:var(--green);color:var(--paper);padding:45px 7.2% 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px}footer>span{font-family:Georgia,serif;font-size:18px;font-style:italic;color:#c3cbb6}footer>a:last-of-type{font-size:10px}.footer-bottom{width:100%;display:flex;justify-content:space-between;border-top:1px solid #ffffff25;padding-top:20px;margin-top:15px;font-size:9px;color:#b5bdab}.menu-toggle{display:none}.skip{position:fixed;top:-70px;left:10px;padding:15px;background:var(--green);color:white;z-index:10}.skip:focus{top:10px}:focus-visible{outline:2px solid #89946f;outline-offset:6px}section[id]{scroll-margin-top:25px}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:760px}.hero-photo{min-height:680px}.hero-copy{padding-top:95px}}
@media(max-width:1100px){nav{gap:18px}.header{padding:0 4%}.hero{padding-left:5%;gap:20px}.hero-link{display:table;margin:20px 0 0}.hero-foot{margin-top:25px}h1{font-size:63px}.section{padding:75px 5%}.gastronomy{gap:6%}.story{grid-template-columns:1fr}.story>.eyebrow{margin-bottom:0}.ribbon{gap:4%}.visit{gap:8%}}
@media(max-width:760px){.header{height:94px;padding:0 6%;position:relative}.brand-name{font-size:31px}.header-cta{margin-left:auto;padding:12px;font-size:10px;gap:12px}.menu-toggle{display:flex;flex-direction:column;gap:6px;width:30px;background:none;border:0;padding:4px;order:3;cursor:pointer}.menu-toggle span{height:1px;width:22px;background:var(--green)}nav{display:none;position:absolute;top:94px;left:0;right:0;background:var(--paper);padding:25px 6%;z-index:5;box-shadow:0 15px 20px #303b2e10}nav.open{display:flex;flex-direction:column;gap:24px}.hero{display:flex;flex-direction:column;padding:0 6% 22px;gap:30px}.hero-copy{padding:42px 0 0}.eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:22px}h1{font-size:clamp(48px,9vw,70px);letter-spacing:-1.8px}.hero-copy>p{margin:22px 0 25px;max-width:360px}.hero-link{display:inline-flex;margin:0 0 0 18px;font-size:10px;gap:12px}.hero .button{font-size:11px;padding:17px;gap:20px}.hero-foot{display:none}.hero-photo{min-height:440px}.photo-label{font-size:7px;left:20px;letter-spacing:1.3px}.ribbon{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:18px;font-size:9px;padding:24px 6%}.ribbon i{display:none}.section{padding:60px 6%}.story{gap:24px}.story-columns{grid-template-columns:1fr;gap:18px;margin-top:25px}.gastronomy{grid-template-columns:1fr;gap:35px}.food-photo{height:430px}.food-copy>p{margin-top:22px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px}.rooms-layout{grid-template-columns:1fr;gap:18px}.rooms-layout>img{height:370px}.rooms summary{font-size:22px}.music{min-height:490px}.music-copy{padding:55px 6%}.music>img{object-position:60% center}.music-overlay{background:#172214aa}.visit{grid-template-columns:1fr;gap:50px}.phone{font-size:28px}footer{padding:35px 6% 22px;gap:24px}footer>span{font-size:15px;width:100%;order:3}.footer-bottom{order:4;line-height:1.8;gap:15px}.footer-brand{order:1}footer>a:last-of-type{order:2}}
/* Photo stories and expanded restaurant information. */
.hero-photo>img{object-position:48% center}.rooms-layout>img{object-position:38% center}.gallery{background:#e9ecdf}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.gallery-filters button{border:1px solid #bfc6b2;background:transparent;color:var(--green);padding:12px 20px;border-radius:30px;cursor:pointer;font-size:12px}.gallery-filters button[aria-pressed=true]{background:var(--green);color:var(--paper);border-color:var(--green)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery-card{display:block;border:0;padding:0;background:var(--paper);color:var(--green);text-align:left;cursor:zoom-in;overflow:hidden}.gallery-card img{height:285px;transition:transform .4s;object-position:center}.gallery-card:hover img{transform:scale(1.035)}.gallery-caption{display:flex;justify-content:space-between;gap:15px;padding:20px;font-family:Georgia,serif;font-size:19px;position:relative;background:var(--paper)}.gallery-caption>span:last-child{font-family:Arial,sans-serif;color:#7c886a}.gallery-count{font-size:10px;margin-top:18px;letter-spacing:.6px}.detail-trigger{background:none;border-top:0;border-left:0;border-right:0;color:var(--green);cursor:pointer;margin-top:13px}.food-list>div{padding-top:17px;padding-bottom:17px}.food-list .detail-trigger{font-size:10px;padding-bottom:5px}.music-copy>.detail-trigger{color:var(--paper);margin-left:25px}.moments{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#eceee3}.moment-card+ .moment-card{border-left:1px solid #c7ceba;padding-left:14%}.moment-card h2{font-size:45px}.moment-card p{margin:23px 0;max-width:380px}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:9%;border-top:1px solid var(--line);padding-top:65px;padding-bottom:75px}.faq>div>p{margin-top:20px}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:14px;line-height:1.6;padding:21px 30px 21px 0;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;top:18px;font-size:23px;color:#7c886a}.faq details[open] summary:after{content:'−'}.faq details p{font-size:12px;padding:0 25px 22px 0}.faq details p a{text-decoration:underline}.detail-dialog{padding:0;border:0;background:var(--paper);color:var(--green);width:min(1080px,92vw);max-width:1080px;max-height:90dvh;overflow:auto;box-shadow:0 30px 100px #0006}.detail-dialog::backdrop{background:#182014d9;backdrop-filter:blur(7px)}.dialog-open{overflow:hidden}.dialog-layout{display:grid;grid-template-columns:1.05fr 1fr;min-height:570px}.dialog-visual{position:relative;min-height:570px;background:#20291d}.dialog-visual>img{position:absolute;inset:0;object-position:center}.dialog-copy{padding:70px 40px 42px}.dialog-copy h2{font-size:43px;margin-bottom:24px}.dialog-copy p{font-size:13px;margin-bottom:18px}.dialog-copy .detail-note{border-top:1px solid var(--line);padding-top:18px;margin-top:24px;font-size:11px}.dialog-copy .eyebrow{font-size:8px;line-height:1.6}.dialog-close{position:absolute;z-index:2;right:14px;top:14px;border:1px solid var(--line);background:var(--paper);color:var(--green);border-radius:50%;width:40px;height:40px;font-size:27px;cursor:pointer}.photo-controls{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;color:white}.photo-controls[hidden]{display:none}.photo-controls button{border:1px solid #fff8;color:white;background:#263120d9;border-radius:50%;width:43px;height:43px;font-size:22px;cursor:pointer}.photo-counter{background:#263120d9;padding:8px 16px;font-size:12px}.photo-mode .dialog-visual>img{object-fit:contain}.photo-mode .dialog-visual{min-height:550px}.photo-mode .dialog-layout{min-height:550px}.photo-mode .dialog-copy{align-self:center}.header nav{gap:23px}
@media(max-width:1100px){.gallery-card img{height:235px}.header nav{gap:15px}.header{gap:20px}.moment-card h2{font-size:39px}.dialog-copy{padding:65px 28px 32px}}
@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gallery-card img{height:220px}.gallery-caption{font-size:16px;padding:15px 12px;min-height:65px}.gallery-filters{gap:8px}.gallery-filters button{font-size:11px;padding:10px 14px}.moments,.faq{grid-template-columns:1fr;gap:35px}.moment-card+ .moment-card{padding:35px 0 0;border-left:0;border-top:1px solid #c7ceba}.moment-card h2{font-size:40px}.dialog-layout{display:block;min-height:0}.dialog-visual,.photo-mode .dialog-visual{height:42dvh;min-height:260px}.dialog-copy{padding:30px 25px}.dialog-copy h2{font-size:36px}.dialog-close{position:sticky;float:right;top:12px;margin:12px 12px -52px 0}.dialog-copy .button{font-size:11px;padding:17px}.detail-dialog{max-height:94dvh;width:94vw}.music-copy>.detail-trigger{display:table;margin:22px 0 0}.header nav{gap:24px}}
@media(max-width:420px){.gallery-card img{height:175px}.gallery-caption{font-size:14px}.gallery-filters button{padding:9px 11px}}
.ui-icon{display:inline-block;width:20px;height:20px;min-width:20px;flex-shrink:0;vertical-align:middle;pointer-events:none}.button .ui-icon,.text-link .ui-icon{width:18px;height:18px;min-width:18px}.small-star .ornament-icon{width:34px;height:34px}.ribbon .ornament-icon{width:19px;height:19px;min-width:19px}.terrace-note>span .ornament-icon{width:32px;height:32px}.photo-controls button{display:grid;place-items:center}.gallery-caption>span:last-child{display:flex;align-items:center}footer>a:last-of-type .ui-icon{width:15px;height:15px;min-width:15px;margin-left:5px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.gathering-photo{display:block;width:100%;padding:0;margin:0 0 30px;border:0;background:var(--green);color:var(--paper);text-align:left;cursor:pointer;overflow:hidden}.gathering-photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center 60%;transition:transform .3s}.gathering-photo:hover img{transform:scale(1.025)}.gathering-photo>span{display:flex;justify-content:space-between;padding:14px 18px;font-size:12px;position:relative;background:var(--green)}


.reservation{display:grid;grid-template-columns:1fr 1.25fr;gap:9%;background:#e9ecdf}.reservation-intro>p{margin:25px 0;max-width:370px}.reservation-intro .text-link{overflow-wrap:anywhere}.reservation-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.reservation-fields label{display:flex;flex-direction:column;gap:9px;font-size:12px}.reservation-fields input,.reservation-fields select,.reservation-fields textarea{width:100%;min-width:0;border:1px solid #bcc5af;background:var(--paper);color:var(--green);border-radius:0;padding:14px;font:inherit;font-size:14px}.reservation-fields textarea{resize:vertical}.field-full{grid-column:1/-1}.reservation-fields .optional{display:contents;color:var(--muted)}.form-note{font-size:11px;margin-top:18px}.submit-reservation{border:0;cursor:pointer;margin-top:24px}.reservation-intro a[href^='tel:']{text-decoration:underline}@media(max-width:760px){.reservation{grid-template-columns:1fr;gap:30px}}@media(max-width:420px){.reservation-fields{grid-template-columns:1fr}.submit-reservation{width:100%;gap:15px}}

