:root{
  --bg:#070707;
  --panel:#101010;
  --panel2:#15120f;
  --text:#f5f0e8;
  --muted:#b7ada1;
  --gold:#c9a461;
  --line:rgba(255,255,255,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:radial-gradient(circle at 50% 0%, #1a1712 0%, #080808 45%, #030303 100%);
  color:var(--text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a{color:inherit;text-decoration:none}
.site-header{
  position:sticky; top:0; z-index:10;
  display:flex; justify-content:space-between; align-items:center;
  padding:22px clamp(18px,4vw,58px);
  background:rgba(7,7,7,.78); backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}
.brand{display:grid;text-align:center;letter-spacing:.34em;text-transform:uppercase}
.brand-main{font-family:Georgia,serif;font-size:clamp(18px,2.2vw,34px)}
.brand-sub{font-size:16px;color:var(--gold);letter-spacing:.45em}
.brand-tag{font-size:10px;color:var(--muted);margin-top:8px}
nav{display:flex;gap:22px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.18em}
nav a:hover{color:var(--gold)}
.hero{
  min-height:82vh;
  display:grid; grid-template-columns:1fr 1fr; gap:38px; align-items:center;
  padding:70px clamp(18px,5vw,80px);
}
.hero-copy{max-width:670px}
.eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--muted);font-size:12px}
.gold{color:var(--gold)}
h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.05;margin:16px 0}
h1{font-size:clamp(46px,7vw,92px)}
h2{font-size:clamp(34px,4.3vw,62px)}
h3{text-transform:uppercase;letter-spacing:.22em;color:var(--muted);font-weight:500;font-size:13px}
em{font-family:"Brush Script MT", "Segoe Script", cursive;font-weight:400;color:white}
.lead{font-size:clamp(18px,2vw,24px);line-height:1.6;color:var(--muted)}
.cta-row{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.button{
  display:inline-flex;justify-content:center;align-items:center;
  min-height:48px;padding:0 22px;border:1px solid var(--line);
  border-radius:999px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;
}
.primary{background:var(--gold);color:#111;border-color:var(--gold)}
.secondary:hover{border-color:var(--gold);color:var(--gold)}
.hero-card,.offer,.portfolio,.booking{
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}
.image-placeholder,.offer-image,.thumb{
  background-size:cover;background-position:center;
  min-height:420px;
}
.image-placeholder{
  display:flex;align-items:end;padding:28px;color:white;
  font-family:Georgia,serif;font-size:30px;letter-spacing:.16em;text-transform:uppercase;
}
.executive-bg{
  background-image:linear-gradient(90deg,rgba(0,0,0,.25),rgba(0,0,0,.75)),url("https://images.unsplash.com/photo-1519085360753-af0119f7cbe7?auto=format&fit=crop&w=1200&q=80");
}
.family-bg{
  background-image:linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.65)),url("https://images.unsplash.com/photo-1508214751196-bcfd4ca60f91?auto=format&fit=crop&w=1200&q=80");
}
.portrait-bg{
  background-image:linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.65)),url("https://images.unsplash.com/photo-1544005313-94ddf0286df2?auto=format&fit=crop&w=1200&q=80");
}
.city-bg{
  background-image:linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.65)),url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1200&q=80");
}
.split{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:20px clamp(18px,4vw,58px) 60px}
.offer{overflow:hidden}
.offer.warm{background:linear-gradient(180deg,rgba(92,61,22,.25),rgba(255,255,255,.01))}
.offer-body{padding:clamp(24px,4vw,52px)}
.offer p{color:var(--muted);line-height:1.7}
.include-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:18px}
.include-grid div{border-top:1px solid var(--line);padding-top:16px}
.include-grid strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.include-grid span{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:8px}
.price-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px;text-align:center}
.price{font-family:Georgia,serif;color:var(--gold);font-size:38px;display:block}
small{color:var(--muted)}
.portfolio{margin:0 clamp(18px,4vw,58px) 60px;padding:clamp(28px,4vw,54px);text-align:center}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.thumb{min-height:250px;border:1px solid var(--line)}
.note{color:var(--muted)}
.booking{
  margin:0 clamp(18px,4vw,58px) 60px;padding:clamp(28px,5vw,68px);
  display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start;
}
form{display:grid;gap:16px}
label{display:grid;gap:8px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.12em}
input,select,textarea{
  width:100%;background:#0a0a0a;border:1px solid var(--line);border-radius:0;
  color:var(--text);padding:15px;font:inherit;letter-spacing:0;text-transform:none;
}
footer{
  padding:34px clamp(18px,4vw,58px);
  border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  color:var(--muted);text-transform:uppercase;letter-spacing:.18em;font-size:12px;
}
@media(max-width:900px){
  .site-header{position:relative;display:grid;gap:18px;justify-content:center}
  nav{justify-content:center}
  .hero,.split,.booking{grid-template-columns:1fr}
  .portfolio-grid,.include-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  nav{gap:12px;font-size:11px}
  .portfolio-grid,.include-grid,.price-row{grid-template-columns:1fr}
  .image-placeholder,.offer-image{min-height:330px}
}
