:root{
  --bg:#0d0908;
  --bg-soft:#15100d;
  --panel:rgba(255,255,255,.05);
  --panel-strong:rgba(255,255,255,.08);
  --text:#faf6f0;
  --muted:#ddd1c2;
  --soft:#b5a491;
  --accent:#e2bc79;
  --accent-soft:#f5e3b9;
  --line:rgba(255,255,255,.10);
  --shadow:0 30px 70px rgba(0,0,0,.38);
  --radius:34px;
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(226,188,121,.10), transparent 22%),
    radial-gradient(circle at bottom left, rgba(226,188,121,.06), transparent 20%),
    linear-gradient(180deg,#0d0908 0%, #130f0d 46%, #0d0908 100%);
  line-height:1.7;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.container{width:min(var(--max),calc(100% - 32px));margin:0 auto}

.site-header{
  position:sticky;top:0;z-index:40;
  background:rgba(13,9,8,.82);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.topbar{
  min-height:88px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:14px 0;
}
.brand{display:flex;flex-direction:column;gap:4px}
.brand-mark{
  font-size:.84rem;letter-spacing:.42em;text-transform:uppercase;
  color:var(--accent-soft);font-weight:800;
}
.brand-sub{color:var(--muted);font-size:.95rem}
.nav-shell{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;
  padding:8px;border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));
  border-radius:999px;
  box-shadow:0 16px 32px rgba(0,0,0,.20);
}
.nav-shell a{
  padding:10px 14px;border-radius:999px;
  color:#efe7dc;font-size:.93rem;transition:.18s ease;
}
.nav-shell a:hover{background:rgba(255,255,255,.08)}
.nav-shell a.active{
  background:linear-gradient(180deg,var(--accent-soft),var(--accent));
  color:#2a1d12;font-weight:700;
}
.nav-book{
  padding:12px 18px !important;
  background:linear-gradient(180deg,var(--accent-soft),var(--accent));
  color:#24180f !important;
  font-weight:800;
  box-shadow:0 10px 24px rgba(226,188,121,.22);
}

.hero{
  position:relative;overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(115deg,rgba(13,9,8,.95) 8%,rgba(22,16,13,.88) 44%,rgba(73,47,24,.68) 100%);
  z-index:1;
}
.hero-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.26;
}
.hero-inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:30px;align-items:end;
  padding:110px 0 96px;
}
.eyebrow{
  display:inline-block;
  margin:0 0 18px;
  padding:11px 17px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:var(--accent-soft);
  text-transform:uppercase;
  letter-spacing:.30em;
  font-size:.77rem;
}
.eyebrow.small{
  font-size:.72rem;padding:0;border:none;background:none;letter-spacing:.24em
}
h1,h2,h3,p{margin:0}
h1{
  font-size:clamp(2.7rem,5vw,5.4rem);
  line-height:1.00;
  letter-spacing:-.05em;
}
h2{
  font-size:clamp(1.55rem,2.5vw,2.2rem);
  line-height:1.14;
}
h3{font-size:1.16rem}
.lead{
  margin-top:18px;
  color:#f0e6db;
  font-size:1.08rem;
  max-width:60ch;
}
.button-row{
  margin-top:28px;
  display:flex;flex-wrap:wrap;gap:14px;
}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 22px;border-radius:999px;font-weight:800;
  transition:transform .15s ease, opacity .15s ease;
}
.button:hover{transform:translateY(-1px)}
.button-primary{
  background:linear-gradient(180deg,var(--accent-soft),var(--accent));
  color:#24180f;
}
.button-secondary{
  color:#fff;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
}
.card,.price-card,.contact-box,.review-card,.lux-panel{
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.04));
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card,.price-card,.contact-box,.review-card,.lux-panel{padding:30px}
.hero-side{display:grid;gap:18px}
.hero-panel{
  backdrop-filter:blur(12px);
}
.hero-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
.hero-stats div{
  padding:18px 14px;border-radius:22px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  text-align:center;
}
.hero-stats strong{display:block;color:var(--accent-soft);font-size:1.12rem}
.hero-stats span{color:var(--muted)}
.section{padding:78px 0}
.section-title-wrap{max-width:840px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.feature-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:24px}
.info-card{
  position:relative;overflow:hidden;
}
.info-card::after{
  content:"";
  position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent-soft),transparent);
}
.icon-box{
  width:56px;height:56px;border-radius:18px;
  background:rgba(226,188,121,.16);
  border:1px solid rgba(226,188,121,.16);
  margin-bottom:18px;
}
.feature{
  position:relative;overflow:hidden;border-radius:38px;border:1px solid var(--line);
}
.feature.large{min-height:540px}
.feature.small{min-height:260px}
.feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.84),rgba(0,0,0,.18),transparent);
}
.feature-copy{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:34px;
}
.stack{display:grid;gap:24px}
.pill-tag{
  position:absolute;left:22px;top:22px;z-index:2;
  padding:10px 14px;border-radius:999px;
  background:rgba(0,0,0,.42);color:var(--accent-soft);
  text-transform:uppercase;letter-spacing:.24em;font-size:.72rem;
}
.page-hero{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,500px);gap:30px;align-items:center;
}
.page-hero-image{
  min-height:450px;border-radius:38px;overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.page-hero-image img{width:100%;height:100%;min-height:450px;object-fit:cover}
.profile-badge{
  width:190px;height:190px;margin:0 auto 24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);
  background:linear-gradient(135deg,rgba(226,188,121,.18),rgba(255,255,255,.04));
}
.profile-badge-inner{text-align:center}
.initials{font-size:4rem;font-weight:800;color:var(--accent-soft)}
.role-mini{margin-top:6px;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.2em}
.profile-title{text-align:center;margin-bottom:16px}
.price-list{display:grid;gap:14px;margin-top:18px}
.price-row{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--muted);
}
.price-row:last-child{border-bottom:none;padding-bottom:0}
.price-pill{
  flex:0 0 auto;white-space:nowrap;
  padding:7px 12px;border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#fff;font-weight:700;font-size:.92rem;
}
.review-hero{
  padding:34px;border-radius:40px;border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at top right, rgba(226,188,121,.18), transparent 30%),
    linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.04));
  box-shadow:var(--shadow);
}
.review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.review-card{
  position:relative;overflow:hidden;
}
.review-card::before{
  content:"";position:absolute;inset:0 auto 0 0;width:4px;
  background:linear-gradient(180deg,var(--accent-soft),var(--accent));
}
.review-stars{font-size:1.06rem;color:var(--accent-soft);letter-spacing:.18em;margin-bottom:12px}
.review-name{margin-top:16px;color:var(--accent-soft);font-weight:700}
.review-label{margin-top:4px;color:var(--soft);font-size:.92rem}
.form-grid{display:grid;gap:16px}
.form-grid input,.form-grid textarea,.form-grid select{
  width:100%;padding:14px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);color:var(--text);font:inherit;
}
.form-grid textarea{min-height:150px;resize:vertical}
.form-grid label{display:block;margin-bottom:8px;color:var(--accent-soft);font-weight:700}
.review-form-shell{
  padding:34px;border-radius:40px;border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at top left, rgba(226,188,121,.15), transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));
  box-shadow:var(--shadow);
}
.contact-wrap{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);
  overflow:hidden;border-radius:40px;border:1px solid var(--line);
  background:
    radial-gradient(circle at top right,rgba(226,188,121,.15),transparent 30%),
    linear-gradient(135deg,#47311c 0%,#140f0d 58%,#18110d 100%);
  box-shadow:var(--shadow);
}
.contact-copy,.contact-box{padding:36px}
.contact-copy p,.contact-box p{color:var(--muted)}
.contact-box .button{margin-top:18px}
.site-footer{
  padding:38px 0 48px;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}
.footer-title{margin-bottom:12px;font-size:1rem}
.footer-links{display:flex;flex-wrap:wrap;gap:10px}
.footer-links a{
  padding:8px 12px;border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:#e7dfd3;font-size:.92rem;
}
.footer-text{margin-top:8px;color:var(--soft)}
.footer-link{display:inline-block;margin-top:12px;color:var(--accent-soft)}
.center{text-align:center}
.muted{color:var(--muted)}
.soft{color:var(--soft)}

@media (max-width:1100px){
  .review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .hero-inner,.feature-grid,.page-hero,.contact-wrap,.footer-grid,.grid-2,.grid-3,.review-grid{
    grid-template-columns:1fr;
  }
  .nav-shell{display:none}
  .hero-inner{padding:72px 0}
}
