*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.7;color:#241d19;background:#fff}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2}
.container,.booking-container{width:min(1120px,92%);margin:auto}
.site-header{height:88px;background:rgba(8,8,8,.9);position:absolute;top:0;left:0;width:100%;z-index:20;color:#fff}
.nav-wrap{width:min(1200px,92%);height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}
.logo img{width:120px;height:72px;object-fit:contain}
.nav{display:flex;align-items:center;gap:25px}
.nav a{font-size:15px;font-weight:700}
.nav a:hover,.nav .active{color:#d9a27d}
.book-nav{border:1px solid #d9a27d;padding:9px 14px;border-radius:5px}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:32px;cursor:pointer}
.page-hero{height:455px;background:url('../images/IMG-20250127-WA0042-1536x1023.jpg') center 42%/cover no-repeat;position:relative;display:grid;place-items:center;text-align:center;color:#fff}
.hero-overlay{position:absolute;inset:0;background:rgba(20,12,8,.55)}
.hero-content{position:relative;z-index:2;padding-top:55px}
.hero-icon{font-size:38px;margin-bottom:12px}
.hero-content h1{font-size:clamp(48px,6vw,68px);margin:0 0 12px}
.hero-content p{margin:0;font-weight:700}
.hero-content p i{margin:0 8px}
.booking-section{background:#fff;padding:28px 0 55px;min-height:430px}
.steps-head{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;align-items:end;margin-bottom:7px}
.step-title{font-weight:800;color:#171717;padding:0 0 4px}
.step-title.active{color:#d99b3f}
.progress-bar{height:14px;background:#c9cdd0;border-radius:5px;overflow:hidden;margin-bottom:28px}
.progress-bar span{display:block;width:25%;height:100%;background:#dfa345;transition:width .35s ease}
.booking-step{display:none;animation:stepIn .45s ease}
.booking-step.active{display:block}
@keyframes stepIn{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
.booking-step h3{font-family:Arial,sans-serif;font-size:18px;margin:0 0 26px;font-weight:800}
.field-label,.booking-step label{font-weight:800;display:block;margin:18px 0 8px}
.field-label span,.booking-step label span{color:#d33}
select,input,textarea{width:100%;font:inherit;font-size:16px;padding:13px 14px;border:1px solid #d4d4d4;background:#fff;border-radius:3px;outline:none}
select:focus,input:focus,textarea:focus{border-color:#dca04b;box-shadow:0 0 0 2px rgba(220,160,75,.12)}
.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 22px}
.booking-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #ddd;margin-top:28px;padding-top:17px}
.booking-actions button{min-width:120px;padding:13px 20px;border:0;border-radius:4px;font-size:16px;font-weight:800;cursor:pointer}
.back-btn{background:#e8e8e8;color:#333;display:none}
.next-btn,.finish-btn{background:#dfa345;color:#fff}
.next-btn:hover,.finish-btn:hover{background:#c98827}
.finish-btn{display:none}
.done-step{text-align:center;padding:10px 0 15px}
.done-icon{font-size:70px;color:#b87551}
.done-step h2{font-size:40px;margin:10px 0}
.summary{margin:18px auto 0;padding:18px;max-width:600px;background:#fff7ec;border:1px solid #e3c6a2;border-radius:6px;text-align:left}
.booking-status{min-height:25px;text-align:right;color:#a05f3f;font-weight:700;margin:12px 0 0}
.footer{background:#050505;color:#fff;padding:65px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.2fr .9fr 1.2fr 1fr;gap:40px}
.footer h3{font-size:22px;margin-top:0}
.footer a{display:block;color:#ddd;margin:8px 0}
.footer a i{margin-right:7px}
.footer-logo{width:120px;height:80px;object-fit:contain}
.footer-social{display:flex;gap:12px}
.footer-social a{width:40px;height:40px;background:#fff;color:#111;border-radius:50%;display:grid;place-items:center;margin:0}
.map{width:100%;height:190px;object-fit:cover}
.copy{text-align:center;border-top:1px solid #333;margin:40px auto 0;padding-top:20px;width:92%;font-size:14px}
.reveal{opacity:0;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.slide-left{transform:translateX(-70px)}.slide-right{transform:translateX(70px)}.slide-up{transform:translateY(70px)}.slide-zoom{transform:scale(.9)}
.reveal.show{opacity:1;transform:none}
@media(max-width:900px){
  .menu-btn{display:block}.nav{position:absolute;top:88px;left:0;right:0;background:#111;display:none;flex-direction:column;align-items:stretch;padding:20px}.nav.open{display:flex}.nav a{padding:8px 0}.book-nav{display:block;text-align:center}
  .page-hero{height:420px}.footer-grid{grid-template-columns:1fr 1fr}.booking-section{padding-top:25px}
}
@media(max-width:600px){
  body{font-size:17px}.site-header{height:78px}.nav{top:78px}.logo img{width:105px;height:64px}.hero-content h1{font-size:43px}.page-hero{height:400px}
  .steps-head{grid-template-columns:1fr 1fr;gap:10px}.progress-bar{height:11px}.details-grid{grid-template-columns:1fr}.booking-actions{justify-content:space-between}.booking-actions button{min-width:0;flex:1;padding:12px 8px}.done-step h2{font-size:32px}.footer-grid{grid-template-columns:1fr}.map{height:220px}
}
