:root{
    --teal:#54bfb4;
    --teal-2:#6fd0c4;
    --teal-soft:#e7f5f3;
    --teal-line:#cdece7;
    --green:#2fc78c;
    --green-dark:#22b078;
    --navy:#2c4a59;
    --navy-2:#243d49;
    --ink:#1f3742;
    --muted:#5d7480;
    --bg:#ffffff;
    --bg-soft:#f1f7f8;
    --bg-mint:#eaf6f4;
    --border:#e3edee;
    --shadow-sm:0 2px 10px rgba(31,55,66,.06);
    --shadow-md:0 14px 40px rgba(31,55,66,.10);
    --shadow-lg:0 30px 70px rgba(31,55,66,.16);
    --radius:18px;
    --radius-lg:26px;
    --maxw:1180px;
    --display:"Comfortaa","Trebuchet MS",sans-serif;
    --body:"Lato",-apple-system,sans-serif;
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;overflow-x:hidden}
  body{
    font-family:var(--body);
    color:var(--ink);
    background:var(--bg);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    max-width:100%;
  }
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.12;color:var(--navy);letter-spacing:-.01em}
  .eyebrow{font-family:var(--body);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);display:inline-block}

  /* buttons */
  .btn{
    display:inline-flex;align-items:center;gap:8px;justify-content:center;
    font-family:var(--body);font-weight:600;font-size:.95rem;
    padding:14px 26px;border-radius:999px;cursor:pointer;border:0;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
    white-space:nowrap;
  }
  .btn svg{width:18px;height:18px}
  .btn-primary{background:var(--navy);color:#fff;box-shadow:0 10px 22px rgba(44,74,89,.22)}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(44,74,89,.30)}
  .btn-accent{background:var(--green);color:#063b2a;box-shadow:0 10px 22px rgba(47,199,140,.30)}
  .btn-accent:hover{background:var(--green-dark);transform:translateY(-2px);box-shadow:0 16px 30px rgba(47,199,140,.40)}
  .btn-ghost{background:transparent;color:var(--navy);border:1.5px solid var(--teal-line)}
  .btn-ghost:hover{background:var(--teal-soft);border-color:var(--teal)}
  .btn-light{background:#fff;color:var(--navy);box-shadow:var(--shadow-sm)}
  .btn-light:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}

  /* top utility bar */
  .topbar{
    background:linear-gradient(90deg,var(--teal-2),var(--teal));
    color:#063b2a;
    font-family:var(--body);
    font-size:.82rem;
    font-weight:500;
    line-height:1.35;
  }
  .topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;height:auto;padding-top:8px;padding-bottom:8px}
  .topbar .left{flex:1 1 auto;min-width:0;display:flex;align-items:center}
  .topbar-left-message{font-size:inherit;font-weight:inherit;line-height:1.35}
  .topbar-left-message,
  .topbar-left-message p,
  .topbar-left-message span,
  .topbar-left-message a{font-size:inherit !important;line-height:1.35}
  .topbar-left-message p{margin:0;display:flex;align-items:flex-start;gap:8px}
  .topbar-left-message p i.fa,
  .topbar-left-message > i.fa{flex:0 0 auto;font-size:15px;line-height:1.35;margin-top:1px}
  .topbar .right{flex:0 0 auto;display:flex;align-items:center;gap:22px}
  .topbar .topbar-link,
  .topbar .topbar-item{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none;font-size:inherit;font-weight:inherit;line-height:1.35}
  .topbar .topbar-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
  .topbar .topbar-icon i.fa{font-size:15px;width:15px;text-align:center}
  .topbar .topbar-label{white-space:nowrap}
  .topbar svg{width:15px;height:15px;flex:0 0 auto}
  .topbar .topbar-link:hover{opacity:.75}

  /* header */
  header.site{position:sticky;top:0;z-index:500;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
  .nav{display:flex;align-items:center;gap:26px;height:78px}
  .logo{font-family:var(--display);font-weight:600;font-size:1.7rem;letter-spacing:-.02em;display:flex;align-items:center}
  .logo .rx{color:var(--teal)}
  .logo .plus{color:var(--green);margin:0 1px}
  .logo .dir{color:var(--navy)}

  nav.main{margin-left:auto}

  /* search dropdown panel */
  .search-panel{
    position:relative;
    left:auto;right:auto;top:auto;
    background:#fff;border-top:1px solid transparent;
    box-shadow:none;
    overflow:hidden;max-height:0;opacity:0;
    transition:max-height .28s ease,opacity .2s ease,border-color .2s ease;
    z-index:70;
  }
  header.site.search-open .search-panel{
    max-height:360px;opacity:1;overflow:visible;
    border-top-color:var(--border);
    padding-bottom:12px;
  }
  .search-panel-inner{padding-top:10px;padding-bottom:2px}
  .search-row{
    display:flex;align-items:center;gap:10px;
    width:50%;
    min-width:min(100%,320px);
    max-width:720px;
    margin:0 auto;
  }
  .search-row-icon{
    flex:0 0 20px;width:20px;height:40px;
    display:grid;place-items:center;color:var(--teal);
  }
  .search-row-icon svg{width:20px;height:20px}
  .rxd-search-shell{flex:1;min-width:0;max-width:100%;position:relative}
  .search-close{
    flex:0 0 40px;width:40px;height:40px;
    border-radius:4px;border:1.5px solid #d5dde0;
    background:#fff;color:var(--muted);
    display:grid;place-items:center;cursor:pointer;
    position:relative;
    transition:background .15s ease,color .15s ease,border-color .15s ease;
  }
  .search-close::before,
  .search-close::after,
  .popup-search-close::before,
  .popup-search-close::after{
    content:none !important;
    display:none !important;
  }
  .search-close:hover{
    background:var(--teal-soft);color:var(--navy);border-color:var(--teal);
  }
  .search-close svg{
    position:relative;
    z-index:1;
    width:18px;
    height:18px;
    stroke-width:2.25;
    display:block;
  }

  /* Fallback WP search field */
  .rxd-search-form{width:100%}
  .rxd-search-field{
    display:flex;align-items:stretch;position:relative;
    background:#fff;border:1.5px solid #d5dde0;border-radius:4px;
    min-height:40px;overflow:hidden;
  }
  .rxd-search-field input[type="search"]{
    flex:1;width:100%;min-width:0;border:0;background:transparent;
    font-family:var(--body);font-size:.95rem;color:var(--ink);
    padding:10px 72px 10px 14px;height:40px;
  }
  .rxd-search-field input[type="search"]::placeholder{color:#9bb0b8}
  .rxd-search-field input[type="search"]:focus{outline:none}
  .rxd-search-clear{
    position:absolute;top:50%;right:44px;transform:translateY(-50%);
    width:28px;height:28px;border:0;border-radius:999px;
    background:transparent;color:#9bb0b8;cursor:pointer;
    display:grid;place-items:center;padding:0;
  }
  .rxd-search-clear:hover{color:var(--navy);background:var(--bg-soft)}
  .rxd-search-clear svg{width:14px;height:14px}
  .rxd-search-submit{
    flex:0 0 44px;width:44px;border:0;background:var(--navy-2);color:#fff;
    display:grid;place-items:center;cursor:pointer;
    transition:background .15s ease;
  }
  .rxd-search-submit:hover{background:var(--navy)}
  .rxd-search-submit svg{width:16px;height:16px}

  /* FiboSearch — match mockup bar + live results */
  .rxd-fibosearch{width:100%}
  .rxd-fibosearch .dgwt-wcas-search-wrapp{
    width:100% !important;max-width:100% !important;
  }
  .rxd-fibosearch .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp,
  .rxd-fibosearch .dgwt-wcas-sf-wrapp{
    display:flex !important;align-items:stretch;position:relative;
    background:#fff !important;border:1.5px solid #d5dde0 !important;
    border-radius:4px !important;min-height:40px;overflow:visible !important;
    box-shadow:none !important;padding:0 !important;
  }
  .rxd-fibosearch .dgwt-wcas-preloader{position:absolute;right:52px;top:50%;transform:translateY(-50%)}
  .rxd-fibosearch input[type="search"].dgwt-wcas-search-input{
    flex:1 1 auto;width:100% !important;max-width:none !important;
    border:0 !important;background:transparent !important;
    font-family:var(--body) !important;font-size:.95rem !important;color:var(--ink) !important;
    padding:10px 72px 10px 14px !important;height:40px !important;min-height:40px !important;
    border-radius:0 !important;box-shadow:none !important;
  }
  .rxd-fibosearch input[type="search"].dgwt-wcas-search-input::placeholder{color:#9bb0b8}
  .rxd-fibosearch input[type="search"].dgwt-wcas-search-input:focus{outline:none}
  .rxd-fibosearch .dgwt-wcas-ico-magnifier,
  .rxd-fibosearch .dgwt-wcas-ico-magnifier-handler{display:none !important}
  .rxd-fibosearch .dgwt-wcas-inner-actions{
    position:absolute;top:50%;right:44px;transform:translateY(-50%);
    display:flex;align-items:center;gap:4px;
  }
  .rxd-fibosearch .dgwt-wcas-voice-search{display:none !important}
  .rxd-fibosearch .dgwt-wcas-close{
    width:28px;height:28px;border:0;border-radius:999px;background:transparent;
    color:#9bb0b8;display:grid;place-items:center;cursor:pointer;padding:0;
  }
  .rxd-fibosearch .dgwt-wcas-close:hover{color:var(--navy);background:var(--bg-soft)}
  .rxd-fibosearch button.dgwt-wcas-search-submit{
    position:static !important;flex:0 0 44px;width:44px !important;height:40px !important;
    min-height:40px !important;margin:0 !important;padding:0 !important;
    border:0 !important;border-radius:0 !important;background:var(--navy-2) !important;
    display:grid !important;place-items:center;cursor:pointer;
    transition:background .15s ease;
  }
  .rxd-fibosearch button.dgwt-wcas-search-submit:hover{background:var(--navy) !important}
  .rxd-fibosearch button.dgwt-wcas-search-submit:before,
  .rxd-fibosearch button.dgwt-wcas-search-submit:after{content:none !important;display:none !important}
  .rxd-fibosearch button.dgwt-wcas-search-submit svg{
    display:block !important;width:16px !important;height:16px !important;
    opacity:1 !important;visibility:visible !important;
  }
  .rxd-fibosearch button.dgwt-wcas-search-submit svg path{stroke:#fff;fill:none}

  /* Live suggestions dropdown */
  .search-panel .dgwt-wcas-suggestions-wrapp,
  .rxd-fibosearch .dgwt-wcas-suggestions-wrapp{
    position:absolute;left:0;right:0;top:calc(100% + 8px);
    z-index:120;background:#f3f6f7;border:1px solid #dde5e8;
    border-radius:4px;box-shadow:var(--shadow-md);
    max-height:min(320px,50vh);overflow:auto;
  }
  .search-panel .dgwt-wcas-suggestion,
  .rxd-fibosearch .dgwt-wcas-suggestion{
    display:flex;align-items:center;gap:12px;
    padding:10px 14px;background:#fff;border-bottom:1px solid #e8eef0;
    min-height:68px;cursor:pointer;transition:background .12s ease;
  }
  .search-panel .dgwt-wcas-suggestion:hover,
  .rxd-fibosearch .dgwt-wcas-suggestion:hover{background:var(--teal-soft)}
  .search-panel .dgwt-wcas-suggestion:last-child,
  .rxd-fibosearch .dgwt-wcas-suggestion:last-child{border-bottom:0}
  .search-panel .dgwt-wcas-si,
  .rxd-fibosearch .dgwt-wcas-si{
    flex:0 0 48px !important;width:48px !important;height:48px !important;
    border-radius:6px;overflow:hidden;background:#fff;border:1px solid var(--border);
  }
  .search-panel .dgwt-wcas-si img,
  .rxd-fibosearch .dgwt-wcas-si img{width:100%;height:100%;object-fit:contain}
  .search-panel .dgwt-wcas-suggestion-product .dgwt-wcas-sp,
  .rxd-fibosearch .dgwt-wcas-suggestion-product .dgwt-wcas-sp{
    font-family:var(--body);font-size:.98rem;font-weight:600;color:var(--ink);line-height:1.35;
  }
  .search-panel .dgwt-wcas-sku,
  .rxd-fibosearch .dgwt-wcas-sku{display:none !important}
  .search-panel .dgwt-wcas-sp .amount,
  .search-panel .dgwt-wcas-sp .woocommerce-Price-amount,
  .rxd-fibosearch .dgwt-wcas-sp .amount,
  .rxd-fibosearch .dgwt-wcas-sp .woocommerce-Price-amount{display:none !important}
  .search-panel .dgwt-wcas-suggestion-headline,
  .rxd-fibosearch .dgwt-wcas-suggestion-headline{
    padding:10px 14px 6px;font-size:.72rem;font-weight:700;
    letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
    background:#f3f6f7;border-bottom:1px solid #e8eef0;
  }
  .search-panel .dgwt-wcas-suggestion-more,
  .search-panel .dgwt-wcas-suggestion-nores,
  .rxd-fibosearch .dgwt-wcas-suggestion-more,
  .rxd-fibosearch .dgwt-wcas-suggestion-nores{
    padding:12px 14px;font-size:.92rem;color:var(--muted);background:#fff;
  }
  .search-panel .dgwt-wcas-suggestion-more a,
  .rxd-fibosearch .dgwt-wcas-suggestion-more a{color:var(--teal);font-weight:600}
  header.site.search-open{z-index:600}

  nav.main{display:flex;align-items:center;gap:4px}
  nav.main > ul{list-style:none;display:flex;align-items:center;gap:2px}
  nav.main > ul > li > a,
  nav.main > ul > li > button{
    font-family:var(--body);font-weight:600;font-size:.95rem;color:var(--navy);
    padding:10px 14px;border-radius:10px;background:none;border:0;cursor:pointer;
    display:inline-flex;align-items:center;gap:6px;transition:background .15s ease,color .15s ease;
  }
  nav.main > ul > li > a:hover,
  nav.main > ul > li > button:hover{background:var(--teal-soft);color:var(--teal)}
  nav.main > ul > li.current-menu-item > a,
  nav.main > ul > li.current_page_item > a,
  nav.main > ul > li.current-menu-ancestor > a,
  nav.main > ul > li.current_page_parent > a,
  nav.main > ul > li.current_page_ancestor > a,
  nav.main > ul > li.current-menu-item > .title-only,
  nav.main > ul > li.current_page_item > .title-only,
  nav.main > ul > li.current-menu-ancestor > .title-only,
  nav.main > ul > li.current_page_parent > .title-only,
  nav.main > ul > li.current_page_ancestor > .title-only{
    background:var(--teal-soft);
    color:var(--teal);
    font-weight:700;
  }
  nav.main > ul > li.current-menu-item > a:hover,
  nav.main > ul > li.current_page_item > a:hover,
  nav.main > ul > li.current-menu-ancestor > a:hover,
  nav.main > ul > li.current_page_parent > a:hover,
  nav.main > ul > li.current_page_ancestor > a:hover,
  nav.main > ul > li.current-menu-item > .title-only:hover,
  nav.main > ul > li.current_page_item > .title-only:hover,
  nav.main > ul > li.current-menu-ancestor > .title-only:hover,
  nav.main > ul > li.current_page_parent > .title-only:hover,
  nav.main > ul > li.current_page_ancestor > .title-only:hover{
    background:var(--teal-soft);
    color:var(--teal);
  }
  nav.main .chev{width:14px;height:14px;transition:transform .25s ease}

  .header-actions{display:flex;align-items:center;gap:14px;position:relative;z-index:2}
  .icon-btn{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;color:var(--navy);position:relative;transition:background .15s ease}
  .icon-btn:hover{background:var(--teal-soft);color:var(--teal)}
  .icon-btn svg{width:21px;height:21px}
  .basket-count{position:absolute;top:-2px;right:-2px;background:var(--green);color:#063b2a;font-size:.62rem;font-weight:700;width:18px;height:18px;border-radius:999px;display:grid;place-items:center}

  /* mega menu */
  .has-mega{position:static}
  .mega{
    position:absolute;left:0;right:0;top:100%;
    background:#fff;border-top:1px solid var(--border);
    box-shadow:var(--shadow-lg);
    opacity:0;visibility:hidden;transform:translateY(8px);
    transition:opacity .22s ease, transform .22s ease, visibility .22s;
    z-index:80;
  }
  .has-mega:hover .mega,
  .has-mega.open .mega{opacity:1;visibility:visible;transform:translateY(0)}
  .has-mega:hover .chev,
  .has-mega.open .chev{transform:rotate(180deg)}
  .mega-inner{max-width:var(--maxw);margin:0 auto;padding:34px 24px 38px;display:grid;grid-template-columns:1fr 300px;gap:40px}
  .mega-head{display:flex;align-items:baseline;justify-content:space-between;grid-column:1/-1;margin-bottom:4px}
  .mega-head h4{font-size:1.15rem}
  .mega-head a{font-size:.86rem;font-weight:600;color:var(--teal);display:inline-flex;align-items:center;gap:6px}
  .mega-head a svg{width:15px;height:15px}
  .mega-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 26px}
  .mega-group h5{font-family:var(--body);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:6px 0 8px;padding-bottom:8px;border-bottom:1px solid var(--border)}
  .mega-link{display:flex;gap:12px;align-items:flex-start;padding:9px 10px;border-radius:12px;transition:background .15s ease}
  .mega-link:hover{background:var(--bg-soft)}
  .mega-link .mi{flex:0 0 36px;height:36px;border-radius:10px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center}
  .mega-link .mi svg{width:19px;height:19px}
  .mega-link .mt{display:block;font-weight:600;font-size:.9rem;color:var(--navy);line-height:1.2}
  .mega-link .md{display:block;font-size:.76rem;color:var(--muted);line-height:1.35;margin-top:3px}
  .mega-promo{background:linear-gradient(160deg,var(--navy),var(--navy-2));border-radius:var(--radius);padding:26px;color:#dcecef;display:flex;flex-direction:column;justify-content:center}
  .mega-promo .eyebrow{color:var(--teal-2)}
  .mega-promo h4{color:#fff;font-size:1.3rem;margin:8px 0 8px}
  .mega-promo p{font-size:.86rem;color:#b9d2d8;margin-bottom:18px}

  /* hero */
  .hero{position:relative;background:
    radial-gradient(900px 460px at 88% -8%, var(--teal-soft), transparent 60%),
    linear-gradient(180deg,#f4fafa 0%, #ffffff 78%);
    overflow:hidden}
  .hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding-top:70px;padding-bottom:80px}
  .hero h1{font-size:clamp(2.4rem,4.6vw,3.65rem);font-weight:600;margin:18px 0 18px}
  .hero h1 em{font-style:normal;color:var(--teal);position:relative}
  .hero p.lead{font-size:1.12rem;color:var(--muted);max-width:520px;margin-bottom:30px}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}
  .hero-trust{display:flex;gap:22px;flex-wrap:wrap}
  .hero-trust span{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--navy)}
  .hero-trust svg{width:18px;height:18px;color:var(--green)}
  .fade-up{opacity:0;transform:translateY(18px);animation:fadeUp .7s cubic-bezier(.2,.7,.3,1) forwards}
  .d1{animation-delay:.05s}.d2{animation-delay:.14s}.d3{animation-delay:.23s}.d4{animation-delay:.32s}.d5{animation-delay:.41s}
  @keyframes fadeUp{to{opacity:1;transform:none}}

  /* hero visual */
  .hero-visual{position:relative;min-height:420px;max-width:100%}
  .hv-panel{position:absolute;inset:0;border-radius:32px;background:linear-gradient(155deg,var(--teal-2),var(--teal));overflow:hidden;box-shadow:var(--shadow-lg)}
  .hv-panel::after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.14);top:-90px;right:-70px}
  .hv-panel::before{content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.10);bottom:-80px;left:-50px}
  .hv-art{position:absolute;inset:0;display:grid;place-items:center}
  .hv-card{position:absolute;background:#fff;border-radius:16px;box-shadow:var(--shadow-md);padding:14px 16px;display:flex;align-items:center;gap:12px}
  .hv-card .ci{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex:0 0 40px}
  .hv-card .ci.green{background:#e3f8ee;color:var(--green-dark)}
  .hv-card .ci.navy{background:var(--teal-soft);color:var(--teal)}
  .hv-card svg{width:20px;height:20px;display:block}
  .hv-card .ci i{font-size:18px;line-height:1;display:block;width:1em;text-align:center}
  .hv-card .cl{font-size:.7rem;color:var(--muted);font-weight:600;letter-spacing:.02em}
  .hv-card .cv{font-size:.92rem;color:var(--navy);font-weight:700;line-height:1.15}
  .hv-card.one{top:34px;left:-18px;animation:float 6s ease-in-out infinite}
  .hv-card.two{bottom:40px;right:-14px;animation:float 6s ease-in-out infinite .8s}
  .hv-card.three{bottom:-14px;left:60px;animation:float 7s ease-in-out infinite .4s}
  @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

  /* trust strip */
  .trust-strip{margin-top:-30px;position:relative;z-index:2}
  .trust-strip .wrap{position:relative;z-index:2}
  .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:linear-gradient(90deg,var(--teal),var(--teal-2));border-radius:var(--radius-lg);padding:26px 8px;box-shadow:var(--shadow-md)}
  .trust-item{display:flex;gap:14px;align-items:center;padding:6px 20px;color:#fff}
  .trust-item + .trust-item{border-left:1px solid rgba(255,255,255,.22)}
  .trust-item .ti{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.18);display:grid;place-items:center;flex:0 0 42px}
  .trust-item svg{width:22px;height:22px;color:#fff}
  .trust-item .ti i{font-size:1.15rem;color:#fff;line-height:1}
  .trust-item .tt{font-weight:700;font-size:.95rem;line-height:1.2}
  .trust-item .ts{font-size:.78rem;color:rgba(255,255,255,.85)}

  /* section base */
  section.block{padding:90px 0}
  .sec-head{text-align:center;max-width:640px;margin:0 auto 52px}
  .sec-head h2{font-size:clamp(2rem,3.4vw,2.7rem);margin:10px 0 14px}
  .sec-head p{color:var(--muted);font-size:1.05rem}

  /* how it works */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .step{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:34px 28px;text-align:center;transition:transform .2s ease, box-shadow .2s ease}
  .step:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--teal-line)}
  .step .num{position:absolute;top:22px;right:26px;font-family:var(--display);font-size:2.4rem;font-weight:600;color:var(--teal-soft)}
  .step .si{width:64px;height:64px;border-radius:18px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;margin:0 auto 20px}
  .step .si svg{width:30px;height:30px}
  .step .si i{font-size:1.65rem;line-height:1;color:var(--teal)}
  .step h3{font-size:1.25rem;margin-bottom:10px}
  .step p{color:var(--muted);font-size:.95rem}
  .steps-cta{text-align:center;margin-top:42px}

  /* conditions */
  .conditions{background:var(--bg-soft)}
  .cond-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .cond-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;transition:transform .2s ease, box-shadow .2s ease, border-color .2s;display:flex;flex-direction:column}
  .cond-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--teal-line)}
  .cond-card .ci{width:54px;height:54px;border-radius:15px;background:linear-gradient(150deg,var(--teal-2),var(--teal));color:#fff;display:grid;place-items:center;margin-bottom:18px}
  .cond-card .ci svg{width:26px;height:26px}
  .cond-card h3{font-size:1.2rem;margin-bottom:8px}
  .cond-card p{color:var(--muted);font-size:.92rem;margin-bottom:16px;flex:1}
  .cond-card .more{font-weight:600;font-size:.88rem;color:var(--teal);display:inline-flex;align-items:center;gap:7px}
  .cond-card .more svg{width:15px;height:15px;transition:transform .2s ease}
  .cond-card:hover .more svg{transform:translateX(4px)}
  .cond-cta{text-align:center;margin-top:44px}

  /* about */
  .about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .about-visual{position:relative;padding-bottom:28px}
  .about-img{border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(160deg,var(--teal-soft),#dff2ef);aspect-ratio:5/4;display:grid;place-items:center;box-shadow:var(--shadow-md);min-height:280px}
  .about-img--illustration svg{width:64%;height:auto;max-width:64%;display:block}
  .about-img--photo img{width:50%;height:50%;object-fit:fill;display:block}
  .about-badge{position:absolute;bottom:-22px;right:-14px;background:#fff;border-radius:18px;box-shadow:var(--shadow-md);padding:18px 22px;display:flex;align-items:center;gap:14px;z-index:2;max-width:calc(100% - 24px)}
  .about-badge .ab{width:46px;height:46px;border-radius:13px;background:#e3f8ee;color:var(--green-dark);display:grid;place-items:center;flex:0 0 46px}
  .about-badge .ab svg{width:24px;height:24px;display:block}
  .about-badge .at{font-size:.72rem;color:var(--muted);font-weight:600;line-height:1.3}
  .about-badge .av{font-family:var(--display);font-size:1.05rem;color:var(--navy);font-weight:600;line-height:1.1}
  .about-copy{min-width:0}
  .about h2{font-size:clamp(2rem,3.2vw,2.6rem);margin:12px 0 18px}
  .about p{color:var(--muted);margin-bottom:16px}
  .about .ulist{list-style:none;margin:6px 0 26px;padding:0;display:grid;gap:12px}
  .about .ulist li{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:var(--ink)}
  .about .ulist svg{width:20px;height:20px;color:var(--green);flex:0 0 20px;margin-top:2px}
  .about-actions{display:flex;gap:14px;flex-wrap:wrap}

  section#about .about-img{border:0}
  section#about .about-badge{border:0}

  /* reviews */
  .reviews{background:var(--bg-mint)}
  .rev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .rev-card{background:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px}
  .rev-top{display:flex;align-items:center;gap:12px}
  .rev-av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-family:var(--display)}
  .rev-name{font-weight:700;font-size:.92rem;color:var(--navy)}
  .rev-when{font-size:.74rem;color:var(--muted)}
  .stars{display:flex;gap:2px;color:#f5b418}
  .stars svg{width:16px;height:16px}
  .rev-text{font-size:.9rem;color:var(--muted);line-height:1.5}
  .rev-foot{margin-top:auto;display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--muted);font-weight:600}
  .rev-foot svg{width:16px;height:16px}

  /* faq */
  .faq-wrap{max-width:780px;margin:0 auto}
  .faq-item{border:1px solid var(--border);border-radius:14px;margin-bottom:14px;overflow:hidden;background:#fff;transition:box-shadow .2s ease,border-color .2s}
  .faq-item.open{box-shadow:var(--shadow-sm);border-color:var(--teal-line)}
  .faq-q{width:100%;text-align:left;background:none;border:0;padding:20px 24px;font-family:var(--body);font-weight:600;font-size:1rem;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}
  .faq-q .fi{flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;transition:transform .25s ease,background .2s,color .2s}
  .faq-q-text{flex:1;min-width:0;text-align:left}
  .faq-q .fi svg{width:15px;height:15px;display:block}
  .faq-item.open .faq-q .fi{transform:rotate(45deg);background:var(--teal);color:#fff}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;border:0}
  .faq-a-inner{padding:0 24px 22px;color:var(--muted);font-size:.95rem;line-height:1.6}
  .faq-a-inner > :first-child{margin-top:0}
  .faq-a-inner > :last-child{margin-bottom:0}
  .faq-a-inner p{margin:0 0 12px;padding:0;color:inherit;font-size:inherit;line-height:inherit}
  .faq-a-inner p:last-child{margin-bottom:0}
  .faq-a-inner hr,
  .faq-a-inner .wp-block-separator{display:none !important}

  section#faq .faq-q,
  section#faq .faq-q:hover,
  section#faq .faq-q:focus,
  section#faq .faq-q:active{
    border:0 !important;
    border-bottom:0 !important;
    box-shadow:none !important;
    outline:none;
    background:none;
  }
  section#faq .faq-item.open .faq-q{border-bottom:0 !important}
  section#faq .faq-a,
  section#faq .faq-a-inner{border:0 !important;border-top:0 !important}

  /* cta band */
  .cta-band{padding:0 0 90px}
  .cta-inner{background:linear-gradient(150deg,var(--navy),var(--navy-2));border-radius:var(--radius-lg);padding:60px 50px;text-align:center;color:#fff;position:relative;overflow:hidden}
  .cta-inner::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:rgba(84,191,180,.22);top:-140px;left:-80px}
  .cta-inner::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(47,199,140,.16);bottom:-150px;right:-60px}
  .cta-inner > *{position:relative;z-index:2}
  .cta-inner h2{color:#fff;font-size:clamp(2rem,3.4vw,2.7rem);margin-bottom:14px}
  .cta-inner p{color:#bcd5db;max-width:520px;margin:0 auto 28px;font-size:1.05rem}
  .cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

  /* newsletter */
  .news{background:var(--navy);padding:64px 0;text-align:center;color:#fff}
  .news h2{color:#fff;font-size:2rem;margin-bottom:8px}
  .news p{color:#bcd5db;margin-bottom:26px}
  .news-form{display:flex;gap:12px;max-width:620px;margin:0 auto;flex-wrap:nowrap;justify-content:center;align-items:stretch}
  .news-form input{flex:1;min-width:200px;border:0;border-radius:999px;padding:15px 22px;font-family:var(--body);font-size:.92rem}
  .news-form input:focus{outline:none;box-shadow:0 0 0 4px rgba(84,191,180,.4)}

  /* footer */
  footer.site{background:var(--navy-2);color:#aebfc6;padding:64px 0 30px;font-size:.9rem}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1.3fr 1.3fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
  .foot-grid .logo{font-size:1.5rem;margin-bottom:14px}
  .foot-grid .logo .dir{color:#fff}
  .foot-about{max-width:280px;line-height:1.6;margin-bottom:18px}
  .foot-social{display:flex;gap:10px;margin-bottom:18px}
  .foot-social a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#cdd9dd;transition:background .18s ease}
  .foot-social a:hover{background:var(--teal)}
  .foot-social svg{width:18px;height:18px}
  footer h4{color:#fff;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;font-family:var(--body);font-weight:700}
  footer ul{list-style:none;display:grid;gap:11px}
  footer ul a:hover{color:var(--teal-2)}
  .foot-legal strong{color:#dfe9ec;font-weight:600}
  .foot-legal p{margin-bottom:12px;line-height:1.55}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;flex-wrap:wrap;font-size:.82rem}
  .gphc-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px 14px}
  .gphc-badge .gd{width:30px;height:30px;border-radius:7px;background:var(--teal);color:#063b2a;display:grid;place-items:center;font-weight:800;font-size:.7rem;overflow:hidden;flex:0 0 30px}
  .gphc-badge .gd .gphc-badge-img{width:100%;height:100%;object-fit:cover;display:block}
  .gphc-badge span{font-size:.74rem;line-height:1.2}
  .foot-copyright p{margin:0}
  .foot-social a i.fa{font-size:18px;line-height:1}
  footer.site .rxd-foot-cta{
    background:var(--teal-soft) !important;
    color:var(--navy) !important;
    border:1.5px solid transparent !important;
    box-shadow:none;
    transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
  }
  footer.site .rxd-foot-cta:hover{
    background:var(--teal) !important;
    border-color:var(--teal) !important;
    color:#fff !important;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(84,191,180,.35);
  }

  /* mobile nav */
  .hamburger{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;color:var(--navy);position:relative;z-index:2;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .hamburger svg{width:26px;height:26px;pointer-events:none}
  .mobile-only{display:none}

  /* mobile drawer (hidden by default at all sizes, only opened via hamburger) */
  .mobile-drawer{position:fixed;inset:0;background:rgba(31,55,66,.5);z-index:1200;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s}
  .mobile-drawer.open{opacity:1;visibility:visible;pointer-events:auto}
  .drawer{position:absolute;top:0;right:0;height:100%;width:min(360px,86vw);background:#fff;padding:24px;overflow-y:auto;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;gap:6px}
  .mobile-drawer.open .drawer{transform:none}
  .drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
  .drawer a.d-link,.drawer button.d-link{font-weight:600;color:var(--navy);padding:14px 12px;border-radius:10px;background:none;border:0;text-align:left;font-family:var(--body);font-size:1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;width:100%}
  .drawer a.d-link:hover,.drawer button.d-link:hover{background:var(--teal-soft)}
  .drawer .sub{display:none;padding-left:10px}
  .drawer .sub.open{display:block}
  .drawer .sub a{display:block;padding:10px 12px;font-size:.9rem;color:var(--muted);border-radius:8px}
  .drawer .sub a:hover{background:var(--bg-soft);color:var(--teal)}
  .drawer .d-cta{margin-top:16px}

/* --- WordPress / parent theme integration --- */
body.rx-direct-refreshed .page-wrapper > .site-header,
body.rx-direct-refreshed #header.site-header {
  display: none !important;
}

body.rx-direct-refreshed .site-footer:not(footer.site) {
  display: none !important;
}

body.rx-direct-refreshed .logo .logo-img {
  max-height: 42px;
  width: auto;
}

body.rx-direct-refreshed .topbar {
  background: linear-gradient(90deg, var(--teal-2), var(--teal)) !important;
  font-size: 13px !important;
  font-weight: 500;
}

body.rx-direct-refreshed .topbar .wrap {
  min-height: 40px;
  padding-top: 8px;
  padding-bottom: 8px;
}

body.rx-direct-refreshed header.site .nav {
  flex-wrap: nowrap;
}

body.rx-direct-refreshed .search-close::before,
body.rx-direct-refreshed .search-close::after,
body.rx-direct-refreshed .popup-search-close::before,
body.rx-direct-refreshed .popup-search-close::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

body.rx-direct-refreshed .topbar-left-message,
body.rx-direct-refreshed .topbar-left-message p,
body.rx-direct-refreshed .topbar-left-message a,
body.rx-direct-refreshed .topbar .topbar-link,
body.rx-direct-refreshed .topbar .topbar-label {
  font-size: inherit;
  line-height: 1.35;
}

/* Hero swiper */
.rxd-hero-slider-wrap {
  position: relative;
}

.rxd-hero-swiper .swiper-slide {
  height: auto;
}

.rxd-hero-swiper .swiper-pagination {
  bottom: 24px;
}

.rxd-hero-swiper .swiper-button-prev,
.rxd-hero-swiper .swiper-button-next {
  color: var(--navy);
}

.rxd-hero-swiper.single-slide .swiper-pagination,
.rxd-hero-swiper.single-slide .swiper-button-prev,
.rxd-hero-swiper.single-slide .swiper-button-next {
  display: none;
}

.hv-art img {
  max-width: 62%;
  max-height: 62%;
  object-fit: contain;
}

.about-img img {
  width: 50%;
  height: 50%;
  object-fit: fill;
  display: block;
}

/* Parent mega menu inside refreshed header */
body.rxd-drawer-open {
  overflow: hidden;
}

header.site nav.main > ul > li.panel-sub-menu,
header.site nav.main > ul > li.menu-item-has-children {
  position: static;
}

header.site nav.main .panel-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: #fff;
  border-top: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
  list-style: none;
  padding: 0;
  margin: 0;
  z-index: 510;
  opacity: 0;
  visibility: hidden;
  transform: none;
  transition: opacity .2s ease, visibility .2s ease;
  pointer-events: none;
}

/* Invisible bridge so cursor can travel from nav link into the mega panel */
header.site nav.main .panel-sub-menu > .panel-menu::before {
  content: "";
  position: absolute;
  top: -18px;
  left: 0;
  right: 0;
  height: 18px;
}

header.site nav.main .panel-sub-menu:hover > .panel-menu,
header.site nav.main .panel-sub-menu > .panel-menu:hover,
header.site nav.main .panel-sub-menu:focus-within > .panel-menu,
header.site nav.main .panel-sub-menu.open > .panel-menu,
header.site nav.main .panel-sub-menu > .panel-menu.open {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
}

body.rx-direct-refreshed header.site nav.main .panel-menu {
  transform: none !important;
  z-index: 510 !important;
}

header.site nav.main .panel-menu > li.container {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 28px 24px 32px;
  width: 100%;
}

header.site nav.main .panel-menu .row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 20px;
  margin: 0;
  width: 100%;
}

header.site nav.main .panel-menu .row > li {
  list-style: none;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: none;
  flex: none;
}

header.site nav.main .panel-menu .row > li > a {
  display: block;
  padding: 10px 12px;
  border-radius: 12px;
  transition: background .15s ease;
}

header.site nav.main .panel-menu .row > li > a:hover {
  background: var(--bg-soft);
}

header.site nav.main .panel-menu .menu_item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

header.site nav.main .panel-menu .menu_icon {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--teal-soft);
  color: var(--teal);
  display: grid;
  place-items: center;
  overflow: hidden;
}

header.site nav.main .panel-menu .menu_icon img,
header.site nav.main .panel-menu .menu_icon svg {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

header.site nav.main .panel-menu .menu_item h4 {
  font-size: .9rem;
  color: var(--navy);
  margin: 0 0 4px;
  font-family: var(--body);
  font-weight: 600;
}

header.site nav.main .panel-menu .menu_item p {
  font-size: .76rem;
  color: var(--muted);
  margin: 0;
}

header.site nav.main > ul > li.menu-item-has-children > a,
header.site nav.main > ul > li.menu-item-has-children > .title-only {
  position: relative;
  padding-right: 28px;
}

header.site nav.main > ul > li.menu-item-has-children:has(.panel-menu) > a::after,
header.site nav.main > ul > li.menu-item-has-children:has(.panel-menu) > .title-only::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-65%) rotate(45deg);
  transition: transform .2s ease;
}

header.site nav.main > ul > li.menu-item-has-children.open > a::after,
header.site nav.main > ul > li.menu-item-has-children.open > .title-only::after,
header.site nav.main > ul > li.menu-item-has-children:hover > a::after,
header.site nav.main > ul > li.menu-item-has-children:hover > .title-only::after {
  transform: translateY(-35%) rotate(-135deg);
}

/* Mobile drawer navigation */
.drawer-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

.drawer-menu > li {
  list-style: none;
  margin: 0;
}

.drawer-menu > li > a,
.drawer-menu > li > .title-only {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 600;
  color: var(--navy);
  padding: 14px 12px;
  border-radius: 10px;
  width: 100%;
}

.drawer-menu > li > a:hover,
.drawer-menu > li > .title-only:hover {
  background: var(--teal-soft);
}

.drawer-menu > li.current-menu-item > a,
.drawer-menu > li.current_page_item > a,
.drawer-menu > li.current-menu-ancestor > a,
.drawer-menu > li.current_page_parent > a,
.drawer-menu > li.current_page_ancestor > a,
.drawer-menu > li.current-menu-item > .title-only,
.drawer-menu > li.current_page_item > .title-only,
.drawer-menu > li.current-menu-ancestor > .title-only,
.drawer-menu > li.current_page_parent > .title-only,
.drawer-menu > li.current_page_ancestor > .title-only {
  background: var(--teal-soft);
  color: var(--teal);
  font-weight: 700;
}

.drawer-menu > li.menu-item-has-children > a::after,
.drawer-menu > li.menu-item-has-children > .title-only::after {
  content: "";
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .2s ease;
}

.drawer-menu > li.menu-item-has-children.open > a::after,
.drawer-menu > li.menu-item-has-children.open > .title-only::after {
  transform: rotate(-135deg);
}

.mobile-drawer .panel-menu,
.mobile-drawer .sub-menu {
  position: static;
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
  box-shadow: none;
  border: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
  padding: 0;
  margin: 0;
  background: transparent;
}

.mobile-drawer .panel-menu.open,
.mobile-drawer .sub-menu.open {
  max-height: 3000px;
}

.mobile-drawer .panel-menu > li.container {
  padding: 0 0 8px 10px;
  margin: 0;
  max-width: none;
}

.mobile-drawer .panel-menu .row {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
}

.mobile-drawer .panel-menu .row > li {
  width: 100%;
  max-width: none;
  padding: 0;
}

.mobile-drawer .panel-menu .row > li > a {
  padding: 10px 12px;
  border-radius: 8px;
}

.mobile-drawer .panel-menu .menu_item {
  gap: 10px;
}

.mobile-drawer .panel-menu .menu_icon {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
}

.mobile-drawer .panel-menu .menu_item h4 {
  font-size: .92rem;
  margin: 0;
}

.mobile-drawer .panel-menu .menu_item p {
  display: none;
}

.mobile-drawer .sub-menu {
  padding-left: 10px;
}

.mobile-drawer .sub-menu a {
  display: block;
  padding: 10px 12px;
  font-size: .9rem;
  color: var(--muted);
  border-radius: 8px;
}

.mobile-drawer .sub-menu a:hover {
  background: var(--bg-soft);
  color: var(--teal);
}

.rxd-newsletter-form {
  width: 100%;
}

/* Primary layout: .newsletter-form grid (CF7 + HTML mockup) */
.rxd-newsletter-form .newsletter-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
}

/* CF7 auto-<p> wraps all fields — flatten so grid applies to inputs */
.rxd-newsletter-form .newsletter-form > p {
  display: contents;
  margin: 0;
}

.rxd-newsletter-form .newsletter-form br {
  display: none !important;
}

.rxd-newsletter-form .newsletter-form .wpcf7-form-control-wrap {
  display: block;
  min-width: 0;
  width: 100%;
}

.rxd-newsletter-form .newsletter-form .nf-field {
  min-width: 0;
}

.rxd-newsletter-form .newsletter-form .nf-submit {
  align-self: stretch;
}

/* Legacy Bootstrap row layout inside newsletter-form */
.rxd-newsletter-form .newsletter-form .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
  margin: 0 !important;
  width: 100%;
}

.rxd-newsletter-form .newsletter-form [class*="col-"] {
  flex: none;
  min-width: 0;
  max-width: none;
  width: 100% !important;
  padding: 0 !important;
}

.rxd-newsletter-form .wpcf7-form:has(.newsletter-form) {
  display: block;
  max-width: 620px;
  margin: 0 auto;
  width: 100%;
}

/* CF7 forms without .newsletter-form wrapper */
.rxd-newsletter-form .wpcf7-form:not(:has(.newsletter-form)) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
}

.rxd-newsletter-form .wpcf7-form:not(:has(.newsletter-form)) > p:not(:has(.wpcf7-response-output)):not(:has(.wpcf7-hidden-fields)) {
  display: contents;
  margin: 0;
}

.rxd-newsletter-form .wpcf7-form > p,
.rxd-newsletter-form .wpcf7-form > div {
  margin: 0;
}

.rxd-newsletter-form .wpcf7-form-control-wrap:not(:has(textarea)) {
  display: block;
  min-width: 0;
  width: 100%;
}

.rxd-newsletter-form .wpcf7-form:not(:has(.newsletter-form)) .wpcf7-form-control-wrap:not(:has(textarea)) {
  display: contents;
}

.rxd-newsletter-form .wpcf7-form br {
  display: none;
}

/* Override parent theme .wpcf7 input styles */
section.news .rxd-newsletter-form .wpcf7 input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
section.news .rxd-newsletter-form .wpcf7 select,
section.news .rxd-newsletter-form .wpcf7 textarea {
  height: auto !important;
  min-height: 0;
  border: 0 !important;
  box-shadow: none !important;
}

.rxd-newsletter-form .form-control {
  display: block;
  width: 100%;
  height: auto;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 15px 22px !important;
  font-family: var(--body);
  font-size: .92rem;
  line-height: 1.4;
  color: var(--navy);
  background: #fff !important;
  box-shadow: none !important;
}

.rxd-newsletter-form .theme-btn-gradient,
.rxd-newsletter-form .theme-btn-gradient.wpcf7-submit {
  width: auto !important;
  min-width: 0;
  background: var(--green) !important;
  color: #063b2a !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 22px rgba(47, 199, 140, .30) !important;
}

.rxd-newsletter-form .theme-btn-gradient:hover,
.rxd-newsletter-form .theme-btn-gradient.wpcf7-submit:hover {
  background: var(--green-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(47, 199, 140, .40) !important;
}

.rxd-newsletter-form .wpforms-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
}

.rxd-newsletter-form label,
.rxd-newsletter-form .wpforms-field-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.rxd-newsletter-form input[type="text"],
.rxd-newsletter-form input[type="email"],
.rxd-newsletter-form input[type="tel"],
.rxd-newsletter-form input[type="url"],
.rxd-newsletter-form input[type="number"],
.rxd-newsletter-form input[type="search"],
.rxd-newsletter-form select,
.rxd-newsletter-form .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-textarea),
.rxd-newsletter-form .wpforms-field input[type="text"],
.rxd-newsletter-form .wpforms-field input[type="email"],
.rxd-newsletter-form .wpforms-field select {
  flex: 1;
  min-width: 0;
  width: 100%;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 15px 22px !important;
  font-family: var(--body);
  font-size: .92rem;
  line-height: 1.4;
  color: var(--navy);
  background: #fff !important;
  box-shadow: none !important;
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
}

.rxd-newsletter-form textarea,
.rxd-newsletter-form .wpcf7-textarea,
.rxd-newsletter-form .wpforms-field textarea {
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  min-height: 120px;
  border: 0;
  border-radius: 20px;
  padding: 15px 22px;
  font-family: var(--body);
  font-size: .92rem;
  line-height: 1.5;
  color: var(--navy);
  background: #fff;
  resize: vertical;
  margin: 0;
}

.rxd-newsletter-form input:focus,
.rxd-newsletter-form select:focus,
.rxd-newsletter-form textarea:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(84, 191, 180, .4);
}

.rxd-newsletter-form input[type="submit"],
.rxd-newsletter-form button[type="submit"],
.rxd-newsletter-form .wpcf7-submit,
.rxd-newsletter-form .wpforms-submit,
.rxd-newsletter-form .gform_button,
.rxd-newsletter-form .gform-button {
  flex: 0 0 auto;
  width: auto !important;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 15px 26px !important;
  font-family: var(--body);
  font-weight: 600;
  font-size: .95rem;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  background: var(--green) !important;
  color: #063b2a !important;
  box-shadow: 0 10px 22px rgba(47, 199, 140, .30) !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.rxd-newsletter-form input[type="submit"]:hover,
.rxd-newsletter-form button[type="submit"]:hover,
.rxd-newsletter-form .wpcf7-submit:hover,
.rxd-newsletter-form .wpforms-submit:hover,
.rxd-newsletter-form .gform_button:hover,
.rxd-newsletter-form .gform-button:hover {
  background: var(--green-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(47, 199, 140, .40);
}

.rxd-newsletter-form .wpcf7-form-control-wrap:has(textarea),
.rxd-newsletter-form .wpforms-field.wpforms-field-textarea {
  flex: 1 1 100%;
  width: 100%;
}

.rxd-newsletter-form .wpforms-container,
.rxd-newsletter-form .wpforms-container-full {
  margin: 0;
  max-width: none;
}

.rxd-newsletter-form .wpforms-form .wpforms-field-container {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
}

.rxd-newsletter-form .wpforms-field {
  flex: 1;
  min-width: 200px;
  padding: 0;
  margin: 0;
}

.rxd-newsletter-form .wpforms-field.wpforms-field-textarea {
  flex-basis: 100%;
  min-width: 0;
}

.rxd-newsletter-form .wpforms-submit-container {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
}

.rxd-newsletter-form .gform_wrapper {
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
}

.rxd-newsletter-form .gform_wrapper form {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.rxd-newsletter-form .gform_wrapper .gform_body {
  flex: 1 1 100%;
}

.rxd-newsletter-form .gform_wrapper .gform_fields {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rxd-newsletter-form .gform_wrapper .gfield {
  flex: 1;
  min-width: 200px;
  margin: 0;
  padding: 0;
}

.rxd-newsletter-form .gform_wrapper .gfield--type-textarea {
  flex-basis: 100%;
}

.rxd-newsletter-form .gform_wrapper .gform_footer {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
}

.rxd-newsletter-form .wpcf7-response-output,
.rxd-newsletter-form .wpforms-confirmation-container-full,
.rxd-newsletter-form .gform_confirmation_message {
  flex: 1 1 100%;
  width: 100%;
  margin: 12px 0 0;
  padding: 12px 18px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .08);
  color: #fff;
  text-align: center;
  font-size: .92rem;
}

.rxd-newsletter-form .wpcf7-not-valid-tip {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.rxd-newsletter-form .wpcf7-not-valid,
.rxd-newsletter-form .wpforms-has-error input,
.rxd-newsletter-form .wpforms-has-error textarea {
  box-shadow: 0 0 0 4px rgba(255, 120, 120, .45);
}

.rxd-newsletter-form .wpcf7-spinner {
  position: absolute;
  margin: 0;
}

.rxd-newsletter-placeholder input[disabled],
.rxd-newsletter-placeholder button[disabled] {
  opacity: 1;
  cursor: default;
}
