:root{
  --bg:#0b0a09;--bg2:#131110;--bg3:#1c1916;
  --gold:#c9a86a;--gold-bright:#e6cf9b;--gold-dim:#6f6044;
  --txt:#d8d4cc;--dim:#928c81;--line:#2c2722;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt);font-family:"Jost",system-ui,-apple-system,sans-serif;
  font-weight:300;line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
section{padding:96px 0}
.kicker{color:var(--gold);letter-spacing:.3em;text-transform:uppercase;font-size:12px;margin-bottom:18px}
.stitle{font-size:40px;font-weight:500;color:#fff;line-height:1.15;letter-spacing:-.5px}
.lead{color:var(--dim);max-width:560px;margin-top:14px;font-size:17px}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.btn{display:inline-block;padding:15px 32px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  border-radius:2px;cursor:pointer;transition:.25s;border:1px solid var(--gold);background:none;
  color:var(--gold);font-family:inherit}
.btn-gold{background:var(--gold);color:#1a1510}
.btn-gold:hover{background:var(--gold-bright);border-color:var(--gold-bright)}
.btn-ghost:hover{background:rgba(201,168,106,.1)}
/* header */
header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(11,10,9,.9);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:26px;height:74px}
.logo{font-family:"Playfair Display",serif;font-size:21px;color:#fff;letter-spacing:.04em;white-space:nowrap}
.logo b{color:var(--gold)}
.navmenu{display:flex;gap:24px;list-style:none;margin-left:14px}
.navmenu a{font-size:13px;letter-spacing:.07em;color:var(--dim);text-transform:uppercase;transition:.2s}
.navmenu a:hover{color:var(--gold)}
.spacer{flex:1}
.langsw{display:flex;gap:1px}
.langsw button{background:none;border:0;color:var(--dim);font-family:inherit;font-size:12px;
  letter-spacing:.05em;padding:5px 8px;cursor:pointer;border-radius:3px;transition:.2s}
.langsw button:hover{color:var(--gold)}
.langsw button.on{color:var(--gold);background:var(--bg3)}
.navbtn{padding:11px 20px;font-size:12px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:24px;height:2px;background:var(--gold);display:block;transition:.25s}
/* hero */
.hero{min-height:100vh;display:flex;align-items:center;text-align:center;padding-top:74px;
  background:radial-gradient(ellipse 60% 50% at 50% 38%,rgba(201,168,106,.13),transparent 70%),
  linear-gradient(180deg,#100e0c,#0b0a09)}
.hero-in{max-width:820px;margin:0 auto}
.hero h1{font-size:60px;font-weight:400;color:#fff;line-height:1.13;letter-spacing:-1px;margin:22px 0}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero p{color:var(--dim);font-size:18px;max-width:560px;margin:0 auto 36px}
.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
/* grids / cards */
.grid{display:grid;gap:22px;margin-top:48px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--bg2);border:1px solid var(--line);border-radius:4px;padding:32px 28px;transition:.28s}
.card:hover{border-color:var(--gold-dim);transform:translateY(-4px)}
.card .ic{font-size:24px;color:var(--gold);margin-bottom:14px}
.card h3{font-size:20px;color:#fff;font-weight:500;margin-bottom:8px}
.card p{color:var(--dim);font-size:15px;min-height:46px}
.card .price{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:baseline}
.card .price b{color:var(--gold);font-size:18px;font-weight:500;font-family:"Playfair Display",serif}
.card .price span{color:var(--dim);font-size:13px}
/* advantages */
.adv{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.adv .item{text-align:center;padding:0 14px}
.adv .item .ic{width:60px;height:60px;margin:0 auto 16px;border:1px solid var(--gold-dim);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--gold)}
.adv .item h3{font-size:18px;color:#fff;font-weight:500;margin-bottom:6px}
.adv .item p{color:var(--dim);font-size:14px}
/* contacts */
.contacts{background:var(--bg2);border-top:1px solid var(--line)}
.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.cinfo .row{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.cinfo .row .ic{color:var(--gold);font-size:20px;width:26px;flex:none}
.cinfo .row .k{color:var(--dim);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.cinfo .row .v{color:#fff;font-size:16px;margin-top:2px}
form{background:var(--bg3);border:1px solid var(--line);border-radius:4px;padding:32px}
form h3{font-size:22px;color:#fff;font-weight:500;margin-bottom:18px}
.field{margin-bottom:15px}
.field label{display:block;color:var(--dim);font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;margin-bottom:7px}
.field input,.field select{width:100%;background:var(--bg);border:1px solid var(--line);color:#fff;
  padding:12px 14px;font-family:inherit;font-size:15px;border-radius:2px}
.field input:focus,.field select:focus{outline:none;border-color:var(--gold)}
form .btn{width:100%;margin-top:6px}
.form-note{color:var(--dim);font-size:12px;text-align:center;margin-top:13px}
/* footer */
footer{background:var(--bg);border-top:1px solid var(--line);padding:54px 0 30px}
.fcols{display:flex;gap:60px;flex-wrap:wrap;justify-content:space-between}
.fcols .logo{display:inline-block;margin-bottom:14px}
.fcols p{color:var(--dim);font-size:14px;max-width:300px}
.fcols ul{list-style:none}
.fcols ul li{margin:9px 0}
.fcols ul a,.fcols ul li{color:var(--dim);font-size:14px}
.fcols ul a:hover{color:var(--gold)}
.fcols h4{color:#fff;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:14px;font-weight:400}
.fbot{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;
  justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--dim);font-size:13px}
.age{border:1px solid var(--gold-dim);color:var(--gold);padding:2px 8px;border-radius:3px;
  font-size:12px;margin-right:8px}
/* model cards */
.mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:30px}
.mcard{display:block;background:var(--bg2);border:1px solid var(--line);border-radius:4px;
  overflow:hidden;transition:.28s;text-align:left}
.mcard:hover{border-color:var(--gold-dim);transform:translateY(-4px)}
.mcard-ph{aspect-ratio:3/4;background:#15120f center/cover no-repeat;position:relative}
.mcard-ph::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 62%,rgba(11,10,9,.92))}
.mcard-cnt{position:absolute;left:12px;bottom:12px;z-index:2;font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gold);background:rgba(11,10,9,.7);padding:4px 9px;border-radius:2px}
.mcard-info{padding:14px 16px 18px}
.mcard-nm{font-family:"Playfair Display",serif;font-size:21px;color:#fff}
.mcard-nm small{color:var(--gold);font-size:15px;font-style:italic}
.mcard-pr{color:var(--dim);font-size:13px;margin-top:4px}
.sil{color:var(--gold);text-transform:uppercase;letter-spacing:.05em;font-size:11px}
.listing{padding:120px 0 96px}
/* фильтр-бар */
.filterbar{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:nowrap;margin:32px 0 6px}
.dd{position:relative}
.dd-btn{display:flex;align-items:center;gap:9px;background:var(--bg2);border:1px solid var(--line);
  border-radius:999px;color:var(--txt);padding:11px 18px;font-family:inherit;font-size:14px;
  cursor:pointer;transition:.2s;white-space:nowrap}
.dd-btn:hover,.dd.open .dd-btn{border-color:var(--gold)}
.dd-lab{color:var(--dim);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.dd-val{color:#fff}
.dd-ar{color:var(--gold);font-size:10px;transition:.2s}
.dd.open .dd-ar{transform:rotate(180deg)}
.dd-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:130px;background:var(--bg3);
  border:1px solid var(--line);border-radius:8px;padding:6px;display:none;z-index:30;
  box-shadow:0 14px 34px rgba(0,0,0,.55)}
.dd.open .dd-menu{display:block}
.dd-menu button{display:block;width:100%;text-align:left;background:none;border:0;color:var(--txt);
  padding:9px 14px;font-family:inherit;font-size:14px;cursor:pointer;border-radius:5px;white-space:nowrap}
.dd-menu button:hover{background:var(--bg)}
.dd-menu button.on{color:var(--gold)}
.freset{background:none;border:0;color:var(--dim);font-family:inherit;font-size:13px;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;padding:6px}
.freset:hover{color:var(--gold)}
.fcount-wrap{color:var(--dim);font-size:14px;margin:10px 0 30px}
.fcount{color:var(--gold);font-family:"Playfair Display",serif;font-size:18px}
.fnone{color:var(--dim);padding:40px 0;font-size:16px}
/* профиль */
.profile{padding:116px 0 90px}
.back{color:var(--dim);font-size:13px;letter-spacing:.07em;text-transform:uppercase}
.back:hover{color:var(--gold)}
.pname{font-size:46px;font-weight:500;color:#fff;margin:18px 0 22px;letter-spacing:-.5px}
.pname em{font-style:italic;color:var(--gold);font-size:28px;margin-left:14px}
.prm{display:flex;gap:14px;max-width:470px;margin-bottom:24px;flex-wrap:wrap}
.prm-i{flex:1;min-width:84px;background:var(--bg2);border:1px solid var(--line);border-radius:4px;
  padding:14px 6px;text-align:center}
.prm-v{font-family:"Playfair Display",serif;font-size:24px;color:#fff}
.prm-k{color:var(--dim);font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-top:3px}
.bk{margin-bottom:44px}
.gtitle{font-family:"Playfair Display",serif;font-size:23px;color:#fff;font-weight:500;
  margin-bottom:20px;padding-top:24px;border-top:1px solid var(--line)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gph{aspect-ratio:3/4;overflow:hidden;border-radius:3px;border:1px solid var(--line);
  cursor:pointer;background:#15120f}
.gph img{width:100%;height:100%;object-fit:cover;transition:.3s;display:block}
.gph:hover img{transform:scale(1.06)}
/* лайтбокс */
.lb{display:none;position:fixed;inset:0;z-index:200;background:rgba(8,7,6,.96);
  align-items:center;justify-content:center}
.lb.on{display:flex}
.lb img{max-width:90vw;max-height:88vh;object-fit:contain;border:1px solid var(--gold-dim)}
.lbx{position:absolute;top:16px;right:28px;font-size:38px;color:var(--dim);cursor:pointer;line-height:1}
.lbx:hover{color:var(--gold)}
.lbn{position:absolute;top:50%;transform:translateY(-50%);font-size:54px;color:var(--dim);
  cursor:pointer;padding:0 20px;user-select:none}
.lbn:hover{color:var(--gold)}
.lbprev{left:4px}.lbnext{right:4px}
/* мобайл */
@media(max-width:980px){
  .burger{display:flex}
  header.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  header.open .burger span:nth-child(2){opacity:0}
  header.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav ul.navmenu{position:absolute;top:74px;left:0;right:0;display:flex;flex-direction:column;
    gap:0;margin:0;background:var(--bg2);border-bottom:1px solid var(--line);
    max-height:0;overflow:hidden;transition:max-height .3s ease}
  header.open ul.navmenu{max-height:80vh}
  .nav ul.navmenu li a{display:block;padding:15px 28px;border-top:1px solid var(--line);font-size:14px}
  .g3,.g4,.mgrid,.gallery{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:40px}.stitle{font-size:28px}.pname{font-size:32px}
  .contacts-grid{grid-template-columns:1fr;gap:30px}
  .filterbar{flex-wrap:wrap;gap:10px}
}
@media(max-width:560px){
  section{padding:64px 0}
  .g3,.g4,.mgrid,.gallery{grid-template-columns:1fr 1fr;gap:10px}
  .hero h1{font-size:32px}.pname{font-size:26px}
  .nav{gap:10px}.navbtn{padding:9px 13px;font-size:11px}
  .dd-btn{padding:9px 13px;font-size:13px}
  .prm-i{min-width:70px}
}
