<style>
     body { overflow-x: hidden; }

        .hf-hero {
          position: relative;
          overflow: hidden;
          width: 100vw;
          margin-left: calc(50% - 50vw);
          color: #fff;
          background-color: #000;
          background-size: cover;
          background-position: center;
          background-repeat: no-repeat;
          padding: 56px 0;
        }
        @media (min-width: 992px) { .hf-hero { padding: 80px 0; } }

        .hf-hero .hf-video {
          position: absolute; top: 0; left: 0;
          width: 100%; height: 100%;
          object-fit: cover;
          z-index: 0;
          pointer-events: none;
        }
        .hf-hero::before {
          content: "";
          position: absolute; top: 0; right: 0; bottom: 0; left: 0;
          background: linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.75) 40%, rgba(0,0,0,.25) 100%);
          z-index: 1;
        }
        .hf-hero > *:not(.hf-video),
        .hf-hero .container {
        position: relative;
        z-index: 2;
        }

        /* left copy */
        .hf-hero .hf-eyebrow { font-size:.8rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:#fff; margin-bottom:14px; }
        .hf-hero .hf-headline { font-size:2.25rem; font-weight:700; line-height:1.1; letter-spacing:-.02em; color:#fff; margin:0 0 20px; }
        @media (min-width: 992px) { .hf-hero .hf-headline { font-size:3rem; } }
        .hf-hero .hf-subhead { font-size:1.15rem; line-height:1.6; color:rgba(255,255,255,.92); margin-bottom:26px; max-width:560px; }

        .hf-hero .hf-bullets { list-style:none !important; padding:0 !important; margin:0 0 28px !important; }
        .hf-hero .hf-bullets li { position:relative; list-style:none !important; padding-left:32px; margin:0 0 12px; font-size:1rem; line-height:1.5; color:#fff; }
        .hf-hero .hf-bullets li::before { content:"\f058"; font-family:"Font Awesome 5 Free"; font-weight:900; position:absolute; left:0; top:0; font-size:1.15rem; color:#fff; }

        .hf-hero .hf-proof { border-top:1px solid rgba(255,255,255,.25); padding-top:24px; margin-bottom:24px; max-width:580px; font-size:.9rem; line-height:1.65; color:rgba(255,255,255,.85); }
        .hf-hero .hf-proof strong, .hf-hero .hf-proof b { color:#fff; }

        .hf-hero .hf-link { display:inline-block; color:#fff !important; font-weight:600; text-decoration:none !important; border-bottom:2px solid #fff; padding-bottom:2px; }
        .hf-hero .hf-link:hover { opacity:.8; }

        /* white form card */
        .hf-hero .hf-card { background:#fff !important; color:#111 !important; border-radius:12px; padding:28px 24px; box-shadow:0 20px 50px rgba(0,0,0,.35); max-width:540px; margin:0 auto; }
        @media (min-width: 576px) { .hf-hero .hf-card { padding:32px; } }
        @media (min-width: 992px) { .hf-hero .hf-card { margin:0 0 0 auto; } }
        .hf-hero .hf-card-title { font-size:1.6rem; font-weight:700; text-align:center; color:#111; margin-bottom:6px; }
        .hf-hero .hf-card-sub { text-align:center; font-size:.95rem; color:#444; margin-bottom:22px; }
        .hf-hero .hf-card-sub a { color:#111 !important; text-decoration:none !important; }
        .hf-hero .hf-card-intro { font-size:.95rem; line-height:1.6; color:#555; margin-bottom:20px; }

        /* Marketo form overrides (neutralises the form's own dark / floating-label theme) */
        .hf-card .mktoForm, .hf-card .mktoForm * { box-sizing:border-box !important; }
        .hf-card .mktoForm { width:100% !important; padding:0 !important; font-family:inherit !important; font-size:14px !important; color:#111 !important; }
        .hf-card .mktoForm .mktoOffset, .hf-card .mktoForm .mktoGutter { display:none !important; }
        .hf-card .mktoForm .mktoFormRow { display:flex; flex-wrap:wrap; margin:0 -6px; }
        .hf-card .mktoForm .mktoFormCol { flex:1 1 150px; float:none !important; min-width:0; padding:0 6px; margin-bottom:16px !important; }
        .hf-card .mktoForm .mktoFieldWrap { position:static !important; float:none !important; width:100% !important; }
        .hf-card .mktoForm .mktoLabel {
          position:static !important; transform:none !important; float:none !important; display:block !important;
          width:100% !important; margin:0 !important; padding:0 0 6px !important; background:none !important;
          font-size:.85rem !important; font-weight:600 !important; color:#111 !important;
        }
        .hf-card .mktoForm .mktoAsterix { float:none !important; display:inline !important; padding-left:3px; color:#c00 !important; }
        .hf-card .mktoForm .mktoField:not([type=checkbox]):not([type=radio]) {
          width:100% !important; min-height:46px !important; padding:8px 14px !important; font-size:1rem !important;
          border:1px solid #cfcfcf !important; border-radius:6px !important; background:#fff !important;
          box-shadow:none !important; color:#111 !important;
        }
        .hf-card .mktoForm textarea.mktoField { min-height:100px !important; }
        .hf-card .mktoForm .mktoField:focus { border-color:#111 !important; outline:none !important; }
        .hf-card .mktoForm .mktoRadioList, .hf-card .mktoForm .mktoCheckboxList { float:none !important; width:auto !important; padding:0 !important; }
        .hf-card .mktoForm .mktoRadioList label, .hf-card .mktoForm .mktoCheckboxList label { color:#111 !important; }
        .hf-card .mktoForm .mktoHtmlText, .hf-card .mktoForm .mktoHtmlText * { width:auto; font-size:.8rem !important; line-height:1.55 !important; color:#777 !important; }
        .hf-card .mktoForm .mktoHtmlText { width:100% !important; }
        .hf-card .mktoForm .mktoHtmlText a { color:#1a5fd0 !important; text-decoration:underline !important; }
        .hf-card .mktoForm .mktoButtonRow { display:block !important; width:100% !important; }
        .hf-card .mktoForm .mktoButtonWrap { display:block !important; width:100% !important; margin-left:0 !important; }
        .hf-card .mktoForm .mktoButton {
          width:100% !important; padding:14px 20px !important; border:0 !important; border-radius:8px !important;
          background:#111 !important; background-image:none !important; color:#fff !important; box-shadow:none !important; text-shadow:none !important;
          font-size:1.05rem !important; font-weight:700 !important; cursor:pointer;
        }
        .hf-card .mktoForm .mktoButton:hover { background:#333 !important; }

    /* shop cart css */
    .pc3-card{cursor:pointer; border:1.5px solid transparent; background:#fff; transition:all .2s}
      .pc3-card.is-selected{border-color:#111; box-shadow:0 8px 24px rgba(0,0,0,.12)}
      .pc3-pill{background:#F3F4F6; color:#444; border:1px solid #e3e5e8}
      .pc3-card.is-selected .pc3-pill{background:#111; color:#fff; border-color:#111}
      .pc3-card.is-selected .pc3-btn{background:#111; color:#fff}
    /* accordion css */
      .faq details{border-bottom:1px solid #DADADA}
      .faq summary{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;font-weight:700;color:#222;cursor:pointer;list-style:none}
      .faq summary::-webkit-details-marker{display:none}
      .faq summary::after{content:"+";font-size:1.5rem;font-weight:400;line-height:1;margin-left:1rem}
      .faq details[open] summary::after{content:"\2212"}
</style>