
    /* ================= FOUNDATION ================= */

    :root {
      --paper: #f6f6ef;
      --white: #fff;
      --ink: #171b16;
      --muted: #62685e;
      --line: #dce0d4;
      --lime: #d1f76a;
      --lime-dark: #3e570e;
      --soft: #eaf0df;
      --dark-line: #363e30;
      --radius: 24px;
      --shadow: 0 20px 70px rgb(23 27 22 / 7%);
      --font: "DM Sans", sans-serif;
      --heading: "Manrope", sans-serif;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 110px; }
    body {
      margin: 0;
      background: var(--paper);
      color: var(--ink);
      font-family: var(--font);
      -webkit-font-smoothing: antialiased;
      line-height: 1.65;
    }
    body, input, select, textarea, button { font-size: 16px; }
    button, input, select, textarea { font-family: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    button { cursor: pointer; }
    a { color: inherit; text-decoration: none; }
    img, svg { display: block; max-width: 100%; }
    h1, h2, h3, p { margin: 0; }
    h1, h2, h3 {
      font-family: var(--heading);
      line-height: 1.12;
      letter-spacing: -.045em;
    }
    h1 { font-size: clamp(3rem, 5.7vw, 5.25rem); font-weight: 800; }
    h2 { font-size: clamp(2.1rem, 3.9vw, 3.65rem); font-weight: 800; }
    h3 { font-size: 1.3rem; letter-spacing: -.025em; }
    ::selection { background: var(--lime); color: var(--ink); }
    :focus-visible {
      outline: 3px solid #648e19;
      outline-offset: 5px;
    }
    [hidden] { display: none !important; }
    .container { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
    .section { padding-block: 104px; }
    .muted { color: var(--muted); }
    .eyebrow {
      display: flex;
      align-items: center;
      gap: 9px;
      font-size: .72rem;
      font-weight: 800;
      letter-spacing: .13em;
      text-transform: uppercase;
      margin-bottom: 20px;
    }
    .eyebrow::before {
      content: "";
      width: 7px;
      height: 7px;
      background: currentColor;
      border-radius: 50%;
    }
    .section-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 40px;
      margin-bottom: 44px;
    }
    .section-head h2 { max-width: 740px; }
    .section-head > p { max-width: 310px; color: var(--muted); }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      min-height: 54px;
      padding: 14px 24px;
      border: 1px solid transparent;
      border-radius: 100px;
      font-size: .9rem;
      font-weight: 700;
      line-height: 1.3;
      transition: transform .2s, background .2s, box-shadow .2s;
    }
    .btn:hover { transform: translateY(-3px); }
    .btn-dark { background: var(--ink); color: white; }
    .btn-dark:hover { background: #303a28; box-shadow: 0 8px 22px #171b1620; }
    .btn-lime { background: var(--lime); color: var(--ink); }
    .btn-lime:hover { background: #e0ff92; }
    .btn-outline { border-color: var(--line); background: transparent; }
    .btn-outline:hover { background: white; }
    .arrow { font-size: 1.25rem; line-height: 1; }
    .text-link {
      display: inline-flex;
      gap: 12px;
      align-items: center;
      font-weight: 700;
      font-size: .9rem;
      border-bottom: 1px solid currentColor;
      padding-bottom: 4px;
    }
    .skip {
      position: fixed;
      top: -100px;
      left: 20px;
      z-index: 200;
      padding: 12px 20px;
      background: var(--lime);
    }
    .skip:focus { top: 12px; }

    /* ================= NAVIGATION ================= */

    .header {
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgb(246 246 239 / 94%);
      backdrop-filter: blur(18px);
      border-bottom: 1px solid var(--line);
    }
    .nav-shell {
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 88px;
      gap: 24px;
    }
    .brand {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-family: var(--heading);
      font-weight: 800;
      font-size: 1.35rem;
      letter-spacing: -.06em;
      white-space: nowrap;
    }
    .brand-mark {
      display: grid;
      place-items: center;
      width: 37px;
      height: 37px;
      border-radius: 11px;
      background: var(--ink);
      color: var(--lime);
      font-size: 1.3rem;
      letter-spacing: -.08em;
    }
    .brand small { color: var(--muted); font-size: .8em; }
    .desktop-nav { display: flex; align-items: center; gap: 28px; }
    .desktop-nav a { font-size: .86rem; font-weight: 600; }
    .desktop-nav a:hover { color: var(--lime-dark); }
    .nav-actions { display: flex; gap: 12px; align-items: center; }
    .nav-actions .btn { min-height: 44px; padding: 11px 20px; font-size: .8rem; }
    .menu-toggle {
      display: none;
      background: none;
      border: 1px solid var(--line);
      border-radius: 50%;
      width: 44px;
      height: 44px;
      font-size: 1.25rem;
    }
    .mobile-nav {
      padding: 8px 24px 24px;
      border-top: 1px solid var(--line);
    }
    .mobile-nav a { display: block; padding: 10px 0; font-weight: 600; }

    /* ================= HERO ================= */

    .hero { padding: 78px 0 44px; overflow: hidden; }
    .hero-grid {
      display: grid;
      grid-template-columns: 1.12fr 1fr;
      align-items: center;
      gap: 56px;
    }
    .availability {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      padding: 7px 12px;
      border: 1px solid var(--line);
      border-radius: 100px;
      font-size: .73rem;
      font-weight: 600;
      margin-bottom: 26px;
      background: #ffffff70;
    }
    .availability span {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #68932c;
      box-shadow: 0 0 0 4px #68932c13;
    }
    .hero h1 em {
      font-style: normal;
      position: relative;
      display: inline;
      background: linear-gradient(transparent 66%, var(--lime) 66%, var(--lime) 93%, transparent 93%);
    }
    .hero-description {
      margin-top: 26px;
      max-width: 530px;
      color: var(--muted);
      font-size: 1.04rem;
      line-height: 1.8;
    }
    .hero-description strong { color: var(--ink); font-weight: 600; }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
    .hero-note { margin-top: 17px; font-size: .76rem; color: var(--muted); }
    .hero-person {
      margin-top: 32px;
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: .8rem;
    }
    .monogram {
      display: grid;
      place-items: center;
      background: var(--soft);
      border: 1px solid var(--line);
      border-radius: 50%;
      width: 44px;
      height: 44px;
      font-weight: 800;
      flex-shrink: 0;
    }
    .hero-person strong, .hero-person span { display: block; }
    .hero-person span { color: var(--muted); font-size: .73rem; }

    .dashboard {
      position: relative;
      background: var(--ink);
      color: white;
      padding: 27px;
      border-radius: 28px;
      box-shadow: 0 30px 80px #171b1620;
    }
    .dash-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
    .dash-top > span { color: #b7c0ad; font-size: .7rem; letter-spacing: .12em; }
    .dash-symbol { color: var(--lime); font-size: 1.8rem; }
    .segment {
      display: flex;
      gap: 5px;
      padding: 5px;
      margin-top: 23px;
      background: #242a20;
      border: 1px solid var(--dark-line);
      border-radius: 100px;
    }
    .segment button {
      flex: 1;
      padding: 10px 7px;
      background: transparent;
      border: 0;
      border-radius: 100px;
      color: #bcc5b2;
      font-size: .75rem;
      font-weight: 600;
    }
    .segment button[aria-pressed="true"] { background: var(--lime); color: var(--ink); }
    .dash-content { padding-top: 26px; }
    .dash-label { font-size: .7rem; color: #b7c0ad; text-transform: uppercase; letter-spacing: .09em; }
    .dash-number {
      font-family: var(--heading);
      font-size: clamp(3.4rem, 6vw, 4.8rem);
      line-height: 1.2;
      font-weight: 800;
      letter-spacing: -.06em;
      margin-top: 9px;
    }
    .dash-caption { color: #d1dac9; font-size: .82rem; }
    .system-map {
      position: relative;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin: 30px 0 23px;
    }
    .system-map::before {
      content: "";
      position: absolute;
      left: 10%;
      right: 10%;
      top: 22px;
      border-top: 1px dashed #607146;
    }
    .system-node { position: relative; text-align: center; }
    .system-node b {
      display: grid;
      place-items: center;
      width: 44px;
      height: 44px;
      margin: 0 auto 9px;
      background: #2d3824;
      color: var(--lime);
      border: 1px solid #54653e;
      border-radius: 14px;
      font-size: .95rem;
    }
    .system-node span { font-size: .7rem; color: #c8d2bd; }
    .dash-insight {
      padding: 17px;
      border: 1px solid var(--dark-line);
      border-radius: 15px;
      background: #22291d;
    }
    .dash-insight strong { display: block; color: var(--lime); font-size: .76rem; margin-bottom: 5px; }
    .dash-insight p { color: #c4cdbb; font-size: .81rem; min-height: 44px; }
    .dash-footer {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: center;
      margin-top: 20px;
      font-size: .7rem;
      color: #b7c0ad;
    }
    .dash-footer a { color: white; border-bottom: 1px solid #667259; }

    .proof-strip {
      margin-top: 66px;
      padding-top: 26px;
      border-top: 1px solid var(--line);
      display: grid;
      grid-template-columns: 1.1fr repeat(3, 1fr);
      gap: 30px;
      align-items: center;
    }
    .proof-intro { font-size: .8rem; color: var(--muted); max-width: 180px; }
    .proof-item { border-left: 1px solid var(--line); padding-left: 28px; }
    .proof-item strong { font-family: var(--heading); display: block; font-size: 1.5rem; letter-spacing: -.05em; }
    .proof-item span { font-size: .73rem; color: var(--muted); }

    /* ================= SERVICE FINDER ================= */

    .finder { padding-top: 72px; }
    .finder-shell {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 50px;
      background: var(--soft);
      border: 1px solid #d7dfcb;
      border-radius: var(--radius);
      padding: 44px;
    }
    .finder h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); }
    .finder-copy > p { margin-top: 16px; color: var(--muted); }
    .goal-buttons { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 26px; }
    .goal-buttons button {
      border: 1px solid #c8d2bb;
      background: transparent;
      border-radius: 100px;
      padding: 11px 15px;
      font-size: .8rem;
      color: var(--ink);
    }
    .goal-buttons button[aria-pressed="true"] {
      color: white;
      background: var(--ink);
      border-color: var(--ink);
    }
    .recommendation {
      background: white;
      padding: 30px;
      border-radius: 18px;
      display: flex;
      flex-direction: column;
      align-items: start;
      justify-content: center;
    }
    .recommendation > span { font-size: .69rem; font-weight: 700; color: var(--muted); letter-spacing: .09em; text-transform: uppercase; }
    .recommendation h3 { font-size: 1.5rem; margin-top: 13px; }
    .recommendation p { margin: 14px 0 22px; color: var(--muted); font-size: .9rem; }
    .recommendation small { margin-top: 14px; color: var(--muted); font-size: .7rem; }

    /* ================= CASE STUDIES ================= */

    .case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
    .case-card {
      display: flex;
      flex-direction: column;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      overflow: hidden;
      background: white;
      transition: transform .25s, box-shadow .25s;
    }
    .case-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
    .case-visual {
      min-height: 220px;
      padding: 25px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      background: #e8eedf;
      border-bottom: 1px solid var(--line);
    }
    .case-card:nth-child(2) .case-visual { background: #ede9df; }
    .case-card:nth-child(3) .case-visual { background: #e5e9f0; }
    .case-brand { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    .case-brand strong { font-family: var(--heading); font-size: 1.18rem; font-weight: 800; letter-spacing: -.04em; }
    .case-brand span { font-size: .64rem; border: 1px solid #171b1626; border-radius: 100px; padding: 4px 8px; }
    .case-number { font-family: var(--heading); font-size: 3.5rem; font-weight: 800; letter-spacing: -.07em; line-height: 1.15; }
    .case-visual p { font-size: .76rem; color: #525b4b; }
    .case-body { padding: 25px; flex: 1; display: flex; flex-direction: column; align-items: start; }
    .case-body h3 { font-size: 1.25rem; line-height: 1.35; }
    .case-body p { margin: 15px 0 24px; color: var(--muted); font-size: .87rem; }
    .case-body .text-link { margin-top: auto; font-size: .8rem; }
    .results-note { margin-top: 20px; color: var(--muted); font-size: .72rem; }
    .center-action { text-align: center; margin-top: 32px; }

    /* ================= SERVICES ================= */

    .services { background: var(--ink); color: white; }
    .services .eyebrow { color: var(--lime); }
    .services .section-head > p { color: #bac3b1; }
    .service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .service {
      background: #21271d;
      border: 1px solid var(--dark-line);
      border-radius: 18px;
      padding: 25px;
    }
    .service summary { cursor: pointer; list-style: none; }
    .service summary::-webkit-details-marker { display: none; }
    .service-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px; }
    .service-top span { color: #a9b69b; font-size: .76rem; }
    .service-top b {
      display: grid;
      place-items: center;
      width: 31px;
      height: 31px;
      border: 1px solid #505d43;
      border-radius: 50%;
      color: var(--lime);
      font-weight: 400;
    }
    .service[open] .service-top b { transform: rotate(45deg); }
    .service h3 { font-size: 1.15rem; line-height: 1.3; }
    .service summary p { margin-top: 12px; font-size: .85rem; color: #c0c9b7; }
    .service-details { margin-top: 20px; border-top: 1px solid var(--dark-line); padding-top: 17px; }
    .service-details ul { padding-left: 18px; color: #c0c9b7; font-size: .82rem; margin: 0 0 16px; }
    .service-details a { color: var(--lime); font-size: .82rem; }

    /* ================= PROCESS / TESTIMONIALS ================= */

    .process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; }
    .process-step { border-top: 1px solid #bbc5b0; padding-top: 22px; }
    .step-number {
      display: grid;
      place-items: center;
      background: var(--lime);
      width: 42px;
      height: 42px;
      border-radius: 50%;
      font-weight: 700;
      font-size: .8rem;
      margin-bottom: 28px;
    }
    .process-step small { color: var(--muted); display: block; font-size: .7rem; margin-bottom: 9px; }
    .process-step h3 { font-size: 1.15rem; }
    .process-step p { font-size: .86rem; color: var(--muted); margin-top: 13px; }
    .testimonials { padding-top: 0; }
    .quote-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
    .quote-card { margin: 0; border: 1px solid var(--line); border-radius: var(--radius); padding: 32px; background: white; }
    .quote-mark { font-family: Georgia, serif; font-size: 4rem; line-height: .9; color: #66872b; }
    .quote-card blockquote { margin: 18px 0 28px; font-size: 1.05rem; line-height: 1.8; }
    .quote-card figcaption { display: flex; gap: 12px; align-items: center; }
    .quote-card img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: var(--soft); }
    .quote-card strong { display: block; font-size: .83rem; }
    .quote-card figcaption span { color: var(--muted); font-size: .73rem; }

    /* ================= CONTACT ================= */

    .contact { background: #e9eedf; border-block: 1px solid #d8dfcd; }
    .contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 75px; align-items: start; }
    .contact-copy h2 { font-size: clamp(2.4rem, 4.4vw, 4rem); }
    .contact-copy > p { color: var(--muted); margin-top: 23px; }
    .call-points { list-style: none; padding: 0; margin: 29px 0; }
    .call-points li { display: flex; gap: 12px; margin: 13px 0; font-size: .88rem; }
    .call-points li::before { content: "✓"; color: var(--lime-dark); font-weight: 700; }
    .contact-direct { padding-top: 24px; border-top: 1px solid #cbd5bf; }
    .contact-direct p { font-size: .8rem; color: var(--muted); margin-bottom: 6px; }
    .contact-direct a { font-size: .95rem; font-weight: 700; overflow-wrap: anywhere; }
    .lead-form { padding: 32px; background: white; border: 1px solid #d9e0d1; border-radius: var(--radius); box-shadow: var(--shadow); }
    .lead-form h3 { font-size: 1.4rem; margin-bottom: 7px; }
    .form-intro { color: var(--muted); font-size: .82rem; margin-bottom: 26px; }
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
    .field.full { grid-column: 1 / -1; }
    label { display: block; font-size: .76rem; font-weight: 700; margin-bottom: 7px; }
    label span { color: var(--muted); font-weight: 400; }
    input, select, textarea {
      width: 100%;
      min-height: 49px;
      padding: 12px 13px;
      border: 1px solid #dce0d5;
      border-radius: 9px;
      background: #fcfcf9;
      color: var(--ink);
      font-size: .86rem;
    }
    input:focus, select:focus, textarea:focus { border-color: #729841; }
    textarea { min-height: 100px; resize: vertical; }
    .form-extra { margin-top: 19px; }
    .form-extra summary { font-size: .8rem; font-weight: 600; cursor: pointer; }
    .form-extra .field { margin-top: 14px; }
    .form-submit { width: 100%; margin-top: 24px; }
    .form-submit:disabled { opacity: .65; cursor: wait; transform: none; }
    .form-note { font-size: .69rem; color: var(--muted); margin-top: 13px; line-height: 1.7; }
    .form-note a { text-decoration: underline; }
    .form-status { margin-top: 15px; font-size: .84rem; border-radius: 9px; }
    .form-status:not(:empty) { padding: 13px; background: var(--soft); }
    .form-status.error { background: #fff0eb; color: #963d27; }
    .honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

    /* ================= FAQ / FOOTER ================= */

    .faq-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; }
    .faq-heading p { margin-top: 21px; color: var(--muted); font-size: .9rem; }
    .faq-list details { border-bottom: 1px solid var(--line); }
    .faq-list details:first-child { border-top: 1px solid var(--line); }
    .faq-list summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 25px;
      padding: 22px 0;
      font-weight: 600;
      font-size: .95rem;
      cursor: pointer;
      list-style: none;
    }
    .faq-list summary::-webkit-details-marker { display: none; }
    .faq-list summary::after { content: "+"; font-size: 1.4rem; font-weight: 400; }
    .faq-list details[open] summary::after { content: "−"; }
    .faq-list details p { color: var(--muted); font-size: .88rem; padding: 0 30px 22px 0; }
    .footer { background: var(--ink); color: white; padding: 54px 0 28px; }
    .footer-top { display: flex; justify-content: space-between; gap: 40px; padding-bottom: 42px; }
    .footer .brand-mark { background: var(--lime); color: var(--ink); }
    .footer .brand small { color: #c0c9b7; }
    .footer-description { margin-top: 18px; max-width: 340px; color: #b5bfaa; font-size: .85rem; }
    .footer-links { display: flex; gap: 65px; }
    .footer-links div { display: flex; flex-direction: column; gap: 10px; }
    .footer-links strong { font-size: .8rem; margin-bottom: 5px; }
    .footer-links a { font-size: .8rem; color: #b5bfaa; }
    .footer-links a:hover { color: var(--lime); }
    .footer-bottom {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      border-top: 1px solid var(--dark-line);
      padding-top: 24px;
      color: #b5bfaa;
      font-size: .72rem;
    }
    .mobile-cta { display: none; }

    /* Content remains visible if JavaScript is unavailable. */
    .reveal { opacity: 1; transform: none; }
    .reveal.pending { opacity: 0; transform: translateY(20px); }
    .reveal { transition: opacity .65s ease, transform .65s ease; }

    @media (min-width: 941px) {
      .mobile-nav { display: none !important; }
    }

    @media (max-width: 1050px) {
      .desktop-nav { gap: 18px; }
      .hero-grid { gap: 30px; }
      .dashboard { padding: 23px; }
      .contact-grid { gap: 40px; }
    }

    @media (max-width: 940px) {
      .desktop-nav { display: none; }
      .menu-toggle { display: block; }
      .hero-grid { grid-template-columns: 1fr; gap: 44px; }
      .hero-copy { max-width: 690px; }
      .hero h1 { font-size: clamp(3.2rem, 8.5vw, 5.5rem); }
      .dashboard { max-width: 640px; width: 100%; }
      .dash-insight p { min-height: auto; }
      .section { padding-block: 76px; }
      .finder { padding-top: 40px; }
      .finder-shell { gap: 25px; padding: 30px; }
      .section-head { align-items: start; flex-direction: column; gap: 20px; }
      .section-head > p { max-width: 550px; }
      .case-grid { gap: 14px; }
      .case-visual, .case-body { padding: 20px; }
      .case-brand { align-items: start; flex-direction: column; }
      .case-number { font-size: 2.8rem; }
      .service-grid { grid-template-columns: repeat(2, 1fr); }
      .process-grid { grid-template-columns: repeat(2, 1fr); gap: 34px; }
      .contact-grid, .faq-grid { grid-template-columns: 1fr; gap: 35px; }
      .contact-copy { max-width: 650px; }
      .testimonials { padding-top: 0; }
    }

    @media (max-width: 640px) {
      .container { width: calc(100% - 36px); }
      .nav-shell { min-height: 74px; gap: 12px; }
      .brand { font-size: 1.16rem; }
      .brand-mark { width: 32px; height: 32px; }
      .nav-actions { gap: 8px; }
      .nav-actions .btn { padding: 10px 13px; font-size: .72rem; }
      .nav-actions .arrow { display: none; }
      .hero { padding-top: 42px; }
      .hero h1 { font-size: clamp(2.85rem, 11.3vw, 4.4rem); }
      .hero-description { font-size: .96rem; }
      .hero-actions .btn { padding-inline: 19px; font-size: .8rem; }
      .hero-person { margin-top: 24px; }
      .dashboard { padding: 22px; border-radius: 22px; }
      .proof-strip { grid-template-columns: 1fr 1fr; margin-top: 40px; gap: 23px; }
      .proof-intro { max-width: none; }
      .proof-item { padding-left: 16px; }
      .proof-item strong { font-size: 1.3rem; }
      .proof-item span { font-size: .66rem; }
      .section { padding-block: 60px; }
      .finder { padding-top: 22px; }
      .finder-shell { grid-template-columns: 1fr; padding: 23px; gap: 24px; }
      .recommendation { padding: 23px; }
      .section-head { margin-bottom: 30px; }
      .case-grid, .service-grid, .quote-grid { grid-template-columns: 1fr; }
      .case-visual { min-height: 210px; padding: 25px; }
      .case-brand { flex-direction: row; align-items: center; }
      .case-number { font-size: 3.6rem; }
      .case-body { padding: 25px; }
      .service-top { margin-bottom: 20px; }
      .process-grid { gap: 28px 20px; }
      .step-number { margin-bottom: 20px; }
      .process-step h3 { font-size: 1.05rem; }
      .process-step p { font-size: .8rem; }
      .quote-card { padding: 25px; }
      .quote-card blockquote { font-size: .97rem; }
      .testimonials { padding-top: 0; }
      .lead-form { padding: 24px; }
      .form-grid { grid-template-columns: 1fr; gap: 16px; }
      input, select, textarea { font-size: 16px; }
      .footer-top { flex-direction: column; gap: 30px; }
      .footer-links { gap: 55px; }
      .footer-bottom { flex-direction: column; gap: 8px; }
      .footer { padding-bottom: 105px; }
      .mobile-cta {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 90;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 15px;
        padding: 12px 18px calc(12px + env(safe-area-inset-bottom));
        background: rgb(246 246 239 / 96%);
        backdrop-filter: blur(16px);
        border-top: 1px solid var(--line);
      }
      .mobile-cta span { font-size: .72rem; font-weight: 600; }
      .mobile-cta .btn { min-height: 43px; font-size: .76rem; padding: 11px 17px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after {
        animation: none !important;
        transition: none !important;
      }
      .reveal.pending { opacity: 1; transform: none; }
    }
  