/* Card lift + glow on hover */
.product-card {
  position: relative;
  isolation: isolate;
  transition:
    transform 0.42s cubic-bezier(0.34, 1.5, 0.64, 1),
    box-shadow 0.42s ease;
}

.product-card:hover {
  transform: translateY(-10px);
  box-shadow:
    0 32px 64px rgba(100, 160, 255, 0.18),
    0 12px 28px rgba(0, 0, 0, 0.22);
}

/* Ghost glass rotating stroke */
.product-card::before {
  content: '';
  position: absolute;
  inset: -1.5px;
  border-radius: inherit;
  padding: 1.5px;
  background: conic-gradient(
    from var(--angle, 0deg),
    transparent 0%,        transparent 22%,
    rgba(160,210,255,0.18) 32%,
    rgba(210,235,255,0.70) 44%,
    rgba(255,255,255,0.95) 50%,
    rgba(210,235,255,0.70) 56%,
    rgba(160,210,255,0.18) 68%,
    transparent 78%,       transparent 100%
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.45s ease;
  pointer-events: none;
  z-index: 10;
}

.product-card:hover::before { opacity: 1; }

/* Top inner glow */
.product-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(
    ellipse 80% 40% at 50% -5%,
    rgba(200,225,255,0.10) 0%,
    transparent 70%
  );
  opacity: 0;
  transition: opacity 0.45s ease;
  pointer-events: none;
  z-index: 1;
}

.product-card:hover::after { opacity: 1; }

/* Image hover */
.ekit-hover-gif-img {
  transition: transform 0.45s ease, filter 0.45s ease;
}

.ekit-hover-gif-widget:hover .ekit-hover-gif-img {
  transform: scale(1.04);
  filter: brightness(1.12) saturate(1.08);
}

/* TG: founders list spacing */
.elementor-element-a7762f0 p, .elementor-element-1ff8ceb7 p { margin-bottom: 18px; }
.elementor-element-a7762f0 ul, .elementor-element-1ff8ceb7 ul { margin: 10px 0 18px; padding-left: 1.25em; }
.elementor-element-a7762f0 ul li, .elementor-element-1ff8ceb7 ul li { margin-bottom: 8px; }
.elementor-element-a7762f0 p:last-child, .elementor-element-1ff8ceb7 p:last-child { margin-bottom: 0; }


/* THORNBERRY — WPForms #1009 contact form */
#wpforms-1009{--green:#65995D;--green-bright:#7fb874;--line:rgba(255,255,255,.10);--muted-2:#7e857b;background:linear-gradient(165deg,rgba(24,27,24,.92),rgba(14,16,14,.96));border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3vw,42px) !important;box-shadow:0 40px 90px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);max-width:100%;}
#wpforms-1009 .wpforms-field{padding:0 0 20px !important;}
#wpforms-1009 .wpforms-field-label{font-family:"Oswald",sans-serif !important;font-weight:500;letter-spacing:.04em;text-transform:uppercase;font-size:13px !important;color:#fff !important;margin-bottom:10px;}
#wpforms-1009 .wpforms-required-label{color:#e98b8b !important;}
#wpforms-1009 .wpforms-field-sublabel{font-family:"Source Sans 3","Source Sans Pro",sans-serif;font-size:12px;color:var(--muted-2) !important;text-transform:none;letter-spacing:0;font-weight:400;margin-top:6px;}
#wpforms-1009 input[type=text],#wpforms-1009 input[type=email],#wpforms-1009 textarea{width:100% !important;max-width:100% !important;background:rgba(255,255,255,.03) !important;border:1px solid var(--line) !important;border-radius:13px !important;padding:15px 16px !important;color:#fff !important;font-family:"Source Sans 3","Source Sans Pro",sans-serif !important;font-size:16px !important;box-shadow:none !important;transition:border-color .3s,background .3s,box-shadow .3s !important;}
#wpforms-1009 textarea{min-height:140px;line-height:1.55;resize:vertical;}
#wpforms-1009 input::placeholder,#wpforms-1009 textarea::placeholder{color:var(--muted-2);opacity:.8;}
#wpforms-1009 input[type=text]:focus,#wpforms-1009 input[type=email]:focus,#wpforms-1009 textarea:focus{border-color:rgba(101,153,93,.7) !important;background:rgba(101,153,93,.05) !important;box-shadow:0 0 0 3px rgba(101,153,93,.14) !important;outline:none !important;}
#wpforms-1009 .wpforms-field-medium{max-width:100% !important;}
#wpforms-1009 .wpforms-submit-container{margin-top:6px;}
#wpforms-1009 button.wpforms-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;font-family:"Oswald",sans-serif !important;font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:15px !important;color:#0c0d0c !important;background:linear-gradient(135deg,#65995D,#4E7A48) !important;background-color:#65995D !important;border:none !important;border-radius:50px !important;padding:17px 30px !important;cursor:pointer;box-shadow:0 14px 36px rgba(101,153,93,.30);transition:transform .25s,background .3s,box-shadow .3s !important;}
#wpforms-1009 button.wpforms-submit:hover{background:linear-gradient(135deg,#4E7A48,#65995D) !important;background-color:#4E7A48 !important;transform:translateY(-2px);box-shadow:0 20px 48px rgba(101,153,93,.45);}
#wpforms-1009 button.wpforms-submit:active{transform:scale(.99);}
#wpforms-1009 label.wpforms-error{color:#e98b8b !important;font-size:13px;margin-top:6px;}
#wpforms-1009 input.wpforms-error,#wpforms-1009 textarea.wpforms-error{border-color:#e98b8b !important;}
@media(max-width:600px){#wpforms-1009 .wpforms-field-row-block{width:100% !important;padding:0 0 14px 0 !important;}}

/* TG: stop phantom horizontal scrollbar */
html, body { overflow-x: clip; max-width: 100%; }
#wpforms-1009, #wpforms-1009 * { box-sizing: border-box; }

/* TG: Job Manager listings (dark/green brand) */
.job_filters{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:16px 18px;margin-bottom:22px;}
.job_filters input[type=text],.job_filters input[type=search],.job_filters select{background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:11px!important;color:#fff!important;padding:12px 14px!important;}
.job_filters input::placeholder{color:#7e857b;}
.job_filters label,.job_filters ul.job_types li label,.job_filters .showing_jobs{color:#a7ada4!important;}
ul.job_listings{border:none!important;margin:0!important;padding:0!important;}
ul.job_listings li.job_listing{background:rgba(20,22,20,.55)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:14px!important;margin-bottom:14px!important;padding:0!important;overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s;}
ul.job_listings li.job_listing:hover{transform:translateY(-3px);border-color:rgba(101,153,93,.45)!important;box-shadow:0 16px 36px rgba(0,0,0,.4);}
ul.job_listings li.job_listing a{padding:22px 24px!important;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;text-decoration:none!important;}
ul.job_listings li.job_listing .position{flex:1 1 60%;}
ul.job_listings li.job_listing .position h3{font-family:'Oswald',sans-serif!important;font-weight:500;text-transform:uppercase;letter-spacing:.02em;color:#fff!important;font-size:20px;margin:0 0 4px!important;}
ul.job_listings li.job_listing .position .company{color:#7fb874!important;font-size:13px;}
ul.job_listings li.job_listing .location{color:#a7ada4!important;font-size:14px;flex:0 0 auto;}
ul.job_listings li.job_listing ul.meta{list-style:none!important;margin:0!important;padding:0!important;text-align:right;}
ul.job_listings li.job_listing ul.meta li.job-type{display:inline-block;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:#7fb874;background:rgba(101,153,93,.12);border:1px solid rgba(101,153,93,.4);border-radius:30px;padding:5px 12px;margin:0;}
ul.job_listings li.job_listing ul.meta li.date{color:#7e857b!important;font-size:12px;}
.load_more_jobs,.single_job_listing .application_button,.job_application input[type=submit]{font-family:'Oswald',sans-serif!important;text-transform:uppercase!important;letter-spacing:.08em!important;background:#7fb874!important;color:#0c0d0c!important;border:none!important;border-radius:40px!important;padding:14px 28px!important;cursor:pointer;transition:.3s;text-decoration:none!important;display:inline-block;}
.load_more_jobs:hover,.single_job_listing .application_button:hover{background:#8fc983!important;transform:translateY(-2px);}
.single_job_listing .meta,.single_job_listing .company{color:#a7ada4!important;}
.single_job_listing .job_application{background:rgba(20,22,20,.55);border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:20px;}
/* TG: Careers page */
#tg-apply{scroll-margin-top:90px;}
#tg-roles{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:18px !important;}
#tg-roles > .e-con{background:rgba(20,22,20,.55);border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:26px !important;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;}
#tg-roles > .e-con:hover{transform:translateY(-4px);border-color:rgba(101,153,93,.45);box-shadow:0 18px 40px rgba(0,0,0,.4);}
#tg-roles .elementor-heading-title{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.02em;color:#fff;font-size:22px;}
#tg-roles .tg-role-meta{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:#7fb874;margin:8px 0 12px;}
#tg-roles .tg-role-desc{color:#a7ada4;font-weight:300;font-size:15px;line-height:1.6;margin:0;}
#tg-roles .elementor-button{margin-top:18px;}
@media(max-width:768px){#tg-roles{grid-template-columns:1fr !important;}}
#wpforms-1247{--green-bright:#7fb874;--line:rgba(255,255,255,.10);--muted-2:#7e857b;background:linear-gradient(165deg,rgba(24,27,24,.92),rgba(14,16,14,.96));border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3vw,42px) !important;box-shadow:0 40px 90px rgba(0,0,0,.5);max-width:760px;box-sizing:border-box;}
#wpforms-1247 *{box-sizing:border-box;}
#wpforms-1247 .wpforms-field{padding:0 0 20px !important;}
#wpforms-1247 .wpforms-field-label{font-family:'Oswald',sans-serif !important;font-weight:500;letter-spacing:.04em;text-transform:uppercase;font-size:13px !important;color:#fff !important;margin-bottom:10px;}
#wpforms-1247 .wpforms-required-label{color:#e98b8b !important;}
#wpforms-1247 .wpforms-field-sublabel{font-family:'Source Sans 3','Source Sans Pro',sans-serif;font-size:12px;color:var(--muted-2) !important;text-transform:none;letter-spacing:0;font-weight:400;margin-top:6px;}
#wpforms-1247 input[type=text],#wpforms-1247 input[type=email],#wpforms-1247 input[type=tel],#wpforms-1247 input[type=url],#wpforms-1247 textarea,#wpforms-1247 select{width:100% !important;max-width:100% !important;background:rgba(255,255,255,.03) !important;border:1px solid var(--line) !important;border-radius:13px !important;padding:15px 16px !important;color:#fff !important;font-family:'Source Sans 3','Source Sans Pro',sans-serif !important;font-size:16px !important;box-shadow:none !important;}
#wpforms-1247 select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#7fb874 50%),linear-gradient(135deg,#7fb874 50%,transparent 50%);background-position:calc(100% - 20px) 23px,calc(100% - 14px) 23px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;}
#wpforms-1247 select option{background:#141614;color:#fff;}
#wpforms-1247 textarea{min-height:130px;}
#wpforms-1247 input:focus,#wpforms-1247 textarea:focus,#wpforms-1247 select:focus{border-color:rgba(101,153,93,.7) !important;background:rgba(101,153,93,.05) !important;box-shadow:0 0 0 3px rgba(101,153,93,.14) !important;outline:none !important;}
#wpforms-1247 .wpforms-field-medium{max-width:100% !important;}
#wpforms-1247 button.wpforms-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;font-family:'Oswald',sans-serif !important;font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:15px !important;color:#0c0d0c !important;background:linear-gradient(135deg,#C2A16B,#9C7F4E) !important;background-color:#C2A16B !important;border:none !important;border-radius:50px !important;padding:17px 30px !important;cursor:pointer;box-shadow:0 14px 36px rgba(194,161,107,.30);transition:.3s;}
#wpforms-1247 button.wpforms-submit:hover{background:linear-gradient(135deg,#9C7F4E,#C2A16B) !important;background-color:#9C7F4E !important;transform:translateY(-2px);}
#wpforms-1247 label.wpforms-error{color:#e98b8b !important;font-size:13px;margin-top:6px;}
/* TG: Forminator careers form */
#forminator-module-1263.forminator-ui{background:linear-gradient(165deg,rgba(24,27,24,.92),rgba(14,16,14,.96))!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:24px!important;padding:clamp(24px,3vw,42px)!important;box-shadow:0 40px 90px rgba(0,0,0,.5)!important;max-width:100%;width:100%;}
#forminator-module-1263 .forminator-label,#forminator-module-1263 label{font-family:'Oswald',sans-serif!important;font-weight:500!important;letter-spacing:.04em!important;text-transform:uppercase!important;font-size:13px!important;color:#fff!important;}
#forminator-module-1263 .forminator-required,#forminator-module-1263 .forminator-icon-asterisk{color:#e98b8b!important;}
#forminator-module-1263 input.forminator-input,#forminator-module-1263 textarea.forminator-textarea,#forminator-module-1263 select,#forminator-module-1263 .forminator-input{background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:13px!important;color:#fff!important;padding:14px 16px!important;font-family:'Source Sans 3','Source Sans Pro',sans-serif!important;font-size:16px!important;box-shadow:none!important;height:auto!important;}
#forminator-module-1263 input.forminator-input::placeholder,#forminator-module-1263 textarea::placeholder{color:#7e857b!important;}
#forminator-module-1263 input.forminator-input:focus,#forminator-module-1263 textarea:focus,#forminator-module-1263 select:focus{border-color:rgba(194,161,107,.7)!important;background:rgba(194,161,107,.05)!important;box-shadow:0 0 0 3px rgba(194,161,107,.14)!important;outline:none!important;}
#forminator-module-1263 .forminator-select .select2-container--default .select2-selection--single,#forminator-module-1263 .forminator-select-list,#forminator-module-1263 .select2-selection{background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:13px!important;color:#fff!important;height:auto!important;padding:8px 6px!important;}
#forminator-module-1263 .select2-selection__rendered{color:#fff!important;}
#forminator-module-1263 .forminator-button-upload,#forminator-module-1263 .forminator-upload-button,#forminator-module-1263 .forminator-button.forminator-button-upload{background:rgba(194,161,107,.14)!important;color:#C2A16B!important;border:1px solid rgba(194,161,107,.5)!important;border-radius:11px!important;}
#forminator-module-1263 .forminator-file-upload,#forminator-module-1263 .forminator-upload-file--container,#forminator-module-1263 .forminator-field-upload{background:rgba(255,255,255,.03)!important;border:1px dashed rgba(255,255,255,.18)!important;border-radius:13px!important;color:#a7ada4!important;}
#forminator-module-1263 button.forminator-button-submit,#forminator-module-1263 .forminator-button-submit{background:linear-gradient(135deg,#C2A16B,#9C7F4E)!important;color:#0c0d0c!important;border:none!important;border-radius:50px!important;font-family:'Oswald',sans-serif!important;text-transform:uppercase!important;letter-spacing:.1em!important;font-weight:500!important;padding:16px 30px!important;box-shadow:0 14px 36px rgba(194,161,107,.30)!important;transition:.3s!important;}
#forminator-module-1263 button.forminator-button-submit:hover{background:linear-gradient(135deg,#9C7F4E,#C2A16B)!important;transform:translateY(-2px);}
#forminator-module-1263 .forminator-description,#forminator-module-1263 .forminator-fieldset legend,#forminator-module-1263 .forminator-field span{color:#a7ada4!important;}
/* TG: Forminator upload fix */
#forminator-module-1263 .forminator-field-upload{background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;}
#forminator-module-1263 .forminator-file-upload{background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:13px!important;display:flex!important;align-items:center!important;gap:10px;min-height:51px!important;padding:0 12px!important;box-sizing:border-box!important;margin:0!important;}
#forminator-module-1263 input.forminator-input-file{color:#a7ada4!important;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;height:auto!important;line-height:normal!important;}
#forminator-module-1263 input.forminator-input-file::file-selector-button{background:rgba(194,161,107,.16)!important;color:#C2A16B!important;border:1px solid rgba(194,161,107,.5)!important;border-radius:9px!important;padding:8px 14px!important;font-family:'Oswald',sans-serif!important;text-transform:uppercase!important;letter-spacing:.04em!important;cursor:pointer;margin-right:10px;}
#forminator-module-1263 input.forminator-input-file::-webkit-file-upload-button{background:rgba(194,161,107,.16)!important;color:#C2A16B!important;border:1px solid rgba(194,161,107,.5)!important;border-radius:9px!important;padding:8px 14px!important;font-family:'Oswald',sans-serif!important;text-transform:uppercase!important;letter-spacing:.04em!important;cursor:pointer;margin-right:10px;}
/* TG: Forminator tweaks 2 */
#forminator-module-1263 input.forminator-input,#forminator-module-1263 textarea.forminator-textarea,#forminator-module-1263 select,#forminator-module-1263 .select2-selection__rendered{font-size:var(--e-global-typography-text-font-size,16px)!important;font-family:var(--e-global-typography-text-font-family,'Source Sans Pro'),'Source Sans 3',sans-serif!important;}
#forminator-module-1263 input.forminator-input,#forminator-module-1263 select{height:54px!important;padding:0 16px!important;}
#forminator-module-1263 .forminator-file-upload{min-height:54px!important;height:54px!important;padding:0 12px!important;}
#forminator-module-1263 .forminator-consent__label,#forminator-module-1263 .forminator-checkbox__label{color:#ffffff!important;text-transform:none!important;letter-spacing:normal!important;font-weight:400!important;font-family:var(--e-global-typography-text-font-family,'Source Sans Pro'),'Source Sans 3',sans-serif!important;font-size:var(--e-global-typography-text-font-size,16px)!important;}
/* TG: anchor scroll */
html{scroll-behavior:smooth;}
#path{scroll-margin-top:90px;}

/* TG: about quote cards mobile */
@media(max-width:1024px){#about-mq, .elementor-element-1c1f611, .elementor-element-506f8cc{width:100% !important;max-width:100% !important;margin-left:0 !important;margin-right:0 !important;box-sizing:border-box !important;}}

/* TG: keep industry marquee below the transparent header */
.elementor-element-e19a920{margin-top:60px;}
@media(max-width:1024px){.elementor-element-e19a920{margin-top:64px;}}
@media(max-width:767px){.elementor-element-e19a920{margin-top:66px;}}

/* Contact submit button green */
.wpforms-container button.wpforms-submit{background-color:#65995D !important;border-color:#65995D !important;color:#ffffff !important;}
.wpforms-container button.wpforms-submit:hover{background-color:#557F4F !important;border-color:#557F4F !important;}

/* TG: About page polish */
.page-id-940 .elementor-element-1c1f611, .page-id-940 .elementor-element-506f8cc{background:rgba(24,27,24,.6)!important;border:1px solid rgba(255,255,255,.08);border-radius:16px;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.page-id-940 .elementor-element-1c1f611:hover, .page-id-940 .elementor-element-506f8cc:hover{transform:translateY(-4px);border-color:rgba(101,153,93,.4);box-shadow:0 18px 40px rgba(0,0,0,.4);}
.page-id-940 .elementskit-infobox{background:rgba(24,27,24,.6)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:16px!important;padding:26px!important;height:100%;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.page-id-940 .elementskit-infobox:hover{transform:translateY(-4px);border-color:rgba(101,153,93,.4)!important;box-shadow:0 18px 40px rgba(0,0,0,.4);}
