/* Hired Hand AI shared styles. Plain CSS, no build step. */
:root { --ink:#1b2430; --ink-2:#2a3544; --muted:#5b6675; --line:#e3e7ec; --bg:#fbfaf7; --card:#fff; --brand:#b4541e; --brand-dark:#8f3f12; --brand-light:#e07a3c; --cream:#f3eee4; --good:#2f7d4f; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font:17px/1.6 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color:var(--ink); background:var(--bg); }
h1, h2, h3 { font-family:"Zilla Slab", Georgia, serif; font-weight:700; letter-spacing:-.3px; }
a { color:var(--brand); }
img { max-width:100%; }
.wrap { max-width:1100px; margin:0 auto; padding:0 20px; }

/* Header */
header.top { padding:14px 0; border-bottom:1px solid var(--line); background:rgba(251,250,247,.96); position:sticky; top:0; z-index:5; backdrop-filter:saturate(1.2) blur(6px); }
header.top .wrap { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.logo { display:flex; align-items:center; gap:14px; text-decoration:none; }
.logo img { display:block; height:40px; width:auto; }
.logo .tl { color:var(--muted); font-size:14px; font-weight:600; white-space:nowrap; padding-left:14px; border-left:1px solid var(--line); line-height:28px; }
nav.main { display:flex; align-items:center; gap:22px; }
nav.main a { color:var(--muted); text-decoration:none; font-size:15px; font-weight:500; }
nav.main a:hover, nav.main a.on { color:var(--ink); }
nav.main .btn { color:#fff; padding:10px 16px; font-size:15px; }

/* Buttons */
.btn { display:inline-block; background:var(--brand); color:#fff; padding:15px 24px; border-radius:10px; text-decoration:none; font-weight:700; border:0; font-size:17px; cursor:pointer; font-family:inherit; text-align:center; }
.btn:hover { background:var(--brand-dark); }
.btn.ghost { background:transparent; color:var(--ink); border:1.5px solid #c9d0d8; }
.btn.ghost:hover { border-color:var(--ink); background:transparent; }
.btn.light { background:#fff; color:var(--ink); }
.btn.light:hover { background:var(--cream); }
.btn.block { display:block; width:100%; }

/* Hero */
.hero { padding:72px 0 80px; }
.hero .wrap { display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
.eyebrow { display:inline-block; font-size:13px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:var(--brand); margin-bottom:14px; }
h1 { font-size:clamp(40px,6vw,62px); line-height:1.03; margin:0 0 20px; }
.lede { font-size:20px; color:var(--muted); max-width:580px; margin:0 0 30px; }
.ctas { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.fine { font-size:14px; color:var(--muted); margin-top:14px; }

/* Sections */
section { padding:80px 0; }
section.alt { background:var(--cream); }
section.dark { background:var(--ink); color:#e9ecf0; }
section.dark h2, section.dark h3 { color:#fff; }
section.tight { padding:56px 0; }
h2 { font-size:clamp(30px,4vw,42px); line-height:1.1; margin:0 0 14px; }
.sub { color:var(--muted); font-size:19px; max-width:640px; margin:0 0 36px; }
section.dark .sub { color:#aeb6c2; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.grid4 { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:26px; }
.card h3 { font-size:22px; margin:10px 0 8px; line-height:1.2; }
.card p { margin:0; color:var(--muted); }
.card .price-tag { font-weight:700; color:var(--ink); margin-top:14px; font-size:15px; }
section.dark .card { background:var(--ink-2); border-color:rgba(255,255,255,.08); }
section.dark .card p { color:#aeb6c2; }
.num { display:inline-flex; width:36px; height:36px; border-radius:10px; background:var(--ink); color:#fff; align-items:center; justify-content:center; font-weight:700; font-size:15px; }
section.dark .num { background:var(--brand); }
.icon { width:40px; height:40px; border-radius:10px; background:var(--cream); display:flex; align-items:center; justify-content:center; }
.icon svg { width:22px; height:22px; stroke:var(--brand); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

.card.split { display:grid; grid-template-columns:1.3fr .7fr; gap:30px; align-items:center; padding:34px; }

/* Lists */
.list { list-style:none; padding:0; margin:0; }
.list li { padding:14px 0 14px 34px; border-bottom:1px solid var(--line); position:relative; }
section.dark .list li { border-color:rgba(255,255,255,.1); }
.list li:before, ul.checks li:before { content:""; position:absolute; left:2px; width:16px; height:8px; border-left:3px solid var(--brand); border-bottom:3px solid var(--brand); transform:rotate(-45deg); }
.list li:before { top:20px; }
section.dark .list li:before { border-color:var(--brand-light); }
ul.checks { list-style:none; padding:0; margin:22px 0 26px; }
ul.checks li { padding:7px 0 7px 30px; position:relative; }
ul.checks li:before { top:14px; width:14px; height:7px; }
.quote { font-family:"Zilla Slab", Georgia, serif; font-size:clamp(26px,3.2vw,34px); line-height:1.2; color:#fff; margin:0; }
.quote span { color:var(--brand-light); }

.pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
.pills span { background:var(--card); border:1px solid var(--line); border-radius:999px; padding:8px 16px; font-weight:600; font-size:15px; }

/* Price card */
.price-card { background:var(--card); border:2px solid var(--ink); border-radius:16px; padding:32px; }
.price { font-family:"Zilla Slab", Georgia, serif; font-size:60px; font-weight:700; margin:0; line-height:1; }
.card p.price { color:var(--ink); }
.price small { font-family:Inter, sans-serif; font-size:18px; color:var(--muted); font-weight:500; }
.badge { display:inline-block; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; background:var(--cream); color:var(--brand-dark); padding:5px 10px; border-radius:6px; margin-bottom:14px; }

/* Report preview */
.report { background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 30px 60px -25px rgba(27,36,48,.35); overflow:hidden; }
.report .rhead { background:var(--ink); color:#fff; padding:18px 22px; }
.report .rhead small { display:block; color:#aeb6c2; font-size:12px; letter-spacing:1px; text-transform:uppercase; font-weight:600; }
.report .rhead b { font-family:"Zilla Slab", serif; font-size:22px; }
.report .rbody { padding:20px 22px 24px; }
.report .big { display:flex; gap:14px; margin-bottom:16px; }
.report .big div { flex:1; background:var(--cream); border-radius:10px; padding:12px 14px; }
.report .big b { display:block; font-family:"Zilla Slab", serif; font-size:28px; line-height:1.1; }
.report .big span { font-size:13px; color:var(--muted); }
.report table { width:100%; border-collapse:collapse; font-size:14px; }
.report th { text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.6px; color:var(--muted); font-weight:600; padding:6px 0; border-bottom:1px solid var(--line); }
.report td { padding:9px 0; border-bottom:1px solid var(--line); vertical-align:top; }
.report td:last-child, .report th:last-child { text-align:right; white-space:nowrap; }
.report .tag { display:inline-block; font-size:11px; font-weight:700; color:var(--good); background:#e8f3ec; border-radius:5px; padding:2px 6px; margin-left:6px; }
.caption { text-align:center; font-size:13px; color:var(--muted); margin-top:14px; }

/* Matrix */
.matrix { position:relative; margin-top:28px; aspect-ratio:1.4; border-left:2px solid var(--ink); border-bottom:2px solid var(--ink); background:linear-gradient(to right, transparent 50%, var(--line) 50%, var(--line) calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(to top, transparent 50%, var(--line) 50%, var(--line) calc(50% + 1px), transparent calc(50% + 1px)); }
.matrix .q { position:absolute; left:0; top:0; width:50%; height:50%; background:rgba(47,125,79,.09); }
.matrix .q span { position:absolute; left:10px; top:8px; font-size:12px; font-weight:700; color:var(--good); text-transform:uppercase; letter-spacing:.6px; }
.matrix .dot { position:absolute; width:12px; height:12px; border-radius:50%; background:var(--brand); transform:translate(-50%,-50%); }
.matrix .dot.win { background:var(--good); }
.matrix .ax { position:absolute; font-size:12px; color:var(--muted); font-weight:600; }

/* Phone mock (missed calls) */
.phone { justify-self:center; width:300px; background:var(--ink); border-radius:40px; padding:14px; box-shadow:0 30px 60px -20px rgba(27,36,48,.45); }
.screen { background:#f2f2f5; border-radius:28px; padding:18px 14px 22px; min-height:420px; }
.screen .stamp { text-align:center; font-size:12px; color:#8a8f98; margin-bottom:14px; }
.screen .who { text-align:center; margin-bottom:16px; }
.screen .who img { width:44px; height:44px; display:block; margin:0 auto 6px; }
.screen .who b { font-size:13px; }
.bubble { background:#e5e5ea; color:#111; border-radius:18px; padding:10px 13px; font-size:14px; line-height:1.4; margin:0 30px 8px 0; }
.bubble.me { background:#0a84ff; color:#fff; margin:12px 0 0 90px; }

/* FAQ */
details { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:18px 22px; margin-bottom:10px; }
summary { font-weight:700; cursor:pointer; font-size:18px; list-style:none; }
summary::-webkit-details-marker { display:none; }
summary:after { content:"+"; float:right; color:var(--brand); font-size:22px; line-height:1; }
details[open] summary:after { content:"–"; }
details p { margin:12px 0 0; color:var(--muted); }

/* Founder */
.founder { display:flex; gap:16px; align-items:center; padding:20px; background:var(--card); border:1px solid var(--line); border-radius:14px; }
.founder .init { flex:none; width:56px; height:56px; border-radius:50%; background:var(--brand); color:#fff; display:flex; align-items:center; justify-content:center; font:700 22px "Zilla Slab", serif; }
.founder p { margin:0; font-size:15px; color:var(--muted); }
.founder b { color:var(--ink); font-size:17px; }

/* Forms */
form.box { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:28px; }
label { display:block; font-weight:600; font-size:15px; margin:14px 0 6px; }
input[type=text], input[type=tel], input[type=email], select, textarea { width:100%; padding:13px; border:1px solid #c9d0d8; border-radius:9px; font-size:16px; font-family:inherit; background:#fff; color:var(--ink); }
textarea { min-height:96px; resize:vertical; }
input:focus, select:focus, textarea:focus { outline:2px solid var(--brand); outline-offset:1px; border-color:var(--brand); }
.consent { display:flex; gap:10px; align-items:flex-start; margin:18px 0; font-size:14px; color:var(--muted); font-weight:400; }
.consent input { margin-top:4px; flex:none; }
.small { font-size:14px; color:var(--muted); }
form.box .btn { width:100%; margin-top:18px; }

/* CTA band */
.band { background:var(--brand); color:#fff; border-radius:18px; padding:44px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.band h2 { color:#fff; margin:0 0 6px; }
.band p { margin:0; color:#fbe3d4; font-size:18px; }

/* Footer */
footer.bottom { padding:44px 0 48px; border-top:1px solid var(--line); font-size:14px; color:var(--muted); }
footer.bottom .wrap { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:24px; }
footer.bottom img { height:30px; display:block; margin-bottom:12px; }
footer.bottom b { color:var(--ink); display:block; margin-bottom:8px; }
footer.bottom a { color:var(--muted); display:block; margin:4px 0; text-decoration:none; }
footer.bottom a:hover { color:var(--ink); }
footer.bottom .tl { color:var(--ink); font-weight:600; }

/* Legal pages */
.legal { max-width:760px; margin:0 auto; padding:40px 20px 72px; font-size:16px; }
.legal h1 { font-size:36px; margin:0 0 4px; }
.legal h2 { font-size:22px; margin:30px 0 8px; }
.legal .muted { color:var(--muted); font-size:14px; }

@media (max-width:900px) {
  .hero .wrap, .grid2 { grid-template-columns:1fr; }
  .grid3, .grid4, .card.split { grid-template-columns:1fr; }
  .hero { padding:44px 0 56px; }
  section { padding:56px 0; }
  nav.main a:not(.btn) { display:none; }
  nav.main .btn { padding:9px 13px; font-size:14px; white-space:nowrap; }
  .report .rbody { padding:18px !important; }
  .report table { font-size:13px; }
  .logo img { height:34px; }
  .band { padding:30px 24px; }
  footer.bottom .wrap { grid-template-columns:1fr; }
}
@media (min-width:901px) and (max-width:1060px) { .logo .tl { display:none; } }
@media (max-width:600px) { .logo .tl { display:none; } }
@media (max-width:600px) { .report table.tools th:first-child, .report table.tools td:first-child { display:none; } }
@media (min-width:600px) and (max-width:900px) { .grid4 { grid-template-columns:1fr 1fr; } }
