
:root{--black:#050300;--ivory:#fcfcfa;--soft:#f1efe8;--line:rgba(5,3,0,.13);--muted:#69665f;--white:#fff;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ivory);color:var(--black);font-family:Arial,Helvetica,sans-serif;line-height:1.75;overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.container{width:min(1220px,92%);margin:auto}.kicker{font-size:10px;letter-spacing:3px;text-transform:uppercase}.muted{color:var(--muted)}
.site-header{position:fixed;inset:0 0 auto;z-index:999;background:rgba(252,252,250,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);transition:.35s}.site-header.scrolled{box-shadow:0 12px 45px rgba(5,3,0,.09)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center}.mark{height:43px;width:43px;border:1px solid var(--black);display:grid;place-items:center;font:26px Georgia,serif}.brand strong{display:block;font:22px Georgia,serif}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted)}.menu{display:flex;gap:22px;align-items:center;font-size:12px}.menu a{position:relative;padding:9px 0}.menu a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--black);transition:.3s}.menu a:hover:after{right:0}.menu .nav-book{background:var(--black);color:var(--ivory);padding:11px 16px}.toggle{display:none;background:0;border:0;width:44px}.toggle span{display:block;height:1px;background:var(--black);margin:7px 0}
.hero{position:relative;min-height:760px;height:94vh;background:var(--black);color:var(--ivory);display:flex;align-items:center;overflow:hidden}.hero-slides,.hero-slide,.hero-overlay{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity 1.2s var(--ease)}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 7s var(--ease)}.hero-slide.active img{transform:scale(1)}.hero-overlay{background:linear-gradient(90deg,rgba(5,3,0,.96) 0%,rgba(5,3,0,.7) 50%,rgba(5,3,0,.2) 100%)}.hero-content{position:relative;z-index:2;padding-top:80px;animation:rise .9s both}.hero h1{font:700 clamp(50px,7vw,96px)/.93 Georgia,serif;max-width:850px;margin:20px 0}.hero h1 em{font-weight:400}.hero p{max-width:650px;color:#ddd9d0;font-size:16px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.btn{min-height:49px;padding:0 20px;border:1px solid var(--black);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:.3s var(--ease);cursor:pointer}.btn:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(5,3,0,.16)}.btn-light{background:var(--ivory);color:var(--black);border-color:var(--ivory)}.btn-dark{background:var(--black);color:var(--ivory);border-color:var(--black)}.btn-ghost{background:transparent;color:var(--ivory);border-color:rgba(252,252,250,.7)}.hero-dots{position:absolute;z-index:4;bottom:35px;left:4%;display:flex;gap:7px}.hero-dots button{width:34px;height:2px;border:0;background:rgba(252,252,250,.35);padding:0}.hero-dots button.active{background:var(--ivory);width:65px}.hero-scroll{position:absolute;right:4%;bottom:33px;font-size:9px;letter-spacing:3px;writing-mode:vertical-rl;color:#aaa59b}
.section{padding:110px 0}.section.dark{background:var(--black);color:var(--ivory)}.section.soft{background:var(--soft)}.section-head{max-width:760px;margin-bottom:48px}.section h2{font:700 clamp(40px,5.4vw,68px)/1.02 Georgia,serif;margin:12px 0 20px}.section h2 em{font-weight:400}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.image-card{position:relative}.image-card img{width:100%;aspect-ratio:1/.85;object-fit:cover}.image-card:after{content:"";position:absolute;inset:18px;border:1px solid rgba(252,252,250,.45);pointer-events:none}.copy p{color:var(--muted)}.dark .copy p{color:#aaa69c}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:55px}.stat{padding:28px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat b{display:block;font:38px Georgia,serif}.stat span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:var(--ivory);border:1px solid var(--line);padding:30px;min-height:330px;position:relative;overflow:hidden;transition:.4s var(--ease)}.dark .card{background:#050300;border-color:rgba(252,252,250,.15)}.card:before{content:"";position:absolute;left:0;top:0;width:0;height:2px;background:var(--black);transition:.4s}.dark .card:before{background:var(--ivory)}.card:hover{transform:translateY(-8px);box-shadow:0 25px 70px rgba(5,3,0,.12)}.card:hover:before{width:100%}.card-no{font-size:10px;letter-spacing:2px;color:var(--muted)}.card h3{font:700 27px/1.15 Georgia,serif;margin:35px 0 13px}.card p{font-size:13px;color:var(--muted)}.dark .card p{color:#aaa69c}.card .text{display:inline-block;margin-top:20px;font-size:10px;letter-spacing:1px;border-bottom:1px solid currentColor}
.service-image{height:180px;overflow:hidden;margin:-30px -30px 25px}.service-image img{width:100%;height:100%;object-fit:cover;transition:.7s}.card:hover .service-image img{transform:scale(1.08)}
.prices{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.price{border:1px solid var(--line);padding:30px;background:var(--ivory);transition:.35s}.price:hover{transform:translateY(-6px)}.price.featured{background:var(--black);color:var(--ivory)}.price h3{font:26px Georgia,serif}.amount{font:700 31px Georgia,serif;margin:20px 0}.price ul{list-style:none;padding:0;min-height:125px;color:var(--muted);font-size:12px}.featured ul{color:#aaa69c}.price li{margin:7px 0}.price li:before{content:"— ";color:var(--black)}.featured li:before{color:var(--ivory)}
.faqs{max-width:900px}.faq{border-top:1px solid rgba(252,252,250,.15)}.faq:last-child{border-bottom:1px solid rgba(252,252,250,.15)}.faq button{width:100%;display:grid;grid-template-columns:45px 1fr 30px;text-align:left;background:none;border:0;color:var(--ivory);padding:22px 0;cursor:pointer}.faq button span{font-size:10px;color:#aaa69c}.faq button strong{font-size:14px}.faq button i{font-style:normal;font-size:20px;text-align:right}.answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}.answer p{margin:0 45px 22px;color:#aaa69c;font-size:13px}
.gallery{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-auto-rows:230px;gap:10px}.gallery figure{margin:0;overflow:hidden;position:relative}.gallery figure:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:.8s}.gallery figure:hover img{transform:scale(1.06)}
.review-slider{max-width:900px;margin:auto;text-align:center}.review{display:none}.review.active{display:block;animation:fade .6s}.stars{letter-spacing:5px}.review blockquote{font:italic 30px/1.35 Georgia,serif}.review small{color:var(--muted)}
.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.area{padding:24px;border:1px solid var(--line);background:var(--ivory);font:20px Georgia,serif;transition:.3s}.area:hover{background:var(--black);color:var(--ivory);transform:translateY(-4px)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}.map{height:460px;border:1px solid var(--line);position:relative}.map iframe{width:100%;height:100%;border:0}.map a{position:absolute;right:12px;bottom:12px;background:var(--black);color:var(--ivory);padding:10px 14px;font-size:10px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form .full{grid-column:1/-1}.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);background:var(--ivory);padding:14px;outline:none}.form textarea{min-height:140px}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--black)}
.footer{background:var(--black);color:var(--ivory);padding-top:75px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;padding-bottom:60px}.footer p,.footer a{display:block;color:#a5a198;font-size:12px;margin:7px 0}.footer h4{font-size:10px;letter-spacing:2px;text-transform:uppercase}.footer-bottom{border-top:1px solid rgba(252,252,250,.12);padding:20px 0;display:flex;justify-content:space-between;color:#716d66;font-size:10px}
.mobile-bar{display:none}.reveal{opacity:0;transform:translateY(25px);transition:.8s var(--ease)}.reveal.visible{opacity:1;transform:none}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}
@media(max-width:1050px){.menu{gap:13px}.cards{grid-template-columns:repeat(2,1fr)}.prices{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:2fr 1fr 1fr}}
@media(max-width:760px){
body{padding-bottom:62px}.nav{height:70px}.toggle{display:block}.menu{display:none;position:absolute;top:70px;left:0;right:0;background:var(--ivory);padding:8px 4%;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line)}.menu.open{display:flex}.menu a{padding:13px 5px;border-bottom:1px solid var(--line)}.menu .nav-book{text-align:center;margin:9px 0}.hero{height:auto;min-height:760px}.hero h1{font-size:50px}.hero p{font-size:14px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-scroll{display:none}.section{padding:75px 0}.split,.contact-grid{grid-template-columns:1fr;gap:40px}.cards,.prices{grid-template-columns:1fr}.card{min-height:0}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.gallery figure:first-child{grid-column:1/-1;grid-row:auto}.area-grid{grid-template-columns:1fr 1fr}.form{grid-template-columns:1fr}.form .full{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:6px}.mobile-bar{position:fixed;z-index:2000;display:grid;grid-template-columns:1fr 1fr;gap:6px;bottom:0;left:0;right:0;padding:7px;background:var(--black)}.mobile-bar a{height:47px;display:grid;place-items:center;background:var(--ivory);color:var(--black);font-weight:700;font-size:11px}.mobile-bar a:last-child{background:#e9e5dc}}
@media(max-width:390px){.container{width:90%}.hero h1{font-size:44px}.area-grid,.footer-grid{grid-template-columns:1fr}}
