:root{--ink:#3a3d3b;--sage:#dfe6d3;--sage-d:#6f8a5b;--ochre:#d99a4a;--ochre-d:#a8691a;--paper:#fbf8f1;--mute:#6b6f6a;--line:rgba(58,61,59,.16)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:1.05rem;line-height:1.65;overflow-x:hidden}
h1,h2,h3,h4,.brand{font-family:'Caprasimo',Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:.005em}
a{color:var(--ochre-d)}
.util{background:var(--ink);color:#f3efe4;font-size:.85rem;padding:.4rem 0}
.util a{color:#f3efe4;text-decoration:none;margin-left:1.2rem;font-weight:600}
.util a:hover{color:var(--ochre)}
.navbar{background:var(--paper);border-bottom:1px solid var(--line);padding:.6rem 0}
.navbar .brand{font-size:1.9rem;color:var(--ink);text-decoration:none;line-height:1}
.navbar .brand small{display:block;font-family:'Figtree';font-weight:700;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-d);margin-top:.2rem}
.nav-link{color:var(--ink)!important;font-weight:600;font-size:.95rem}
.nav-link:hover{color:var(--ochre-d)!important}
.btn-luna{background:var(--ochre);color:#2b2118;border:2px solid var(--ochre);font-weight:700;border-radius:999px;padding:.65rem 1.5rem}
.btn-luna:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-ghost{border:2px solid var(--ink);color:var(--ink);font-weight:700;border-radius:999px;padding:.65rem 1.5rem;background:transparent}
.btn-ghost:hover{background:var(--ink);color:#fff}
/* hero */
.hero{background:var(--sage);position:relative;overflow:hidden;padding:2.2rem 0 2.6rem}
.hero:before{content:"";position:absolute;right:-120px;top:-140px;width:460px;height:460px;border-radius:50%;background:#cfdbbf}
.hero .container{position:relative}.hero [class*=col-]{min-width:0}
.eyebrow{font-weight:700;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-d)}
.hero h1{font-size:clamp(2.5rem,5.4vw,4.4rem);margin:.5rem 0 1rem}
.hero h1 em{font-style:normal;color:var(--ochre-d)}
.hero p.lead{max-width:30rem;font-size:1.15rem}
.mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;height:clamp(300px,44vh,420px)}
.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block}
.mosaic div:nth-child(2){margin-top:26px}
.mosaic div{overflow:hidden;border-radius:10px;height:calc(100% - 26px)}
.mosaic div:nth-child(2){height:calc(100% - 26px)}
.moon{position:absolute;left:-14px;bottom:-14px;width:112px;height:112px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:.7rem;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;box-shadow:inset -18px -6px 0 #efe7d3}
.moon b{font-family:'Caprasimo';font-size:1.05rem;letter-spacing:0;text-transform:none;font-weight:400}
.mwrap{position:relative}
/* sections */
section{padding:84px 0}
.sec-head{margin-bottom:2.2rem}
.sec-head h2{font-size:clamp(2rem,4vw,3rem)}
.sec-head h2:after{content:"";display:block;width:64px;height:5px;background:var(--ochre);border-radius:4px;margin-top:.7rem}
.about{background:var(--paper)}
.leaf{position:absolute;opacity:.5;pointer-events:none}
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.pillars div{border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;background:#fff}
.pillars b{font-family:'Caprasimo';font-weight:400;display:block;font-size:1.1rem}
.pillars span{font-size:.92rem;color:var(--mute)}
.ph{border-radius:12px;width:100%;height:auto;object-fit:cover;display:block}
/* menu */
.menu{background:var(--sage)}
.nav-pills{gap:.5rem;flex-wrap:wrap;margin-bottom:1.8rem}
.nav-pills .nav-link{border:2px solid var(--ink);border-radius:999px;padding:.4rem 1.1rem;color:var(--ink)!important;font-weight:700;font-size:.9rem}
.nav-pills .nav-link.active{background:var(--ink);color:#fff!important}
.mgrid{columns:2 340px;column-gap:3rem}
.mi{break-inside:avoid;padding:.8rem 0;border-bottom:1px dashed rgba(58,61,59,.3)}
.mi .t{display:flex;justify-content:space-between;gap:1rem;font-weight:800}
.mi .t span.p{color:var(--ochre-d);white-space:nowrap}
.mi p{margin:.1rem 0 0;font-size:.93rem;color:#4b4f4c;line-height:1.45}
.note{font-style:italic;color:#4b4f4c;margin-bottom:.8rem}
.menu-cta{margin-top:2rem}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.gal img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:10px;display:block}
.gal img:nth-child(even){margin-top:28px}
/* catering */
.cater{background:var(--ink);color:#f3efe4}
.cater h2,.cater h3{color:#fff}
.cater a{color:var(--ochre)}
.ptable{width:100%;border-collapse:collapse;margin-bottom:1.5rem}
.ptable th{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ochre);font-weight:700;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.3)}
.ptable td{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.14)}
.ptable td:not(:first-child),.ptable th:not(:first-child){text-align:right}
.box{border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:1.4rem}
/* quotes */
.quotes{background:var(--ochre);color:#2b2118;padding:70px 0}
.quotes blockquote{font-family:'Caprasimo';font-size:1.3rem;line-height:1.3;margin:0 0 .6rem}
.quotes cite{font-style:normal;font-weight:700;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
/* events */
.events{background:var(--paper)}
/* locations */
.loc{background:var(--sage)}
.card-loc{background:#fff;border-radius:14px;overflow:hidden;height:100%;border:1px solid var(--line)}
.card-loc .in{padding:1.5rem}
.card-loc h3{font-size:1.7rem}
.card-loc iframe{width:100%;height:260px;border:0;display:block}
.card-loc a.tel{font-weight:800;font-size:1.2rem;text-decoration:none}
footer{background:var(--ink);color:#e9e4d6;padding:50px 0 30px;font-size:.92rem}
footer a{color:#e9e4d6}
footer img{max-width:170px;height:auto}
@media(max-width:991px){section{padding:60px 0}.gal{grid-template-columns:repeat(2,1fr)}.gal img:nth-child(even){margin-top:0}.hero:before{width:300px;height:300px}.mosaic{margin-top:1.5rem}}
@media(max-width:575px){.mosaic{grid-template-columns:repeat(2,minmax(0,1fr));height:300px}.mosaic div:nth-child(3){display:none}.moon{width:92px;height:92px;font-size:.6rem}.pillars{grid-template-columns:1fr}.util .hide-s{display:none}.navbar .brand{font-size:1.6rem}}
