/* Auto Enthusiasts — rebuilt design system.
   Tokens lifted from the original Squarespace 7.1 site (Poppins 300/500,
   16px/1.8, alternating full-bleed black & white sections). */

@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;
  src:url(/assets/fonts/poppins-300.woff2) format("woff2")}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;
  src:url(/assets/fonts/poppins-400.woff2) format("woff2")}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;
  src:url(/assets/fonts/poppins-500.woff2) format("woff2")}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;
  src:url(/assets/fonts/poppins-600.woff2) format("woff2")}

:root{
  --font: Poppins, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ink:#000; --paper:#fff;
  --body-size:1rem; --body-weight:300; --body-lh:1.8;
  --h1:clamp(2.25rem,5.2vw,3.4rem);
  --h2:clamp(1.9rem,4.2vw,2.73rem);
  --h3:clamp(1.5rem,3.2vw,2.15rem);
  --h4:clamp(1.15rem,2.2vw,1.4rem);
  --measure:44rem;         /* prose column */
  --wide:76rem;            /* section container */
  --pad:clamp(1.25rem,5vw,3.5rem);
  --gap:clamp(2.5rem,7vw,6rem);
  --header-h:5.5rem;
  --btn-bg:#a8a6a1; --btn-bg-hover:#8f8d88; --btn-ink:#fff;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}}

body{margin:0;font-family:var(--font);font-size:var(--body-size);
  font-weight:var(--body-weight);line-height:var(--body-lh);
  background:var(--ink);color:var(--paper);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

img{max-width:100%;height:auto;display:block}
a{color:inherit}

h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.3;margin:0 0 .6em;letter-spacing:-.01em}
h1{font-size:var(--h1)} h2{font-size:var(--h2)}
h3{font-size:var(--h3)} h4{font-size:var(--h4);font-weight:500;line-height:1.5}
p{margin:0 0 1.4em}
p:last-child,h1:last-child,h2:last-child,h3:last-child,h4:last-child{margin-bottom:0}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--ink);
  border-bottom:1px solid rgba(255,255,255,.08)}
.site-header .bar{max-width:var(--wide);margin:0 auto;padding:1.35rem var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{font-size:clamp(1.25rem,2.6vw,1.6rem);font-weight:500;text-decoration:none;
  color:var(--paper);letter-spacing:-.02em;white-space:nowrap}
.site-nav{display:flex;gap:2rem;align-items:center}
.site-nav a{font-size:.95rem;font-weight:300;text-decoration:none;color:var(--paper);
  opacity:.82;transition:opacity .18s ease;padding:.25rem 0;
  border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a:focus-visible{opacity:1;border-bottom-color:currentColor}
.site-nav a[aria-current=page]{opacity:1;border-bottom-color:currentColor}
.nav-toggle{display:none;background:none;border:0;color:var(--paper);
  font:inherit;font-size:.95rem;cursor:pointer;padding:.4rem}
@media (max-width:46rem){
  .nav-toggle{display:block}
  .site-nav{position:absolute;left:0;right:0;top:100%;background:var(--ink);
    flex-direction:column;align-items:flex-start;gap:0;padding:0 var(--pad);
    border-bottom:1px solid rgba(255,255,255,.1);
    max-height:0;overflow:hidden;transition:max-height .28s ease,padding .28s ease}
  .site-nav a{padding:.95rem 0;width:100%}
  .site-header[data-open=true] .site-nav{max-height:22rem;padding:.4rem var(--pad) 1rem}
}

/* ---------- sections ---------- */
.section{padding:var(--gap) var(--pad)}
.section--dark{background:var(--ink);color:var(--paper)}
.section--light{background:var(--paper);color:var(--ink)}
.wrap{max-width:var(--wide);margin:0 auto}
.wrap--prose{max-width:var(--measure)}

/* hero */
.hero{min-height:clamp(28rem,88vh,56rem);display:grid;place-items:center;
  text-align:center;position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:2}
.hero__bg{position:absolute;inset:0;z-index:1}
.hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.85}
.hero__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.25) 45%,rgba(0,0,0,.55));}
.hero--plain{min-height:clamp(18rem,42vh,26rem)}
.hero h1{margin-bottom:.5em;text-shadow:0 2px 18px rgba(0,0,0,.55)}
.hero .lede{text-shadow:0 1px 12px rgba(0,0,0,.65)}
.lede{font-size:clamp(1rem,1.8vw,1.15rem);font-weight:300;opacity:.9;
  max-width:36rem;margin-inline:auto}

/* alternating feature rows */
.feature{display:grid;gap:clamp(1.75rem,5vw,4rem);align-items:center;
  grid-template-columns:1fr}
@media (min-width:52rem){
  .feature{grid-template-columns:1fr 1fr}
  .feature--flip .feature__media{order:2}
}
.feature__media img{width:100%;aspect-ratio:5/4;object-fit:cover}
.feature__body{max-width:34rem}
.feature__body h2,.feature__body h3{margin-bottom:.75em;text-align:center}
.feature__body p{opacity:.88}

/* buttons — matches original: solid warm-grey fill, 6.4px radius, sentence case */
.btn{display:inline-block;margin-top:1.75rem;padding:.95rem 2rem;
  font-size:1rem;font-weight:500;letter-spacing:.02em;line-height:1.25;
  text-decoration:none;border:0;border-radius:6.4px;
  background:var(--btn-bg);color:var(--btn-ink);
  transition:background .2s ease,transform .2s ease}
.btn:hover,.btn:focus-visible{background:var(--btn-bg-hover);transform:translateY(-1px)}


/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:var(--paper);
  border-top:1px solid rgba(255,255,255,.1);padding:3.5rem var(--pad) 2.5rem;
  text-align:center}
.site-footer .wrap{max-width:var(--measure)}
.site-footer p{font-size:.9rem;opacity:.65;margin:0}
.site-footer .foot-nav{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;
  margin-bottom:1.75rem}
.site-footer .foot-nav a{font-size:.9rem;font-weight:300;text-decoration:none;
  opacity:.8}
.site-footer .foot-nav a:hover{opacity:1;text-decoration:underline}

:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:100;background:var(--paper);color:var(--ink);
  padding:.7rem 1.1rem;text-decoration:none}

/* ---------- prose (articles & guide) ---------- */
.prose{font-size:clamp(1rem,1.5vw,1.075rem)}
.prose > *+*{margin-top:1.5em}
.prose h2{margin-top:2.2em;margin-bottom:.5em}
.prose h3{margin-top:1.9em;margin-bottom:.5em}
.prose h4{margin-top:1.6em;margin-bottom:.4em}
.prose h2:first-child,.prose h3:first-child,.prose h4:first-child{margin-top:0}
.prose ul,.prose ol{padding-left:1.35em;margin-block:1.4em}
.prose li{margin-bottom:.55em}
.prose li::marker{opacity:.55}
.prose img{margin-block:2.5em}
.prose blockquote{margin:2em 0;padding-left:1.4em;
  border-left:2px solid currentColor;opacity:.85;font-style:italic}
.prose hr{border:0;border-top:1px solid currentColor;opacity:.18;margin:3em 0}
.prose a{text-decoration:underline;text-underline-offset:3px}
.prose strong{font-weight:500}
.prose em{font-style:italic}

/* article header */
.article-head{text-align:center;padding-bottom:0}
.article-head .kicker{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:400;opacity:.6;margin-bottom:1.2rem}
.article-hero{margin:0}
.article-hero img{width:100%;max-height:min(62vh,34rem);object-fit:cover}

/* ---------- article index cards ---------- */
.cards{display:grid;gap:clamp(2.5rem,6vw,4.5rem)}
.card{display:grid;gap:clamp(1.5rem,4vw,3rem);align-items:center;grid-template-columns:1fr}
@media (min-width:52rem){
  .card{grid-template-columns:1.05fr 1fr}
  .card:nth-child(even) .card__media{order:2}
}
.card__media{overflow:hidden}
.card__media img{width:100%;aspect-ratio:3/2;object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.card:hover .card__media img{transform:scale(1.035)}
.card__body h2{margin-bottom:.35em}
.card__body p{opacity:.85;margin-bottom:0}

/* ---------- design gallery ---------- */
.gallery{display:grid;gap:clamp(1.25rem,3vw,2.25rem);
  grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover}
.gallery figcaption{margin-top:.85rem;font-size:1.02rem;font-weight:400;opacity:.9}

/* ---------- callout ---------- */
.callout{text-align:center}
.callout h2{margin-bottom:.4em}
.callout p{opacity:.85;max-width:34rem;margin-inline:auto}

/* ---------- 404 ---------- */
.notfound{text-align:center;min-height:60vh;display:grid;place-items:center}
.notfound img{max-width:min(20rem,60vw);margin:2.5rem auto 0}
