*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:var(--lh-normal);
  color:var(--color-text);
  background:var(--color-bg);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;border:none;background:none;cursor:pointer}
input,textarea,select{font:inherit}

h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:700;
  line-height:var(--lh-tight);
  color:var(--navy-900);
  letter-spacing:-0.01em;
}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3);line-height:var(--lh-snug)}
h4{font-size:var(--fs-h4);font-weight:600}

p{color:var(--color-text-muted)}
.lead{font-size:var(--fs-body-lg);line-height:var(--lh-normal)}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding-left:var(--container-pad);
  padding-right:var(--container-pad);
}
@media(min-width:1600px){
  .container{padding-left:calc((100vw - var(--container))/2);padding-right:calc((100vw - var(--container))/2)}
}

section{padding:var(--sp-9) 0}
@media(max-width:900px){section{padding:var(--sp-7) 0}}

.eyebrow{
  font-family:var(--font-head);
  font-size:var(--fs-micro);
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--bronze-600);
  display:flex;
  align-items:center;
  gap:var(--sp-2);
  margin-bottom:var(--sp-3);
}
.eyebrow::before{
  
  width:28px;height:2px;
  background:var(--bronze-500);
  display:inline-block;
}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;
  align-items:center;
  gap:var(--sp-2);
  font-family:var(--font-head);
  font-weight:600;
  font-size:var(--fs-small);
  letter-spacing:0.02em;
  padding:16px 28px;
  border-radius:var(--radius-sm);
  transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
  white-space:nowrap;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--navy-800);color:var(--white)}
.btn-primary:hover{background:var(--navy-900)}
.btn-accent{background:var(--bronze-500);color:var(--white)}
.btn-accent:hover{background:var(--bronze-600)}
.btn-outline{background:transparent;color:var(--navy-800);border:1.5px solid var(--navy-800)}
.btn-outline:hover{background:var(--navy-800);color:var(--white)}
.btn-outline-light{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,0.5)}
.btn-outline-light:hover{background:var(--white);color:var(--navy-900);border-color:var(--white)}
.btn-text{color:var(--navy-800);font-weight:600;font-size:var(--fs-small);position:relative}
.btn-text::after{content:'\2192';margin-left:6px;transition:transform var(--dur-fast) var(--ease)}
.btn-text:hover::after{transform:translateX(4px)}

/* ===== Cards ===== */
.card{
  background:var(--white);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  transition:box-shadow var(--dur-med) var(--ease), border-color var(--dur-med) var(--ease), transform var(--dur-med) var(--ease);
}
.card:hover{box-shadow:var(--shadow-card);border-color:transparent;transform:translateY(-2px)}

/* ===== Utility ===== */
.text-inverse{color:var(--white)}
.center{text-align:center}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
