@charset "UTF-8";
/* ============================================================
   base.css — reset, typography, body, helpers
   Loads AFTER tokens.css.
   ============================================================ */

/* ---- Reset ---- */

/* The hidden attribute must win over any author display rule (.btn, .alert). */
[hidden]{ display:none !important; }
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; color-scheme:dark; scroll-padding-top:88px; }
img,svg,video{ display:block; max-width:100%; height:auto; }
button,input,textarea,select{ font:inherit; color:inherit; }
a{ color:var(--gold-hover); text-decoration:none; }
ul,ol{ list-style:none; }

/* ---- Body ---- */
body{
  font-family:var(--body);
  font-weight:400;
  background:var(--black);
  color:var(--text);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

/* ---- Headings (Archivo, heavy, tight) ---- */
h1,h2,h3,h4,h5,h6{
  font-family:var(--display);
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.02em;
  color:var(--text);
}
h1{ font-size:clamp(2.4rem,6vw,4rem); font-weight:900; }
h2{ font-size:clamp(2rem,4.4vw,3rem); }
h3{ font-size:1.3rem; font-weight:700; color:var(--text); letter-spacing:-.01em; }
h4{ font-size:1.1rem; font-weight:700; }

p{ color:var(--text-2); max-width:62ch; }
.lead{ font-size:1.12rem; color:var(--text); max-width:58ch; }

/* ---- Metallic text treatments (signature) ---- */
.chrome{
  background:var(--grad-chrome);
  -webkit-background-clip:text; background-clip:text;
  color:transparent;
  filter:drop-shadow(0 2px 1px rgba(0,0,0,.55));
}
.gold-metal{
  background:var(--grad-gold);
  -webkit-background-clip:text; background-clip:text;
  color:transparent;
  filter:drop-shadow(0 2px 1px rgba(0,0,0,.5));
}
.script{ font-family:var(--script); color:var(--gold); font-weight:400; }

/* ---- Eyebrow / overline ---- */
.eyebrow{
  font-family:var(--display); font-weight:700;
  font-size:.74rem; text-transform:uppercase; letter-spacing:.28em;
  color:var(--gold); display:inline-flex; align-items:center; gap:.8em;
}
.eyebrow::before{ content:""; width:30px; height:1px;
  background:linear-gradient(90deg,transparent,var(--gold)); }
.eyebrow.both::after{ content:""; width:30px; height:1px;
  background:linear-gradient(90deg,var(--gold),transparent); }

/* ---- Layout helpers ---- */
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); }
.section{ padding-block:var(--s-8); }
@media(max-width:640px){ .section{ padding-block:var(--s-7); } }

/* ---- Accessibility ---- */
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
.visually-hidden{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
@media(prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* Centred heads: keep the eyebrow + h2 centred, but let long copy read left on mobile */
@media(max-width:640px){
  .services-head p, .reviews-head p, .whyus-head p,
  .pricing-head p, .cmp-head p{ text-align:left; }
}