:root{--bg:#0d0d0c;--panel:#191815;--gold:#d9ad64;--cream:#f7edda;--text:#f1ece3;--muted:#c5bcb0;--line:#56442b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:inherit}img{max-width:100%;height:auto}button,input,textarea{font:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.site-head{position:sticky;top:0;z-index:50;background:rgba(12,12,11,.95);backdrop-filter:blur(15px);border-bottom:1px solid #45351f}.nav{display:flex;align-items:center;justify-content:space-between;min-height:80px;gap:22px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;color:var(--cream);line-height:1.08}.brand-mark{width:49px;height:49px;border:2px solid var(--gold);border-radius:23px 23px 5px 5px;display:grid;place-items:center;color:var(--gold);font-size:27px}.brand strong{display:block;font:600 20px/1.03 Georgia,serif;letter-spacing:.08em}.brand small{display:block;font-size:11px;letter-spacing:.18em;color:var(--gold);margin-top:4px}.links{display:flex;align-items:center;gap:25px}.links a{text-decoration:none;font-size:14px}.links a:hover{color:var(--gold)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--gold);color:#1c140b!important;padding:12px 26px;border:1px solid var(--gold);border-radius:9px;text-decoration:none;font-weight:750;cursor:pointer}.btn:hover{background:#f0cd91}.btn.ghost{background:rgba(10,10,10,.4);color:var(--cream)!important}.menu-toggle{display:none;background:transparent;color:var(--gold);border:1px solid var(--line);border-radius:8px;padding:9px 12px}.hero{position:relative;min-height:610px;display:flex;align-items:center;overflow:hidden;background:#201913}.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center}.hero:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,7,8,.98) 0%,rgba(6,7,8,.85) 36%,rgba(6,7,8,.33) 77%,rgba(6,7,8,.20))}.hero-content{position:relative;z-index:2;padding:75px 0;max-width:1180px}.hero-content>div{max-width:670px}.eyebrow{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.27em;text-transform:uppercase}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.13}h1{font-size:clamp(39px,5vw,69px);color:var(--cream);margin:15px 0 23px}h2{font-size:clamp(30px,3.8vw,44px);margin:10px 0 28px;color:var(--cream)}h3{font-size:25px}.lead{font-size:19px;color:#e8e1d5;max-width:580px}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:34px 0}.feature{display:flex;align-items:center;gap:10px;font-size:14px}.feature span{flex:none;color:var(--gold);font-size:25px;border:1px solid #8c6938;border-radius:50%;height:44px;width:44px;display:grid;place-items:center}.actions{display:flex;gap:12px;flex-wrap:wrap}.section{padding:66px 0}.section.alt{background:#191713}.section-top{display:flex;align-items:end;justify-content:space-between;gap:20px}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery a{display:block;overflow:hidden;border-radius:11px;border:1px solid #433c33;aspect-ratio:4/3;background:#322a21}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery a:hover img{transform:scale(1.045)}.event-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.event{background:#24201b;border:1px solid #443721;border-radius:12px;padding:25px 14px;text-align:center}.event b{display:block;color:var(--gold);font-size:29px}.event span{display:block;margin-top:8px;font-weight:650}.contact{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.contact-panel{border:1px solid var(--line);border-radius:15px;background:#231c14;padding:32px}.contact-panel a{color:var(--gold)}.footer{border-top:1px solid #3d3326;padding:25px 0;color:var(--muted);font-size:13px}.footer .wrap{display:flex;justify-content:space-between;gap:15px}.page-area{min-height:70vh;padding:55px 0}.page-content{max-width:950px;margin:auto}.page-content h1{font-size:clamp(35px,4vw,56px)}.page-content p{color:var(--text)}.page-content img{border-radius:10px}.wp-block-gallery{margin-top:25px}.more-posts{display:grid;gap:20px}.more-posts article{background:var(--panel);border:1px solid var(--line);padding:20px;border-radius:12px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}@media(max-width:900px){.menu-toggle{display:block}.links{display:none;position:absolute;left:0;right:0;top:80px;background:#10100f;padding:15px 22px 25px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.links.open{display:flex}.features{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.event-grid{grid-template-columns:repeat(3,1fr)}.hero{min-height:550px}.hero:before{background:linear-gradient(90deg,rgba(5,6,7,.94),rgba(5,6,7,.6))}.contact{grid-template-columns:1fr}}@media(max-width:570px){.wrap{width:min(100% - 28px,1180px)}.nav{min-height:73px}.links{top:73px}.brand strong{font-size:15px}.brand-mark{width:41px;height:41px}.hero{min-height:0}.hero-content{padding:62px 0}.features{grid-template-columns:1fr 1fr;gap:17px 9px}.feature{font-size:12px;align-items:flex-start}.feature span{width:37px;height:37px;font-size:20px}.lead{font-size:17px}.actions .btn{width:100%}.section{padding:45px 0}.gallery{gap:9px}.event-grid{grid-template-columns:repeat(2,1fr);gap:10px}.event{padding:18px 8px}.event span{font-size:13px}.contact-panel{padding:22px}.footer .wrap{flex-direction:column}} .booking-section{background:linear-gradient(140deg,#1b1916,#0c0c0b)}
.booking-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:start}
.booking-form{display:grid;gap:14px;padding:30px;background:#221c15;border:1px solid #6a512c;border-radius:18px;box-shadow:0 16px 35px #0005}
.booking-form label{display:grid;gap:5px;font-size:14px;font-weight:650;color:#f3e5cb}
.booking-form input,.booking-form textarea{width:100%;color:#fff;background:#11110f;border:1px solid #786142;border-radius:9px;padding:12px;outline-offset:2px}
.booking-form input:focus,.booking-form textarea:focus{outline:2px solid #e2b977}
.booking-form .btn{width:100%}.booking-form .trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.booking-status{border:1px solid #ad8e55;padding:13px 16px;border-radius:10px;margin-bottom:15px;background:#292218}
.hero-photo-mobile{display:none}
@media(max-width:900px){.booking-grid{grid-template-columns:1fr}.booking-form{max-width:720px}.nav{position:relative}.links{left:0;right:0;top:100%;box-shadow:0 25px 35px #000b}}
@media(max-width:600px){
html,body{overflow-x:hidden}body{font-size:16px;line-height:1.55}
.wrap{width:calc(100% - 32px)}.site-head{position:sticky;top:0}.nav{min-height:66px;gap:8px}
.brand strong{font-size:14px}.brand small{font-size:9px}.brand-mark{width:37px;height:37px;font-size:22px}
.menu-toggle{padding:10px 14px;font-size:22px}.links{padding:12px 16px 20px;border-radius:0 0 14px 14px;gap:4px}
.links a{display:block;padding:12px 9px;font-size:16px;border-bottom:1px solid #4b3c27}.links .btn{margin-top:9px}
.hero{display:block;min-height:0;background:#10100f}.hero:before,.hero-photo{display:none}
.hero-photo-mobile{display:block;width:100%;height:clamp(180px,58vw,290px);object-fit:cover;object-position:center;background:#241d17}
.hero-content{padding:26px 0 34px}.hero-content>div{max-width:none}
.eyebrow{letter-spacing:.16em;font-size:11px}.hero h1{font-size:clamp(30px,8vw,43px);line-height:1.15;margin:11px 0 12px}
.lead{font-size:16px;line-height:1.5}.features{grid-template-columns:1fr 1fr;gap:12px;margin:23px 0 25px}
.feature{display:flex;align-items:center;font-size:13px;gap:8px;padding:12px 9px;background:#231e18;border:1px solid #4a3b27;border-radius:12px;line-height:1.35}
.feature span{width:32px;height:32px;font-size:18px;border:0;background:#3b3021}
.actions{display:grid;grid-template-columns:1fr;gap:10px}.actions .btn{width:100%;min-height:49px}
.section{padding:39px 0}.section h2{font-size:30px;margin:8px 0 22px}
.gallery{grid-template-columns:1fr 1fr;gap:9px}.gallery a{aspect-ratio:1/1}
.event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.event{padding:15px 8px}.event span{font-size:13px}
.contact{gap:16px}.contact-panel{padding:20px}.booking-grid{gap:16px}.booking-form{padding:18px 15px;border-radius:13px}
.footer .wrap{flex-direction:column}.page-area{padding:30px 0}
} @media screen and (max-width: 900px) {
html { -webkit-text-size-adjust:100%; }
body {overflow-x:hidden;}
.site-head .wrap.nav { width:calc(100% - 28px); min-height:66px; }
.site-head .links { position:absolute; top:100%; left:0; right:0; display:none; padding:14px 18px; z-index:100; }
.site-head .links.open {display:flex; flex-direction:column; align-items:stretch;}
.site-head .menu-toggle {display:inline-flex;}
.hero { display:flex; flex-direction:column; align-items:stretch; min-height:0; overflow:visible; background:#11100f; }
.hero::before, .hero .hero-photo {display:none!important;}
.hero .hero-photo-mobile { display:block!important; width:100%; height:clamp(210px,55vw,360px); max-height:360px; object-fit:cover; object-position:center; }
.hero .hero-content { width:calc(100% - 32px); max-width:680px; margin:0 auto; padding:26px 0 34px; }
.hero .hero-content > div {max-width:none;}
.hero h1 {font-size:clamp(32px,7vw,46px); margin:10px 0 14px; line-height:1.12;}
.hero .lead {font-size:17px;line-height:1.5;}
.hero .features {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0;}
.hero .feature {min-width:0; padding:11px 10px; border:1px solid #493922; border-radius:12px; background:#241e17; font-size:13px; line-height:1.35;}
.hero .feature span {flex-shrink:0; height:34px; width:34px; font-size:20px;}
.hero .actions {display:grid;grid-template-columns:1fr;gap:10px;}
.hero .actions .btn {min-height:49px; width:100%;}
.section {padding:42px 0;}
.section .wrap {width:calc(100% - 32px);}
.section h2 {font-size:clamp(28px,5.5vw,36px);}
.gallery {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.event-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.contact,.booking-grid {grid-template-columns:minmax(0,1fr); gap:22px;}
.booking-form {padding:20px 16px;}
.footer .wrap {flex-direction:column;}
}
@media screen and (max-width:430px) {
.brand strong {font-size:14px;}
.hero .hero-photo-mobile {height:235px;}
.hero h1 {font-size:32px;}
.hero .feature {padding:9px 8px;font-size:12px;gap:7px;}
.hero .feature span {height:30px;width:30px;font-size:17px;}
.gallery a {aspect-ratio:1/1;}
.event {padding:15px 8px;}
} .rv-date-box{position:relative;display:flex;align-items:center;min-height:51px;border:1px solid #786142;background:#11110f;border-radius:9px;cursor:pointer;overflow:hidden}.rv-date-caption{padding:12px 15px;color:#f5d8a1;pointer-events:none;font-size:15px;font-weight:600}.rv-date-box input[type=date]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2;min-width:0}.rv-date-box:focus-within{outline:2px solid #e2b977;outline-offset:2px} @media screen and (max-width:1000px){
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:18px!important;line-height:1.65!important}
.site-head .brand strong{font-size:19px!important;line-height:1.14!important}
.site-head .brand small{font-size:12px!important}
.site-head .nav{min-height:78px!important}
.rv-mobile-menu summary{min-height:52px!important;padding:10px 16px!important}
.rv-mobile-menu summary span{font-size:18px!important;font-weight:800!important}
.rv-mobile-menu[open] nav{width:min(91vw,380px)!important;padding:14px!important}
.rv-mobile-menu nav a{font-size:19px!important;line-height:1.3!important;padding:15px 14px!important;min-height:49px!important}
.hero .eyebrow{font-size:14px!important;letter-spacing:.08em!important}
.hero h1{font-size:clamp(35px,8vw,51px)!important;line-height:1.12!important}
.hero .lead{font-size:19px!important;line-height:1.55!important}
.hero .feature{font-size:17px!important;line-height:1.45!important;padding:14px 12px!important;gap:11px!important}
.hero .feature span{width:40px!important;height:40px!important;font-size:23px!important}
.hero .actions .btn,.btn{font-size:18px!important;min-height:54px!important;padding:13px 20px!important}
.section h2{font-size:clamp(31px,7vw,43px)!important;line-height:1.2!important}
.section p,.section li,.contact-panel p,.page-area p,.page-area li{font-size:18px!important;line-height:1.6!important}
.event{padding:20px 14px!important}
.event span{font-size:17px!important;line-height:1.4!important}
.booking-form label{font-size:17px!important;line-height:1.4!important}
.booking-form input,.booking-form textarea,.booking-form select{font-size:18px!important;min-height:54px!important;padding:13px!important}
.rv-date-caption{font-size:18px!important}
.rv-date-box{min-height:54px!important}
.footer,.footer a{font-size:16px!important}
}
@media screen and (max-width:550px){
.hero .features{grid-template-columns:1fr!important}
.hero .feature{font-size:18px!important;padding:13px 14px!important}
.hero h1{font-size:clamp(34px,9vw,43px)!important}
.gallery{gap:10px!important}
.event-grid{grid-template-columns:1fr 1fr!important}
.site-head .brand strong{font-size:17px!important}
}
@media(max-width:900px){body .hero .features{grid-template-columns:minmax(0,1fr)!important;}body .gallery{grid-template-columns:minmax(0,1fr)!important;}}