:root{
  --bg:#1B0F1E; --bg-deep:#150B18; --surface:#2A182E; --line:#2E1B33; --line-soft:#3A2340;
  --text:#F5EEF4; --text-soft:#C6BAC8; --muted:#9B8B9E; --gold:#D8B98B; --gold-light:#F6E4C6; --gold-deep:#C79E6E; --cream:#E8D6BB;
  --pad-x:clamp(16px,4vw,28px); --pad-y:clamp(48px,10vw,82px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Jost',system-ui,sans-serif;font-weight:300;overflow-x:clip}
img,video,iframe{display:block;max-width:100%}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold-light)}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:600;margin:0;text-wrap:pretty}
h1{font-size:clamp(30px,7.5vw,52px);line-height:1.12}
h2{font-size:clamp(28px,6.5vw,40px);line-height:1.15}
h3{font-size:clamp(19px,4.6vw,24px);line-height:1.3}
p{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding-left:var(--pad-x);padding-right:var(--pad-x)}
.eyebrow{font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.label{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.lead{font-size:clamp(16px,4vw,18px);line-height:1.7;color:var(--text-soft);max-width:560px}
.body{font-size:clamp(16px,4vw,17px);line-height:1.8;color:var(--text-soft)}
.muted{font-size:clamp(15px,3.8vw,16px);line-height:1.75;color:var(--muted)}
.small{font-size:13.5px}
.narrow{max-width:420px}
.link-caps{font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.stack{display:flex;flex-direction:column;gap:clamp(24px,5vw,40px)}
.stack-s{display:flex;flex-direction:column;gap:14px}
.stack-xs{display:flex;flex-direction:column;gap:10px}

header{position:sticky;top:0;z-index:30}
.utility{background:var(--bg-deep);border-bottom:1px solid var(--line)}
.utility-in{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;justify-content:space-between;padding-top:8px;padding-bottom:8px;font-size:clamp(11px,2.8vw,12.5px);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bar{background:rgba(21,11,24,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:clamp(10px,2.5vw,16px);padding-bottom:clamp(10px,2.5vw,16px)}
.brand{display:flex;align-items:center;gap:clamp(9px,2.5vw,14px);min-width:0}
.brand img{width:clamp(34px,9vw,44px);height:auto;flex:0 0 auto}
.brand>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.brand-name{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(16px,4.4vw,22px);line-height:1.05;white-space:nowrap;background:linear-gradient(140deg,#F8E9CF,#CDA573 50%,#9A7A52);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-sub{font-size:clamp(8.5px,2.2vw,10.5px);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.nav-desktop{display:none;align-items:center;gap:clamp(14px,2vw,26px);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.nav-desktop a{color:var(--text-soft)}
.nav-desktop a.active{color:var(--gold)}
.nav-desktop a.btn{color:#1A1114}
.burger{width:48px;height:48px;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;border:1px solid var(--line-soft);cursor:pointer;padding:0}
.burger span{width:20px;height:1.5px;background:var(--gold)}
.nav-mobile{display:flex;flex-direction:column;background:var(--bg-deep);border-top:1px solid var(--line);padding:8px var(--pad-x) 20px}
.nav-mobile[hidden]{display:none}
.nav-mobile a{display:flex;align-items:center;min-height:56px;font-size:16px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--line);color:var(--text-soft)}
.nav-mobile a.active{color:var(--gold)}
.nav-mobile a.btn{margin-top:16px;justify-content:center;border-bottom:none;color:#1A1114}
.alert{background:var(--surface);border-bottom:1px solid rgba(216,185,139,.35)}
.alert-in{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px;font-size:clamp(13px,3.4vw,14px);line-height:1.6;color:var(--cream)}
.alert-in a{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;font-size:clamp(12px,3.2vw,13px);font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-align:center}
.btn-sm{min-height:48px;padding:0 22px;font-size:12px}
.btn-gold{background:linear-gradient(140deg,var(--gold-light),var(--gold-deep));color:#1A1114}
.btn-gold:hover{color:#1A1114;filter:brightness(1.06)}
.btn-ghost{border:1px solid rgba(216,185,139,.45);color:var(--text)}
.btn-block{width:100%;border:none;cursor:pointer;font-family:inherit}

.hero{position:relative;border-bottom:1px solid var(--line)}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--bg)}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,11,24,.86) 0%,rgba(21,11,24,.66) 55%,rgba(27,15,30,.5) 100%)}
.hero-in{position:relative;display:flex;flex-direction:column;gap:clamp(16px,4vw,26px);padding-top:clamp(56px,12vw,110px);padding-bottom:clamp(56px,12vw,110px)}
.hero-in h1{font-size:clamp(34px,9vw,74px);line-height:1.06;max-width:640px}
.hero-in .lead{max-width:480px;color:#D2C7D4}
.hero-cta{display:flex;flex-direction:column;gap:12px;width:100%;max-width:420px}

.band{border-bottom:1px solid var(--line);padding-top:var(--pad-y);padding-bottom:var(--pad-y)}
.band-dark{background:var(--bg-deep)}
.band-news{background:var(--surface);border-bottom:1px solid var(--line-soft);padding-top:clamp(32px,7vw,48px);padding-bottom:clamp(32px,7vw,48px)}
.news-head{font-size:clamp(18px,4.6vw,21px);line-height:1.5;max-width:680px}
.row-head{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:baseline;justify-content:space-between}
.social-inline{display:flex;gap:20px;font-size:12px;letter-spacing:.18em;text-transform:uppercase}

.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(12px,3vw,22px)}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:clamp(12px,3vw,22px)}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(28px,6vw,52px);align-items:center}
.card-num{background:var(--surface);padding:clamp(22px,5vw,30px);display:flex;flex-direction:column;gap:10px;border-top:2px solid var(--gold)}
.card-num .num{font-family:'Playfair Display',serif;font-size:clamp(26px,6vw,34px);color:var(--gold)}
.card-num h3{font-family:'Jost',sans-serif;font-weight:400;font-size:clamp(17px,4.2vw,18px)}
.card-num p{font-size:15px;line-height:1.7;color:var(--muted)}
.card{background:var(--surface);border:1px solid var(--line-soft);display:flex;flex-direction:column;min-width:0}
.card-body{padding:clamp(20px,5vw,26px);display:flex;flex-direction:column;gap:10px}
.card-body p{font-size:15px;line-height:1.7;color:var(--muted)}
.price{color:var(--gold)!important;letter-spacing:.06em}
.media{position:relative;overflow:hidden;min-width:0}
.media img{width:100%;height:100%;object-fit:cover}
.media-tall{height:clamp(300px,70vw,520px)}
.media-card{height:clamp(190px,45vw,220px)}
blockquote{margin:0;font-family:'Newsreader',Georgia,serif;font-style:italic;font-size:clamp(19px,4.8vw,24px);line-height:1.5;color:var(--cream);border-left:2px solid rgba(216,185,139,.45);padding-left:18px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-auto-rows:clamp(150px,40vw,210px);gap:10px}
.gallery .g-big{grid-column:span 2;grid-row:span 2}
.quote{border:1px solid var(--line-soft);padding:clamp(24px,5vw,32px);display:flex;flex-direction:column;gap:14px}
.quote p{font-family:'Newsreader',Georgia,serif;font-style:italic;font-size:clamp(18px,4.4vw,20px);line-height:1.6;color:var(--cream)}
.quote span{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

.page{display:flex;flex-direction:column;gap:clamp(28px,6vw,46px);padding-top:clamp(40px,9vw,78px);padding-bottom:clamp(56px,12vw,90px)}
.narrow-page{max-width:820px;gap:22px}
.page-head{display:flex;flex-direction:column;gap:14px;border-bottom:1px solid var(--line);padding-bottom:clamp(20px,5vw,30px)}
.form-card{background:var(--surface);border:1px solid var(--line-soft);padding:clamp(20px,5vw,36px)}
.form-card form{display:flex;flex-direction:column;gap:16px}
.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.form-card label{display:flex;flex-direction:column;gap:8px;min-width:0}
.form-card label>span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{width:100%;background:var(--bg);border:1px solid var(--line-soft);color:var(--text);font-family:'Jost',sans-serif;font-weight:300;font-size:16px;padding:14px;outline:none}
input,select{min-height:52px;padding:0 14px}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
.check{flex-direction:row!important;align-items:flex-start;gap:12px;font-size:14px;line-height:1.6;color:var(--muted)}
.check input{width:22px;height:22px;min-height:0;flex:0 0 auto;margin:2px 0 0;accent-color:#9A7A52}
.form-hint{font-size:13px;line-height:1.6;color:var(--muted)}
.form-hint.error{color:#E8A7A7}
.form-done{display:flex;flex-direction:column;gap:16px}
.map{width:100%;height:clamp(260px,60vw,420px);border:1px solid var(--line-soft);filter:grayscale(.35) brightness(.92)}
.social-btns{display:flex;flex-wrap:wrap;gap:12px}
.pricelist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.pricelist li{display:flex;gap:16px;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;font-size:clamp(16px,4vw,17px)}
.pricelist b{font-weight:400;color:var(--gold);white-space:nowrap}
.cta-band{background:var(--surface);padding:clamp(24px,5vw,36px);display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.cta-band .btn{width:100%;max-width:320px}

footer{background:var(--bg-deep);border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(26px,5vw,40px);padding-top:clamp(36px,8vw,60px);padding-bottom:clamp(24px,5vw,40px)}
.footer-grid a{font-size:14.5px}
.footer-logo{width:100%;max-width:280px;height:auto;opacity:.95}
.copyright{border-top:1px solid var(--line);padding-top:18px;padding-bottom:clamp(28px,6vw,44px);font-size:13px;letter-spacing:.08em;color:var(--muted)}

@media (min-width:900px){
  .nav-desktop{display:flex}
  .burger{display:none}
  .nav-mobile{display:none!important}
  .hero-cta{flex-direction:row;max-width:none}
  .cta-band .btn{width:auto}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero video{display:none}
}
