:root{
  --paper:#FAF7F8; --sand:#F2EAEE; --white:#fff; --dark:#2B1C26; --ink:#241821;
  --body:#4A3B44; --mute:#8E7B86; --line:#E7DCE2;
  --red:#B5566E; --gold:#D9A6B4; --stone:#6E5A68;
  --pad:clamp(20px,5vw,72px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

.d{font-family:"Instrument Serif",Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-.01em}
.d1{font-size:clamp(38px,6.6vw,74px)}
.d2{font-size:clamp(30px,4.4vw,52px)}
.d3{font-size:clamp(24px,3vw,36px)}
.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.lead{font-size:clamp(17px,1.7vw,21px);line-height:1.55;color:var(--body);max-width:46ch}
.body p{font-size:17px;line-height:1.78;color:var(--body);max-width:64ch}
.body p+p{margin-top:17px}
.body strong{color:var(--ink);font-weight:600}

section{padding:clamp(52px,7vw,104px) var(--pad)}
.band{background:var(--sand)}
.center{text-align:center}

/* header */
header{background:var(--dark);padding:20px var(--pad) 18px;text-align:center;position:relative;z-index:30}
.logo{font-family:"Instrument Serif",Georgia,serif;font-size:25px;color:var(--paper);display:inline-block}
.logo small{display:block;font-family:Inter,sans-serif;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:#A892A0;margin-top:3px}
nav{margin-top:16px;display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(14px,2.4vw,32px)}
nav a{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:#CBB8C4;transition:color .2s}
nav a:hover{color:var(--paper)}
nav a[aria-current]{color:var(--paper);box-shadow:inset 0 -1px var(--red)}
.burger{display:none;position:absolute;right:var(--pad);top:22px;width:42px;height:42px;border:1px solid #4A3A44;
  background:transparent;border-radius:6px;cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.burger span{display:block;width:18px;height:1.5px;background:var(--paper);transition:transform .3s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* hero */
.hero{background:var(--dark);color:var(--paper);padding:clamp(48px,8vw,104px) var(--pad) clamp(56px,9vw,116px);text-align:center;position:relative;overflow:hidden}
.hero .ph{position:absolute;inset:0;background:#3A2632;z-index:0;overflow:hidden}
.hero .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.hero .ph::after{content:"";position:absolute;inset:0;background:rgba(30,16,24,.56)}
.hero > *{position:relative;z-index:1}
.hero h1{max-width:19ch;margin:0 auto 18px}
.hero p.sub{font-size:clamp(16px,1.7vw,20px);line-height:1.55;color:#CFC5BC;max-width:46ch;margin:0 auto 28px}
.hero .note{margin-top:clamp(30px,5vw,54px);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#7E736A}

/* buttons */
.btn{display:inline-block;background:var(--paper);color:var(--ink);font-size:15px;font-weight:500;padding:14px 26px;border-radius:999px;border:0;cursor:pointer;font-family:inherit;transition:transform .25s,background .25s}
.btn:hover{transform:translateY(-2px);background:#fff}
.btn-d{background:var(--ink);color:var(--paper)}
.btn-d:hover{background:var(--red)}
.btn-o{display:inline-block;border:1px solid var(--paper);color:var(--paper);font-size:15px;padding:13px 25px;border-radius:999px;transition:background .25s,color .25s}
.btn-o:hover{background:var(--paper);color:var(--ink)}
.btn-ok{display:inline-block;border:1px solid var(--ink);color:var(--ink);font-size:15px;padding:13px 25px;border-radius:999px;transition:background .25s}
.btn-ok:hover{background:var(--sand)}

/* layout */
.grid{display:grid;gap:clamp(14px,2.2vw,26px)}
.g2{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.split{display:flex;flex-wrap:wrap;gap:clamp(24px,4.4vw,64px);align-items:center}
.ph-img{object-fit:cover;width:100%;display:block;background:var(--line)}
.fill{border-radius:6px;display:flex;align-items:flex-end;padding:12px}
.fill span{font-size:11px;letter-spacing:.06em}

.card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:clamp(20px,2.4vw,30px)}
.card h3{font-family:"Instrument Serif",Georgia,serif;font-size:24px;font-weight:400;margin-bottom:8px}
.card p{font-size:15.5px;line-height:1.7;color:var(--body)}
.price{font-size:13px;color:var(--mute);margin-top:10px}

.row{border-top:1px solid var(--line);padding:20px 0}
.row:last-child{border-bottom:1px solid var(--line)}

.quote{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(20px,2.4vw,30px);line-height:1.4;color:var(--ink);max-width:42ch}

.rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}

/* slots */
.slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.slot{padding:13px;border:1px solid var(--line);background:var(--white);cursor:pointer;font-size:14.5px;text-align:center;border-radius:6px;transition:background .2s,border-color .2s}
.slot:hover,.slot.sel{background:var(--ink);color:var(--paper);border-color:var(--ink)}

form label{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--mute);margin-bottom:7px}
form input,form select,form textarea{width:100%;background:var(--white);border:1px solid var(--line);border-radius:6px;
  color:var(--ink);font-family:inherit;font-size:16.5px;padding:13px 14px;outline:none;transition:border-color .2s}
form input:focus,form select:focus,form textarea:focus{border-color:var(--red)}
.fw{margin-bottom:20px}

footer{background:var(--dark);color:#C0ADB8;padding:clamp(42px,6vw,76px) var(--pad) 28px;display:flex;flex-wrap:wrap;gap:34px}
footer .col{flex:1 1 180px;min-width:0}
footer p{font-size:14.5px;line-height:1.95}
footer a:hover{color:var(--paper)}
footer .ft{flex:1 1 100%;border-top:1px solid #443039;padding-top:20px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:12px}

@media(max-width:820px){
  .burger{display:flex}
  nav{position:absolute;left:0;right:0;top:100%;background:var(--dark);border-top:1px solid #443039;
    flex-direction:column;align-items:stretch;gap:0;margin:0;padding:4px 0 12px;
    transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:29}
  nav.open{transform:none;opacity:1;pointer-events:auto}
  nav a{padding:14px var(--pad);font-size:15px;letter-spacing:.06em;text-transform:none;border-bottom:1px solid #3C2A35}
  nav a[aria-current]{box-shadow:none;color:var(--red)}
  header{padding-top:18px;padding-bottom:16px}
  .logo{font-size:22px}
  body{font-size:16px}
  .body p{font-size:16px}
  .split{gap:22px}
  .split > div:has(> .fill),.split > div:has(> img),.split > .fill,.split > img{order:-1}
  .split.noflip > div:has(> img){order:0}
  section{padding-top:46px!important;padding-bottom:46px!important}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  footer .col{flex:1 1 140px}
}
@media(max-width:460px){
  .g3,.g2{grid-template-columns:1fr}
  footer .col{flex:1 1 100%}
}
