/* Carson Accounting & Consulting, site v2 draft. Tokens carried from the live site (pine / clay / warm paper, Fraunces + Hanken Grotesk). */
:root{
  --bg:#faf7f1; --bg-warm:#f3ede1; --ink:#23211d; --muted:#5c574e;
  --pine:#1f3a30; --pine-soft:#2c5043; --pine-tint:#e8f0eb;
  --clay:#b06a4a; --clay-tint:#f4e9dd; --line:#e4ddd0; --card:#ffffff;
  --on-pine:#f6f2ea;
  --serif:'Fraunces', Georgia, 'Times New Roman', serif;
  --sans:'Hanken Grotesk', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#171a17; --bg-warm:#1f231f; --ink:#ece6da; --muted:#b3ab9d;
    --pine:#8fbfa8; --pine-soft:#a9d1bd; --pine-tint:#23302a;
    --clay:#d99573; --clay-tint:#2e241e; --line:#343832; --card:#1d201c;
    --on-pine:#132019;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#171a17; --bg-warm:#1f231f; --ink:#ece6da; --muted:#b3ab9d;
  --pine:#8fbfa8; --pine-soft:#a9d1bd; --pine-tint:#23302a;
  --clay:#d99573; --clay-tint:#2e241e; --line:#343832; --card:#1d201c;
  --on-pine:#132019;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65}
a{color:var(--pine)}
a:focus-visible,.btn:focus-visible{outline:2px solid var(--clay);outline-offset:3px}

.wrap{max-width:960px;margin:0 auto;padding-inline:20px}
.prose{max-width:640px}

/* header */
.site-head{border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-block:18px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.mark{width:36px;height:36px;border-radius:6px;background:var(--pine);color:var(--on-pine);display:grid;place-items:center;font-family:var(--serif);font-size:21px;font-weight:600}
.brand-name{font-weight:600;font-size:15px;line-height:1.2}
.brand-name small{display:block;font-weight:400;color:var(--muted);font-size:13px}
.nav{display:flex;align-items:center;gap:22px;font-size:15px}
.nav a{text-decoration:none;color:var(--muted)}
.nav a[aria-current="page"]{color:var(--ink);font-weight:600}
.nav a.btn{color:var(--on-pine)}

.btn{display:inline-block;background:var(--pine);color:var(--on-pine);text-decoration:none;font-weight:600;font-size:15px;padding:11px 20px;border-radius:6px}
.btn:hover{background:var(--pine-soft)}
.btn.ghost{background:transparent;color:var(--pine);border:1px solid var(--pine)}
.btn.small{padding:8px 14px;font-size:14px}

/* type */
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;text-wrap:balance;margin:0}
h1{font-size:clamp(34px,6vw,54px);letter-spacing:-.01em}
h2{font-size:clamp(26px,3.6vw,34px)}
h3{font-size:21px}
p{margin:0}
.eyebrow{font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--clay);font-weight:600}
.lede{font-size:clamp(18px,2.2vw,21px);color:var(--muted);max-width:600px}
.stack{display:flex;flex-direction:column;gap:18px}
.stack-sm{display:flex;flex-direction:column;gap:10px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

section{padding-block:64px}
section + section{border-top:1px solid var(--line)}
.hero{padding-block:72px 64px}
.hero h1 em{font-style:italic;color:var(--pine)}

/* lists */
ul.points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
ul.points li{padding-left:22px;position:relative}
ul.points li::before{content:"";position:absolute;left:0;top:.68em;width:9px;height:9px;border-radius:50%;background:var(--clay)}
ul.points strong{font-weight:600}
ul.points.quiet li::before{background:var(--line)}

/* story block */
.story{background:var(--bg-warm)}
.story p{font-family:var(--serif);font-size:clamp(19px,2.3vw,22px);line-height:1.6}
.story .land{font-family:var(--sans);font-size:18px;font-weight:600;color:var(--pine)}

/* two-col */
.split{display:grid;grid-template-columns:1fr;gap:28px}
@media (min-width:760px){.split{grid-template-columns:260px 1fr;gap:48px}}

/* services rows */
.offer{display:grid;grid-template-columns:1fr;gap:6px 40px;padding-block:26px;border-top:1px solid var(--line)}
.offer:first-of-type{border-top:0}
@media (min-width:760px){.offer{grid-template-columns:220px 1fr}}
.offer .when{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:4px}
.offer .body{display:flex;flex-direction:column;gap:12px;max-width:600px}
.group-head{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.tag{display:inline-block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;padding:3px 9px;border-radius:4px;background:var(--pine-tint);color:var(--pine)}
.tag.clay{background:var(--clay-tint);color:var(--clay)}

.note{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:22px 24px}

/* cta band */
.cta-band{background:var(--pine);color:var(--on-pine)}
.cta-band h2{color:var(--on-pine)}
.cta-band p{color:var(--on-pine);opacity:.88}
.cta-band .btn{background:var(--on-pine);color:var(--pine)}
.cta-band .btn.ghost{background:transparent;color:var(--on-pine);border-color:var(--on-pine)}
.addr{font-size:15px;opacity:.85;user-select:all}

.site-foot{padding-block:32px;font-size:14px;color:var(--muted)}
.site-foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}

/* homegrown accents */
.hg .hero{background:var(--bg-warm)}
.fields{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:640px){.fields{grid-template-columns:1fr 1fr}}
.field{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.field h3{font-size:19px}
.field p{font-size:15.5px;color:var(--muted)}

.preview-bar{background:var(--clay-tint);color:var(--ink);font-size:14px;text-align:center;padding:8px 16px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* about photo */
.about-side{display:flex;flex-direction:column;gap:20px}
.headshot{width:100%;max-width:260px;height:auto;border-radius:8px;display:block;background:var(--bg-warm)}
