:root{
  --bg:#121513; --bg2:#171B19; --line:#2E3430;
  --tx:#E8E2D4; --tx2:#A9A598; --gold:#C9A227; --gold2:#E2CF9E;
  --serif:'Playfair Display',Lora,Georgia,serif;
  --sans:'Inter Tight',Inter,'Helvetica Neue',Arial,sans-serif;
  --pad:clamp(20px,4vw,56px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--sans);
  font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{opacity:.72}
.wrap{max-width:1360px;margin:0 auto;padding:0 var(--pad)}
.narrow{max-width:860px;margin:0 auto;padding:0 var(--pad)}
header{position:sticky;top:0;z-index:60;background:rgba(18,21,19,.9);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;gap:18px;min-height:76px}
.logo{display:flex;align-items:center;gap:14px;letter-spacing:.34em;font-size:12px;font-weight:600}
.logo svg{flex:0 0 auto}
nav{display:flex;gap:26px;margin-left:auto;font-size:12px;font-weight:500;letter-spacing:.16em}
nav a{padding:12px 0;border-bottom:1px solid transparent}
nav a:hover{border-bottom-color:currentColor;opacity:1}
.hd .tel{font-size:13px;letter-spacing:.12em;border:1px solid var(--line);padding:10px 16px;border-radius:2px}
.btn{display:inline-block;padding:16px 30px;border:1px solid var(--tx);font-size:12px;
  letter-spacing:.22em;text-transform:uppercase;font-weight:600;transition:.2s}
.btn:hover{background:var(--tx);color:var(--bg);opacity:1}
.btn.gold{border-color:var(--gold);color:var(--gold2)}
.btn.gold:hover{background:var(--gold);color:#121513}
.hero{position:relative;height:min(88vh,860px);min-height:520px;overflow:hidden}
.hero img{width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(18,21,19,.55) 0%,rgba(18,21,19,0) 32%,rgba(18,21,19,.86) 100%)}
.hero .over{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 var(--pad) 56px}
.hero .in{max-width:1360px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.kicker{font-size:12px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold2)}
h1{font-family:var(--serif);font-weight:900;text-transform:uppercase;
  font-size:clamp(46px,8vw,112px);line-height:.88;letter-spacing:-.02em;margin:0}
.hero .sub{font-family:var(--serif);font-style:italic;font-size:clamp(17px,1.6vw,24px);color:var(--tx2)}
section{padding:clamp(64px,10vw,150px) 0}
section.tight{padding:clamp(48px,6vw,90px) 0}
h2{font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:clamp(28px,3.6vw,46px);line-height:1.1;margin:0 0 26px}
h3{font-family:var(--serif);font-weight:700;text-transform:uppercase;font-size:clamp(20px,2.2vw,28px);
  letter-spacing:.01em;margin:0 0 10px}
.lead{font-size:clamp(19px,2.1vw,26px);line-height:1.5;color:var(--tx);
  font-family:var(--serif);font-style:italic;max-width:780px}
p{max-width:760px;color:#D5D0C2}
.muted{color:var(--tx2)}
.rule{height:1px;background:var(--line);margin:0}
.split{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(28px,5vw,80px);align-items:start}
.services{list-style:none;margin:0;padding:0}
.services li{border-top:1px solid var(--line);padding:26px 0;display:grid;
  grid-template-columns:70px 1fr auto;gap:24px;align-items:baseline}
.services li:last-child{border-bottom:1px solid var(--line)}
.services .num{font-size:12px;letter-spacing:.2em;color:var(--tx2)}
.services .name{font-family:var(--serif);font-weight:700;text-transform:uppercase;
  font-size:clamp(22px,3vw,40px);line-height:1.05}
.services .desc{grid-column:2/4;color:var(--tx2);font-size:15.5px;max-width:640px;margin-top:8px}
.arrow{font-size:12px;letter-spacing:.2em;color:var(--gold2)}
.feature{position:relative;height:clamp(340px,58vh,620px);overflow:hidden}
.feature img{width:100%;height:100%;object-fit:cover}
.cap{padding:14px 0 0;font-size:12px;letter-spacing:.06em;color:var(--tx2)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(24px,3vw,48px)}
.cols .item h4{font-family:var(--serif);font-size:20px;margin:0 0 8px;font-weight:700}
.cols .item p{font-size:15px;color:var(--tx2);margin:0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px 0}
.stat b{display:block;font-family:var(--serif);font-size:clamp(30px,4vw,52px);line-height:1;color:var(--gold2)}
.stat span{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx2)}
.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px}
.person{position:relative}
.person img{aspect-ratio:3/4;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.person .plate{position:absolute;left:0;bottom:0;padding:16px 18px;background:rgba(18,21,19,.78);
  backdrop-filter:blur(6px);width:100%}
.person .nm{font-family:var(--serif);font-weight:700;font-size:19px;letter-spacing:.01em}
.person .rl{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx2)}
.details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.details img{aspect-ratio:1/1;object-fit:cover}
.docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--line)}
.doc{background:var(--bg);padding:30px}
.doc b{display:block;font-family:var(--serif);font-size:18px;margin-bottom:8px}
.doc span{font-size:14.5px;color:var(--tx2)}
form{display:grid;gap:14px;max-width:520px}
label{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx2)}
input,textarea,select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);
  color:var(--tx);padding:10px 0;font-family:var(--sans);font-size:16px;outline:none}
input:focus,textarea:focus,select:focus{border-bottom-color:var(--gold)}
textarea{min-height:80px;resize:vertical}
.fine{font-size:12px;color:#7E7A70;line-height:1.5}
footer{border-top:1px solid var(--line);padding:56px 0 34px;margin-top:20px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:34px}
.fgrid h5{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--tx2);margin:0 0 14px}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14.5px;color:var(--tx2)}
.copy{border-top:1px solid var(--line);margin-top:34px;padding-top:22px;font-size:12px;color:#7E7A70}
.crumbs{padding:22px 0 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx2)}
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line);padding:22px 0}
.acc summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:19px;font-weight:500}
.acc summary::-webkit-details-marker{display:none}
.acc summary:after{content:"+";float:right;color:var(--gold2)}
.acc details[open] summary:after{content:"–"}
.acc p{margin:14px 0 0;color:var(--tx2);font-size:15px;max-width:720px}
.note{border-left:2px solid var(--gold);padding:4px 0 4px 20px;color:var(--tx2);font-size:15px;max-width:720px}
@media(max-width:900px){
  nav{display:none}
  .hd .tel{display:none}
  .split{grid-template-columns:1fr}
  .services li{grid-template-columns:44px 1fr;gap:14px}
  .services .arrow{display:none}
  .services .desc{grid-column:2/3}
  .fgrid{grid-template-columns:1fr}
  .hero{height:78vh}
}
