
/* freemannco.com — minimalist theme overrides */
:root{
  --bg:#ffffff;
  --fg:#0b0b0b;
  --muted:#6b7280; /* gray-500 */
  --accent:#111827; /* near-black slate */
  --ring:#11182722;
  --card:#f9fafb;
}
*{box-sizing:border-box}
html:focus-within{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html:focus-within{scroll-behavior:auto}
  .reveal, .link-underline{transition:none !important}
}
body{
  color:var(--fg);
  background:var(--bg);
  font-feature-settings:"ss01","ss02","cv01","cv02";
}
/* Container */
.wrap{max-width:1100px;margin-inline:auto;padding:0 1rem}
/* Header */
.header-blur{backdrop-filter:saturate(180%) blur(8px); background:rgba(255,255,255,.75); border-bottom:1px solid #e5e7eb}
.nav-link{position:relative;padding:.5rem .75rem;border-radius:.75rem}
.nav-link[aria-current="page"]{background:#111827; color:white}
.link-underline{position:relative}
.link-underline::after{content:""; position:absolute; left:0; right:100%; bottom:-2px; height:1px; background:currentColor; transition:right .4s ease}
a:hover.link-underline::after{right:0}
/* Cards */
.card{background:var(--card); border:1px solid #e5e7eb; border-radius:1.25rem; padding:1.25rem}
.card-hover{transition:transform .5s ease, box-shadow .5s ease}
.card-hover:hover{transform:translateY(-3px); box-shadow:0 10px 30px #00000012}
/* Buttons */
.btn{display:inline-flex; align-items:center; gap:.5rem; border-radius:999px; padding:.7rem 1rem; border:1px solid #111827;}
.btn-primary{background:#111827;color:white;border-color:#111827}
.btn-ghost{background:transparent;color:#111827}
.btn:focus{outline:3px solid var(--ring); outline-offset:2px}
/* Reveal on scroll */
.reveal{opacity:0; transform:translateY(10px); transition:opacity .6s ease, transform .6s ease}
.reveal.show{opacity:1; transform:translateY(0)}
/* Hero */
.hero{padding:6rem 0 3rem}
.badge{display:inline-flex; align-items:center; gap:.5rem; padding:.35rem .6rem; border-radius:999px; border:1px solid #e5e7eb; background:white}
/* Footer */
footer{border-top:1px solid #e5e7eb}
/* Forms */
.input{width:100%; border:1px solid #e5e7eb; border-radius:.8rem; padding:.7rem 1rem}
.input:focus{outline:3px solid var(--ring); border-color:#d1d5db}
.textarea{min-height:140px}
/* Utility */
.grid-auto{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1rem}
.kicker{letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-size:.8rem}
.small{font-size:.9rem; color:var(--muted)}
.shadow-soft{box-shadow:0 10px 35px #0000000d}
.logo-lockup{display:flex; align-items:center; gap:.6rem}
.logo-dot{width:8px;height:8px;border-radius:50%;background:#111827}
/* Accessibility */
.skip-link{position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden}
.skip-link:focus{left:1rem; top:1rem; width:auto; height:auto; background:#111827; color:white; padding:.5rem .75rem; border-radius:.5rem}
/* Tables */
.table{width:100%; border-collapse:separate; border-spacing:0 8px}
.table tr{background:var(--card)}
.table td,.table th{padding:.8rem 1rem}
.table th{color:var(--muted); font-weight:600; text-align:left}
/* Accent blocks */
.callout{border-left:3px solid #111827; padding:1rem 1.25rem; background:#11182708; border-radius:.75rem}
