/* ============================================================
   THEME V2 — visual pass (2026-09-24)
   Loaded AFTER each page's own CSS. Remove the <link id="theme-v2">
   line (or add ?theme=classic to any URL) to get the old look back.
   Research basis: Podium / Owner / ServiceTitan / Jobber homepages
   all use one saturated accent on warm off-white + near-black ink,
   a real grotesk font (Inter / Graphik / Sofia Pro), big tight headlines.
   ============================================================ */
@import url("./fonts/fonts.css");

:root{
  /* green scale (one brand hue, 50 to 900) */
  --g-50:#EEFBF4; --g-100:#D5F5E3; --g-200:#AAE9C9; --g-300:#72D6A8;
  --g-400:#34BD83; --g-500:#119E68; --g-600:#0B8055; --g-700:#0A6645;
  --g-800:#0B5039; --g-900:#0A3527; --g-950:#062219;
  /* warm neutrals */
  --n-0:#FFFFFF; --n-25:#FBFAF7; --n-50:#F6F5F0; --n-100:#ECEAE3;
  --n-200:#DEDBD1; --n-400:#9A968B; --n-600:#5E5B53; --n-800:#2A2925; --n-900:#171714;

  --accent:var(--g-600); --accent-soft:var(--g-50);
  --ink:var(--n-900); --muted:var(--n-600);
  --paper:var(--n-25); --card:var(--n-0); --border:var(--n-100);
  --ring:0 0 0 4px color-mix(in srgb,var(--g-400) 35%,transparent);
  --sh-1:0 1px 2px rgba(23,23,20,.05),0 1px 1px rgba(23,23,20,.03);
  --sh-2:0 1px 2px rgba(23,23,20,.04),0 8px 24px -8px rgba(23,23,20,.12);
  --sh-3:0 2px 4px rgba(23,23,20,.04),0 24px 48px -16px rgba(10,53,39,.22);
  --r-card:18px; --r-lg:26px;
  --f-body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --f-head:"Inter Tight","Inter",ui-sans-serif,system-ui,sans-serif;
}

body{font-family:var(--f-body);color:var(--ink);background:var(--paper);
  font-feature-settings:"cv11","ss01","ss03";text-rendering:optimizeLegibility;letter-spacing:-.005em}
h1,h2,h3,h4,.brand-word,.price{font-family:var(--f-head)}
::selection{background:var(--g-200);color:var(--g-950)}

/* top strip + header */
.demo-banner{background:var(--g-950);color:var(--g-100);letter-spacing:.02em}
.site-header{background:color-mix(in srgb,var(--n-25) 82%,transparent);border-bottom-color:transparent;
  box-shadow:0 1px 0 var(--n-100)}
.brand-word{font-weight:800;letter-spacing:-.035em}
.nav{color:var(--n-600)} .nav a{transition:color .15s} .nav a:hover{color:var(--g-700)}

/* buttons */
.btn{font-weight:650;letter-spacing:-.01em;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s}
.btn-primary{background:var(--g-600);color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 2px rgba(6,34,25,.25),0 6px 16px -6px color-mix(in srgb,var(--g-600) 70%,transparent)}
.btn-primary:hover{background:var(--g-700);filter:none;transform:translateY(-1px)}
.btn-primary:active{transform:translateY(0)}
.btn-ghost{background:var(--n-0);border:1px solid var(--n-200);box-shadow:var(--sh-1)}
.btn-ghost:hover{border-color:var(--n-400)}
.btn:focus-visible{outline:none;box-shadow:var(--ring)}

/* hero */
.hero{background:
  radial-gradient(900px 420px at 88% 8%,color-mix(in srgb,var(--g-300) 30%,transparent),transparent 62%),
  radial-gradient(700px 360px at 0% 100%,color-mix(in srgb,var(--g-100) 70%,transparent),transparent 60%),
  linear-gradient(180deg,var(--n-25),var(--n-50));
  position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--n-100) 1px,transparent 1px),linear-gradient(90deg,var(--n-100) 1px,transparent 1px);
  background-size:44px 44px;mask-image:radial-gradient(ellipse 70% 60% at 70% 30%,#000 20%,transparent 75%)}
.hero .wrap{position:relative}
.hero-kicker{display:inline-flex;align-items:center;gap:.75rem;background:none;color:var(--g-700);border:0;box-shadow:none;border-radius:0;padding:0;
  font-weight:750;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}
.hero-kicker::before{content:"";flex:none;width:3.12rem;height:2.8rem;border-radius:0;box-shadow:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='4.80 4.80 15.72 17.37'%3E%3Cg transform='rotate(24.50 10 10)'%3E%3Cpath fill='%231f6b4a' fill-rule='evenodd' d='M13.66,9.76 L14.89,10.32 L14.80,10.96 L13.48,11.18 L13.29,11.62 L14.07,12.72 L13.68,13.23 L12.42,12.76 L12.04,13.05 L12.17,14.39 L11.57,14.64 L10.72,13.60 L10.24,13.66 L9.68,14.89 L9.04,14.80 L8.82,13.48 L8.38,13.29 L7.28,14.07 L6.77,13.68 L7.24,12.42 L6.95,12.04 L5.61,12.17 L5.36,11.57 L6.40,10.72 L6.34,10.24 L5.11,9.68 L5.20,9.04 L6.52,8.82 L6.71,8.38 L5.93,7.28 L6.32,6.77 L7.58,7.24 L7.96,6.95 L7.83,5.61 L8.43,5.36 L9.28,6.40 L9.76,6.34 L10.32,5.11 L10.96,5.20 L11.18,6.52 L11.62,6.71 L12.72,5.93 L13.23,6.32 L12.76,7.58 L13.05,7.96 L14.39,7.83 L14.64,8.43 L13.60,9.28Z M12.2,10 a2.2,2.2 0 1,0 -4.4,0 a2.2,2.2 0 1,0 4.4,0Z'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 10 10' to='360 10 10' dur='12.000s' repeatCount='indefinite'/%3E%3C/path%3E%3C/g%3E%3Cg transform='rotate(182.00 16.41 14.01)'%3E%3Cpath fill='%232a8a5f' fill-rule='evenodd' d='M18.99,13.78 L20.21,14.34 L20.10,15.00 L18.76,15.11 L18.53,15.50 L19.11,16.71 L18.60,17.14 L17.51,16.36 L17.08,16.51 L16.74,17.81 L16.08,17.81 L15.74,16.51 L15.31,16.36 L14.22,17.14 L13.71,16.71 L14.29,15.50 L14.06,15.11 L12.72,15.00 L12.61,14.34 L13.83,13.78 L13.91,13.34 L12.95,12.40 L13.28,11.82 L14.58,12.18 L14.92,11.89 L14.80,10.55 L15.42,10.32 L16.18,11.43 L16.64,11.43 L17.40,10.32 L18.02,10.55 L17.90,11.89 L18.24,12.18 L19.54,11.82 L19.87,12.40 L18.91,13.34Z M18.01,14.01 a1.6,1.6 0 1,0 -3.2,0 a1.6,1.6 0 1,0 3.2,0Z'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 16.41 14.01' to='-360 16.41 14.01' dur='9.000s' repeatCount='indefinite'/%3E%3C/path%3E%3C/g%3E%3Cg transform='rotate(280.86 13.19 18.78)'%3E%3Cpath fill='%2335a371' fill-rule='evenodd' d='M15.05,18.57 L16.27,19.13 L16.11,19.80 L14.78,19.78 L14.51,20.10 L14.84,21.40 L14.21,21.70 L13.40,20.64 L12.98,20.64 L12.17,21.70 L11.54,21.40 L11.87,20.10 L11.60,19.78 L10.27,19.80 L10.11,19.13 L11.33,18.57 L11.42,18.16 L10.57,17.13 L11.00,16.59 L12.19,17.19 L12.57,17.01 L12.84,15.70 L13.54,15.70 L13.81,17.01 L14.19,17.19 L15.38,16.59 L15.81,17.13 L14.96,18.16Z M14.49,18.78 a1.3,1.3 0 1,0 -2.6,0 a1.3,1.3 0 1,0 2.6,0Z'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 13.19 18.78' to='360 13.19 18.78' dur='7.000s' repeatCount='indefinite'/%3E%3C/path%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
@media (prefers-reduced-motion:reduce){.hero-kicker::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='4.80 4.80 15.72 17.37'%3E%3Cpath transform='rotate(24.50 10 10)' fill='%231f6b4a' fill-rule='evenodd' d='M13.66,9.76 L14.89,10.32 L14.80,10.96 L13.48,11.18 L13.29,11.62 L14.07,12.72 L13.68,13.23 L12.42,12.76 L12.04,13.05 L12.17,14.39 L11.57,14.64 L10.72,13.60 L10.24,13.66 L9.68,14.89 L9.04,14.80 L8.82,13.48 L8.38,13.29 L7.28,14.07 L6.77,13.68 L7.24,12.42 L6.95,12.04 L5.61,12.17 L5.36,11.57 L6.40,10.72 L6.34,10.24 L5.11,9.68 L5.20,9.04 L6.52,8.82 L6.71,8.38 L5.93,7.28 L6.32,6.77 L7.58,7.24 L7.96,6.95 L7.83,5.61 L8.43,5.36 L9.28,6.40 L9.76,6.34 L10.32,5.11 L10.96,5.20 L11.18,6.52 L11.62,6.71 L12.72,5.93 L13.23,6.32 L12.76,7.58 L13.05,7.96 L14.39,7.83 L14.64,8.43 L13.60,9.28Z M12.2,10 a2.2,2.2 0 1,0 -4.4,0 a2.2,2.2 0 1,0 4.4,0Z'/%3E%3Cpath transform='rotate(182.00 16.41 14.01)' fill='%232a8a5f' fill-rule='evenodd' d='M18.99,13.78 L20.21,14.34 L20.10,15.00 L18.76,15.11 L18.53,15.50 L19.11,16.71 L18.60,17.14 L17.51,16.36 L17.08,16.51 L16.74,17.81 L16.08,17.81 L15.74,16.51 L15.31,16.36 L14.22,17.14 L13.71,16.71 L14.29,15.50 L14.06,15.11 L12.72,15.00 L12.61,14.34 L13.83,13.78 L13.91,13.34 L12.95,12.40 L13.28,11.82 L14.58,12.18 L14.92,11.89 L14.80,10.55 L15.42,10.32 L16.18,11.43 L16.64,11.43 L17.40,10.32 L18.02,10.55 L17.90,11.89 L18.24,12.18 L19.54,11.82 L19.87,12.40 L18.91,13.34Z M18.01,14.01 a1.6,1.6 0 1,0 -3.2,0 a1.6,1.6 0 1,0 3.2,0Z'/%3E%3Cpath transform='rotate(280.86 13.19 18.78)' fill='%2335a371' fill-rule='evenodd' d='M15.05,18.57 L16.27,19.13 L16.11,19.80 L14.78,19.78 L14.51,20.10 L14.84,21.40 L14.21,21.70 L13.40,20.64 L12.98,20.64 L12.17,21.70 L11.54,21.40 L11.87,20.10 L11.60,19.78 L10.27,19.80 L10.11,19.13 L11.33,18.57 L11.42,18.16 L10.57,17.13 L11.00,16.59 L12.19,17.19 L12.57,17.01 L12.84,15.70 L13.54,15.70 L13.81,17.01 L14.19,17.19 L15.38,16.59 L15.81,17.13 L14.96,18.16Z M14.49,18.78 a1.3,1.3 0 1,0 -2.6,0 a1.3,1.3 0 1,0 2.6,0Z'/%3E%3C/svg%3E")}}
@media (max-width:480px){.hero-kicker{white-space:nowrap;max-width:100%;letter-spacing:.04em;font-size:min(.72rem,3.05vw);gap:.5rem}.hero-kicker::before{width:min(2.2rem,9vw);height:min(1.98rem,8.1vw)}}
.hero h1{font-weight:800;letter-spacing:-.045em;line-height:1.02;font-size:clamp(2.2rem,6vw,4rem)}
.hero h1 em,.hero h1 .hl{font-style:normal;color:var(--g-600)}
.hero .lede{color:var(--n-600)}
.phone-chrome{background:linear-gradient(160deg,#23241f,#0f0f0d)}
.mock-phone{filter:drop-shadow(0 40px 60px rgba(10,53,39,.28))}
.float-score{border:1px solid var(--n-100);box-shadow:var(--sh-3);border-radius:16px}
.float-score-kicker{color:var(--g-600)!important}

/* proof strip (added by theme-v2.js) */
.proof-strip{border-top:1px solid var(--n-100);border-bottom:1px solid var(--n-100);background:var(--n-0)}
.proof-strip ul{list-style:none;margin:0 auto;padding:1rem 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
  width:min(1120px,calc(100% - 2.5rem))}
.proof-strip li{display:flex;gap:.65rem;align-items:center;font-weight:600;font-size:.92rem;color:var(--n-800);line-height:1.3}
.proof-strip li i{flex:none;width:2rem;height:2rem;border-radius:10px;display:grid;place-items:center;
  background:var(--g-50);color:var(--g-700);font-style:normal;border:1px solid var(--g-100)}
.proof-strip li i svg{width:1rem;height:1rem}
@media (max-width:820px){.proof-strip ul{grid-template-columns:1fr 1fr;gap:.85rem .75rem}.proof-strip li{font-size:.85rem}}

/* bands + section heads */
.band{padding:clamp(3.5rem,7vw,6rem) 0}
.band:nth-of-type(even):not([style]){background:var(--n-50)}
#included{background:linear-gradient(180deg,var(--g-50),var(--n-25))!important}
#plan{background:var(--n-0)!important}
.section-kicker{display:inline-block;color:var(--g-700);background:var(--g-50);border:1px solid var(--g-100);
  border-radius:999px;padding:.3rem .7rem;font-weight:700;font-size:.72rem;letter-spacing:.06em;margin-bottom:1rem}
.band h2{font-weight:800;letter-spacing:-.04em;line-height:1.06;font-size:clamp(1.9rem,4.2vw,3rem);max-width:20ch}
.sub{color:var(--n-600);font-size:clamp(1.02rem,1.6vw,1.15rem);line-height:1.55}

/* cards */
.card,.include-item,.pillar,.sample-card,.cost-block,.plan-card{border:1px solid var(--n-100);border-radius:var(--r-card);box-shadow:var(--sh-1);background:var(--n-0)}
.card,.include-item,.pillar{transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
.card:hover,.include-item:hover,.pillar:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:var(--n-200)}
.card h3,.pillar strong{font-family:var(--f-head);letter-spacing:-.02em;font-weight:700}
.check{color:var(--g-600)}
.step .n{background:var(--g-600);box-shadow:0 0 0 4px var(--g-100)}

/* dark ownership band */
.data-band{background:
  radial-gradient(600px 300px at 100% 0%,color-mix(in srgb,var(--g-500) 35%,transparent),transparent 60%),
  var(--g-950);border-radius:var(--r-lg);box-shadow:var(--sh-3)}
.data-band .section-kicker{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:var(--g-200)!important}

/* samples */
.sample-card{border-radius:var(--r-card)}
.sample-card:hover{transform:translateY(-3px);box-shadow:var(--sh-3)}
.sample-meta .trade{color:var(--g-700)}

/* plans: equal, clean */
.plan-card{border-radius:var(--r-lg);box-shadow:var(--sh-2)}
.plan-card-leads{border-color:var(--g-200);box-shadow:0 0 0 1px var(--g-100),var(--sh-2)}
.plan-eyebrow{color:var(--g-700)!important}
.price{letter-spacing:-.05em;font-weight:800;color:var(--n-900)}
.plan-list li::marker{color:var(--g-500)}

/* audit frame */
.audit-shell{border-radius:var(--r-lg)!important;border:1px solid var(--g-100)!important;
  box-shadow:var(--sh-3)!important;background:var(--n-0)!important;overflow:hidden}

/* faq */
.faq-list{background:var(--n-0);border:1px solid var(--n-100);border-radius:var(--r-card);padding:.5rem 1.25rem;box-shadow:var(--sh-1)}
.faq-item{padding:1.05rem 0}
.faq-item:first-child{padding-top:1.05rem}
.faq-item:last-child{border-bottom:0}
.faq-item button{font-family:var(--f-head);font-weight:700;letter-spacing:-.015em}

/* footer */
.site-footer{background:#1B365D;color:rgba(255,255,255,.75);border-top:0}
.site-footer strong,.footer-inner strong{color:#fff}
.site-footer a{color:#fff} .site-footer a:hover{color:#34C88A}
.site-footer code{color:var(--g-200)}

/* motion (respects reduced motion) */
@media (prefers-reduced-motion:no-preference){
  .v2-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
  .v2-reveal.in{opacity:1;transform:none}
}

/* answering demo block */
.answer-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.answer-card{background:var(--n-0);border:1px solid var(--n-100);border-radius:var(--r-lg);padding:1.25rem;box-shadow:var(--sh-3);display:grid;gap:.6rem}
.answer-row{display:flex;align-items:center;gap:.55rem;font-size:.9rem;padding-bottom:.6rem;border-bottom:1px solid var(--n-100)}
.answer-row em{margin-left:auto;font-style:normal;color:var(--n-600);font-size:.8rem}
.answer-dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--g-400);box-shadow:0 0 0 4px var(--g-100);animation:v2pulse 1.8s ease-in-out infinite}
.answer-bubble{margin:0;padding:.65rem .85rem;border-radius:14px;font-size:.92rem;line-height:1.4;max-width:88%}
.answer-bubble.ai{background:var(--g-50);border:1px solid var(--g-100);color:var(--g-950)}
.answer-bubble.caller{background:var(--n-50);border:1px solid var(--n-100);justify-self:end}
.answer-text{margin-top:.35rem;background:var(--g-950);color:#fff;border-radius:14px;padding:.75rem .9rem;display:grid;gap:.2rem;font-size:.88rem}
.answer-text strong{color:var(--g-300);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
@keyframes v2pulse{50%{box-shadow:0 0 0 8px transparent}}
@media (max-width:820px){.answer-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.answer-dot{animation:none}}
