/* ============================================================
   THE MADDOX 3x3 RESIDENCY — shared styles
   Forest / cream / copper editorial system
   ============================================================ */
:root{
  --forest:#123a32;--forest-dark:#0b2621;--cream:#f4efe5;--parchment:#e8dfd0;
  --copper:#b7683e;--copper-dark:#965032;--sage:#92a79a;--charcoal:#17201d;
  --white:#fffdf8;--line:#cfc2b1;--line-ink:rgba(244,239,229,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--charcoal);
  font-family:'Inter',Arial,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:520;letter-spacing:-.035em;margin:0}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--copper);outline-offset:3px}

/* ---- reveal ---- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* ---- header ---- */
.site-header{position:sticky;top:0;z-index:20;height:76px;padding:0 4.25vw;
  display:flex;align-items:center;justify-content:space-between;
  background:var(--forest-dark);color:var(--white);border-bottom:1px solid rgba(183,104,62,.8)}
.wordmark{font-family:'Fraunces',Georgia,serif;font-size:19px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.wordmark small{display:block;font-family:'Inter';font-size:9px;letter-spacing:.32em;color:var(--sage);margin-top:2px;font-weight:600}
.site-header nav{display:flex;align-items:center;gap:clamp(20px,3vw,44px)}
.site-header nav a{position:relative;font-size:14px;font-weight:600;letter-spacing:.02em;color:rgba(255,253,248,.88)}
.site-header nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:1px;
  background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform 180ms ease-out}
.site-header nav a:not(.nav-cta):hover::after,.site-header nav a:not(.nav-cta):focus-visible::after{transform:scaleX(1)}
.site-header nav a[aria-current="page"]{color:var(--white)}
.site-header nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav-cta{border:1px solid rgba(255,253,248,.55);padding:10px 17px;transition:background .18s,color .18s}
.nav-cta:hover{background:var(--copper);border-color:var(--copper);color:var(--white)}

/* ---- shared type ---- */
.eyebrow{margin:0 0 22px;color:var(--copper);font-size:13px;font-weight:800;letter-spacing:.22em;line-height:1.4;text-transform:uppercase}
.eyebrow-light{color:#d5946f}
h1{color:var(--forest);font-size:clamp(44px,5vw,74px);line-height:1.0}
.section-lede{max-width:760px;font-size:20px;line-height:1.65;color:#3e4f49}

/* ---- buttons ---- */
.button{min-height:54px;padding:0 26px;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-size:15px;font-weight:750;border:1px solid transparent;cursor:pointer;
  transition:color .18s,background .18s,transform .18s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--copper);color:var(--white)}
.button-primary:hover{background:var(--copper-dark)}
.button-secondary{color:var(--copper-dark);border-color:transparent}
.button-secondary:hover{background:var(--parchment)}

/* ---- section scaffolding ---- */
.section{padding:clamp(72px,9vw,110px) 4.25vw}
.section-kicker{display:flex;align-items:center;gap:14px;color:var(--copper-dark)}
.section-kicker span{width:34px;height:34px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:11px;font-weight:800}
.section-kicker p{margin:0;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.section-kicker-light{color:#d5946f}

/* ---- feature banner (press) ---- */
.feature-banner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;
  padding:26px 4.25vw;background:var(--parchment);border-bottom:1px solid var(--line)}
.feature-banner span{justify-self:end;color:var(--copper-dark);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.feature-banner strong{font-family:'Fraunces',Georgia,serif;color:var(--forest);font-size:clamp(24px,3vw,40px);font-weight:500;text-align:center}
.feature-banner em{justify-self:start;color:var(--copper-dark);font-size:13px;font-style:normal;font-weight:700;white-space:nowrap}
.feature-banner:hover strong{color:var(--copper-dark)}

/* ---- footer ---- */
footer{padding:44px 4.25vw;background:var(--forest-dark);color:var(--white);
  display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center}
footer .wordmark{color:var(--white)}
footer p{margin:0;color:var(--sage);font-size:14px;justify-self:center;text-align:center}
footer .foot-links{display:flex;gap:20px;font-size:13px;font-weight:600;color:rgba(255,253,248,.8)}
footer .foot-links a:hover{color:var(--copper)}

@media (max-width:1000px){
  .site-header nav a:not(.nav-cta){display:none}
}
@media (max-width:720px){
  .site-header{height:70px;padding:0 20px}
  .wordmark{font-size:15px}
  .feature-banner{grid-template-columns:1fr;gap:7px;text-align:center;padding:26px 20px}
  .feature-banner span,.feature-banner em{justify-self:center}
  footer{grid-template-columns:1fr;gap:22px;text-align:center}
  footer .foot-links{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
