
/* Scoped styling prevents conflicts with Elementor and the website theme. */
.jpf-root{--jpf-ink:#142337;--jpf-soft:#627187;--jpf-line:#dfe6ef;--jpf-blue:#1264e7;--jpf-blue-deep:#084ab6;--jpf-gold:#bd8a33;--jpf-paper:#fff; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--jpf-ink);line-height:1.4}
.jpf-root *{box-sizing:border-box}
.jpf-root button,.jpf-root input,.jpf-root textarea{font:inherit}
.jpf-root button{cursor:pointer}
.jpf-root .jpf-trigger{border:0;border-radius:13px;background:linear-gradient(120deg,#0e66e5,#0b54bf);color:#fff;font-weight:750;padding:13px 23px;box-shadow:0 9px 23px #176be533;transition:transform .23s,box-shadow .23s}
.jpf-root .jpf-trigger:hover{transform:translateY(-2px);box-shadow:0 14px 29px #176be544}
.jpf-root .jpf-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:14px;background:#07111ec9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
.jpf-root .jpf-overlay.jpf-visible{opacity:1;visibility:visible}
.jpf-root .jpf-card{position:relative;width:min(920px,100%);max-height:min(90dvh,860px);overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(160deg,#fff 0%,#fff 70%,#f8fbff 100%);border:1px solid #ffffffb8;border-radius:24px;box-shadow:0 24px 80px #020b1d61,0 0 0 1px #e7ecf268;transform:translateY(28px) scale(.968);opacity:0;transition:transform .58s cubic-bezier(.17,.78,.22,1),opacity .42s ease;scrollbar-width:thin;scrollbar-color:#b7c5d6 transparent}
.jpf-root .jpf-visible .jpf-card{transform:translateY(0) scale(1);opacity:1}
.jpf-root.jpf-elementor .jpf-overlay{position:static;inset:auto;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;display:block;opacity:1;visibility:visible}
.jpf-root.jpf-elementor .jpf-card{margin:0 auto}
.jpf-root.jpf-elementor .jpf-close{display:none}

.jpf-root .jpf-accent{height:3px;background:linear-gradient(90deg,#c49438,#f5da9a 31%,#7b91ba 70%,#1264e7)}
.jpf-root .jpf-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 30px 18px;border-bottom:1px solid #edf0f5;position:relative}
.jpf-root .jpf-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;border:1px solid #eadcbb;background:#fffaf0;color:#896123;font-weight:780;font-size:12px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px}
.jpf-root .jpf-badge svg{width:12px;height:12px}
.jpf-root .jpf-header h2{margin:0;font-weight:830;font-size:clamp(28px,3.4vw,38px);letter-spacing:-.048em;line-height:1.1;color:#111f31}
.jpf-root .jpf-header p{margin:9px 0 0;color:#637286;font-size:14px;line-height:1.55}
.jpf-root .jpf-close{width:35px;height:35px;flex:none;border:1px solid #e5ebf2;border-radius:10px;background:#f7f9fd;color:#314762;display:grid;place-items:center;transition:transform .25s,background .25s;position:relative;z-index:1}
.jpf-root .jpf-close:hover{transform:rotate(90deg);background:#e9f2ff}
.jpf-root .jpf-close svg{width:17px;height:17px}
.jpf-root .jpf-form{padding:22px 30px 28px}
.jpf-root .jpf-top{display:grid;grid-template-columns:1.05fr 1fr;gap:18px;margin-bottom:18px}
.jpf-root .jpf-label{display:block;margin-bottom:8px;font-size:13px;font-weight:790;letter-spacing:.008em;color:#27364b}
.jpf-root .jpf-label .jpf-required{color:#1464e4}
.jpf-root .jpf-dropzone{height:94px;display:flex;align-items:center;gap:12px;padding:14px;border:1.5px dashed #a3c4f9;border-radius:16px;background:#f6faff;transition:background .22s,border-color .22s,box-shadow .22s}
.jpf-root .jpf-dropzone:hover,.jpf-root .jpf-dropzone.jpf-dragging{border-color:#136bec;background:#eef6ff;box-shadow:0 0 0 4px #e4f0ff}
.jpf-root .jpf-upload-ico{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:#e1efff;color:#0968db}
.jpf-root .jpf-upload-ico svg{width:22px;height:22px}
.jpf-root .jpf-dropcopy{flex:1;min-width:0}
.jpf-root .jpf-dropcopy strong{display:block;font-size:16px;color:#172b44;font-weight:780;line-height:1.2}
.jpf-root .jpf-dropcopy small{display:block;margin-top:5px;color:#697d93;font-size:13px;line-height:1.42}
.jpf-root .jpf-upload-btn{border-radius:12px;background:#1764e5;color:white;border:0;padding:13px 16px;white-space:nowrap;font-weight:780;font-size:13px;box-shadow:0 8px 18px #1464e53b}
.jpf-root .jpf-linkbox{height:94px;display:flex;align-items:center;gap:12px;border:1px solid #dfe8f2;border-radius:16px;padding:14px;background:#fff}
.jpf-root .jpf-logos{display:flex;gap:9px;align-items:center;flex:none}
.jpf-root .jpf-logo{display:grid;place-items:center;width:36px;height:38px;border-radius:10px;background:#f5f8fd;border:1px solid #e6ecf4}
.jpf-root .jpf-logo svg{height:22px;width:22px}
.jpf-root .jpf-linkbox .jpf-cloud-input{min-width:0;flex:1;font-size:14px;padding:10px 8px;border:0;background:transparent;box-shadow:none;outline:0;color:#1b2b40}
.jpf-root .jpf-linkbox:focus-within{outline:2px solid #b1d0ff;outline-offset:1px}
.jpf-root .jpf-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 16px}
.jpf-root .jpf-field{min-width:0}
.jpf-root .jpf-wide{grid-column:1/-1}
.jpf-root .jpf-input,.jpf-root .jpf-message{display:block;width:100%;background:#fff;border:1px solid #d9e2ed;border-radius:12px;color:#1b2d44;outline:0;padding:13px 14px;font-size:14px;height:46px;transition:border-color .2s,box-shadow .2s,transform .2s}
.jpf-root .jpf-message{height:104px;min-height:104px;resize:vertical;line-height:1.55}
.jpf-root .jpf-input:focus,.jpf-root .jpf-message:focus{border-color:#5198f8;box-shadow:0 0 0 3px #e4efff;transform:translateY(-1px)}
.jpf-root .jpf-input::placeholder,.jpf-root .jpf-message::placeholder,.jpf-root .jpf-cloud-input::placeholder{color:#8a98aa}
.jpf-root .jpf-service-wrap{position:relative}
.jpf-root .jpf-service-button{min-height:48px;text-align:left;cursor:pointer;font-size:14px}
.jpf-root .jpf-service-button[aria-expanded=true]{border-color:#5198f8;box-shadow:0 0 0 3px #e4efff}
.jpf-root .jpf-chev{height:16px;width:16px;color:#678099;transition:transform .22s}
.jpf-root .jpf-service-button[aria-expanded=true] .jpf-chev{transform:rotate(180deg)}
.jpf-root .jpf-service-list{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:999;overflow:auto;max-height:240px;padding:8px;background:white;border:1px solid #e0e7f0;box-shadow:0 20px 42px #0d254526;border-radius:14px;opacity:0;visibility:hidden;transform:translateY(-5px) scale(.98);transform-origin:top;transition:opacity .22s,transform .22s,visibility .22s}
.jpf-root .jpf-service-list.jpf-list-open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.jpf-root .jpf-option{width:100%;text-align:left;border:0;background:white;border-radius:10px;color:#304059;font-size:14px;font-weight:560;cursor:pointer;min-height:40px;padding:9px 11px}
.jpf-root .jpf-option:hover,.jpf-root .jpf-option:focus-visible,.jpf-root .jpf-option[aria-selected=true]{background:#edf5ff;color:#095fd3;outline:none}
.jpf-root .jpf-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:18px;margin-top:2px}
.jpf-root .jpf-trust{display:flex;align-items:flex-start;gap:8px;color:#67788c;font-size:12px;line-height:1.45}
.jpf-root .jpf-trust svg{height:13px;width:13px;color:#2c8a62;flex:none}
.jpf-root .jpf-submit{display:flex;align-items:center;justify-content:center;gap:8px;min-width:210px;min-height:48px;padding:12px 20px;color:#fff;background:linear-gradient(110deg,#1477f6,#0a4ebc);font-weight:810;font-size:14px;border:0;border-radius:13px;box-shadow:0 9px 19px #1264e73d;transition:transform .22s,box-shadow .22s;position:relative;overflow:hidden}
.jpf-root .jpf-submit:hover{transform:translateY(-2px);box-shadow:0 13px 24px #1264e74a}
.jpf-root .jpf-submit:after{content:"";position:absolute;top:0;bottom:0;width:25%;left:-40%;transform:skew(-25deg);background:linear-gradient(90deg,transparent,#ffffff55,transparent);transition:left .65s}
.jpf-root .jpf-submit:hover:after{left:135%}
.jpf-root .jpf-submit svg{height:15px;width:15px}
.jpf-root .jpf-error{display:none;color:#bd3232;font-size:12px;margin-top:8px}
.jpf-root .jpf-error.jpf-shown{display:block}
.jpf-root .jpf-info{margin:8px 0 0;color:#65768d;font-size:12px;line-height:1.45;min-height:17px}
.jpf-root .jpf-instructions{font-size:12px;color:#728198;line-height:1.45;margin-top:10px}
.jpf-root .jpf-card [data-jpf-animate]{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .58s cubic-bezier(.2,.75,.25,1)}
.jpf-root .jpf-visible .jpf-card [data-jpf-animate]{opacity:1;transform:translateY(0)}
.jpf-root .jpf-visible .jpf-card [data-jpf-animate="1"]{transition-delay:.08s}
.jpf-root .jpf-visible .jpf-card [data-jpf-animate="2"]{transition-delay:.13s}
.jpf-root .jpf-visible .jpf-card [data-jpf-animate="3"]{transition-delay:.18s}
.jpf-root .jpf-visible .jpf-card [data-jpf-animate="4"]{transition-delay:.32s}
@media (max-width:900px){.jpf-root .jpf-header{padding:22px 22px 16px}.jpf-root .jpf-form{padding:18px 22px 24px}.jpf-root .jpf-top,.jpf-root .jpf-fields{grid-template-columns:1fr}.jpf-root .jpf-card{width:min(94vw,760px)}.jpf-root .jpf-footer{flex-direction:column;align-items:stretch}.jpf-root .jpf-submit{width:100%}.jpf-root .jpf-dropzone,.jpf-root .jpf-linkbox{height:auto;min-height:90px}}
@media (max-width:640px){.jpf-root .jpf-card{border-radius:20px;max-height:min(86dvh,900px)}.jpf-root .jpf-header{padding:18px 16px 14px}.jpf-root .jpf-header h2{font-size:clamp(24px,8vw,30px)}.jpf-root .jpf-header p{font-size:13px}.jpf-root .jpf-form{padding:16px 16px 20px}.jpf-root .jpf-badge{font-size:11px;padding:6px 10px}.jpf-root .jpf-dropzone{align-items:flex-start;flex-wrap:wrap}.jpf-root .jpf-upload-btn{width:100%;justify-content:center;text-align:center}.jpf-root .jpf-trust,.jpf-root .jpf-instructions,.jpf-root .jpf-info{font-size:11px}.jpf-root .jpf-input,.jpf-root .jpf-message,.jpf-root .jpf-service-button,.jpf-root .jpf-option,.jpf-root .jpf-linkbox .jpf-cloud-input{font-size:13px}}
/* Real Tailwind v4 utility CSS is compiled and inlined below: no CDN or global reset. */
/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
.jpf-root {
  --jpf-color-slate-200: #e2e8f0;
  --jpf-color-slate-700: #334155;
  --jpf-color-blue-100: #dbeafe;
  --jpf-color-blue-400: #60a5fa;
  --jpf-color-white: #ffffff;
  --jpf-spacing: 0.25rem;
  --jpf-radius-xl: 0.75rem;
  --jpf-text-sm: 0.75rem;
  --jpf-font-weight-medium: 600;
}
.jpf-root .jpf\:relative {
  position: relative;
}
.jpf-root .jpf\:flex {
  display: flex;
}
.jpf-root .jpf\:w-full {
  width: 100%;
}
.jpf-root .jpf\:items-center {
  align-items: center;
}
.jpf-root .jpf\:justify-between {
  justify-content: space-between;
}
.jpf-root .jpf\:gap-2 {
  gap: calc(var(--jpf-spacing) * 2);
}
.jpf-root .jpf\:rounded-xl {
  border-radius: var(--jpf-radius-xl);
}
.jpf-root .jpf\:border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.jpf-root .jpf\:border-slate-200 {
  border-color: var(--jpf-color-slate-200);
}
.jpf-root .jpf\:bg-white {
  background-color: var(--jpf-color-white);
}
.jpf-root .jpf\:px-4 {
  padding-inline: calc(var(--jpf-spacing) * 4);
}
.jpf-root .jpf\:py-3 {
  padding-block: calc(var(--jpf-spacing) * 3);
}
.jpf-root .jpf\:text-sm {
  font-size: var(--jpf-text-sm);
}
.jpf-root .jpf\:font-medium {
  --tw-font-weight: var(--jpf-font-weight-medium);
  font-weight: var(--jpf-font-weight-medium);
}
.jpf-root .jpf\:text-slate-700 {
  color: var(--jpf-color-slate-700);
}
.jpf-root .jpf\:shadow-sm {
  --tw-shadow: 0 1px 3px var(--tw-shadow-color, rgba(15,23,42,.08));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.jpf-root .jpf\:transition {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
  transition-timing-function: var(--tw-ease, ease);
  transition-duration: var(--tw-duration, 0s);
}
.jpf-root .jpf\:duration-200 {
  --tw-duration: 200ms;
  transition-duration: 200ms;
}
.jpf-root .jpf\:hover\:border-blue-400 {
  &:hover {
    @media (hover: hover) {
      border-color: var(--jpf-color-blue-400);
    }
  }
}
.jpf-root .jpf\:focus-visible\:ring-4 {
  &:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
}
.jpf-root .jpf\:focus-visible\:ring-blue-100 {
  &:focus-visible {
    --tw-ring-color: var(--jpf-color-blue-100);
  }
}
.jpf-root .jpf\:focus-visible\:outline-none {
  &:focus-visible {
    --tw-outline-style: none;
    outline-style: none;
  }
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-duration: initial;
    }
  }
}

@media(max-width:650px){
 .jpf-root .jpf-overlay{padding:8px;align-items:center}
 .jpf-root .jpf-card{max-height:95dvh;border-radius:17px}
 .jpf-root .jpf-header{padding:13px 14px 12px}
 .jpf-root .jpf-header h2{font-size:21px}
 .jpf-root .jpf-header p{font-size:11px}
 .jpf-root .jpf-form{padding:12px 14px 16px}
 .jpf-root .jpf-top,.jpf-root .jpf-fields{grid-template-columns:1fr;gap:10px}
 .jpf-root .jpf-top{margin-bottom:10px}
 .jpf-root .jpf-dropzone,.jpf-root .jpf-linkbox{height:65px}
 .jpf-root .jpf-message{height:77px}
 .jpf-root .jpf-footer{flex-direction:column;align-items:stretch;gap:11px;padding-top:12px}
 .jpf-root .jpf-submit{width:100%}
 .jpf-root .jpf-trust{justify-content:center}
 .jpf-root .jpf-service-list{max-height:155px}
}
@media(prefers-reduced-motion:reduce){.jpf-root *,.jpf-root *::before,.jpf-root *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.jpf-root .jpf-card [data-jpf-animate]{opacity:1;transform:none}}

/* V3: avoid dropdown/footer stacking conflict by expanding options IN FLOW.
   The form's card remains height-capped and scrolls instead of covering labels or footer. */
.jpf-root .jpf-service-list{
  position:relative;top:auto;left:auto;right:auto;z-index:2;
  width:100%;max-height:0;min-height:0;margin-top:0;padding:0 6px;
  overflow:hidden;opacity:0;visibility:hidden;
  border:0 solid transparent;border-radius:13px;background:#fff;
  box-shadow:0 0 0 transparent;transform:translateY(-6px);
  transition:max-height .3s cubic-bezier(.22,.8,.2,1),margin-top .3s ease,
     opacity .22s ease,transform .3s ease,padding .3s ease,visibility .3s;
}
.jpf-root .jpf-service-list.jpf-list-open{
  max-height:193px;margin-top:7px;padding:6px;
  overflow-y:auto;overscroll-behavior:contain;
  border:1px solid #dde7f4;box-shadow:0 12px 27px #17375b1c;
  opacity:1;visibility:visible;transform:translateY(0);
}
/* Above CSS avoids floating overlay; also order the form stacking contexts predictably. */
.jpf-root .jpf-fields{position:relative;z-index:2;isolation:isolate}
.jpf-root .jpf-footer,.jpf-root .jpf-instructions{position:relative;z-index:1}
/* Typography: legible but compact, tailored to reference proportions. */
.jpf-root .jpf-header h2{font-size:clamp(26px,3vw,30px);line-height:1.16}
.jpf-root .jpf-header p{font-size:14px;line-height:1.48}
.jpf-root .jpf-badge{font-size:11px}
.jpf-root .jpf-label{font-size:13px;margin-bottom:6px}
.jpf-root .jpf-dropcopy strong{font-size:13px}
.jpf-root .jpf-dropcopy small{font-size:11px}
.jpf-root .jpf-upload-btn{font-size:12px}
.jpf-root .jpf-linkbox .jpf-cloud-input{font-size:13px}
.jpf-root .jpf-input,.jpf-root .jpf-message{font-size:14px}
.jpf-root .jpf-service-button{font-size:14px}
.jpf-root .jpf-option{font-size:14px;min-height:36px;line-height:1.32;padding:8px 11px}
.jpf-root .jpf-trust{font-size:12px;line-height:1.4}
.jpf-root .jpf-instructions,.jpf-root .jpf-info{font-size:11.5px;line-height:1.4}
.jpf-root .jpf-submit{font-size:14px}
.jpf-root .jpf-error{font-size:12px}
@media(max-width:650px){
 .jpf-root .jpf-header h2{font-size:25px}
 .jpf-root .jpf-header p{font-size:13px}
 .jpf-root .jpf-label{font-size:13px}
 .jpf-root .jpf-service-list.jpf-list-open{max-height:182px}
 .jpf-root .jpf-option{font-size:14px;min-height:38px}
 .jpf-root .jpf-trust{font-size:11.5px}
}

/* WordPress delivery & native Elementor Popup mode */
.jpf-root .jpf-status{display:none;font-size:13px;line-height:1.5;margin-top:12px;padding:12px 14px;border:1px solid #bddbc5;border-radius:10px;background:#effbf3;color:#17613b}
.jpf-root .jpf-status.jpf-status-visible{display:block}
.jpf-root .jpf-submit:disabled{opacity:.7;cursor:wait;transform:none;box-shadow:none}
.jpf-root .jpf-honey{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.jpf-root.jpf-elementor .jpf-trigger{display:none!important}
.jpf-root.jpf-elementor .jpf-overlay{position:relative;inset:auto;z-index:auto;opacity:1;visibility:visible;display:block;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:none}
.jpf-root.jpf-elementor .jpf-card{width:100%;max-height:min(90dvh,850px);opacity:1;transform:none;border-radius:20px;box-shadow:none;transition:none}
.jpf-root.jpf-elementor .jpf-close{display:none}
.jpf-root.jpf-elementor .jpf-overlay .jpf-card [data-jpf-animate]{opacity:1;transform:none;transition:none}
.jpf-root.jpf-elementor{width:100%}
@media (max-width:650px){.jpf-root.jpf-elementor .jpf-card{max-height:min(88dvh,850px)}}

/* V3 stable native dropdown: does not depend on Elementor/jQuery JavaScript. */
.jpf-root .jpf-native-service-wrap{position:relative;display:block;width:100%}
.jpf-root .jpf-native-service{
 display:block;width:100%;height:49px;min-height:49px;
 padding:12px 47px 12px 15px;margin:0;appearance:none;-webkit-appearance:none;
 border:1px solid #d5e0ef;border-radius:12px;outline:0;
 background:#fff;color:#172a44;font:600 14px/1.35 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 box-shadow:0 2px 5px #0a234412;cursor:pointer;
 transition:border-color .22s ease,box-shadow .22s ease;
}
.jpf-root .jpf-native-service:invalid{color:#435369}
.jpf-root .jpf-native-service:focus{border-color:#3f91ff;box-shadow:0 0 0 4px #e3efff}
.jpf-root .jpf-native-service option{font-size:14px;background:#fff;color:#182b45}
.jpf-root .jpf-native-chevron{width:18px;height:18px;position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:#607b9b}
.jpf-root .jpf-native-service:focus + .jpf-native-chevron{color:#0c66da}
/* No static success message: show confirmation only when AJAX returns success. */
.jpf-root .jpf-status{display:none!important;margin-top:14px!important;font-size:14px!important}
.jpf-root .jpf-status.jpf-status-visible:not(:empty){display:block!important}
/* Respect Elementor popup width and prevent crowded fields on modest screen widths. */
.jpf-root .jpf-fields{gap:16px!important}
.jpf-root .jpf-top{gap:18px!important;margin-bottom:20px!important}
.jpf-root .jpf-form{padding-bottom:27px!important}
.jpf-root .jpf-footer{padding-top:19px!important}
@media(max-width:740px){
 .jpf-root .jpf-top,.jpf-root .jpf-fields{grid-template-columns:1fr!important}
 .jpf-root .jpf-dropzone,.jpf-root .jpf-linkbox{height:auto!important;min-height:82px}
 .jpf-root .jpf-dropzone{flex-wrap:wrap}
 .jpf-root .jpf-footer{flex-wrap:wrap;flex-direction:column;align-items:stretch}
 .jpf-root .jpf-submit{width:100%}
}
@media(max-width:470px){
 .jpf-root .jpf-dropcopy strong{font-size:13px}
 .jpf-root .jpf-upload-btn{width:100%}
 .jpf-root .jpf-native-service{font-size:14px}
}


/* V5 final polish. Scoped to this plugin; no Elementor/global CSS reset. */
.jpf-root .jpf-accent{display:none!important}
.jpf-root .jpf-header{display:block!important;text-align:center!important;padding:23px 28px 20px!important}
.jpf-root .jpf-heading-copy{width:100%;text-align:center}
.jpf-root .jpf-badge{justify-content:center;margin:0 auto 11px!important;font-size:11px}
.jpf-root .jpf-header h2{text-align:center!important;margin:0 auto!important;font-size:clamp(26px,3vw,33px)!important;line-height:1.17!important;max-width:700px}
.jpf-root .jpf-header p{text-align:center!important;margin:9px auto 0!important;font-size:14px!important;max-width:620px;line-height:1.52!important}
.jpf-root .jpf-close{position:absolute;right:13px;top:12px}
.jpf-root .jpf-form{padding-top:23px!important}
.jpf-root .jpf-native-service{font-size:14px!important;line-height:1.4!important;border:1px solid #d5e0ef!important;border-radius:12px!important;background:#fff!important;box-shadow:0 2px 5px #0a234412!important;padding:12px 46px 12px 15px!important;height:49px!important;min-height:49px!important;color:#172a44!important}
.jpf-root .jpf-native-service:focus-visible,.jpf-root .jpf-native-service:focus{border-color:#3f91ff!important;box-shadow:0 0 0 4px #e3efff!important;outline:0!important}
.jpf-root .jpf-native-service option{font-weight:500;font-size:14px;padding:10px;background:#fff;color:#172a44}
.jpf-root .jpf-footer{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(190px,235px);gap:17px!important;align-items:center!important;padding-top:19px!important;margin-top:0!important}
.jpf-root .jpf-submit{grid-column:2;grid-row:1;justify-self:end;min-width:0!important;width:100%!important;min-height:50px;max-width:235px;box-shadow:0 12px 22px #1264e739}
.jpf-root .jpf-status{grid-column:1;grid-row:1;align-self:center;display:none!important;margin:0!important;min-width:0;word-break:normal;overflow-wrap:break-word;background:#e9f9ee!important;color:#17613b!important;border:1px solid #b7e6c7!important;border-radius:11px;padding:12px 13px;font-size:13px!important;line-height:1.45!important;font-weight:650}
.jpf-root .jpf-status.jpf-status-visible:not(:empty){display:block!important;animation:jpf-confirm-in .35s cubic-bezier(.2,.8,.2,1) both}
.jpf-root .jpf-error.jpf-shown{display:block;border:1px solid #f3c8ca;background:#fff5f5;padding:12px 14px;border-radius:10px;font-size:13px;margin-top:14px}
.jpf-root .jpf-form .jpf-instructions{display:none!important}
.jpf-root .jpf-dropzone{min-width:0;flex-wrap:wrap;height:auto;min-height:94px}
.jpf-root .jpf-dropcopy{flex:1 1 110px;min-width:0}
.jpf-root .jpf-dropcopy strong,.jpf-root .jpf-dropcopy small{overflow-wrap:anywhere}
.jpf-root .jpf-upload-btn{flex:0 0 auto}
.jpf-root .jpf-top>div,.jpf-root .jpf-linkbox{min-width:0}
.jpf-root .jpf-linkbox .jpf-cloud-input{min-width:0;width:100%}
@keyframes jpf-confirm-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@container jpf-popup (max-width:700px){.jpf-root .jpf-top{grid-template-columns:1fr!important}.jpf-root .jpf-footer{grid-template-columns:1fr!important}.jpf-root .jpf-status,.jpf-root .jpf-submit{grid-column:1;grid-row:auto;width:100%!important;max-width:none!important;justify-self:stretch}.jpf-root .jpf-submit{grid-row:1}.jpf-root .jpf-status{grid-row:2}}
.jpf-root .jpf-card{container:jpf-popup / inline-size}
@media(max-width:740px){.jpf-root .jpf-header{padding:20px 18px 17px!important}.jpf-root .jpf-form{padding:18px 18px 25px!important}.jpf-root .jpf-footer{grid-template-columns:1fr!important}.jpf-root .jpf-submit,.jpf-root .jpf-status{grid-column:1;grid-row:auto;width:100%!important;max-width:none!important}.jpf-root .jpf-submit{grid-row:1}.jpf-root .jpf-status{grid-row:2}.jpf-root .jpf-top{grid-template-columns:1fr!important}}
@media(max-width:470px){.jpf-root .jpf-header h2{font-size:25px!important}.jpf-root .jpf-header p{font-size:13px!important}.jpf-root .jpf-form{padding:15px 15px 23px!important}}
@media(prefers-reduced-motion:reduce){.jpf-root .jpf-status.jpf-status-visible{animation:none!important}}

/* V7: reference-matched, desktop single-view design. The small-screen layout remains scrollable for accessibility. */
.jpf-root .jpf-accent,.jpf-root .jpf-badge{display:none!important}
.jpf-root .jpf-header{padding:17px 26px 15px!important;display:block!important;text-align:center!important}
.jpf-root .jpf-header h2{font-size:clamp(27px,3vw,33px)!important;line-height:1.14!important;margin:0!important}
.jpf-root .jpf-header p{font-size:14px!important;line-height:1.42!important;margin:7px auto 0!important}
.jpf-root .jpf-form{padding:15px 26px 18px!important}
.jpf-root .jpf-top{grid-template-columns:1.05fr 1fr!important;gap:13px!important;margin-bottom:12px!important}
.jpf-root .jpf-label{font-size:13px!important;line-height:1.3!important;margin-bottom:5px!important}
.jpf-root .jpf-dropzone,.jpf-root .jpf-linkbox{height:76px!important;min-height:76px!important;padding:10px 11px!important;border-radius:13px!important;gap:9px!important}
.jpf-root .jpf-dropzone{flex-wrap:nowrap!important}
.jpf-root .jpf-upload-ico{width:34px!important;height:34px!important;border-radius:10px!important}
.jpf-root .jpf-dropcopy{flex:1 1 115px!important}
.jpf-root .jpf-dropcopy strong{font-size:13px!important;line-height:1.2!important}
.jpf-root .jpf-dropcopy small{font-size:11px!important;line-height:1.25!important;margin-top:2px!important}
.jpf-root .jpf-upload-btn{font-size:12px!important;padding:10px 12px!important;border-radius:10px!important}
.jpf-root .jpf-logos{gap:4px!important}
.jpf-root .jpf-logo{width:29px!important;height:31px!important}
.jpf-root .jpf-logo svg{width:19px!important;height:19px!important}
.jpf-root .jpf-linkbox .jpf-cloud-input{font-size:12.5px!important;padding:6px 4px!important}
.jpf-root .jpf-info{font-size:11px!important;line-height:1.25!important;margin:5px 0 0!important;min-height:0!important}
.jpf-root .jpf-fields{grid-template-columns:1fr 1fr!important;gap:11px 14px!important}
.jpf-root .jpf-input{height:41px!important;padding:9px 12px!important;font-size:13.5px!important}
.jpf-root .jpf-native-service{height:44px!important;min-height:44px!important;padding:9px 45px 9px 14px!important;font-size:13.5px!important}
.jpf-root .jpf-message{height:80px!important;min-height:80px!important;padding:10px 13px!important;font-size:13.5px!important;line-height:1.4!important}
.jpf-root .jpf-footer{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(185px,225px)!important;gap:14px!important;align-items:center!important;padding-top:11px!important;margin-top:0!important;min-height:54px!important}
.jpf-root .jpf-submit{grid-column:2!important;grid-row:1!important;max-width:225px!important;width:100%!important;min-height:46px!important;font-size:13.5px!important}
.jpf-root .jpf-status{grid-column:1!important;grid-row:1!important;font-size:12px!important;margin:0!important;padding:9px 11px!important}
.jpf-root .jpf-status[hidden]{display:none!important}
.jpf-root .jpf-status.jpf-status-visible:not(:empty){display:block!important}
.jpf-root.jpf-elementor .jpf-card{max-height:calc(100dvh - 30px)!important;overflow-y:auto!important;overflow-x:hidden!important;border-radius:17px!important}
/* Override Elementor's narrow default popup box only when this shortcode is inside. */
.dialog-widget-content:has(.jpf-root.jpf-elementor){width:min(950px,calc(100vw - 28px))!important;max-width:calc(100vw - 28px)!important;height:auto!important;max-height:calc(100dvh - 24px)!important;padding:0!important;border-radius:18px!important;overflow:hidden!important}
.dialog-widget-content:has(.jpf-root.jpf-elementor) .dialog-message{width:100%!important;max-height:none!important;height:auto!important;padding:0!important;overflow:visible!important}
.dialog-widget-content:has(.jpf-root.jpf-elementor) .elementor-widget-wrap,
.dialog-widget-content:has(.jpf-root.jpf-elementor) .elementor-widget-container{padding:0!important}
@media(min-width:741px){
 .jpf-root .jpf-top{grid-template-columns:1.05fr 1fr!important}
 .jpf-root .jpf-fields{grid-template-columns:1fr 1fr!important}
 .jpf-root .jpf-footer{grid-template-columns:minmax(0,1fr) minmax(185px,225px)!important}
 .jpf-root .jpf-submit{grid-column:2!important;grid-row:1!important}
 .jpf-root .jpf-status{grid-column:1!important;grid-row:1!important}
}
@media(max-width:740px){
 .jpf-root .jpf-header{padding:16px 16px 13px!important}
 .jpf-root .jpf-header h2{font-size:clamp(23px,5.5vw,29px)!important}
 .jpf-root .jpf-header p{font-size:12.5px!important}
 .jpf-root .jpf-form{padding:14px 16px 20px!important}
 .jpf-root .jpf-top,.jpf-root .jpf-fields{grid-template-columns:1fr!important;gap:10px!important}
 .jpf-root .jpf-dropzone,.jpf-root .jpf-linkbox{height:auto!important;min-height:74px!important}
 .jpf-root .jpf-top{margin-bottom:12px!important}
 .jpf-root .jpf-footer{grid-template-columns:1fr!important;gap:8px!important}
 .jpf-root .jpf-submit{grid-column:1!important;grid-row:1!important;max-width:none!important}
 .jpf-root .jpf-status{grid-column:1!important;grid-row:2!important}
 .jpf-root.jpf-elementor .jpf-card{max-height:calc(100dvh - 22px)!important}
 .dialog-widget-content:has(.jpf-root.jpf-elementor){width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 16px)!important}
}
@media(max-width:400px){
 .jpf-root .jpf-dropzone{flex-wrap:wrap!important}
 .jpf-root .jpf-upload-btn{width:100%!important}
}
@media(prefers-reduced-motion:reduce){.jpf-root .jpf-status.jpf-status-visible{animation:none!important}}

/* V9: surgical Elementor heading and narrow-screen fix, after legacy !important rules. */
.jpf-root, .jpf-root * { min-width:0; }
.jpf-root .jpf-header, .jpf-root .jpf-header .jpf-heading-copy {
  width:100%!important; max-width:none!important;
  box-sizing:border-box!important;
}
.jpf-root .jpf-header .jpf-heading-copy{
  display:flex!important; flex-direction:column!important;
  align-items:center!important; justify-content:center!important;
  text-align:center!important; margin:0 auto!important; padding:0!important;
}
.jpf-root .jpf-header .jpf-heading-copy h2,
.jpf-root .jpf-header .jpf-heading-copy p{
  display:block!important; width:100%!important; max-width:none!important;
  text-align:center!important; margin-left:auto!important; margin-right:auto!important;
  padding-left:0!important; padding-right:0!important;
  float:none!important; position:static!important; transform:none!important;
}
.jpf-root .jpf-header .jpf-heading-copy p{max-width:680px!important}
.jpf-root .jpf-top > div, .jpf-root .jpf-dropzone, .jpf-root .jpf-dropcopy,
.jpf-root .jpf-linkbox, .jpf-root .jpf-cloud-input {min-width:0!important}
@media (max-width:767px) {
 .jpf-root.jpf-elementor {width:100%!important; max-width:100%!important; min-width:0!important}
 .jpf-root .jpf-card {width:100%!important;max-width:100%!important;box-sizing:border-box!important}
 .jpf-root .jpf-header{padding:20px 17px 15px!important}
 .jpf-root .jpf-header .jpf-heading-copy h2{font-size:clamp(22px,6vw,29px)!important;line-height:1.22!important}
 .jpf-root .jpf-header .jpf-heading-copy p{font-size:13px!important;line-height:1.48!important}
 .jpf-root .jpf-form{padding:17px 17px 23px!important}
 .jpf-root .jpf-top,.jpf-root .jpf-fields{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 .jpf-root .jpf-fields .jpf-field{grid-column:1/-1!important;width:100%!important}
 .jpf-root .jpf-top>div{width:100%!important;max-width:100%!important}
 .jpf-root .jpf-dropzone{
   display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;
   align-items:center!important;gap:10px!important;height:auto!important;
   min-height:130px!important;max-height:none!important;
   padding:14px!important;flex-wrap:wrap!important;overflow:visible!important;
 }
 .jpf-root .jpf-upload-ico{grid-column:1!important;grid-row:1!important;min-width:0!important}
 .jpf-root .jpf-dropcopy{grid-column:2!important;grid-row:1!important;flex:none!important;width:100%!important;max-width:100%!important;min-width:0!important;align-self:center!important}
 .jpf-root .jpf-dropcopy strong,.jpf-root .jpf-dropcopy small{
   display:block!important;width:auto!important;max-width:100%!important;
   white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;
   hyphens:none!important;letter-spacing:normal!important;
 }
 .jpf-root .jpf-dropcopy strong{font-size:14px!important;line-height:1.35!important}
 .jpf-root .jpf-dropcopy small{font-size:12px!important;line-height:1.35!important;margin-top:4px!important}
 .jpf-root .jpf-upload-btn{grid-column:1/-1!important;grid-row:2!important;display:block!important;
   width:100%!important;min-width:0!important;max-width:100%!important;justify-self:stretch!important;
   padding:12px 15px!important;margin:0!important;white-space:normal!important;font-size:13px!important}
 .jpf-root .jpf-linkbox{display:flex!important;width:100%!important;max-width:100%!important;
   height:auto!important;min-height:75px!important;padding:12px!important;overflow:hidden!important}
 .jpf-root .jpf-logos{flex:0 0 auto!important}
 .jpf-root .jpf-linkbox .jpf-cloud-input{flex:1 1 0%!important;width:1px!important;min-width:0!important;
   max-width:100%!important;font-size:13px!important}
 .jpf-root .jpf-footer{grid-template-columns:minmax(0,1fr)!important}
 .jpf-root .jpf-submit,.jpf-root .jpf-status{grid-column:1!important;max-width:none!important;width:100%!important}
 .dialog-widget-content:has(.jpf-root.jpf-elementor){width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important}
}
@media (max-width:360px) {
 .jpf-root .jpf-form{padding:15px 12px 19px!important}
 .jpf-root .jpf-header{padding:17px 12px 13px!important}
 .jpf-root .jpf-dropzone{padding:11px!important;gap:8px!important;grid-template-columns:35px minmax(0,1fr)!important}
 .jpf-root .jpf-linkbox{gap:6px!important;padding:9px!important}
 .jpf-root .jpf-logo{width:26px!important;height:28px!important}
}
