.site-header{position:fixed;top:0;left:0;right:0;height:104px;background:transparent;box-shadow:none;border-bottom:1px solid transparent;transition:background .35s,box-shadow .35s,border-color .35s,transform .35s}
.site-header.scrolled{background:rgba(20,16,12,.96);backdrop-filter:blur(16px);box-shadow:0 10px 34px rgba(0,0,0,.28);border-color:rgba(189,137,70,.27)}
.brand{width:150px;height:92px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.brand img{width:150px;height:auto;object-fit:contain;filter:none;transition:transform .3s,filter .3s}
.brand:hover img{transform:scale(1.04)}
.nav nav{gap:46px;font-size:15px;font-weight:500;letter-spacing:.15px;text-shadow:0 2px 10px rgba(0,0,0,.8)}
.nav nav>a:not(.nav-cta){padding:38px 0 33px;border-bottom:2px solid transparent}
.nav nav>a:not(.nav-cta):hover{border-color:#bd8946}
.nav .nav-cta{font-size:12px;padding:14px 25px;background:rgba(16,12,9,.32);backdrop-filter:blur(5px)}
.site-header.scrolled .nav-cta{background:rgba(187,135,67,.08)}
.hero{min-height:850px;background-position:center 59%}
.hero-content{padding-top:145px;padding-bottom:70px}
.hero h1{font-size:78px}
.footer-grid .brand{width:150px;height:90px;margin-bottom:8px}
.footer-grid .brand img{width:150px;height:auto}
.services{background:linear-gradient(180deg,#f7f3ed,#eee7dd)}
.service-card{border:1px solid rgba(105,75,39,.1);transition:transform .25s,box-shadow .25s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(55,38,17,.12)}
.about{width:min(1240px,calc(100% - 48px));margin:25px auto 70px;border-radius:12px;overflow:hidden;box-shadow:0 24px 65px rgba(44,29,15,.12)}
.gallery .wrap{max-width:1100px}
.social-links{display:flex;gap:10px;margin-top:20px}
.social-links a{width:38px;height:38px;border:1px solid #76572f;border-radius:50%;display:grid;place-items:center;color:#d29c52;font-size:11px;font-weight:600;transition:.2s}
.social-links a:hover{background:#b98543;color:#17130f}
.page-hero{min-height:410px;display:flex;align-items:flex-end;padding:155px 0 70px;background:linear-gradient(90deg,rgba(18,14,11,.97),rgba(18,14,11,.7)),url('../img/hero-hd.webp') center 42%/cover;color:#fff}
.page-hero h1{font:500 clamp(48px,6vw,76px)/1 var(--serif);margin:10px 0 18px}
.page-hero p:last-child{max-width:690px;color:#d6cec4;font-size:15px}
.narrow{max-width:1040px}
.price-section{padding:80px 0 100px;background:radial-gradient(circle at 90% 0,#fffaf2,#eee7dd 55%,#f6f2eb)}
.price-intro{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:80px;margin-bottom:45px}
.price-intro h2,.map-copy h2,.booking-card h2{font:600 clamp(36px,4vw,52px)/1.04 var(--serif);margin:9px 0}
.price-intro>p{font-size:13px;color:#6e6459}
.mini-label{text-transform:uppercase;color:#a66f2e;letter-spacing:2px;font-size:10px;font-weight:600}
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.price-card{display:grid;grid-template-columns:46px 1fr auto;gap:20px;align-items:center;min-height:150px;padding:25px 27px;background:rgba(255,255,255,.72);border:1px solid rgba(112,77,37,.13);border-radius:10px;box-shadow:0 13px 35px rgba(46,30,14,.05);transition:.25s}
.price-card:hover{transform:translateY(-3px);border-color:rgba(176,122,57,.4)}
.price-card.featured{background:#211a14;color:#f4eee6}
.price-no{font:500 25px var(--serif);color:#b47d38;align-self:start}
.price-card h3{font:600 24px var(--serif);margin:0}
.price-card p{margin:4px 0 0;font-size:11px;color:#756b61;line-height:1.5}
.price-card.featured p{color:#bcb2a7}
.price-card strong{white-space:nowrap;color:#a66f2e;font-size:17px}
.price-note{margin-top:30px;padding:32px 38px;background:linear-gradient(110deg,#282018,#17130f);color:white;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.price-note h3{font:500 27px var(--serif);margin:5px 0}
.contact-page{padding:70px 0 95px;background:#f2ece3}
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px}
.info-card{min-height:170px;background:#fffaf4;padding:25px;border:1px solid rgba(110,77,38,.12);border-radius:10px;display:flex;flex-direction:column;justify-content:center;transition:.25s}
.info-card:hover{transform:translateY(-4px);box-shadow:0 17px 40px rgba(50,33,16,.09)}
.info-card span{font:600 28px var(--serif);color:#b37d39;height:40px}
.info-card span .icon{width:28px}
.info-card small{text-transform:uppercase;letter-spacing:1.6px;color:#9b8d7c;margin:8px 0 3px}
.info-card strong{font-size:12px}
.map-shell{display:grid;grid-template-columns:.72fr 1.3fr;background:#1c1712;border-radius:12px;overflow:hidden;box-shadow:0 24px 55px rgba(40,26,13,.16)}
.map-copy{padding:55px;color:#ddd4c9}
.map-copy h2{color:#fff}
.map-copy p{font-size:12px;max-width:360px;margin:20px 0 30px}
.map-copy .button{min-width:0}
.map-shell iframe{width:100%;height:500px;border:0;filter:saturate(.75) contrast(1.04)}
.booking{padding:90px 24px;background:#efe8de}
.booking-card{max-width:760px;margin:auto;background:#fffaf4;text-align:center;padding:70px;border-radius:12px;border:1px solid rgba(110,77,38,.12);box-shadow:0 25px 60px rgba(50,33,16,.1)}
.booking-card p{max-width:560px;margin:20px auto 30px;color:#6e6459}
.booking-actions{display:flex;justify-content:center;gap:12px}
.dark-outline{border:1px solid #5f4931}
.booking .button{min-width:230px}
.booking .icon{width:18px}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.25,1)}
.reveal.visible{opacity:1;transform:none}
.service-grid .reveal:nth-child(2),.price-grid .reveal:nth-child(even),.contact-cards .reveal:nth-child(2){transition-delay:.1s}
.service-grid .reveal:nth-child(3),.contact-cards .reveal:nth-child(3){transition-delay:.2s}
.contact-cards .reveal:nth-child(4){transition-delay:.3s}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
.reveal{opacity:1;transform:none;transition:none!important}
}
@media(max-width:900px){body.menu-open{overflow:hidden}
.site-header{height:86px}
.site-header:has(.menu.open){background:rgba(19,15,12,.99);border-color:rgba(189,137,70,.25)}
.brand{width:126px;height:76px;position:relative;z-index:2}
.brand img{width:126px;height:auto}
.menu-toggle{position:relative;z-index:3;display:grid!important;place-content:center;width:48px;height:48px;border:1px solid rgba(208,157,86,.5)!important;border-radius:50%;background:rgba(20,15,11,.32)!important;backdrop-filter:blur(8px);cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.menu-toggle:hover{background:rgba(185,133,67,.2)!important;border-color:#c89551!important}
.menu-toggle span{width:22px!important;height:2px!important;margin:3px!important;background:#f3e9dc!important;border-radius:4px;transition:transform .35s cubic-bezier(.6,-.3,.3,1.4),opacity .2s,width .25s}
.menu-toggle span:nth-child(2){width:15px!important;justify-self:end}
.menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle.active span:nth-child(2){opacity:0;transform:translateX(8px)}
.menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.nav nav{display:flex!important;position:fixed!important;inset:0!important;top:0!important;z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:5px!important;padding:110px 24px 50px!important;background:radial-gradient(circle at 50% 20%,#33271c,#17120e 62%)!important;border:0!important;opacity:0;visibility:hidden;transform:translateY(-18px) scale(.985);transition:opacity .35s,visibility .35s,transform .35s}
.nav nav.open{opacity:1;visibility:visible;transform:none}
.nav nav a{font:500 33px var(--serif);padding:9px 25px!important;border:0!important;color:#f2ece4;opacity:0;transform:translateY(15px);transition:color .2s,opacity .3s,transform .3s}
.nav nav.open a{opacity:1;transform:none}
.nav nav.open a:nth-child(2){transition-delay:.06s}
.nav nav.open a:nth-child(3){transition-delay:.12s}
.nav nav.open a:nth-child(4){transition-delay:.18s}
.nav nav .nav-cta{font:600 12px var(--sans);margin-top:24px;padding:15px 30px!important;border:1px solid #9b6d34!important;color:#d7a45f}
.about{width:calc(100% - 32px)}
.price-grid{grid-template-columns:1fr}
.price-intro{grid-template-columns:1fr;gap:10px}
.contact-cards{grid-template-columns:1fr 1fr}
.map-shell{grid-template-columns:1fr}
.map-shell iframe{height:400px}
.hero{min-height:760px;background-position:62% 57%}
.hero-content{padding-top:120px}
}
@media(max-width:560px){.hero{min-height:720px;background-position:67% 57%}
.hero-content{padding-top:115px;padding-bottom:50px}
.hero h1{font-size:49px}
.page-hero{min-height:430px;padding:155px 0 55px}
.price-section,.contact-page{padding:55px 0}
.price-card{grid-template-columns:34px 1fr;padding:20px}
.price-card strong{grid-column:2;font-size:16px}
.price-note{align-items:stretch;flex-direction:column;padding:27px}
.contact-cards{grid-template-columns:1fr}
.map-copy{padding:36px 25px}
.map-shell iframe{height:340px}
.booking{padding:50px 16px}
.booking-card{padding:45px 22px}
.booking-actions{flex-direction:column}
.booking .button{min-width:0}
.about{margin-bottom:50px}
}
