.elementor-kit-30{--e-global-color-primary:#15171C;--e-global-color-secondary:#5B5E66;--e-global-color-text:#5B5E66;--e-global-color-accent:#C77B3B;--e-global-color-jbg:#FAFAF7;--e-global-color-jbgalt:#F1EEE7;--e-global-color-jink:#15171C;--e-global-color-jinksoft:#5B5E66;--e-global-color-jline:#E4E1DA;--e-global-color-jaccent:#C77B3B;--e-global-color-jdarksoft:#1E2128;--e-global-color-jwhite:#FFFFFF;--e-global-typography-primary-font-family:"Space Grotesk";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:none;--e-global-typography-secondary-font-family:"Space Grotesk";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:none;--e-global-typography-text-font-family:"Work Sans";--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Work Sans";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:none;background-color:#FAFAF7;color:#5B5E66;font-family:"Work Sans", Sans-serif;font-weight:400;}.elementor-kit-30 e-page-transition{background-color:#FFBC7D;}.elementor-kit-30 a{color:#C77B3B;}.elementor-kit-30 a:hover{color:#15171C;}.elementor-kit-30 h1{color:#15171C;font-family:"Space Grotesk", Sans-serif;font-weight:700;text-transform:none;}.elementor-kit-30 h2{color:#15171C;font-family:"Space Grotesk", Sans-serif;font-weight:600;text-transform:none;}.elementor-kit-30 h3{color:#15171C;font-family:"Space Grotesk", Sans-serif;font-weight:600;text-transform:none;}.elementor-kit-30 h4{color:#15171C;font-family:"Space Grotesk", Sans-serif;font-weight:600;text-transform:none;}.elementor-kit-30 h5{color:#15171C;font-family:"Space Grotesk", Sans-serif;font-weight:600;text-transform:none;}.elementor-kit-30 h6{color:#15171C;font-family:"Space Grotesk", Sans-serif;font-weight:600;text-transform:none;}.elementor-kit-30 button,.elementor-kit-30 input[type="button"],.elementor-kit-30 input[type="submit"],.elementor-kit-30 .elementor-button{border-radius:8px 8px 8px 8px;padding:14px 28px 14px 28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --bg:#FAFAF7; --bg-alt:#F1EEE7; --ink:#15171C; --ink-soft:#5B5E66; --line:#E4E1DA; --accent:#C77B3B; --dark:#15171C; --dark-soft:#1E2128; --white:#FFFFFF; --visual-a:#242730; --visual-b:#1B1E24; --on-dark-strong:rgba(255,255,255,0.72); --on-dark-muted:rgba(255,255,255,0.65); --on-dark-subtle:rgba(255,255,255,0.6); --on-dark-faint:rgba(255,255,255,0.55); --on-dark-border:rgba(255,255,255,0.35); --on-dark-border-soft:rgba(255,255,255,0.12); --on-dark-surface:rgba(255,255,255,0.05); --scrim:rgba(0,0,0,0.35); --font-heading:Space Grotesk; --font-body:Work Sans; --container-max:1200px; --radius-sm:6px; --radius-md:8px; --radius-lg:10px; --radius-xl:12px; --radius-pill:20px; --gutter:80px; --gutter-tablet:40px; --gutter-mobile:20px; --radius-icon:9px; --on-dark-lead:rgba(255,255,255,0.7); }
/* Start custom CSS *//* JACT — Fluent Forms styled to the site design system */
.fluentform .frm-fluent-form {
	font-family: var(--font-body), sans-serif;
}
.fluentform .ff-el-group {
	margin-bottom: 18px;
}
.fluentform .ff-el-input--label label {
	font-family: var(--font-body), sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--ink);
	margin-bottom: 6px;
}
.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label:after {
	color: var(--accent);
}
.fluentform .ff-el-form-control {
	font-family: var(--font-body), sans-serif;
	font-size: 15px;
	color: var(--ink);
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius-md);
	padding: 11px 14px;
	min-height: 44px;
	box-shadow: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.fluentform textarea.ff-el-form-control {
	min-height: 110px;
	padding-top: 12px;
}
.fluentform .ff-el-form-control::placeholder {
	color: var(--ink-soft);
	opacity: 1;
}
.fluentform .ff-el-form-control:focus {
	border-color: var(--accent);
	box-shadow: 0 0 0 3px rgba(199, 123, 59, 0.18);
	outline: none;
}
.fluentform select.ff-el-form-control {
	appearance: none;
	-webkit-appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--ink-soft) 50%), linear-gradient(135deg, var(--ink-soft) 50%, transparent 50%);
	background-position: calc(100% - 19px) calc(50% + 2px), calc(100% - 14px) calc(50% + 2px);
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	padding-right: 38px;
}
.fluentform .ff-el-form-bottom .ff-btn-submit,
.fluentform .ff-btn.ff-btn-submit {
	font-family: var(--font-body), sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--white);
	background: var(--accent);
	border: none;
	border-radius: var(--radius-md);
	padding: 14px 28px;
	cursor: pointer;
	transition: opacity .15s ease;
}
.fluentform .ff-btn.ff-btn-submit:hover {
	opacity: .88;
}
.fluentform .ff-el-is-error .ff-el-form-control {
	border-color: #B3391F;
}
.fluentform .error.text-danger,
.fluentform .ff-el-is-error .text-danger {
	font-size: 13px;
	color: #B3391F;
	margin-top: 5px;
}
.fluentform .ff-message-success {
	font-family: var(--font-body), sans-serif;
	font-size: 15px;
	line-height: 1.6;
	color: var(--ink);
	background: var(--bg-alt);
	border: 1px solid var(--line);
	border-left: 3px solid var(--accent);
	border-radius: var(--radius-md);
	padding: 18px 20px;
}

/* ===== JACT-CHROME-START (header + footer chrome) ===== */
.elementor-location-header{position:sticky;top:0;z-index:100;}
.hdr{border-block-end:1px solid var(--line);transition:background-color .2s ease,border-color .2s ease;}
.hdr-brand{position:relative;}
.hdr-brand .hdr-logo::after{content:"";position:absolute;inset:0;}
.hdr-logo:hover,.hdr-cta:hover{opacity:.88;}
.hdr .elementor-nav-menu--main .elementor-item{transition:color .15s ease;}
.hdr .elementor-nav-menu--main .elementor-item:focus-visible,.hdr .hdr-logo:focus-visible,.hdr .hdr-cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}
.hdr .elementor-nav-menu--dropdown{box-shadow:0 12px 32px rgba(21,23,28,.10);}

/* overlay header on dark-hero pages */
body.page-id-134 .elementor-location-header,
body.page-id-196 .elementor-location-header,
body.page-id-181 .elementor-location-header,
body.page-id-198 .elementor-location-header{position:fixed;top:0;left:0;right:0;}
.hdr-ovl{background-color:transparent!important;background-image:none!important;}
.hdr-ovl{border-block-end:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.hdr-ovl .hdr-logo{color:var(--white);}
.hdr-ovl .elementor-nav-menu--main .elementor-item{color:rgba(255,255,255,.85);}
.hdr-ovl .elementor-nav-menu--main .elementor-item:hover,.hdr-ovl .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--white);}
.hdr-ovl .elementor-menu-toggle{color:var(--white);}
.hdr-ovl .elementor-menu-toggle svg{fill:var(--white);}
.hdr-ovl.is-stuck{background:var(--white)!important;border-block-end-color:var(--line);box-shadow:0 1px 3px rgba(21,23,28,.06);}
.hdr-ovl.is-stuck .hdr-logo{color:var(--ink);}
.hdr-ovl.is-stuck .elementor-nav-menu--main .elementor-item{color:#3D4048;}
.hdr-ovl.is-stuck .elementor-nav-menu--main .elementor-item:hover,.hdr-ovl.is-stuck .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--ink);}
.hdr-ovl.is-stuck .elementor-menu-toggle{color:var(--ink);}
.hdr-ovl.is-stuck .elementor-menu-toggle svg{fill:var(--ink);}

/* hero clearance under the fixed overlay header */
body.page-id-134 [data-elementor-type="wp-page"]>.sec:first-child>*,
body.page-id-196 [data-elementor-type="wp-page"]>.sec:first-child>*,
body.page-id-181 [data-elementor-type="wp-page"]>.sec:first-child>*,
body.page-id-198 [data-elementor-type="wp-page"]>.sec:first-child>*{padding-block-start:148px;}
@media(max-width:1024px){
body.page-id-134 [data-elementor-type="wp-page"]>.sec:first-child>*,
body.page-id-196 [data-elementor-type="wp-page"]>.sec:first-child>*,
body.page-id-181 [data-elementor-type="wp-page"]>.sec:first-child>*,
body.page-id-198 [data-elementor-type="wp-page"]>.sec:first-child>*{padding-block-start:126px;}
}
@media(max-width:767px){
body.page-id-134 [data-elementor-type="wp-page"]>.sec:first-child>*,
body.page-id-196 [data-elementor-type="wp-page"]>.sec:first-child>*,
body.page-id-181 [data-elementor-type="wp-page"]>.sec:first-child>*,
body.page-id-198 [data-elementor-type="wp-page"]>.sec:first-child>*{padding-block-start:104px;}
}

/* mobile header: CTA then burger on the right */
@media(max-width:767px){
 .hdr-inner{justify-content:flex-start;gap:10px;}
 .hdr-brand{margin-inline-end:auto;}
 .hdr-right{order:2;}
 .hdr-nav{order:3;}
}

/* footer link states */
.ft-link,.ft-legal-link,.ft-logo{transition:color .15s ease;}
.ft-link:hover,.ft-legal-link:hover,.ft-logo:hover{color:var(--white);}
.ft-link:focus-visible,.ft-legal-link:focus-visible,.ft-logo:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px;}

/* overlay + stuck colour overrides (beat per-widget rules) */
.hdr-ovl .hdr-logo{color:#FFFFFF!important;}
.hdr-ovl .elementor-nav-menu--main .elementor-item{color:rgba(255,255,255,.85)!important;}
.hdr-ovl .elementor-nav-menu--main .elementor-item:hover,.hdr-ovl .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#FFFFFF!important;}
.hdr-ovl .elementor-menu-toggle{color:#FFFFFF!important;}
.hdr-ovl .elementor-menu-toggle svg,.hdr-ovl .elementor-menu-toggle i{color:#FFFFFF!important;fill:#FFFFFF!important;}
.hdr-ovl.is-stuck .hdr-logo{color:#15171C!important;}
.hdr-ovl.is-stuck .elementor-nav-menu--main .elementor-item{color:#3D4048!important;}
.hdr-ovl.is-stuck .elementor-nav-menu--main .elementor-item:hover,.hdr-ovl.is-stuck .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#15171C!important;}
.hdr-ovl.is-stuck .elementor-menu-toggle{color:#15171C!important;}
.hdr-ovl.is-stuck .elementor-menu-toggle svg,.hdr-ovl.is-stuck .elementor-menu-toggle i{color:#15171C!important;fill:#15171C!important;}
/* ===== JACT-CHROME-END ===== */

/* ===== JACT-HOLD-START (coming-soon page) ===== */
body.elementor-maintenance-mode .elementor-location-header,
body.elementor-maintenance-mode .elementor-location-footer{display:none!important;}
body.elementor-maintenance-mode .entry-title,
body.elementor-maintenance-mode .entry-header,
body.elementor-maintenance-mode .page-header,
body.elementor-maintenance-mode .site-header,
body.elementor-maintenance-mode .site-footer{display:none!important;}
body.elementor-maintenance-mode{background:var(--dark);margin:0;}
body.elementor-maintenance-mode .site-main,
body.elementor-maintenance-mode main,
body.elementor-maintenance-mode .page-content{margin:0!important;padding:0!important;max-width:none!important;}
.hold-ghost:hover{border-color:rgba(255,255,255,.6)!important;}
.hold-logo:hover{opacity:.9;}
/* ===== JACT-HOLD-END ===== */
/* JACT-CONSENT-START */
.jact-form .jact-consent .ff-el-form-check-label{font-size:15px;line-height:1.45;color:var(--ink)}
.jact-form .jact-consent .ff-el-form-check{margin-bottom:8px}
.jact-form .jact-consent-terms{font-size:13px;line-height:1.5;color:var(--ink);opacity:.72;margin:0 0 18px}
.jact-form .jact-consent-terms a{color:var(--accent);text-decoration:underline}
/* JACT-CONSENT-END */

/* JACT-LEGAL-START */
.page-id-233 .stack-narrow,.page-id-234 .stack-narrow{gap:14px;}
.page-id-233 .stack-narrow .h2-sm,.page-id-234 .stack-narrow .h2-sm{margin-top:26px;}
.page-id-233 .stack-narrow a,.page-id-234 .stack-narrow a{color:var(--accent);text-decoration:underline;}
/* JACT-LEGAL-END */

/* ===== JACT-LOGO-START (brand logo images) ===== */
.hdr-mark,.ft-mark,.hold-mark{display:none!important;}
.hdr-logo,.ft-logo,.hold-logo{display:block!important;background:url(https://jactictservices.com/wp-content/uploads/2026/09/jact-logo.png) left center/contain no-repeat!important;font-size:0!important;line-height:0!important;color:transparent!important;overflow:hidden;padding:0!important;}
.hdr-logo{width:154px;height:44px;}
.hdr-ovl .hdr-logo,.ft-logo,.hold-logo{background-image:url(https://jactictservices.com/wp-content/uploads/2026/09/jact-logo-white.png)!important;}
.hdr-ovl.is-stuck .hdr-logo{background-image:url(https://jactictservices.com/wp-content/uploads/2026/09/jact-logo.png)!important;}
.ft-logo{width:168px;height:48px;}
.hold-logo{width:224px;height:64px;}
@media(max-width:767px){.hdr-logo{width:126px;height:36px;}}
/* ===== JACT-LOGO-END ===== */

/* JACT-PLACEHOLDER-START (remove when real visuals land) */
.visual-label,.visual-label-light{display:none!important;}
/* JACT-PLACEHOLDER-END */

/* JACT-VISUALS-START */
.visual > img, .visual-light > img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-xl);display:block;}
/* g-visual / g-visual-light give the box a fixed placeholder height (240px, 160px on
   mobile) from a two-class .elementor-kit-30 in the global-class sheet, which loads after this
   one. Any box that now holds a real image has to size to its content instead, so these
   overrides need the doubled class AND !important - without them the image keeps the
   box at 160px, overflows it in both directions and lands on the surrounding text. */
.elementor-element-e92a444.elementor-element-e92a444,
.elementor-element-5db12ad.elementor-element-5db12ad{height:auto!important;background-color:transparent!important;}
.elementor-element-e92a444 > img, .elementor-element-5db12ad > img{height:auto!important;object-fit:contain!important;}
/* About founder portrait + caption */
.elementor-element-60de4ca.elementor-element-60de4ca{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px;height:auto!important;max-width:340px;flex:0 0 auto;background-color:transparent!important;}
.elementor-element-60de4ca > img{width:100%;height:auto!important;aspect-ratio:4/5;object-fit:cover;object-position:50% 10%;}
@media (max-width:767px){
  .elementor-element-60de4ca.elementor-element-60de4ca{max-width:280px;}
}
/* JACT-VISUALS-END */

/* JACT-HERO-START */
/* Home hero: full-bleed banner. Atomic WIDGETS carry no .elementor-element-<id> class,
   so widgets are targeted with [data-id]; containers keep the class. Doubled class
   .elementor-kit-30s raise specificity above the g-* global class sheet, which loads later. */
.elementor-element-695c112.elementor-element-695c112{max-width:none!important;padding:0!important;padding-top:81px!important;flex-direction:column!important;gap:0!important;align-items:stretch!important;}
/* clear the overlay header so it sits on dark, not on the banner artwork */
@media (max-width:1024px){.elementor-element-695c112.elementor-element-695c112{padding-top:77px!important;}}
@media (max-width:767px){.elementor-element-695c112.elementor-element-695c112{padding-top:61px!important;}}
.elementor-element-695c112 > a{display:block;width:100%;line-height:0;}
.elementor-element-695c112 > img, .elementor-element-695c112 > a > img{width:100%!important;height:auto!important;display:block!important;max-width:none!important;}
/* the real headline stays in the page for search engines and screen readers */
@media (min-width:768px){
[data-id="eea48bc"]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
}
/* phones: the banner's baked-in text is unreadable at this width, so the real headline,
   subhead and buttons come first and the banner follows (Oct 2026 analytics checklist) */
@media (max-width:767px){
  .elementor-element-695c112 > img, .elementor-element-695c112 > a{order:2;}
  [data-id="eea48bc"]{color:#fff;font-size:34px!important;line-height:1.15!important;margin:0 0 14px!important;}
}
.elementor-element-f575d1f.elementor-element-f575d1f{padding:0!important;flex:0 0 auto!important;width:100%!important;}
@media (min-width:768px){
  [data-id="d689ac9"], .elementor-element-2b35a51{display:none!important;}
}
@media (max-width:767px){
  .elementor-element-f575d1f.elementor-element-f575d1f{padding:30px var(--gutter-mobile) 40px!important;}
}
/* Services: text-only service blocks */
.elementor-element-d99ea6b.elementor-element-d99ea6b,
.elementor-element-016fd23.elementor-element-016fd23,
.elementor-element-6a22bd4.elementor-element-6a22bd4{max-width:780px!important;}
/* About founder caption (widget, so it needs the attribute .elementor-kit-30) */
[data-id="a1b2c34"]{font-size:14px;font-weight:500;color:var(--ink-soft);}
/* JACT-HERO-END */

/* JACT-PORTRAIT-START */
/* .contact-info-col is a flex row by default; stack the card, portrait and caption */
.elementor-element-50b3906.elementor-element-50b3906{flex-direction:column!important;align-items:stretch!important;gap:22px!important;}
.elementor-element-50b3906 > img{width:100%!important;max-width:300px!important;height:auto!important;display:block!important;border-radius:var(--radius-xl)!important;}
[data-id="c3d4e51"]{max-width:300px;font-size:14px;line-height:1.55;color:var(--ink-soft);margin-top:-8px;}
/* JACT-PORTRAIT-END */

/* JACT-FORM-START */
/* the submit button is the money button: make it the brand button */
.fluentform .ff-btn-submit{background-color:var(--accent)!important;color:var(--white)!important;font-family:var(--font-body)!important;font-weight:600!important;border:0!important;border-radius:var(--radius-md)!important;padding:14px 26px!important;font-size:15px!important;letter-spacing:0!important;transition:filter .15s ease;}
.fluentform .ff-btn-submit:hover{filter:brightness(1.08);}
.fluentform .ff-el-form-control:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px rgba(199,123,59,.18)!important;}
.fluentform .ff-el-is-error .ff-el-form-control{border-color:#b4472f!important;}
/* JACT-FORM-END */

/* JACT-CAPABILITIES-START */
/* the chips sit on a --bg-alt section, so give them the paper background instead */
.elementor-element-d4e5f61 > p{background-color:var(--bg)!important;}
[data-id="d4e5f60"]{max-width:760px;}
/* JACT-CAPABILITIES-END */

/* JACT-EXPERIENCE-START */
/* About > Experience: the credential chip row became a stacked list of capability
   statements. g-chip-row is a wrapping row, so the column layout needs !important to
   beat the global-class sheet (same trap as JACT-VISUALS). */
.elementor-element-9c8273b.elementor-element-9c8273b{flex-direction:column!important;gap:22px!important;}
.elementor-element-9c8273b strong{color:var(--ink);font-weight:600;}
/* JACT-EXPERIENCE-END */

/* JACT-TEL-START */
/* The contact-card phone is a tel: link. At 13px the hit area is ~18px tall, well under
   the ~44px minimum for a thumb, so pad it out and pull the padding back off with a
   matching negative margin - the hit area grows, the card spacing does not move. */
.info-line a{display:inline-block;padding-block:13px;margin-block:-13px;text-decoration:none;}
.info-line a:hover,.info-line a:focus-visible{text-decoration:underline;}
/* JACT-TEL-END */

/* JACT-CRED-START - Credibility section is text-only since the cert chips were removed (2026-09-24); keep the line length readable */
.elementor .cred-body{max-width:720px !important}
/* JACT-CRED-END */

/* JACT-HDRCALL-START */
/* phones: tap-to-call replaces Let's Talk in both headers (the hero repeats Let's Talk right below) */
[data-id="c4a11e1"],[data-id="c4a11e2"]{display:none!important;}
@media (max-width:767px){
  [data-id="c4a11e1"],[data-id="c4a11e2"]{display:inline-flex!important;}
  [data-id="292d827"],[data-id="20f3dbe"]{display:none!important;}
}
/* JACT-HDRCALL-END *//* End custom CSS */