:root {
  --ink: #10131a;
  --ink-soft: #343b4b;
  --slate: #596274;
  --paper: #f8efe2;
  --paper-2: #fff8ea;
  --line: rgba(16, 19, 26, .14);
  --gold: #c69434;
  --gold-2: #f5cc65;
  --green: #17483d;
  --blue: #17243a;
  --teal: #2f8f7b;
  --coral: #d96846;
  --clay: #b96f3c;
  --sage: #dbe8cf;
  --sky: #d7e7f3;
  --white: #fff;
  --shadow: 0 24px 80px rgba(16, 19, 26, .14);
  --radius: 26px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 0%, rgba(245,204,101,.32), transparent 34rem),
    radial-gradient(circle at 88% 12%, rgba(47,143,123,.18), transparent 28rem),
    radial-gradient(circle at 72% 88%, rgba(217,104,70,.16), transparent 30rem),
    linear-gradient(135deg, var(--paper-2), var(--paper) 42%, #eee1d2);
  line-height: 1.55;
}
a { color: inherit; }
.skip-link { position:absolute; left:-999px; top: 1rem; background: var(--ink); color: white; padding: .7rem 1rem; z-index: 10; }
.skip-link:focus { left: 1rem; }
.site-header { position: sticky; top: 0; z-index: 20; backdrop-filter: blur(18px); background: rgba(255,248,234,.78); border-bottom: 1px solid transparent; transition: border-color .2s, background .2s; }
.site-header.is-scrolled { border-bottom-color: var(--line); background: rgba(255,248,234,.94); }
.nav { max-width: 1180px; margin: 0 auto; padding: 1rem 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { text-decoration: none; display: inline-flex; align-items: center; gap: .7rem; letter-spacing: -.02em; }
.brand-mark { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; color: var(--paper-2); background: conic-gradient(from 140deg, var(--green), var(--teal), var(--gold), var(--coral), var(--green)); font-weight: 900; font-size: 1.45rem; box-shadow: 0 12px 30px rgba(16,19,26,.18); }
.brand strong, .brand em { display:block; line-height: 1; }
.brand em { font-style: normal; color: var(--slate); font-size: .82rem; text-transform: uppercase; letter-spacing: .13em; margin-top: .24rem; }
.nav-menu { display:flex; align-items:center; gap: 1.35rem; font-size: .95rem; }
.nav-menu a { text-decoration: none; color: var(--ink-soft); font-weight: 650; }
.nav-cta { background: linear-gradient(135deg, var(--green), var(--teal)); color: white !important; padding: .75rem 1rem; border-radius: 999px; box-shadow: 0 10px 24px rgba(23,72,61,.18); }
.nav-toggle { display: none; border: 1px solid var(--line); background: rgba(255,255,255,.65); border-radius: 999px; padding: .65rem .9rem; }
.section, .section-grid { max-width: 1180px; margin: 0 auto; padding: 6rem 1.25rem; }
.hero { min-height: 760px; display:grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); gap: 3rem; align-items: center; }
.eyebrow, .section-kicker { color: var(--green); font-weight: 850; letter-spacing: .14em; text-transform: uppercase; font-size: .78rem; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 7vw, 6.6rem); line-height: .9; letter-spacing: -.075em; margin-bottom: 1.4rem; }
h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 4rem); line-height: 1; letter-spacing: -.045em; margin-bottom: 1rem; }
h3 { font-size: 1.22rem; letter-spacing: -.025em; }
.hero-lede { font-size: 1.22rem; max-width: 680px; color: var(--ink-soft); }
.hero-actions { display:flex; flex-wrap: wrap; gap: .9rem; margin: 2rem 0; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height: 48px; border-radius: 999px; padding: .9rem 1.15rem; text-decoration: none; font-weight: 800; border: 1px solid var(--line); cursor: pointer; }
.button.primary { color: #fff; background: linear-gradient(135deg, var(--green), var(--teal) 58%, var(--clay)); border-color: transparent; box-shadow: 0 14px 40px rgba(23,72,61,.24); }
.button.ghost { background: rgba(255,255,255,.66); box-shadow: inset 0 0 0 1px rgba(198,148,52,.18); }
.metric-strip { display:grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 20px; overflow:hidden; max-width: 680px; }
.metric-strip div { background: rgba(255,255,255,.58); padding: 1rem; }
.audit-ribbon { display:flex; flex-wrap:wrap; gap:.6rem; margin-top: 1rem; }
.audit-ribbon span { border-radius: 999px; padding: .58rem .8rem; font-size: .82rem; font-weight: 850; color: #263122; background: linear-gradient(135deg, rgba(245,204,101,.45), rgba(219,232,207,.82)); border: 1px solid rgba(198,148,52,.22); }
.audit-ribbon span:nth-child(2) { background: linear-gradient(135deg, rgba(215,231,243,.9), rgba(255,255,255,.62)); }
.audit-ribbon span:nth-child(3) { background: linear-gradient(135deg, rgba(217,104,70,.22), rgba(255,250,241,.72)); }
.metric-strip dt { font-size: .78rem; color: var(--slate); text-transform: uppercase; letter-spacing:.1em; font-weight: 800; }
.metric-strip dd { margin: .25rem 0 0; font-weight: 850; }
.ops-card { position: relative; min-height: 540px; border-radius: 38px; padding: 1.1rem; background: linear-gradient(145deg, #10131a, #17243a 48%, #17483d 74%, #5b331f); color: white; box-shadow: var(--shadow); overflow:hidden; isolation:isolate; }
.ops-card:before { content:""; position:absolute; inset:-30%; background: radial-gradient(circle at 60% 26%, rgba(245,204,101,.45), transparent 24%), radial-gradient(circle at 20% 80%, rgba(47,143,123,.36), transparent 24%), radial-gradient(circle at 74% 78%, rgba(217,104,70,.34), transparent 22%); z-index:-1; }
.ops-card-top { display:flex; justify-content:space-between; align-items:center; color: rgba(255,255,255,.78); padding: .7rem .9rem; }
.ops-card-top strong { color:#111827; background: var(--gold-2); border-radius:999px; padding:.25rem .55rem; font-size:.72rem; }
.signal-rings { height: 210px; position:relative; display:grid; place-items:center; }
.signal-rings span { position:absolute; border: 1px solid rgba(240,201,107,.4); border-radius: 50%; animation: pulse 5s infinite ease-in-out; }
.signal-rings span:nth-child(1) { width: 80px; height: 80px; background: rgba(240,201,107,.22); }
.signal-rings span:nth-child(2) { width: 150px; height: 150px; animation-delay: .8s; }
.signal-rings span:nth-child(3) { width: 230px; height: 230px; animation-delay: 1.4s; }
@keyframes pulse { 50% { transform: scale(1.04); opacity: .55; } }
.queue-list { display:grid; gap:.85rem; }
.queue-list div { padding: 1rem; border-radius: 18px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(10px); }
.queue-list b, .queue-list small { display:block; }
.queue-list small { color: rgba(255,255,255,.68); margin-top:.2rem; }
.two-column { display:grid; grid-template-columns: .8fr 1fr; gap: 3rem; align-items:start; }
.check-list { list-style:none; padding:0; margin:1.5rem 0 0; display:grid; gap:.9rem; }
.check-list li { padding-left: 2rem; position:relative; }
.check-list li:before { content:""; position:absolute; left:0; top:.25rem; width:1.1rem; height:1.1rem; border-radius:50%; background: radial-gradient(circle at 35% 35%, var(--gold-2), var(--gold)); }
.section-heading { max-width: 760px; margin-bottom: 2rem; }
.section-heading.compact { max-width: 620px; }
.card-grid, .offer-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.service-card, .offer-grid article { position: relative; background: rgba(255,255,255,.66); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.4rem; box-shadow: 0 8px 30px rgba(16,19,26,.06); overflow:hidden; }
.service-card:before, .offer-grid article:before { content:""; position:absolute; inset:0 0 auto; height: 6px; background: linear-gradient(90deg, var(--gold), var(--teal), var(--coral)); }
.service-card { min-height: 290px; display:flex; flex-direction:column; }
.service-card a { margin-top:auto; font-weight: 850; color: var(--green); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.card-number { color: var(--gold); font-weight: 950; font-size: .8rem; letter-spacing: .2em; }
.local-seo { display:grid; grid-template-columns: 1.05fr .95fr; gap: 1rem; align-items:stretch; }
.map-panel, .city-cloud { border-radius: 34px; padding: 2rem; border: 1px solid var(--line); }
.map-panel { background: var(--ink); color: white; }
.map-panel p:not(.eyebrow) { color: rgba(255,255,255,.75); }
.map-panel .eyebrow { color: var(--gold-2); }
.city-cloud { display:flex; flex-wrap:wrap; align-content:center; gap: .75rem; background: linear-gradient(135deg, rgba(47,143,123,.13), rgba(245,204,101,.22), rgba(217,104,70,.12)); }
.city-cloud span { padding:.75rem 1rem; border-radius:999px; background: rgba(255,255,255,.62); font-weight:800; border: 1px solid var(--line); }
.offer-grid { grid-template-columns: repeat(4, 1fr); }
.offer-grid article { min-height: 330px; }
.offer-grid ul { padding-left: 1.1rem; }
.featured-offer { background: linear-gradient(145deg, #fff, #f7ecd4 62%, #f7dfd3) !important; border-color: rgba(198,148,52,.45) !important; transform: translateY(-12px); }
.timeline { display:grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; counter-reset: steps; }
.timeline div { padding: 1.3rem; border-top: 2px solid var(--gold); background: rgba(255,255,255,.4); border-radius: 0 0 var(--radius) var(--radius); }
.timeline span { display:inline-grid; place-items:center; width: 34px; height: 34px; border-radius:50%; background: linear-gradient(135deg, var(--green), var(--teal)); color: white; font-weight:900; margin-bottom: 1rem; }
.vertical-fit { padding-top: 1rem; }
.fit-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.fit-grid article { display:grid; gap:.45rem; padding: 1.25rem; border-radius: 24px; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(219,232,207,.55)); box-shadow: 0 10px 28px rgba(16,19,26,.06); }
.fit-grid article:nth-child(2) { background: linear-gradient(145deg, rgba(255,255,255,.74), rgba(215,231,243,.64)); }
.fit-grid article:nth-child(3) { background: linear-gradient(145deg, rgba(255,255,255,.74), rgba(245,204,101,.32), rgba(217,104,70,.13)); }
.fit-grid strong { font-size: 1.05rem; }
.fit-grid span { color: var(--ink-soft); }
.lead-capture { display:grid; grid-template-columns: .9fr 1fr; gap: 2rem; align-items: start; border-radius: 38px; background: radial-gradient(circle at 12% 12%, rgba(245,204,101,.22), transparent 22rem), linear-gradient(135deg, rgba(16,19,26,.96), rgba(23,36,58,.95) 58%, rgba(23,72,61,.95)); color: white; margin-top: 3rem; padding: 3rem; }
.lead-capture p { color: rgba(255,255,255,.72); }
.lead-capture .eyebrow { color: var(--gold-2); }
.lead-form { display:grid; gap: .9rem; }
.lead-form label { display:grid; gap: .35rem; color: rgba(255,255,255,.85); font-weight: 700; }
.lead-form button:disabled { opacity: .68; cursor: progress; }
.form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
input, textarea { width:100%; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; padding: .95rem 1rem; font: inherit; background: rgba(255,255,255,.1); color: white; }
input::placeholder, textarea::placeholder { color: rgba(255,255,255,.45); }
.form-note { font-size:.9rem; margin:0; }
.form-note[data-state="success"] { color: #dbe8cf; font-weight: 800; }
.form-note[data-state="error"] { color: #f5cc65; font-weight: 800; }
.faq-list { display:grid; gap:.75rem; max-width: 880px; }
details { background: rgba(255,255,255,.58); border: 1px solid var(--line); border-radius: 18px; padding: 1rem 1.15rem; }
summary { cursor: pointer; font-weight: 850; }
details p { margin: .7rem 0 0; color: var(--ink-soft); }
.footer { max-width:1180px; margin: 0 auto; padding: 3rem 1.25rem 4rem; border-top: 1px solid var(--line); display:flex; justify-content:space-between; gap: 2rem; color: var(--ink-soft); }
.footer address { font-style: normal; text-align:right; }
.service-hero { padding-top: 4rem; }
.service-page .hero { min-height: auto; grid-template-columns: 1fr; padding-bottom: 3rem; }
.service-page .service-body { max-width: 980px; }
.service-page .service-body .panel { background: rgba(255,255,255,.68); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.5rem; margin: 1rem 0; box-shadow: 0 8px 30px rgba(16,19,26,.05); }
.service-page .service-body .panel:nth-child(odd) { background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(219,232,207,.48)); }
@media (max-width: 920px) {
  .nav-toggle { display:block; }
  .nav-menu { position:absolute; top: 72px; left:1rem; right:1rem; display:none; flex-direction:column; align-items:stretch; background: var(--paper-2); border: 1px solid var(--line); border-radius: 18px; padding: 1rem; box-shadow: var(--shadow); }
  .nav-menu.is-open { display:flex; }
  .hero, .two-column, .local-seo, .lead-capture { grid-template-columns:1fr; }
  .hero { min-height: auto; padding-top: 4rem; }
  .card-grid, .offer-grid, .timeline, .fit-grid { grid-template-columns:1fr 1fr; }
  .footer { flex-direction:column; }
  .footer address { text-align:left; }
}
@media (max-width: 620px) {
  .section, .section-grid { padding: 4rem 1rem; }
  h1 { font-size: clamp(2.8rem, 16vw, 4.2rem); }
  .card-grid, .offer-grid, .timeline, .metric-strip, .fit-grid { grid-template-columns:1fr; }
  .ops-card { min-height: 480px; }
  .lead-capture { padding: 2rem 1rem; border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
