/* ---------- day rate hero ---------- */
.dr-hero{padding:152px 0 56px;}
.dr-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.01em;max-width:15ch;margin-top:24px;}
.dr-hero .sub{margin-top:22px;max-width:50ch;font-size:var(--t-1);color:var(--ink-soft);}
.terms{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px;}
.term{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-hi);border:1px solid var(--accent);border-radius:2px;padding:9px 14px;}

/* ---------- rate table ---------- */
.rates{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--panel);}
.rate-row{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:30px 34px;border-bottom:1px solid var(--line);transition:.2s;}
.rate-row:last-child{border-bottom:none;}
.rate-row:hover{background:var(--bg-2);}
.rate-row .svc{font-family:var(--serif);font-size:var(--t-2);}
.rate-row .desc{color:var(--ink-soft);margin-top:6px;font-size:var(--t-0);max-width:54ch;line-height:1.45;}
.rate-row .amt{font-family:var(--serif);font-size:var(--t-3);white-space:nowrap;text-align:right;}
.rate-row .amt .ph{color:var(--ink-faint);border-bottom:2px dashed var(--line-2);padding:0 16px;}
.rate-row .amt .per{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:10px;}
.rate-foot{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--ink-faint);margin-top:18px;}

/* ---------- booking steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden;}
.step{background:var(--panel);padding:34px 26px;}
.step .num{font-family:var(--serif);font-size:var(--t-4);color:var(--accent-hi);line-height:1;}
.step .st{font-family:var(--serif);font-size:var(--t-1);margin:16px 0 9px;}
.step p{color:var(--ink-soft);font-size:var(--t--1);line-height:1.5;}

/* ---------- DM CTA ---------- */
.dm{text-align:center;}
.dm .row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:30px;}
.dm .micro{font-family:var(--mono);font-size:11px;color:var(--ink-faint);margin-top:20px;letter-spacing:.04em;}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .rate-row{grid-template-columns:1fr;gap:14px;}
  .rate-row .amt{text-align:left;}
  .steps{grid-template-columns:1fr 1fr;}
  .dr-hero{padding-top:128px;}
}
