.top-banner {
      background: #2F434A;
      color: #fff;
      text-align: center;
      font-size: 0.95rem;
      line-height: 1.35;
      padding: 0.55rem 1rem;
    }
    .top-banner a {
      color: #F4A261;
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    .top-banner a:hover { color: #E76F51; }
    .header { top: 0; }
    body { padding-top: 0; }
    @media (max-width: 640px) {
      .top-banner { font-size: 0.88rem; padding: 0.5rem 0.85rem; }
    }
    /* H1 size override: keeps each sentence on one line at every viewport */
    .hero h1 {
      font-size: clamp(1.85rem, 3.4vw, 2.4rem);
      line-height: 1.18;
    }
    .service-card h3 a { color: inherit; text-decoration: none; }
    .service-card h3 a:hover { color: var(--teal-dark); }
    .service-card .service-more {
      display: inline-block;
      margin-top: .55rem;
      font-size: .9rem;
      font-weight: 600;
      color: var(--teal-dark);
    }
    .service-card .service-more:hover { color: var(--teal); }
  
    .offer-strip {
      background: linear-gradient(90deg, #e8f6f3 0%, #FDF0EC 100%);
      border-bottom: 1px solid #d7e5e1;
      text-align: center;
      padding: 0.65rem 1rem;
      font-size: 0.95rem;
      color: #2F434A;
      line-height: 1.4;
    }
    .offer-strip strong { color: #c45b40; }
    .offer-strip .offer-pct {
      display: inline-block;
      background: #E76F51;
      color: #fff;
      font-weight: 700;
      font-size: 0.78rem;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      padding: 0.15rem 0.5rem;
      border-radius: 6px;
      margin-right: 0.2rem;
      vertical-align: middle;
    }
    @media (max-width: 640px) {
      .offer-strip { font-size: 0.88rem; padding: 0.55rem 0.85rem; }
    }
    .price-first {
      margin: 0.35rem 0 0;
      font-size: 0.92rem;
      font-weight: 600;
      color: #c45b40;
    }
    .price-first s {
      color: #8a9593;
      font-weight: 500;
      margin-right: 0.25rem;
    }

  
    .price-chip {
      display: inline-block;
      margin: 0.35rem 0 0.15rem;
      padding: 0.2rem 0.55rem;
      font-size: 0.75rem;
      font-weight: 600;
      color: #c45b40;
      background: #FDF0EC;
      border: 1px solid #f3cfc4;
      border-radius: 999px;
    }
    @media (max-width: 640px) {
      .service-card > p { display: none; }
      .differ-grid .service-card > p { display: block; }
      .section { padding: 2.25rem 0; }
      .section-header { margin-bottom: 1.35rem; }
      .trust-inner { grid-template-columns: 1fr 1fr; gap: 0.55rem; }
      .hero-note { font-size: 0.9rem; }
      .calc-disclaimer { font-size: 0.85rem; }
    }
  
    /* Coral primary for homepage form CTA */
    .btn-coral,
    .contact-form button.btn-primary.btn-full {
      background: #E76F51 !important;
      border-color: #E76F51 !important;
      color: #fff !important;
    }
    .btn-coral:hover,
    .contact-form button.btn-primary.btn-full:hover {
      background: #d45f42 !important;
      border-color: #d45f42 !important;
      color: #fff !important;
    }
  
    /* Mobile shorten + sticky CTA */
    .mobile-toggle {
      display: none;
      width: 100%;
      margin: 0 0 1rem;
      padding: 0.85rem 1rem;
      font: inherit;
      font-weight: 600;
      font-size: 0.95rem;
      color: #2F434A;
      background: #fff;
      border: 1px solid #e6e0d8;
      border-radius: 10px;
      cursor: pointer;
      text-align: left;
    }
    .mobile-toggle--inline {
      margin: 0.5rem 0 0.75rem;
      width: auto;
      display: none;
    }
    .mobile-toggle::after {
      content: " +";
      float: right;
      font-weight: 700;
      color: #E76F51;
    }
    .mobile-toggle.is-open::after { content: " −"; }
    .differ-one { display: none; margin: 0; font-size: 0.92rem; color: var(--text-muted); }
    .differ-detail { margin: 0; }
    .sticky-cta {
      display: none;
    }
    .btn-coral {
      background: #E76F51 !important;
      border-color: #E76F51 !important;
      color: #fff !important;
    }
    .btn-coral:hover {
      background: #d45f42 !important;
      border-color: #d45f42 !important;
      color: #fff !important;
    }
    .contact-form button.btn-primary.btn-full {
      background: #E76F51 !important;
      border-color: #E76F51 !important;
      color: #fff !important;
    }
    .contact-form button.btn-primary.btn-full:hover {
      background: #d45f42 !important;
      border-color: #d45f42 !important;
    }
    @media (max-width: 640px) {
      .mobile-toggle,
      .mobile-toggle--inline { display: block; }
      .mobile-collapse { display: none; }
      .mobile-collapse.is-open { display: block; }
      /* Calculator: hide grid until toggled */
      #calcCollapse.mobile-collapse { display: none; }
      #calcCollapse.mobile-collapse.is-open { display: grid; }
      .differ-grid {
        grid-template-columns: 1fr 1fr;
        gap: 0.65rem;
      }
      .differ-card {
        padding: 0.85rem 0.75rem;
        cursor: pointer;
      }
      .differ-card h3 { font-size: 0.95rem; margin-bottom: 0.35rem; }
      .differ-one { display: block; }
      .differ-detail { display: none; }
      .differ-card.is-open .differ-one { display: none; }
      .differ-card.is-open .differ-detail { display: block; font-size: 0.88rem; }
      .about-help-body.mobile-collapse { display: none; }
      .about-help-body.mobile-collapse.is-open { display: block; }
      .pricing-notes-more.mobile-collapse { display: none; }
      .pricing-notes-more.mobile-collapse.is-open { display: block; }
      .sticky-cta {
        display: block;
        position: fixed;
        left: 0; right: 0; bottom: 0;
        z-index: 90;
        padding: 0.65rem 0.85rem calc(0.65rem + env(safe-area-inset-bottom));
        background: rgba(255,255,255,0.96);
        border-top: 1px solid #e6e0d8;
        box-shadow: 0 -6px 20px rgba(0,0,0,0.08);
      }
      .sticky-cta[hidden] { display: none !important; }
      .sticky-cta__btn {
        display: block;
        width: 100%;
        text-align: center;
        padding: 0.85rem 1rem;
        border-radius: 10px;
        font-weight: 700;
      }
      body { padding-bottom: 4.5rem; }
    }

  
    .mobile-toggle--calc {
      text-align: center;
      line-height: 1.35;
      max-width: 28rem;
      margin-left: auto;
      margin-right: auto;
    }
    .mobile-toggle--calc::after {
      float: none;
      display: block;
      margin-top: 0.25rem;
    }
    @media (max-width: 640px) {
      .mobile-toggle--calc {
        display: block;
        text-align: center;
      }
      .mobile-toggle--about {
        display: block;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
        max-width: 22rem;
      }
      .about-help-title { display: none !important; }
      .price-li-extra { display: none !important; }
    }
    @media (min-width: 641px) {
      .about-help-title { display: block; }
      .price-li-extra { display: list-item; }
    }

  
    @media (max-width: 640px) {
      /* Hero "What we typically take off your plate" centred — ticks with text */
      .hero-card-inner {
        text-align: center;
      }
      .hero-card-inner h3 {
        text-align: center;
      }
      .hero-list {
        list-style: none !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
        text-align: center;
      }
      .hero-list li {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 0.5rem;
        padding-left: 0 !important;
        text-align: left;
      }
      .hero-list li::before {
        position: static !important;
        left: auto !important;
        margin: 0 !important;
        flex-shrink: 0;
      }
      .hero-card-footer {
        text-align: center;
      }

      /* Services "What we help with" centred */
      #services .section-header {
        text-align: center;
      }
      #services .section-header .section-lead {
        margin-left: auto;
        margin-right: auto;
      }
      #services .services-grid {
        justify-items: center;
      }
      #services .service-card {
        text-align: center;
        width: 100%;
      }
      #services .service-icon {
        margin-left: auto;
        margin-right: auto;
        display: flex;
        justify-content: center;
        align-items: center;
      }
      #services .service-card h3,
      #services .service-card p,
      #services .service-more {
        text-align: center;
      }

      .contact-details--below,
      .contact-note--below {
        margin-top: 1rem;
        text-align: center;
      }
      .contact-details--below p {
        margin: 0.35rem 0;
      }
    }
    .contact-details--below {
      margin-top: 1.25rem;
      padding-top: 1rem;
      border-top: 1px solid var(--border, #e6e0d8);
    }
    .contact-note--below {
      margin-top: 0.65rem;
    }

  
    /* Equal-height calculator tiles; note under right-hand button */
    #calculator .calc-grid {
      align-items: stretch !important;
    }
    #calculator .calc-inputs {
      background: #fff;
      border: 1px solid var(--border, #e6e0d8);
      border-radius: var(--radius, 16px);
      padding: 1.75rem 1.6rem;
      box-shadow: var(--shadow, 0 8px 24px rgba(0,0,0,.06));
      height: 100%;
      box-sizing: border-box;
    }
    #calculator .calc-results {
      height: 100%;
      display: flex;
      flex-direction: column;
      box-sizing: border-box;
    }
    #calculator .calc-results > .btn {
      margin-top: auto;
    }
    #calculator .calc-disclaimer {
      margin: 0.75rem 0 0;
      text-align: center;
      font-size: 0.82rem;
      color: var(--text-muted, #6b756f);
      max-width: none;
    }

  
    /* Mobile compact price table (matches LP Option B) */
    .lp-price-table-wrap { display: none; }
    @media (max-width: 640px) {
      #pricing .pricing-grid { display: none !important; }
      .lp-price-table-wrap {
        display: block;
        max-width: 380px;
        margin: 0 auto;
      }
      .lp-price-table {
        width: 100%;
        border-collapse: collapse;
        background: #fff;
        border: 1px solid #E6E0D8;
        border-radius: 14px;
        overflow: hidden;
        font-size: 0.88rem;
        box-shadow: 0 8px 24px rgba(38,70,83,0.06);
      }
      .lp-price-table th {
        background: #2F434A;
        color: #fff;
        font-weight: 600;
        font-size: 0.75rem;
        text-align: left;
        padding: 0.65rem 0.55rem;
      }
      .lp-price-table td {
        padding: 0.7rem 0.55rem;
        border-top: 1px solid #eee9e3;
        vertical-align: middle;
      }
      .lp-price-table tr.lp-price-row-featured {
        background: #FDF0EC;
      }
      .lp-price-first-cell {
        color: #c45b40;
        font-weight: 700;
        font-size: 0.95rem;
      }
      .lp-price-pop {
        display: inline-block;
        margin-left: 0.25rem;
        font-size: 0.65rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        color: #E76F51;
      }
      .lp-price-table-cta {
        margin-top: 1rem;
      }
      .lp-price-table-note {
        margin-top: 0.65rem;
        font-size: 0.8rem;
        color: #5C6B73;
        text-align: center;
        line-height: 1.4;
      }
    }
