/* DeficiencyDesk — shared stylesheet
   Plain, fast, confident. One family (Public Sans), one accent, warm-paper
   neutrals. No frameworks, no build step. */

:root{
  --bg:        oklch(97%   0.012 75);
  --bg-band:   oklch(93.5% 0.020 70);
  --ink:       oklch(21%   0.018 75);
  --ink-soft:  oklch(34%   0.020 75);
  --muted:     oklch(50%   0.020 75);
  --line:      oklch(84%   0.018 72);
  --accent:    oklch(58%   0.160 48);
  --accent-dark: oklch(47% 0.150 45);
  --cream:     oklch(98%   0.006 80);

  --max: 74rem;
  --radius: 3px;
}

*, *::before, *::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Public Sans', system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img, svg{ max-width:100%; display:block; }

a{ color:var(--ink); text-underline-offset:0.15em; }
a:hover{ color:var(--accent-dark); }

.wrap{
  width:100%;
  max-width:var(--max);
  margin-inline:auto;
  padding-inline:clamp(1.25rem, 4vw, 3rem);
}

h1, h2, h3{
  font-weight:800;
  line-height:1.12;
  letter-spacing:-0.01em;
  margin:0 0 0.6em;
  color:var(--ink);
}
h1{ font-size:clamp(2.1rem, 1.55rem + 2.4vw, 3.4rem); }
h2{ font-size:clamp(1.5rem, 1.3rem + 0.9vw, 2.05rem); }
h3{
  font-size:clamp(1.1rem, 1.02rem + 0.35vw, 1.3rem);
  font-weight:700;
  letter-spacing:0;
}

p{ margin:0 0 1.1em; max-width:64ch; }

.lede{
  font-size:clamp(1.05rem, 1rem + 0.3vw, 1.25rem);
  color:var(--ink-soft);
  max-width:56ch;
}

.kicker{
  display:block;
  font-size:0.8rem;
  font-weight:700;
  letter-spacing:0.09em;
  text-transform:uppercase;
  color:var(--accent-dark);
  margin:0 0 0.9em;
}

.accent-text{ color:var(--accent-dark); }

.byline{ color:var(--muted); font-size:0.92rem; font-weight:600; margin:0; }

/* header */
.site-header{ border-bottom:1px solid var(--line); }
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:0.6rem 1.5rem;
  padding-block:1.1rem;
}
.wordmark{
  display:flex;
  align-items:center;
  gap:0.55rem;
  font-weight:800;
  font-size:1.05rem;
  letter-spacing:-0.01em;
  text-decoration:none;
  color:var(--ink);
}
.wordmark:hover{ color:var(--ink); }
.wordmark svg{ width:1.6rem; height:1.6rem; flex-shrink:0; }
.wordmark .mark-bg{ fill:var(--ink); }
.wordmark .mark-check{
  fill:none;
  stroke:var(--cream);
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.site-nav{ display:flex; gap:1.4rem; flex-wrap:wrap; }
.site-nav a{
  text-decoration:none;
  font-weight:600;
  font-size:0.94rem;
  color:var(--ink-soft);
}
.site-nav a:hover{ color:var(--accent-dark); }

/* sections */
main section{ padding-block:clamp(2.75rem, 6vw, 5rem); }
main section + section{ border-top:1px solid var(--line); }
.bg-band{ background:var(--bg-band); }

/* hero layout + custom report/check illustration (index + audit + about) */
.hero .wrap{ display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:center; }
.hero-graphic{ display:none; }
@media (min-width:880px){
  .hero .wrap{ grid-template-columns:1.25fr 1fr; }
  .hero-graphic{ display:block; width:100%; max-width:22rem; margin-inline:auto; }
}
.hero-solo .wrap{ grid-template-columns:1fr !important; }
.hg-card{ fill:var(--cream); stroke:var(--line); stroke-width:2; }
.hg-line{ fill:var(--line); }
.hg-line-accent{ fill:var(--accent); }
.hg-badge{ fill:var(--ink); }
.hg-check{ fill:none; stroke:var(--cream); stroke-width:9; stroke-linecap:round; stroke-linejoin:round; }

/* buttons */
.btn{
  display:inline-block;
  background:var(--ink);
  color:var(--cream);
  text-decoration:none;
  font-weight:700;
  font-size:0.98rem;
  padding:0.85em 1.6em;
  border-radius:var(--radius);
  border:1px solid var(--ink);
}
.btn:hover{ background:var(--accent-dark); border-color:var(--accent-dark); color:var(--cream); }
.btn-large{ font-size:1.05rem; padding:1em 2em; }

/* deliverables list (index) */
.deliverables{ list-style:none; margin:0; padding:0; }
.deliverables li{
  display:grid;
  grid-template-columns:3.4rem 1fr;
  gap:0.4rem 1.5rem;
  padding-block:1.6rem;
  border-top:1px solid var(--line);
}
.deliverables li:first-child{ border-top:none; padding-top:0; }
.deliverables .num{
  font-weight:800;
  font-size:1.15rem;
  color:var(--accent-dark);
  font-variant-numeric:tabular-nums;
}
.deliverables h3{ margin-bottom:0.4em; }
.deliverables p{ margin:0; color:var(--ink-soft); }

/* pricing definition list (index) */
.pricing{ margin:0; display:grid; gap:0; max-width:44rem; }
.pricing > div{ padding-block:1.1rem; border-top:1px solid var(--line); }
.pricing > div:first-child{ border-top:none; padding-top:0; }
.pricing dt{ font-weight:700; margin:0 0 0.25em; }
.pricing dd{ margin:0; color:var(--ink-soft); max-width:56ch; }

/* plain info sections (audit / about) */
.info-section h2{ margin-bottom:0.55em; }
.info-section .wrap > p:last-child{ margin-bottom:0; }

/* closing CTA band: the one deliberately centered moment on each page */
.cta-band .wrap{ text-align:center; }
.cta-band h2{ max-width:100%; }
.cta-band .wrap > p{ max-width:44ch; margin-inline:auto; }
.cta-band .btn{ margin-top:0.4rem; }

/* footer */
.site-footer{ border-top:1px solid var(--line); background:var(--bg-band); }
.footer-inner{ padding-block:2.2rem; color:var(--muted); font-size:0.92rem; }
.footer-inner p{ margin:0 0 0.4em; max-width:none; }
.footer-inner a{ color:var(--muted); }
.footer-inner a:hover{ color:var(--accent-dark); }
