body{font-family:var(--font-body);font-size:var(--fs-body);color:var(--gray-800);background:var(--white);}

h1,h2,h3,h4,.font-display{font-family:var(--font-display);font-weight:600;letter-spacing:-0.01em;color:var(--navy-900);}

.display-xl{font-size:var(--fs-display-xl);line-height:1.04;font-weight:600;}
.display-l{font-size:var(--fs-display-l);line-height:1.08;font-weight:600;}
h1,.h1{font-size:var(--fs-h1);line-height:1.1;}
h2,.h2{font-size:var(--fs-h2);line-height:1.15;}
h3,.h3{font-size:var(--fs-h3);line-height:1.2;}
h4,.h4{font-size:var(--fs-h4);line-height:1.3;}

.body-lg{font-size:var(--fs-body-lg);}
.body-sm{font-size:var(--fs-body-sm);}
.caption{font-size:var(--fs-caption);letter-spacing:0.08em;text-transform:uppercase;}

p{color:var(--gray-600);}

.eyebrow{
  font-family:var(--font-body);
  font-size:var(--fs-caption);
  letter-spacing:0.16em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--gold-700);
  display:inline-flex;
  align-items:center;
  gap:var(--sp-3);
}
.eyebrow::before{
  content:"";
  width:28px;
  height:1px;
  background:var(--gold-500);
  display:inline-block;
}

.text-navy{color:var(--navy-900);}
.text-gold{color:var(--gold-700);}
.text-red{color:var(--red-700);}
.text-white{color:var(--white);}
.text-muted{color:var(--gray-400);}

@media (max-width: 768px){
  :root{
    --fs-display-xl:44px;
    --fs-display-l:36px;
    --fs-h1:32px;
    --fs-h2:26px;
    --fs-h3:22px;
    --fs-h4:19px;
    --fs-body-lg:16px;
  }
}
