:root{--green:#183d35;--ivory:#faf7f0;--gold:#c5a15b;--ink:#252525;--muted:#64665f;--line:#deddd3}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;margin:0 0 22px}h1{font-size:clamp(42px,5.3vw,76px)}h2{font-size:clamp(32px,3.1vw,46px)}h3{font-size:26px}p{margin:0 0 20px}em{font-weight:400;color:#e4cb96}.wrap{width:min(1200px,88%);margin-inline:auto}.header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--ivory);position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;color:var(--green);font:26px Georgia,serif;white-space:nowrap}.brand small{display:block;font:10px Arial,sans-serif;letter-spacing:3px;margin-top:6px}.brand-icon{font-size:41px;color:var(--gold)}nav{display:flex;align-items:center;gap:25px;font-size:14px}nav a:not(.button){padding-block:10px}nav a[aria-current]{border-bottom:1px solid var(--gold);color:var(--green)}.button{display:inline-flex;justify-content:center;align-items:center;padding:14px 26px;min-height:50px;border:1px solid transparent;border-radius:3px;font-size:14px;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);filter:brightness(.95)}.gold{background:var(--gold);color:#182a23}.green{background:var(--green);color:white}.outline{color:white;border-color:#ffffffaa}.small{padding:11px 20px;min-height:44px}.menu-toggle{display:none}.hero{position:relative;min-height:650px;color:white;display:flex;align-items:center;isolation:isolate}.hero-bg{position:absolute;inset:0;height:100%;z-index:-2}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,35,28,.95),rgba(8,35,28,.67) 43%,rgba(8,35,28,.08));z-index:-1}.hero-content{padding-block:80px}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:600;color:#8f6a2f;margin-bottom:18px}.hero .eyebrow,.cta .eyebrow{color:#e0c794}.hero p:not(.eyebrow){color:#f0eee4;max-width:550px}.hero h1{max-width:690px}.buttons{display:flex;gap:14px;margin-top:30px}.hero-caption{position:absolute;bottom:26px;right:6%;font-size:11px;letter-spacing:2px;color:#eee7d4}.ribbon{background:var(--green);color:#e5dfcf;display:flex;justify-content:center;gap:85px;padding:18px;font-size:14px}.story{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-block:100px}.story p:not(.eyebrow){color:var(--muted)}.story-img{position:relative}.story-img img{height:430px;border-radius:3px}.image-note{position:absolute;right:-25px;bottom:25px;background:var(--ivory);padding:20px 30px;font:italic 21px Georgia;color:var(--green)}.text-link{font-size:14px;font-weight:600;color:var(--green);display:inline-block;padding-bottom:5px;border-bottom:1px solid var(--gold)}.section{padding-block:60px 80px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-heading h2{margin-bottom:0}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-card{background:white;border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:box-shadow .2s}.service-card:hover{box-shadow:0 12px 30px #183d3514}.photo{overflow:hidden}.photo img{height:215px;transition:transform .4s}.service-card:hover img{transform:scale(1.04)}.card-body{padding:25px}.number{display:block;color:#9d824e;font-size:13px;margin-bottom:15px;letter-spacing:2px}.card-body h3{font-size:24px}.card-body p{font-size:14px;color:var(--muted)}.menu-section{background:#eaece4}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.menu-card{background:var(--ivory);border:1px solid var(--line)}.menu-card img{height:230px}.menu-card>div{padding:25px}.menu-card p:not(.eyebrow){color:var(--muted);font-size:14px}.home-gallery{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.home-gallery a{position:relative;overflow:hidden}.home-gallery img{height:380px}.home-gallery span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#102e26c9);color:white;padding:45px 25px 20px;font:27px Georgia}.cta{background:var(--green);color:var(--ivory);padding-block:65px}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta p:last-child{color:#d5ddcf;margin-bottom:0}.footer-top{padding-block:60px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px}.footer-top p{color:var(--muted);font-size:14px}.footer-top>div:last-child{display:flex;gap:25px;font-size:14px;justify-content:end}.footer-bottom{padding:22px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.mobile-actions{display:none}.page-intro{padding-block:75px 35px;max-width:1200px}.page-intro h1{font-size:clamp(42px,4.5vw,64px);max-width:950px;color:var(--green)}.lead{max-width:760px;font-size:19px;color:var(--muted)}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.values article{border-top:1px solid var(--gold);padding-top:25px}.values p{color:var(--muted)}.detail-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;padding-block:30px 100px;align-items:center}.detail-layout>img{height:520px;border-radius:4px}.included{list-style:none;padding:0;margin:20px 0 30px}.included li{padding:14px 0;border-bottom:1px solid var(--line);color:var(--green)}.included li:before{content:'✓';color:#9d824e;margin-right:15px}.detail-layout p:not(.eyebrow){color:var(--muted)}.menu-lists{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:70px}.note{padding:35px;background:#eaece4;border-left:3px solid var(--gold);margin-top:40px}.note p{color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filters button{border:1px solid var(--line);padding:10px 20px;background:transparent;color:var(--green);border-radius:30px;font-size:14px}.filters button[aria-pressed=true]{background:var(--green);color:white}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.gallery-item{border:0;text-align:left;padding:0;background:white;color:var(--ink);overflow:hidden}.gallery-item img{height:270px;transition:transform .3s}.gallery-item:hover img{transform:scale(1.03)}.gallery-item>span{display:block;padding:20px;font:23px Georgia}.gallery-item small{display:block;font:11px Arial;letter-spacing:2px;text-transform:uppercase;color:#8f6a2f;margin-bottom:10px}[hidden]{display:none!important}dialog{border:0;padding:20px;border-radius:5px;width:min(1000px,94vw);max-height:92vh;background:var(--ivory)}dialog::backdrop{background:#071f1de0}dialog img{height:auto;max-height:75vh;object-fit:contain}dialog p{margin:15px 0 0}.close-lightbox{position:absolute;right:25px;top:25px;width:44px;height:44px;border:0;background:var(--ivory);font-size:28px}.event-list article{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;margin-bottom:70px}.event-list img{height:360px}.event-list p:not(.eyebrow){color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;padding-block:30px 100px}.contact-grid aside p{color:var(--muted)}.contact-note{border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.contact-note h3{font-size:22px}.contact-note p{font-size:14px}.contact-grid aside img{height:240px;margin-top:30px}form{background:white;padding:35px;border:1px solid var(--line);border-radius:4px}label{display:block;font-size:14px;font-weight:600;margin-bottom:20px;color:var(--green)}input,select,textarea{display:block;width:100%;padding:12px 14px;border:1px solid #cfd3cb;border-radius:3px;margin-top:8px;background:#fdfcf9;color:var(--ink);font-weight:400;font-size:16px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.optional{font-weight:400;color:var(--muted)}fieldset{border:0;padding:0;margin:0 0 15px}legend{font-size:14px;font-weight:600;color:var(--green);margin-bottom:14px}.checkboxes{display:grid;grid-template-columns:1fr 1fr}.checkboxes label{display:flex;align-items:center;gap:10px;font-weight:400}.checkboxes input{width:17px;height:17px;margin:0;accent-color:var(--green)}.form-help{font-size:13px;color:var(--muted)}#form-status{font-size:14px;color:var(--green);margin-top:18px}:focus-visible{outline:3px solid #bd8e3b;outline-offset:4px}
@media(min-width:1500px){.hero{min-height:740px}}@media(max-width:1100px){nav{gap:15px;font-size:13px}.header{padding-inline:4%}.brand{font-size:23px}.services-grid{grid-template-columns:repeat(2,1fr)}.story{gap:45px}.contact-grid{gap:40px}.card-body h3{font-size:26px}}@media(max-width:800px){.header{height:80px}.menu-toggle{display:block;border:0;background:none;color:var(--green);font-size:26px;padding:10px}nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--ivory);padding:25px 6%;box-shadow:0 12px 25px #0001;flex-direction:column;align-items:stretch;font-size:16px;gap:8px}nav.open{display:flex}.hero{min-height:650px}.hero h1{font-size:56px}.hero:before{background:linear-gradient(90deg,#08231cea,#08231c99)}.hero-caption{left:6%;right:auto;font-size:9px}.ribbon{gap:25px;font-size:12px;text-align:center}.story{grid-template-columns:1fr;gap:35px;padding-block:60px}.story-img img{height:350px}.image-note{right:15px;font-size:19px;padding:15px}.menu-grid{grid-template-columns:1fr}.menu-card{display:grid;grid-template-columns:1fr 1fr}.menu-card img{height:100%;min-height:230px}.section-heading{align-items:start;flex-direction:column;gap:20px}.home-gallery img{height:300px}.cta-inner{align-items:start;flex-direction:column}.footer-top{grid-template-columns:1fr 1fr;gap:20px}.footer-top>div:last-child{justify-content:start;grid-column:1/-1}.values{grid-template-columns:1fr}.detail-layout,.event-list article,.contact-grid{grid-template-columns:1fr;gap:35px}.detail-layout>img{height:380px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.menu-lists{gap:35px}.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--green);color:var(--ivory);z-index:15;box-shadow:0 -4px 20px #0002;padding-bottom:env(safe-area-inset-bottom)}.mobile-actions a{flex:1;text-align:center;padding:16px 5px;font-size:14px;border-right:1px solid #ffffff22}footer{padding-bottom:65px}.footer-bottom{gap:20px}.page-intro{padding-block:55px 20px}.contact-grid aside img{display:none}}
@media(max-width:480px){.wrap{width:88%}.brand{font-size:24px}.hero{min-height:640px;align-items:end}.hero-bg{object-position:65%}.hero:before{background:linear-gradient(0deg,#08231cfa 0%,#08231ca6 60%,#08231c22)}.hero-content{padding-block:160px 85px}.hero h1{font-size:45px}.hero p:not(.eyebrow){font-size:15px}.hero .eyebrow{font-size:10px}.buttons{gap:10px}.button{padding:13px 18px}.ribbon{gap:12px;font-size:11px;padding:16px 6%}.story-img img{height:280px}.services-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:115px 1fr}.photo img{height:100%;min-height:200px}.card-body{padding:20px}.card-body .number{display:none}.card-body h3{font-size:23px;margin-bottom:12px}.card-body p{font-size:13px;margin-bottom:12px}.section{padding-block:40px 55px}.menu-card{display:block}.menu-card img{height:220px}.home-gallery{grid-template-columns:1fr}.home-gallery img{height:260px}.cta{padding-block:45px}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:5px}.gallery-grid{gap:15px}.gallery-item img{height:170px}.gallery-item>span{font-size:18px;padding:15px}.gallery-item small{font-size:10px;letter-spacing:1px}.menu-lists{grid-template-columns:1fr}.detail-layout>img{height:280px}.event-list img{height:260px}.event-list article{margin-bottom:50px}.contact-grid{padding-bottom:60px}form{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.checkboxes{grid-template-columns:1fr}.note{padding:25px}.lead{font-size:17px}.page-intro h1{font-size:40px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.brand-logo{width:58px;height:58px;object-fit:contain;border-radius:3px;flex-shrink:0}.brand{font-size:25px}.footer-contact{display:flex;gap:30px;flex-wrap:wrap;color:var(--green);font-size:14px;padding:0 0 24px}.download-button{background:var(--ivory);border-color:var(--line);color:var(--green)}form .buttons{flex-wrap:wrap}@media(max-width:480px){.brand-logo{width:48px;height:48px}.brand{font-size:23px}.brand small{font-size:9px;letter-spacing:2px}.footer-contact{flex-direction:column;gap:10px}}
