/* Rich And Famous Auto — foundation
   Palette from the client's own intake: #0A0A0A / #111111 black, #C9A227 gold. */
:root{
  --c-black:#0A0A0A;
  --c-black-2:#111111;
  --c-surface:#16150F;
  --c-ink:#EDE9E1;
  --c-muted:#9A948A;
  --c-gold:#C9A227;
  --c-gold-hi:#E7C86A;
  --c-champagne:#F2E4BE;
  --c-line:rgba(201,162,39,0.26);
  --c-line-soft:rgba(237,233,225,0.12);
  --c-wash:rgba(201,162,39,0.07);

  --f-display:"Bodoni Moda","Didot","Times New Roman",serif;
  --f-ui:"Jost","Helvetica Neue",Arial,sans-serif;

  --fs-micro:0.6875rem;
  --fs-small:0.9375rem;
  --fs-body:1.0625rem;
  --lh-body:1.7;

  --sp-1:0.25rem; --sp-2:0.5rem; --sp-3:0.75rem; --sp-4:1rem;
  --sp-5:1.5rem;  --sp-6:2rem;  --sp-7:3rem;   --sp-8:4rem;
  --sp-9:6rem;    --sp-10:8rem;

  --gutter:clamp(1.25rem,0.85rem + 2.4vw,3.25rem);
  --maxw:1240px;
  --maxw-text:640px;
  --section-y:clamp(4.5rem,3rem + 6vw,9rem);
  --header-h:74px;

  --ease:cubic-bezier(0.16,0.9,0.28,1);
  --dur:700ms;
  --dur-fast:180ms;
}
@media (min-width:1000px){ :root{ --header-h:86px; } }

*,*::before,*::after{box-sizing:border-box;}
*{margin:0;}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
body{
  overflow-x:hidden;
  background:var(--c-black);
  color:var(--c-ink);
  font-family:var(--f-ui);
  font-size:var(--fs-body);
  font-weight:300;
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,video{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;}
::selection{background:var(--c-gold);color:#0A0A0A;}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.02;letter-spacing:-0.005em;}
h1{font-size:clamp(2.9rem,1.6rem + 5.6vw,6.2rem);}
h2{font-size:clamp(2.3rem,1.35rem + 3.9vw,4.4rem);}
h3{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);line-height:1.1;}
.em{font-style:italic;color:var(--c-gold-hi);}
p{max-width:var(--maxw-text);}
.lede{font-size:clamp(1.0625rem,1rem + 0.35vw,1.25rem);color:#D9D4CB;font-weight:300;}
.muted{color:var(--c-muted);}

.kicker{
  display:inline-flex;align-items:center;gap:0.75em;
  font-family:var(--f-ui);font-weight:500;font-size:var(--fs-micro);
  text-transform:uppercase;letter-spacing:0.28em;color:var(--c-gold);
  line-height:1.4;
}
.kicker::before{content:"";width:clamp(18px,4vw,38px);height:1px;background:var(--c-gold);opacity:0.8;}
.kicker--plain::before{display:none;}

.sec-index{
  display:flex;align-items:baseline;gap:var(--sp-4);
  font-family:var(--f-ui);font-size:var(--fs-micro);letter-spacing:0.28em;
  text-transform:uppercase;color:var(--c-muted);
}
.sec-index b{font-weight:500;color:var(--c-gold);font-variant-numeric:tabular-nums;}

/* ---------- layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);}
section{position:relative;}
.band{padding-block:var(--section-y);}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:0.7em;
  min-height:52px;padding:0 clamp(1.25rem,1rem + 1.4vw,2.15rem);
  font-family:var(--f-ui);font-weight:500;font-size:0.8125rem;
  text-transform:uppercase;letter-spacing:0.2em;
  border:1px solid var(--c-gold);
  transition:background var(--dur-fast) linear,color var(--dur-fast) linear,
             border-color var(--dur-fast) linear,transform var(--dur-fast) linear;
}
.btn--gold{background:var(--c-gold);color:#0A0A0A;}
.btn--gold:hover,.btn--gold:focus-visible{background:var(--c-gold-hi);border-color:var(--c-gold-hi);}
.btn--ghost{color:var(--c-champagne);border-color:rgba(201,162,39,0.5);}
.btn--ghost:hover,.btn--ghost:focus-visible{border-color:var(--c-gold);background:var(--c-wash);}
.btn:active{transform:translateY(1px);}

.link-u{
  display:inline-flex;align-items:center;gap:0.6em;min-height:44px;
  font-size:0.8125rem;text-transform:uppercase;letter-spacing:0.2em;font-weight:500;
  color:var(--c-champagne);border-bottom:1px solid var(--c-line);
  transition:color var(--dur-fast) linear,border-color var(--dur-fast) linear;
}
.link-u:hover,.link-u:focus-visible{color:var(--c-gold-hi);border-color:var(--c-gold);}
.link-u .arw{transition:transform var(--dur-fast) var(--ease);}
.link-u:hover .arw{transform:translateX(4px);}

:focus-visible{outline:2px solid var(--c-gold-hi);outline-offset:3px;}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--c-gold);color:#0A0A0A;padding:0.75rem 1rem;}
.skip:focus{left:0;}

/* ---------- reveal (only armed when JS is present) ---------- */
.js [data-reveal]{opacity:0;transform:translateY(18px);}
.js [data-reveal].is-in{opacity:1;transform:none;
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
  transition-delay:var(--d,0ms);}
@media (prefers-reduced-motion:reduce){
  .js [data-reveal]{opacity:1 !important;transform:none !important;transition:none !important;}
}
