/* tm-groups-0aa41df2: built by TM Core (theme/page-blocks.php) from 3 files */

/* tm-global.css */
/*
 * TM CSS - global
 * Generated 2026-09-03 from the inline <style> blocks that site-wide
 * snippets were echoing into wp_head on every page. Loaded by tm-css-router.
 * Blocks keep their original document order, so the cascade is unchanged.
 */

/* ---- tm-global-fixes ---- */
/* TM Global fixes  [merged 2026-07-01: 3688 + 3889] */

/* Atomic container overflow fix (3688) */
/* Site-wide responsive fix.
   Elementor v4 "atomic" containers (.e-con) were rendering with a hard-coded
   width:1200px and no max-width, so on any screen narrower than 1200px (tablet
   and mobile) they could not shrink and spilled off the sides of the page.
   Capping them to the available width lets them shrink responsively.
   No effect on desktop, where they already fit within 1200px. */
.e-con, .e-con-full { max-width: 100% !important; }

/* Hide page titles (3889) */
/* Never show the theme page title on any WordPress Page */
body.page h1.entry-title,
body.page .page-header h1.entry-title,
body.page .elementor-page-title,
body.page header.page-header{ display:none !important; }

/* ---- tm-account-auth-css (header sections) ---- */
/* ===== Header account menu (3872) ===== */
.tm-acct{ position:relative; display:inline-flex; align-items:center; }
.tm-acct-trigger{ display:inline-flex; align-items:center; gap:8px; color:#283071; font-weight:600; text-decoration:none; padding:8px 12px; border-radius:8px; line-height:1; cursor:pointer; transition:transform .15s ease, color .15s ease, background .15s ease; }
.tm-acct-name{ font-size:15px; white-space:nowrap; }
.tm-acct-trigger:hover, .tm-acct-trigger:focus-visible{ color:#F57B20; transform:translateY(-2px); background:rgba(40,48,113,.06); }

/* Menu button — matching hover */
.elementor-element-313916bc .elementor-widget-button .elementor-button{ transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.elementor-element-313916bc .elementor-widget-button .elementor-button:hover{ transform:translateY(-2px); box-shadow:0 6px 16px rgba(40,48,113,.28); }

/* position account widget on the right, next to Menu */
.elementor-element-313916bc .elementor-element-a19ba31{ margin-left:auto; align-self:center; display:flex; align-items:center; }

/* don't clip the dropdown */
.elementor-element-313916bc, .elementor-element-313916bc > .e-con-inner{ overflow:visible; }

/* ===== Dropdown (header bar) ===== */
.tm-acct-menu{ position:absolute; top:calc(100% + 10px); right:0; min-width:195px; margin:0; padding:6px; list-style:none; background:#fff; border:1px solid #e1e4ed; border-radius:12px; box-shadow:0 14px 34px rgba(27,33,80,.16); opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .15s ease, transform .15s ease, visibility .15s; z-index:9999; }
.tm-acct--in:hover .tm-acct-menu, .tm-acct--in:focus-within .tm-acct-menu, .tm-acct--in.is-open .tm-acct-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.tm-acct-menu li{ margin:0; }
.tm-acct-menu li a{ display:block; padding:10px 14px; border-radius:8px; color:#283071; font-weight:600; font-size:14px; text-decoration:none; transition:background .12s ease, color .12s ease; }
.tm-acct-menu li a:hover{ background:#f4f5f8; color:#F57B20; }
.tm-acct-menu .tm-acct-logout{ color:#d33a3a; }
.tm-acct-menu .tm-acct-logout:hover{ background:#fbeaea; }

/* ===== Mobile: hide the name in the header bar ===== */
@media (max-width:767px){
  .elementor-element-a19ba31 .tm-acct-name{ display:none; }
  .elementor-element-a19ba31 .tm-acct-trigger{ padding:8px; }
}

/* ===== Inside the slide-out Menu panel: static stacked list ===== */
.elementor-element-601d08c .tm-acct{ display:block; width:100%; }
.elementor-element-601d08c .tm-acct-trigger{ padding:8px 0; color:#283071; transform:none; background:none; pointer-events:none; }
.elementor-element-601d08c .tm-acct-name{ display:inline; font-size:18px; }
.elementor-element-601d08c .tm-acct-menu, .tmb-panel .tm-acct-menu{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; padding:0; min-width:0; margin-top:2px; }
.elementor-element-601d08c .tm-acct-menu li a, .tmb-panel .tm-acct-menu li a{ padding:9px 0; font-size:15px; }
.elementor-element-601d08c .tm-acct-menu li a:hover, .tmb-panel .tm-acct-menu li a:hover{ background:none; color:#F57B20; }
.elementor-element-601d08c .tm-acct--out{ pointer-events:auto; }

/* ---- tm-popup-1330-css ---- */
/* Modal shell */
#elementor-popup-modal-1330 .dialog-widget-content{background:#fff!important;border-radius:20px!important}
#elementor-popup-modal-1330 .dialog-close-button{color:#283071;opacity:.5;transition:opacity .15s ease}
#elementor-popup-modal-1330 .dialog-close-button:hover{opacity:1}
#elementor-popup-modal-1330 .dialog-close-button svg{width:15px;height:15px;fill:#283071}

/* Inner padding */
.elementor-1330 .elementor-element-68abece{padding:36px 38px 32px!important}

/* Product name -> orange eyebrow */
.elementor-1330 .elementor-element-4bcfb8b .elementor-heading-title{font-family:Poppins,sans-serif!important;font-size:13px!important;font-weight:700!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:#C85A0E!important;line-height:1.4!important;margin:0 0 5px!important}

/* "Let's Get Started!" -> navy headline */
.elementor-1330 .elementor-element-02854f2 .elementor-heading-title{font-family:Poppins,sans-serif!important;font-size:28px!important;font-weight:700!important;color:#283071!important;line-height:1.14!important;letter-spacing:-.01em!important;margin:0 0 16px!important}

/* Form labels */
.elementor-1330 .elementor-element-60b88d6 .elementor-field-group>label{font-family:Poppins,sans-serif!important;font-weight:600!important;color:#283071!important;font-size:14px!important;margin-bottom:6px!important}

/* Fields */
.elementor-1330 .elementor-element-60b88d6 .elementor-field:not(.elementor-select-wrapper),
.elementor-1330 .elementor-element-60b88d6 textarea.elementor-field{background:#f4f5f8!important;border:1.5px solid #e1e4ed!important;border-radius:10px!important;padding:12px 14px!important;font-size:15px!important;font-family:Poppins,sans-serif!important;color:#283071!important;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.elementor-1330 .elementor-element-60b88d6 .elementor-field:not(.elementor-select-wrapper):focus,
.elementor-1330 .elementor-element-60b88d6 textarea.elementor-field:focus{border-color:#F57B20!important;background:#fff!important;box-shadow:0 0 0 3px rgba(245,123,32,.12)!important;outline:none!important}
.elementor-1330 .elementor-element-60b88d6 textarea.elementor-field{min-height:96px}

/* Submit -> orange, full width, brand 8px corners */
.elementor-1330 .elementor-element-60b88d6 .elementor-button[type="submit"]{background:#F57B20!important;color:#fff!important;border-radius:8px!important;padding:14px 30px!important;font-family:Poppins,sans-serif!important;font-weight:600!important;font-size:15px!important;letter-spacing:.2px!important;width:100%!important;justify-content:center!important;transition:background .18s ease,transform .18s ease}
.elementor-1330 .elementor-element-60b88d6 .elementor-button[type="submit"]:hover{background:#283071!important;transform:translateY(-1px)}

@media(max-width:600px){
  .elementor-1330 .elementor-element-68abece{padding:28px 22px 24px!important}
  .elementor-1330 .elementor-element-02854f2 .elementor-heading-title{font-size:24px!important}
}

/* ---- anon-3 removed 2026-10-05 ----
   Was Elementor's background lazy-load CSS (copied from its inline styles):
   it blanks background images from the 4th section down until Elementor's
   script adds .e-lazyloaded. With Elementor gone that never happens, so every
   later gradient/image vanished (homepage Sample Work and closing CTA). */

/* ---- tm-mobile-header-fixes ---- */
@media (max-width:1024px){
  .elementor-2491 .elementor-element-a19ba31,
  .elementor-2491 .elementor-sticky .elementor-element-a19ba31,
  .elementor-2491 .elementor-sticky__spacer .elementor-element-a19ba31{
    display:inline-flex !important;
  }
  .elementor-element-a19ba31 .tm-acct-name{ display:none !important; }
  .elementor-element-a19ba31 .tm-acct-menu{
    display:none !important;
    pointer-events:none !important;
  }
}
@media (max-width:1024px){
  .elementor-element-2d5fa15c .elementor-element-4b9be595 nav.elementor-nav-menu--main,
  .elementor-element-2d5fa15c .elementor-element-4b9be595 ul.elementor-nav-menu,
  .elementor-element-2d5fa15c .elementor-element-4b9be595 ul.elementor-nav-menu > li{
    display:block !important;
  }
  .elementor-element-2d5fa15c .elementor-element-287257ba nav.elementor-nav-menu--main,
  .elementor-element-2d5fa15c .elementor-element-287257ba ul.elementor-nav-menu,
  .elementor-element-2d5fa15c .elementor-element-287257ba ul.elementor-nav-menu > li{
    display:block !important;
  }
}

/* ---- tm-offcanvas-polish ---- */
.elementor-element-2d5fa15c .elementor-element-5a44ab6c{
  padding-left:20px !important;
  padding-right:20px !important;
}

.elementor-element-2d5fa15c .elementor-element-4fb743c,
.elementor-element-2d5fa15c .elementor-element-09e9dd2{
  align-self:center !important;
  width:auto !important;
  max-width:100% !important;
}
.elementor-element-2d5fa15c .elementor-element-4fb743c .elementor-button,
.elementor-element-2d5fa15c .elementor-element-09e9dd2 .elementor-button{
  width:auto !important;
  min-width:270px !important;
  max-width:100% !important;
  padding-left:24px !important;
  padding-right:24px !important;
  text-align:center !important;
  justify-content:center !important;
}
.elementor-element-2d5fa15c .elementor-element-09e9dd2{
  margin-top:-6px !important;
}

.elementor-element-2d5fa15c .elementor-element-4b9be595 .elementor-nav-menu--main .sub-menu{
  display:block !important;
  position:static !important;
  visibility:inherit !important;
  opacity:1 !important;
  transform:none !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:2px 0 6px !important;
  padding:0 0 0 14px !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}
.elementor-element-2d5fa15c .elementor-element-4b9be595 .elementor-nav-menu--main .sub-menu .elementor-sub-item{
  display:block !important;
  padding:9px 12px 9px 16px !important;
  border-radius:8px !important;
  font-size:15px !important;
  font-weight:500 !important;
  color:#FFFFFF !important;
  opacity:.82 !important;
}
.elementor-element-2d5fa15c .elementor-element-4b9be595 .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover{
  opacity:1 !important;
  color:#F57B20 !important;
  background:rgba(255,255,255,.05) !important;
}

.elementor-element-2d5fa15c .elementor-element-4b9be595 .elementor-nav-menu--main .sub-arrow,
.elementor-element-2d5fa15c .elementor-element-4b9be595 .elementor-nav-menu--main .elementor-item .sub-arrow{
  display:none !important;
}

/* ---- tm-acct-ico-mask ---- */
.tm-acct-trigger .tm-acct-ico{display:none !important;}.tm-acct-trigger::after{content:"" !important;display:inline-block !important;width:28px !important;height:28px !important;margin-left:8px !important;vertical-align:middle !important;background-color:#283071 !important;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27%23283071%27%20stroke-width=%272%27%3E%3Ccircle%20cx=%2712%27%20cy=%2712%27%20r=%279%27/%3E%3Ccircle%20cx=%2712%27%20cy=%2710%27%20r=%273%27/%3E%3Cpath%20d=%27M6.2%2018.8a4%204%200%200%201%203.8-2.8h4a4%204%200%200%201%203.8%202.8%27/%3E%3C/svg%3E") center / contain no-repeat !important;mask:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27%23283071%27%20stroke-width=%272%27%3E%3Ccircle%20cx=%2712%27%20cy=%2712%27%20r=%279%27/%3E%3Ccircle%20cx=%2712%27%20cy=%2710%27%20r=%273%27/%3E%3Cpath%20d=%27M6.2%2018.8a4%204%200%200%201%203.8-2.8h4a4%204%200%200%201%203.8%202.8%27/%3E%3C/svg%3E") center / contain no-repeat !important;}.tm-acct-trigger:hover::after,.tm-acct-trigger:focus-visible::after{background-color:#F57B20 !important;}.e-off-canvas .tm-acct-trigger::after{background-color:#ffffff !important;}.e-off-canvas .tm-acct-trigger:hover::after,.e-off-canvas .tm-acct-trigger:focus-visible::after{background-color:#ffffff !important;}

/* ---- tm-art-css ---- */
.tm-art-raw{display:block;margin:0 auto;width:100%;height:auto;}.tm-art{display:block;margin:0 auto;width:100%;}@media (max-width:767px){.tm-art-raw,.tm-art{max-width:50% !important;width:50% !important;}.e-con-inner > .e-con:has(.tm-art-raw),.e-con-inner > .e-con:has(.tm-art),.e-con > .e-con:has(.tm-art-raw),.e-con > .e-con:has(.tm-art){order:-1 !important;}.elementor-widget:has(.tm-art-raw),.elementor-widget:has(.tm-art){order:-1 !important;}}

/* ---- tm-footer-css ---- */
.elementor-element-7ac3a44{background:#ffffff;border-top:1px solid #E1E4ED;padding:64px 24px 0;}
.elementor-element-a29ced3{text-align:center;margin-bottom:40px;}
.elementor-element-a29ced3 .elementor-widget-container{text-align:center;}
.elementor-element-a29ced3 img{display:inline-block;}
.elementor-element-1384e81{max-width:1200px;margin:0 auto;padding-bottom:48px;}
.elementor-element-1384e81 > .e-con-inner{max-width:1200px;}
.elementor-element-1384e81 .e-706aadc-3a27085{display:flex;flex-direction:row;gap:40px;align-items:flex-start;width:100%;}
.e-706aadc-3a27085 .elementor-element-d888294{order:1;flex:2 1 0;min-width:0;display:flex;flex-direction:row;gap:40px;}
.e-706aadc-3a27085 .elementor-element-3b5f952{order:2;flex:1 1 0;min-width:0;align-items:flex-start;}
.elementor-element-d888294 .elementor-element-6550b98{flex:1 1 0;min-width:0;}
.elementor-element-d888294 .elementor-element-0831f3f{flex:1 1 0;min-width:0;}
.elementor-element-3b5f952 .elementor-widget-heading,.elementor-element-3b5f952 .elementor-widget-text-editor{text-align:left;}
.elementor-element-171f719 p,.elementor-element-28e202c p{margin:0;padding-top:12px;}
.elementor-element-28e202c a{color:#283071;text-decoration:none;}
.elementor-element-28e202c a:hover{color:#F57B20;}
.elementor-element-0cfac96{display:flex;flex-direction:row;justify-content:flex-start;gap:10px;}
.elementor-element-0cfac96 .elementor-icon{width:38px !important;height:38px !important;border:1px solid #C7CADF !important;border-radius:50% !important;display:flex !important;align-items:center;justify-content:center;color:#283071 !important;font-size:16px;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;}
.elementor-element-0cfac96 .elementor-icon:hover{background:#F57B20 !important;border-color:#F57B20 !important;color:#fff !important;transform:translateY(-2px);}
.elementor-element-0cfac96 .elementor-icon svg{width:16px;height:16px;fill:currentColor;}
.elementor-element-0cfac96 .elementor-icon i{color:inherit;}
.elementor-element-a2dc2a9{border-top:1px solid #E1E4ED;padding:0 24px;margin-top:8px;}
.elementor-element-82aceab{max-width:1200px;margin:0 auto;width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:22px 0;}
.elementor-element-316f5c9 p{margin:0;color:#6B7090;font-size:13px;}
.elementor-element-91b52b2 .elementor-widget-container{display:flex;justify-content:flex-end;}
.elementor-element-91b52b2 p{margin:0;display:flex;gap:26px;}
.elementor-element-91b52b2 a{color:#6B7090;font-size:13px;text-decoration:none;transition:color .15s ease;}
.elementor-element-91b52b2 a:hover{color:#283071;}
@media(max-width:1024px){
.elementor-element-1384e81{padding-bottom:8px;}
.elementor-element-1384e81 .e-706aadc-3a27085{flex-direction:column;gap:0;}
.e-706aadc-3a27085 .elementor-element-d888294{flex-direction:column;gap:0;width:100%;}
.e-706aadc-3a27085 .elementor-element-3b5f952{width:100%;order:2;}
.tm-fcol{border-top:1px solid #E1E4ED;}
.tm-fcol .elementor-widget-heading{cursor:pointer;margin:0 !important;display:flex;align-items:center;justify-content:space-between;padding:18px 0 !important;width:100%;}
.tm-fcol .elementor-widget-heading .elementor-widget-container{flex:1;}
.tm-fcol .elementor-widget-heading:after{content:'+';color:#6B7090;font-size:24px;font-weight:400;line-height:1;margin-left:12px;transition:transform .2s ease;}
.tm-fcol.tm-open .elementor-widget-heading:after{content:'';width:13px;height:2px;background:#6B7090;border-radius:2px;margin-left:12px;flex:0 0 auto;}
.tm-fcol > *:not(:first-child){max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .25s ease;}
.tm-fcol.tm-open > *:not(:first-child){max-height:900px;opacity:1;}
.tm-fcol.tm-open > *:last-child{padding-bottom:18px;}
.tm-fcol > *{align-self:flex-start;}
.tm-fcol .elementor-widget-nav-menu,.tm-fcol .elementor-widget-icon-list{width:100%;}
.tm-fcol .elementor-nav-menu,.tm-fcol .elementor-nav-menu .elementor-item,.tm-fcol .elementor-icon-list-items,.tm-fcol .elementor-icon-list-item{text-align:left;justify-content:flex-start;padding-left:0;}
.elementor-element-82aceab{flex-direction:column;align-items:flex-start;}
.elementor-element-91b52b2 .elementor-widget-container{justify-content:flex-start;}
.elementor-element-91b52b2 p{justify-content:flex-start;}
}
@media(min-width:1025px){
.tm-fcol > *:not(:first-child){max-height:none !important;overflow:visible !important;opacity:1 !important;}
.tm-fcol .elementor-widget-heading:after{display:none;}
}

/* ---- anon-9 ---- */
.tm-qbadge{position:relative;display:inline-flex;align-items:center;justify-content:center;color:#283071;text-decoration:none;line-height:1}.tm-qbadge:hover{opacity:.8}.tm-qbadge-icon{display:block;flex:none}.tm-qbadge-count{position:absolute;top:-6px;right:-10px;min-width:20px;height:20px;padding:0 5px;border-radius:4px;background:#d33a3a;color:#fff;font-size:11px;font-weight:700;font-family:Poppins,system-ui,sans-serif;line-height:20px;text-align:center;pointer-events:none;box-shadow:0 1px 4px rgba(211,58,58,.35)}

/* ---- anon-10 ---- */
.page-id-3330 .tm-minus .elementor-button,.page-id-3330 .tm-plus .elementor-button{cursor:pointer;min-width:42px;text-align:center;line-height:1;}
.page-id-3330 .tm-price .elementor-heading-title{line-height:1;}

/* ---- Toggle widget open/close icons (1.61.22) ----
   Elementor shows the closed "+" as an inline-block span but switches the
   open "-" svg to display:block. In the right-aligned 30px icon box the block
   sat 5px further left, so the icon jumped sideways on every click (FAQ page).
   Inline-block puts the "-" exactly where the "+" was. */
.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened{display:inline-block}

/* ---- one button shape, site-wide (1.61.59, Kirk 2026-10-02) ----
   House shape: 8px corners, no pills. The homepage was done in 1.61.52; this
   covers every other page the scan found. Filter chips (blog topic chips) are
   not buttons and stay round. "body" + !important because several of these
   come from inline <style> blocks printed later in the page. */
body .elementor-widget-button .elementor-button,
body .tm-tile__lnk,
body .tm-add-request,
body .reqbtn,
body .tm-btn,
body .tm-btn-start,
body .tm-aside-btn,
body .tm-bsvc-lnk,
body .acc-cta,
body .elementor-element-a06cd89 .btn,
body .elementor-element-a06cd89 .btn-ghost{border-radius:8px !important}

/* ---- light backgrounds: two guide colours (1.61.60, Kirk 2026-10-03) ----
   Nine near-identical pale tints became the brand guide's Mist (#ECF0FB, the
   blue family: #FFFFFF, #FFFFFF, #ECF0FB, #C5C8E8, #C5C8E8) and Cloud (#F4F5F8,
   the greys: #FFFFFF, #F4F5F8, #FFFFFF). Kirk did not want Cream added. IDs
   from a scan of every page; a section added later keeps whatever it is given. */
body .elementor-element-3a71a93,
body .elementor-element-272ed3b,
body .elementor-element-ce89bf1,
body .elementor-element-6e7e5a5,
body .elementor-element-c559d08,
body .elementor-element-87a8030,
body .elementor-element-6c88ea4,
body .elementor-element-7d45945,
body .elementor-element-cff8f29,
body .elementor-element-eb8a336,
body .elementor-element-48627d7,
body .elementor-element-5e2c525,
body .elementor-element-4098083,
body .elementor-element-9793f36,
body .elementor-element-2c1f0df,
body .elementor-element-9f868f2,
body .elementor-element-a261e21,
body .elementor-element-6315b3f,
body .elementor-element-e94edde,
body .elementor-element-60fabf1,
body .elementor-element-3c38a45,
body .elementor-element-96abcb5,
body .elementor-element-8122cea,
body .elementor-element-41d334f,
body .elementor-element-1968228,
body .elementor-element-bd9797e,
body .elementor-element-d6a1485,
body .elementor-element-963cf2c,
body .elementor-element-bf90b2e,
body .elementor-element-40cfeb7,
body .elementor-element-1b3967d,
body .elementor-element-a09cc9f,
body .elementor-element-c9b249e,
body .elementor-element-7b38aa9,
body .elementor-element-62bdd7b,
body .elementor-element-0e437e4,
body .elementor-element-19616b1,
body .elementor-element-63553a7,
body .elementor-element-7273300,
body .elementor-element-ea1efc5c,
body .elementor-element-7b2f3c3b,
body .elementor-element-b6bc5d0,
body .elementor-element-6bea8e6,
body .tm-rp,
body .tmhp-blog,
body .tm-pw-r,
body .tm-qhow-band{background-color:#ECF0FB !important}
body .elementor-element-31219b7,
body .elementor-element-31169bd,
body .elementor-element-7bd6e1bd{background-color:#F4F5F8 !important}

/* ---- section headings: the homepage bold look everywhere (1.61.61, Kirk 2026-10-03) ----
   42px bold, as on the homepage (38px tablet, 30px phone). Elementor heading
   widgets by id (scan of every page) plus the H2s TM Core prints itself. Not
   touched: the homepage (already this), hero titles, card titles, the H2s
   inside blog articles, product page subsections, Contact and Sample Work. */
body .elementor-element-208beb1 .elementor-heading-title,
body .elementor-element-fe97f6b .elementor-heading-title,
body .elementor-element-4ef988a .elementor-heading-title,
body .elementor-element-4a18065 .elementor-heading-title,
body .elementor-element-742068a .elementor-heading-title,
body .elementor-element-524095b .elementor-heading-title,
body .elementor-element-3be6305 .elementor-heading-title,
body .elementor-element-d4c5898 .elementor-heading-title,
body .elementor-element-7d17360 .elementor-heading-title,
body .elementor-element-2512d8a .elementor-heading-title,
body .elementor-element-9c4e69f .elementor-heading-title,body .tm-sec--cta h2,
body .elementor-element-e92ef90 .elementor-heading-title,
body .elementor-element-a125e37 .elementor-heading-title,
body .elementor-element-f4189b1 .elementor-heading-title,
body .elementor-element-0a54a81 .elementor-heading-title,
body .elementor-element-91555ae .elementor-heading-title,
body .elementor-element-40aaf0d .elementor-heading-title,
body .elementor-element-2bf946c .elementor-heading-title,
body .elementor-element-e86b203 .elementor-heading-title,
body .elementor-element-247ad12 .elementor-heading-title,
body .elementor-element-02c93c8 .elementor-heading-title,
body .elementor-element-0aa4bcc .elementor-heading-title,
body .elementor-element-8763ebe .elementor-heading-title,
body .elementor-element-6131145 .elementor-heading-title,
body .elementor-element-3ba2f5a .elementor-heading-title,
body .elementor-element-e3e1877 .elementor-heading-title,
body .elementor-element-f9e5fca .elementor-heading-title,
body .elementor-element-b168662 .elementor-heading-title,
body .elementor-element-7ae2b83 .elementor-heading-title,
body .elementor-element-8c5833f .elementor-heading-title,
body .elementor-element-a3f34d8 .elementor-heading-title,
body .elementor-element-592596d .elementor-heading-title,
body .elementor-element-dbfa3d5 .elementor-heading-title,
body .elementor-element-31a0f39 .elementor-heading-title,
body .elementor-element-42e5a0f .elementor-heading-title,
body .elementor-element-0744b13 .elementor-heading-title,
body .elementor-element-a3a9711 .elementor-heading-title,
body .elementor-element-d5186af .elementor-heading-title,
body .elementor-element-0931043 .elementor-heading-title,
body .elementor-element-5d08647 .elementor-heading-title,
body .elementor-element-c3f69d7 .elementor-heading-title,
body .elementor-element-f5723de .elementor-heading-title,
body .elementor-element-006ef77 .elementor-heading-title,
body .elementor-element-87b69a0 .elementor-heading-title,
body .elementor-element-8fb924c .elementor-heading-title,
body .elementor-element-6dd2ecd .elementor-heading-title,
body .elementor-element-2913918 .elementor-heading-title,
body .elementor-element-39e0514 .elementor-heading-title,
body .elementor-element-956678b .elementor-heading-title,
body .elementor-element-76a994b .elementor-heading-title,
body .elementor-element-0ffc477 .elementor-heading-title,
body .elementor-element-527eb50 .elementor-heading-title,
body .elementor-element-ca8f5a3 .elementor-heading-title,
body .elementor-element-26ef96d .elementor-heading-title,
body .elementor-element-7d36fc4 .elementor-heading-title,
body .elementor-element-a9343bd .elementor-heading-title,
body .elementor-element-99689df .elementor-heading-title,
body .elementor-element-e11697e .elementor-heading-title,
body .elementor-element-3a5ca71 .elementor-heading-title,
body .elementor-element-dd347f0 .elementor-heading-title,
body .elementor-element-da91f1c .elementor-heading-title,
body .elementor-element-fae2ab6 .elementor-heading-title,
body .elementor-element-1f6c8db .elementor-heading-title,
body .elementor-element-d288ed1 .elementor-heading-title,
body .elementor-element-e972f29 .elementor-heading-title,
body .elementor-element-5515a49 .elementor-heading-title,
body .elementor-element-d851ebd .elementor-heading-title,
body .elementor-element-e5300c5 .elementor-heading-title,
body .elementor-element-c5ad349 .elementor-heading-title,
body .elementor-element-db4cee4 .elementor-heading-title,
body .elementor-element-aaf2ed7 .elementor-heading-title,
body h2.tm-cat__title,
body h2.tm-rp-h,
body .tm-seas h2,
body .elementor-element-c37bae8 h2,
body h2.tm-bsvc-head,
body h2.tm-qhow__h,
body .elementor-element-3d6058b h2,body .tm-sec--refer h2,
body .elementor-element-a06cd89 h2,
body .tm-p2-final h2{font-size:42px !important;font-weight:700 !important;line-height:1.14 !important;letter-spacing:-.6px !important}
@media(max-width:1024px){body .elementor-element-208beb1 .elementor-heading-title,body .elementor-element-fe97f6b .elementor-heading-title,body .elementor-element-4ef988a .elementor-heading-title,body .elementor-element-4a18065 .elementor-heading-title,body .elementor-element-742068a .elementor-heading-title,body .elementor-element-524095b .elementor-heading-title,body .elementor-element-3be6305 .elementor-heading-title,body .elementor-element-d4c5898 .elementor-heading-title,body .elementor-element-7d17360 .elementor-heading-title,body .elementor-element-2512d8a .elementor-heading-title,body .elementor-element-9c4e69f .elementor-heading-title,body .tm-sec--cta h2,body .elementor-element-e92ef90 .elementor-heading-title,body .elementor-element-a125e37 .elementor-heading-title,body .elementor-element-f4189b1 .elementor-heading-title,body .elementor-element-0a54a81 .elementor-heading-title,body .elementor-element-91555ae .elementor-heading-title,body .elementor-element-40aaf0d .elementor-heading-title,body .elementor-element-2bf946c .elementor-heading-title,body .elementor-element-e86b203 .elementor-heading-title,body .elementor-element-247ad12 .elementor-heading-title,body .elementor-element-02c93c8 .elementor-heading-title,body .elementor-element-0aa4bcc .elementor-heading-title,body .elementor-element-8763ebe .elementor-heading-title,body .elementor-element-6131145 .elementor-heading-title,body .elementor-element-3ba2f5a .elementor-heading-title,body .elementor-element-e3e1877 .elementor-heading-title,body .elementor-element-f9e5fca .elementor-heading-title,body .elementor-element-b168662 .elementor-heading-title,body .elementor-element-7ae2b83 .elementor-heading-title,body .elementor-element-8c5833f .elementor-heading-title,body .elementor-element-a3f34d8 .elementor-heading-title,body .elementor-element-592596d .elementor-heading-title,body .elementor-element-dbfa3d5 .elementor-heading-title,body .elementor-element-31a0f39 .elementor-heading-title,body .elementor-element-42e5a0f .elementor-heading-title,body .elementor-element-0744b13 .elementor-heading-title,body .elementor-element-a3a9711 .elementor-heading-title,body .elementor-element-d5186af .elementor-heading-title,body .elementor-element-0931043 .elementor-heading-title,body .elementor-element-5d08647 .elementor-heading-title,body .elementor-element-c3f69d7 .elementor-heading-title,body .elementor-element-f5723de .elementor-heading-title,body .elementor-element-006ef77 .elementor-heading-title,body .elementor-element-87b69a0 .elementor-heading-title,body .elementor-element-8fb924c .elementor-heading-title,body .elementor-element-6dd2ecd .elementor-heading-title,body .elementor-element-2913918 .elementor-heading-title,body .elementor-element-39e0514 .elementor-heading-title,body .elementor-element-956678b .elementor-heading-title,body .elementor-element-76a994b .elementor-heading-title,body .elementor-element-0ffc477 .elementor-heading-title,body .elementor-element-527eb50 .elementor-heading-title,body .elementor-element-ca8f5a3 .elementor-heading-title,body .elementor-element-26ef96d .elementor-heading-title,body .elementor-element-7d36fc4 .elementor-heading-title,body .elementor-element-a9343bd .elementor-heading-title,body .elementor-element-99689df .elementor-heading-title,body .elementor-element-e11697e .elementor-heading-title,body .elementor-element-3a5ca71 .elementor-heading-title,body .elementor-element-dd347f0 .elementor-heading-title,body .elementor-element-da91f1c .elementor-heading-title,body .elementor-element-fae2ab6 .elementor-heading-title,body .elementor-element-1f6c8db .elementor-heading-title,body .elementor-element-d288ed1 .elementor-heading-title,body .elementor-element-e972f29 .elementor-heading-title,body .elementor-element-5515a49 .elementor-heading-title,body .elementor-element-d851ebd .elementor-heading-title,body .elementor-element-e5300c5 .elementor-heading-title,body .elementor-element-c5ad349 .elementor-heading-title,body .elementor-element-db4cee4 .elementor-heading-title,body .elementor-element-aaf2ed7 .elementor-heading-title,body h2.tm-cat__title,body h2.tm-rp-h,body .tm-seas h2,body .elementor-element-c37bae8 h2,body h2.tm-bsvc-head,body h2.tm-qhow__h,body .elementor-element-3d6058b h2,body .tm-sec--refer h2,body .elementor-element-a06cd89 h2,body .tm-p2-final h2{font-size:38px !important}}
@media(max-width:767px){body .elementor-element-208beb1 .elementor-heading-title,body .elementor-element-fe97f6b .elementor-heading-title,body .elementor-element-4ef988a .elementor-heading-title,body .elementor-element-4a18065 .elementor-heading-title,body .elementor-element-742068a .elementor-heading-title,body .elementor-element-524095b .elementor-heading-title,body .elementor-element-3be6305 .elementor-heading-title,body .elementor-element-d4c5898 .elementor-heading-title,body .elementor-element-7d17360 .elementor-heading-title,body .elementor-element-2512d8a .elementor-heading-title,body .elementor-element-9c4e69f .elementor-heading-title,body .tm-sec--cta h2,body .elementor-element-e92ef90 .elementor-heading-title,body .elementor-element-a125e37 .elementor-heading-title,body .elementor-element-f4189b1 .elementor-heading-title,body .elementor-element-0a54a81 .elementor-heading-title,body .elementor-element-91555ae .elementor-heading-title,body .elementor-element-40aaf0d .elementor-heading-title,body .elementor-element-2bf946c .elementor-heading-title,body .elementor-element-e86b203 .elementor-heading-title,body .elementor-element-247ad12 .elementor-heading-title,body .elementor-element-02c93c8 .elementor-heading-title,body .elementor-element-0aa4bcc .elementor-heading-title,body .elementor-element-8763ebe .elementor-heading-title,body .elementor-element-6131145 .elementor-heading-title,body .elementor-element-3ba2f5a .elementor-heading-title,body .elementor-element-e3e1877 .elementor-heading-title,body .elementor-element-f9e5fca .elementor-heading-title,body .elementor-element-b168662 .elementor-heading-title,body .elementor-element-7ae2b83 .elementor-heading-title,body .elementor-element-8c5833f .elementor-heading-title,body .elementor-element-a3f34d8 .elementor-heading-title,body .elementor-element-592596d .elementor-heading-title,body .elementor-element-dbfa3d5 .elementor-heading-title,body .elementor-element-31a0f39 .elementor-heading-title,body .elementor-element-42e5a0f .elementor-heading-title,body .elementor-element-0744b13 .elementor-heading-title,body .elementor-element-a3a9711 .elementor-heading-title,body .elementor-element-d5186af .elementor-heading-title,body .elementor-element-0931043 .elementor-heading-title,body .elementor-element-5d08647 .elementor-heading-title,body .elementor-element-c3f69d7 .elementor-heading-title,body .elementor-element-f5723de .elementor-heading-title,body .elementor-element-006ef77 .elementor-heading-title,body .elementor-element-87b69a0 .elementor-heading-title,body .elementor-element-8fb924c .elementor-heading-title,body .elementor-element-6dd2ecd .elementor-heading-title,body .elementor-element-2913918 .elementor-heading-title,body .elementor-element-39e0514 .elementor-heading-title,body .elementor-element-956678b .elementor-heading-title,body .elementor-element-76a994b .elementor-heading-title,body .elementor-element-0ffc477 .elementor-heading-title,body .elementor-element-527eb50 .elementor-heading-title,body .elementor-element-ca8f5a3 .elementor-heading-title,body .elementor-element-26ef96d .elementor-heading-title,body .elementor-element-7d36fc4 .elementor-heading-title,body .elementor-element-a9343bd .elementor-heading-title,body .elementor-element-99689df .elementor-heading-title,body .elementor-element-e11697e .elementor-heading-title,body .elementor-element-3a5ca71 .elementor-heading-title,body .elementor-element-dd347f0 .elementor-heading-title,body .elementor-element-da91f1c .elementor-heading-title,body .elementor-element-fae2ab6 .elementor-heading-title,body .elementor-element-1f6c8db .elementor-heading-title,body .elementor-element-d288ed1 .elementor-heading-title,body .elementor-element-e972f29 .elementor-heading-title,body .elementor-element-5515a49 .elementor-heading-title,body .elementor-element-d851ebd .elementor-heading-title,body .elementor-element-e5300c5 .elementor-heading-title,body .elementor-element-c5ad349 .elementor-heading-title,body .elementor-element-db4cee4 .elementor-heading-title,body .elementor-element-aaf2ed7 .elementor-heading-title,body h2.tm-cat__title,body h2.tm-rp-h,body .tm-seas h2,body .elementor-element-c37bae8 h2,body h2.tm-bsvc-head,body h2.tm-qhow__h,body .elementor-element-3d6058b h2,body .tm-sec--refer h2,body .elementor-element-a06cd89 h2,body .tm-p2-final h2{font-size:30px !important}}

/* ---- card corners: 12px (1.61.61, Kirk 2026-10-03) ----
   Every regular card. Not touched: the homepage blog photo cards, the Sample
   Work previews and phone mockup, buttons (8px) and filter chips. */
body .elementor-element-84583034 .e-con,
body .tm-st-card,
body .tm-tile,
body .reqbtn-wrap .card,
body .elementor-element-b682bda .card,
body .elementor-element-b33fb0d .card,
body .elementor-element-0f515dd .card,
body .elementor-element-1491c88 .card,
body .elementor-element-e412311 .card,
body .elementor-element-54066f1,
body .tm-seas-card,
body .elementor-element-63553a7 .e-con,
body .elementor-element-1effb4d2 .e-con,
body .tm-shortcut,
body .elementor-element-a06cd89 .rtier,
body .tm-step,
body .tm-refpage-offer,
body .tm-smx-card,
body .tm-qhow__item,
body .elementor-element-0f40da7 .e-con,
body .elementor-element-4d10b1d .e-con,
body .elementor-author-box,
body .tm-toc-box,
body .tm-aside-card,
body .tm-bsvc-card,
body .elementor-post__card,
body .tm-p2-card,
body .tm-p2-step{border-radius:12px !important}

/* ---- Learn more + quote button: one look everywhere (Kirk 2026-10-06) ----
   Learn more is navy (darker on hover) with a heavier arrow. The quote button
   keeps ONE footprint: "Add to quote" and its added state ("View quote" + a
   delete) sit in the same grid cell and swap visibility, so the box never
   changes size. Service tiles and the blog services block (.tm-req-slot),
   product pages (.tm-qb) and the hub-page deck (.tmd .reqbtnwrap). "body" +
   !important because each of these also prints its own inline styles. */
body .tm-tile .tm-tile__lnk,body .tm-bsvc .tm-bsvc-lnk{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;height:44px!important;padding:0 18px!important;border:0!important;border-radius:8px!important;background:#283071!important;color:#fff!important;font:600 14px/1 Poppins,sans-serif!important;text-decoration:none!important;box-shadow:none!important;transform:none;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease!important}
body .tm-tile .tm-tile__lnk:hover,body .tm-tile .tm-tile__lnk:focus-visible,body .tm-bsvc .tm-bsvc-lnk:hover,body .tm-bsvc .tm-bsvc-lnk:focus-visible{background:#1E2453!important;color:#fff!important;transform:translateY(-1px)!important;box-shadow:0 6px 14px rgba(40,48,113,.24)!important}
body .tm-lnk-arrow{width:16px;height:16px;flex:none;display:block}

/* Tiles: one 168x44 box. */
body .tm-req-slot{display:inline-grid!important;width:168px;height:44px;flex:none!important;min-width:0}
body .tm-req-slot>.tm-add-request,body .tm-req-slot>.tm-req-added{grid-area:1/1!important;width:100%!important;height:44px!important;margin:0!important}
body .tm-req-slot>.tm-add-request{display:inline-flex!important;align-items:center;justify-content:center;padding:0 12px!important;border:0!important;border-radius:8px!important;background:#F57B20!important;color:#fff!important;font:600 14px/1 Poppins,sans-serif!important;cursor:pointer;box-shadow:none!important;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease!important}
body .tm-req-slot>.tm-add-request:hover,body .tm-req-slot>.tm-add-request:focus-visible{background:#DD6A12!important;transform:translateY(-1px)!important;box-shadow:0 6px 14px rgba(245,123,32,.3)!important}
body .tm-req-slot>.tm-add-request.tm-added{display:inline-flex!important;visibility:hidden}
body .tm-req-slot>.tm-req-added{display:flex!important;visibility:hidden;box-sizing:border-box;border:1.5px solid #BFDCCB;border-radius:8px;overflow:hidden;gap:0!important}
body .tm-req-slot>.tm-add-request.tm-added~.tm-req-added{visibility:visible}

/* The added state, shared by tiles, product pages and the deck. */
body .tm-req-slot .tm-req-view,body .tm-qb .tm-qb-view{flex:1 1 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:100%!important;min-width:0;padding:0 10px!important;border:0!important;border-radius:0!important;background:#E6F4EC!important;color:#1E8E4E!important;font:600 14px/1 Poppins,sans-serif!important;text-decoration:none!important;box-shadow:none!important;transition:background-color .2s ease,color .2s ease!important}
body .tm-req-slot .tm-req-view:hover,body .tm-req-slot .tm-req-view:focus-visible,body .tm-qb .tm-qb-view:hover,body .tm-qb .tm-qb-view:focus-visible{background:#1E8E4E!important;color:#fff!important}
body .tm-req-slot .tm-req-x,body .tm-qb .tm-qb-x{flex:0 0 44px!important;width:44px!important;height:100%!important;padding:0!important;border:0!important;border-left:1.5px solid #F1C9C9!important;border-radius:0!important;background:#FBEAEA!important;color:#D33A3A!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer;transition:background-color .2s ease,color .2s ease!important}
body .tm-req-slot .tm-req-x:hover,body .tm-req-slot .tm-req-x:focus-visible,body .tm-qb .tm-qb-x:hover,body .tm-qb .tm-qb-x:focus-visible{background:#D33A3A!important;color:#fff!important}
body .tm-req-slot .tm-req-x svg,body .tm-qb .tm-qb-x svg{width:16px!important;height:16px!important;display:block}

/* Product pages: same look, the box takes the button's own width. */
body .tm-qb{display:inline-grid!important}
body .tm-qb>.tm-qb-add,body .tm-qb>.tm-qb-split{grid-area:1/1!important;height:48px!important;margin:0!important;box-sizing:border-box!important}
body .tm-qb>.tm-qb-add{display:inline-flex!important;align-items:center;justify-content:center;padding:0 32px!important;border:0!important;border-radius:8px!important;font:600 15px/1 Poppins,sans-serif!important}
body .tm-qb>.tm-qb-split{display:flex!important;visibility:hidden;gap:0!important;border:1.5px solid #BFDCCB!important;border-radius:8px!important;overflow:hidden!important}
body .tm-qb.is-added>.tm-qb-add{display:inline-flex!important;visibility:hidden}
body .tm-qb.is-added>.tm-qb-split{visibility:visible}
body .tm-qb .tm-qb-view{font-size:15px!important}
body .tm-qb .tm-qb-x{flex-basis:48px!important;width:48px!important}

/* Hub-page deck (dark background): a fixed 220x48 box; the delete joins it. */
body .tmd .reqbtnwrap{gap:0!important;width:220px;margin-left:auto!important;margin-right:auto!important}
body .tmd .reqbtn{flex:1 1 auto;height:48px;padding:0 16px!important;border:0!important;border-radius:8px!important;font:600 15px/1 Poppins,sans-serif!important}
body .tmd .reqbtn.is-added{background:#E6F4EC!important;color:#1E8E4E!important;border-radius:8px 0 0 8px!important}
body .tmd .reqbtn.is-added:hover{background:#1E8E4E!important;color:#fff!important}
body .tmd .removebtn{width:48px!important;height:48px!important;border:0!important;border-left:1.5px solid #F1C9C9!important;border-radius:0 8px 8px 0!important;background:#FBEAEA!important;color:#D33A3A!important}
body .tmd .removebtn:hover{background:#D33A3A!important;color:#fff!important}
/* Where the product card stretches the button, the box stretches too. */
body .tm-p2-card .tm-qb,body .tm-hx-card .tm-qb{display:grid!important;width:100%!important}

/* WooCommerce marks required fields in its own #a00; the house red instead (palette, 2026-10-07). */
body.tmb-site .woocommerce form .required { color: #D33A3A; }

/* ---- THE house button (moved from tm-home.css in 1.75.7 so every page can use it) (Kirk 2026-10-08: every navy and orange button
   matches the hero pair - same border, arrow and hover). Also used by Sample
   Work (home/sample-work.php) and Visit the blog (blog/recent-posts.php), and
   shown in the Branding Guide. */
.tmb-site .tm-hm-btns { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px; width: 100%; padding: 10px; }
.tmb-site .tm-hm-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 54px; padding: 12px 24px;
	border: 2px solid rgba(185, 206, 255, .5); border-radius: 8px; color: #fff;
	font-family: Poppins, sans-serif; font-size: 16px; font-weight: 700; line-height: 1.65; text-align: center; text-decoration: none; white-space: nowrap; transition: all .3s;
}
.tmb-site .tm-hm-btn svg { flex: none; width: 16px; height: 16px; fill: currentColor; }
.tmb-site .tm-hm-btn--orange { background: #F57B20; }
.tmb-site .tm-hm-btn--navy { background: #283071; }
.tmb-site .tm-hm-btn:hover, .tmb-site .tm-hm-btn:focus-visible { border-color: #fff; color: #fff; }
.tmb-site .tm-hm-btn--orange:hover, .tmb-site .tm-hm-btn--orange:focus-visible { background: #DD6A12; }
.tmb-site .tm-hm-btn--navy:hover, .tmb-site .tm-hm-btn--navy:focus-visible { background: #1E2453; }



/* tm-header.css */
/*
 * Header and off-canvas menu fixes. Site-wide - the header is on every page.
 *
 * Moved out of assets/header-ui.php in 1.54.0, where it was printed inline in
 * wp_head on every page view (4.6KB of HTML no browser could cache). As a file
 * it is cached across pages. Enqueued straight after tm-global.css, which was
 * verified to give identical computed style to the old inline position (every
 * element, 3 pages desktop + 2 phone).
 *
 * THESE SELECTORS ARE HARD-CODED ELEMENTOR ELEMENT IDs (a19ba31, 2d5fa15c,
 * 4b9be595, 287257ba, 5a44ab6c, 4fb743c, 09e9dd2 in header template 2491 and its
 * off-canvas). If the header is rebuilt they go stale silently. When it is next
 * rebuilt, give those widgets CSS classes and switch these rules to them.
 */

/* tm-mobile-header-fixes */
@media (max-width:1024px){
  .elementor-2491 .elementor-element-a19ba31,
  .elementor-2491 .elementor-sticky .elementor-element-a19ba31,
  .elementor-2491 .elementor-sticky__spacer .elementor-element-a19ba31{
    display:inline-flex !important;
  }
  .elementor-element-a19ba31 .tm-acct-name{ display:none !important; }
  .elementor-element-a19ba31 .tm-acct-menu{
    display:none !important;
    pointer-events:none !important;
  }
}
@media (max-width:1024px){
  .elementor-element-2d5fa15c .elementor-element-4b9be595 nav.elementor-nav-menu--main,
  .elementor-element-2d5fa15c .elementor-element-4b9be595 ul.elementor-nav-menu,
  .elementor-element-2d5fa15c .elementor-element-4b9be595 ul.elementor-nav-menu > li{
    display:block !important;
  }
  .elementor-element-2d5fa15c .elementor-element-287257ba nav.elementor-nav-menu--main,
  .elementor-element-2d5fa15c .elementor-element-287257ba ul.elementor-nav-menu,
  .elementor-element-2d5fa15c .elementor-element-287257ba ul.elementor-nav-menu > li{
    display:block !important;
  }
}

/* tm-offcanvas-polish */
.elementor-element-2d5fa15c .elementor-element-5a44ab6c{
  padding-left:20px !important;
  padding-right:20px !important;
}

.elementor-element-2d5fa15c .elementor-element-4fb743c,
.elementor-element-2d5fa15c .elementor-element-09e9dd2{
  align-self:center !important;
  width:auto !important;
  max-width:100% !important;
}
.elementor-element-2d5fa15c .elementor-element-4fb743c .elementor-button,
.elementor-element-2d5fa15c .elementor-element-09e9dd2 .elementor-button{
  width:auto !important;
  min-width:270px !important;
  max-width:100% !important;
  padding-left:24px !important;
  padding-right:24px !important;
  text-align:center !important;
  justify-content:center !important;
}
.elementor-element-2d5fa15c .elementor-element-09e9dd2{
  margin-top:-6px !important;
}

.elementor-element-2d5fa15c .elementor-element-4b9be595 .elementor-nav-menu--main .sub-menu{
  display:block !important;
  position:static !important;
  visibility:inherit !important;
  opacity:1 !important;
  transform:none !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:2px 0 6px !important;
  padding:0 0 0 14px !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}
.elementor-element-2d5fa15c .elementor-element-4b9be595 .elementor-nav-menu--main .sub-menu .elementor-sub-item{
  display:block !important;
  padding:9px 12px 9px 16px !important;
  border-radius:8px !important;
  font-size:15px !important;
  font-weight:500 !important;
  color:#FFFFFF !important;
  opacity:.82 !important;
}
.elementor-element-2d5fa15c .elementor-element-4b9be595 .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover{
  opacity:1 !important;
  color:#F57B20 !important;
  background:rgba(255,255,255,.05) !important;
}

.elementor-element-2d5fa15c .elementor-element-4b9be595 .elementor-nav-menu--main .sub-arrow,
.elementor-element-2d5fa15c .elementor-element-4b9be595 .elementor-nav-menu--main .elementor-item .sub-arrow{
  display:none !important;
}

/* tm-acct-ico-mask */
.tm-acct-trigger .tm-acct-ico{display:none !important;}.tm-acct-trigger::after{content:"" !important;display:inline-block !important;width:28px !important;height:28px !important;margin-left:8px !important;vertical-align:middle !important;background-color:#283071 !important;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27%23283071%27%20stroke-width=%272%27%3E%3Ccircle%20cx=%2712%27%20cy=%2712%27%20r=%279%27/%3E%3Ccircle%20cx=%2712%27%20cy=%2710%27%20r=%273%27/%3E%3Cpath%20d=%27M6.2%2018.8a4%204%200%200%201%203.8-2.8h4a4%204%200%200%201%203.8%202.8%27/%3E%3C/svg%3E") center / contain no-repeat !important;mask:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27%23283071%27%20stroke-width=%272%27%3E%3Ccircle%20cx=%2712%27%20cy=%2712%27%20r=%279%27/%3E%3Ccircle%20cx=%2712%27%20cy=%2710%27%20r=%273%27/%3E%3Cpath%20d=%27M6.2%2018.8a4%204%200%200%201%203.8-2.8h4a4%204%200%200%201%203.8%202.8%27/%3E%3C/svg%3E") center / contain no-repeat !important;}.tm-acct-trigger:hover::after,.tm-acct-trigger:focus-visible::after{background-color:#F57B20 !important;}.e-off-canvas .tm-acct-trigger::after{background-color:#ffffff !important;}.e-off-canvas .tm-acct-trigger:hover::after,.e-off-canvas .tm-acct-trigger:focus-visible::after{background-color:#ffffff !important;}


/* tm-home.css */
/*
 * TM CSS - home
 * Generated 2026-09-03 from the inline <style> blocks that site-wide
 * snippets were echoing into wp_head on every page. Loaded by tm-css-router.
 * Blocks keep their original document order, so the cascade is unchanged.
 */

/* ---- tm-hx-cta-css ---- */
.tm-hx .tm-pp-eyebrow{font-size:13px}
.tm-hx-cta{display:inline-flex;align-items:center;gap:9px;margin:4px 0 18px;padding:12px 26px;border:1.5px solid rgba(255,255,255,.42);border-radius:10px;background:transparent;color:#fff;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;letter-spacing:.2px;text-decoration:none;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.tm-hx-cta:hover,.tm-hx-cta:focus{background:#F57B20;border-color:#F57B20;color:#fff}
.tm-hx-cta-arrow{display:inline-block;transition:transform .18s ease}
.tm-hx-cta:hover .tm-hx-cta-arrow{transform:translateX(3px)}
@media(max-width:880px){.tm-hx-cta{width:100%;justify-content:center}}

/* ---- tm-hx-cta-fix ---- */
.tm-hx a.tm-hx-cta,a.tm-hx-cta{color:#fff!important;border:2px solid rgba(255,255,255,.72)!important;background:transparent!important;text-decoration:none!important}
.tm-hx a.tm-hx-cta *,.tm-hx-cta .tm-hx-cta-arrow{color:#fff!important}
.tm-hx a.tm-hx-cta:hover,.tm-hx a.tm-hx-cta:focus,a.tm-hx-cta:hover{background:#F57B20!important;border-color:#F57B20!important;color:#fff!important}

/* ---- tm-hero-photo-mobile ---- */
@media (max-width:768px){
  .xh-panel .hero-photo{ background-position: center 60% !important; }
}

/* ---- tm-pp-fixes2 ---- */
/* Hero CTA — white text + 2px border (reliable path over 5893/5895) */
.tm-hx a.tm-hx-cta,a.tm-hx-cta{color:#fff!important;border:2px solid rgba(255,255,255,.72)!important;background:transparent!important;text-decoration:none!important}
.tm-hx a.tm-hx-cta *,.tm-hx-cta .tm-hx-cta-arrow{color:#fff!important}
.tm-hx a.tm-hx-cta:hover,a.tm-hx-cta:hover{background:#F57B20!important;border-color:#F57B20!important;color:#fff!important}
/* What's-included cards — checkmark vertically centered */
.tm-pp-spec{align-items:center!important}
/* Details table — label + value both vertically centered */
.tm-pp-body table.shop_attributes th,.tm-pp-body table.shop_attributes td{vertical-align:middle!important}

/* ---- tm-process-hide-touch ---- */
/* Take the Our Process steps section OUT on phones / touch devices.
   Desktop scroll-jack version is left fully intact. Flex item is removed so no gap remains. */
@media (hover: none) and (pointer: coarse), (max-width: 768px){
  .elementor-widget-html:has(#scrollContainer){ display:none !important; }
  #scrollContainer{ display:none !important; }
}

/* ---- tm-process-refresh ---- */
/* TM Process section design refresh — additive, scoped to widget 5e4c6c3 */

/* remove the icon chip above "Step 0X" */
.elementor-element-5e4c6c3 .slide-eyebrow-icon{display:none !important;}
.elementor-element-5e4c6c3 .slide-eyebrow{gap:0 !important;}

/* remove the underline rule under the heading (cover ::after and border) */
.elementor-element-5e4c6c3 .slide-title::after{content:none !important;display:none !important;}
.elementor-element-5e4c6c3 .slide-title{border-bottom:0 !important;padding-bottom:0 !important;}

/* uniform soft pills (replace the navy/orange/outline mix) */
.elementor-element-5e4c6c3 .slide-chips .slide-chip{background:#F4F5F8 !important;color:#283071 !important;border:1px solid #E1E4ED !important;box-shadow:none !important;}

/* final CTA -> new squared button, deep orange (passes contrast w/ white), Poppins 700 */
.elementor-element-5e4c6c3 .slide-cta-btn{background:#DD6A12 !important;color:#ffffff !important;border:none !important;border-radius:6px !important;font-family:Poppins,sans-serif !important;font-weight:700 !important;letter-spacing:.2px !important;box-shadow:0 6px 18px rgba(245,123,32,.28) !important;transition:background .15s ease,transform .15s ease,box-shadow .15s ease !important;}
.elementor-element-5e4c6c3 .slide-cta-btn:hover{background:#C85A0E !important;transform:translateY(-2px) !important;box-shadow:0 10px 24px rgba(245,123,32,.34) !important;}

/* ---- tm-hero-buttons ---- */
/* TM Hero — button restyle: squared, white text, Poppins 700, navy + deep orange */
.xh-dark, .xh-orange{
  border-radius:6px !important;
  font-family:Poppins,sans-serif !important;
  font-weight:700 !important;
  color:#ffffff !important;
  letter-spacing:.2px !important;
  transition:background .15s ease, transform .15s ease, box-shadow .15s ease !important;
}
.xh-dark{ background:#283071 !important; }
.xh-orange{ background:#DD6A12 !important; }
.xh-dark:hover{ background:#1e2453 !important; transform:translateY(-2px) !important; box-shadow:0 8px 20px rgba(40,48,113,.28) !important; }
.xh-orange:hover{ background:#C85A0E !important; transform:translateY(-2px) !important; box-shadow:0 8px 20px rgba(245,123,32,.30) !important; }

/* ---- anon-5 ---- */
.tmhp-ticker{
    display:block;
    width:100%;
    overflow:hidden;
    background:#283071;
    border-top:1px solid rgba(255,255,255,.07);
    border-bottom:1px solid rgba(255,255,255,.07);
    margin:0;
    padding:0;
    line-height:0;
}

.tmhp-ticker-track{
    display:flex;
    align-items:center;
    width:max-content;
    white-space:nowrap;
    padding:24px 0;
    animation:tmhp-ticker 48s linear infinite;
}

.tmhp-ticker-track span{
    display:inline-flex;
    align-items:center;
    color:rgba(255,255,255,.82);
    font-family:'Poppins',sans-serif;
    font-weight:700;
    font-size:1rem;
    letter-spacing:.05em;
    line-height:1;
    margin-right:64px;
}

.tmhp-ticker-track span.tm-e{
    color:#F57B20;
}

@keyframes tmhp-ticker{
    to{
        transform:translateX(-50%);
    }
}

@media (prefers-reduced-motion:reduce){
    .tmhp-ticker-track{
        animation:none;
    }
}

/* ---- tm-pw-css ---- */
.elementor-5383 .elementor-element-11aa6fdb{padding:0 !important;margin:0 !important;background-color:#FFFFFF !important;}
.elementor-5383 .elementor-element-cb6ad24{width:100% !important;max-width:100% !important;margin:0 !important;}
#tm-pw{display:grid;grid-template-columns:1fr 1fr;width:100%;background:#FFFFFF;font-family:Poppins,sans-serif;overflow:hidden;}
#tm-pw .tm-pw-l{display:flex;flex-direction:column;justify-content:center;padding:120px 72px 120px max(24px,calc((100vw - 1140px)/2));}
#tm-pw .tm-pw-h{font-size:clamp(26px,2.2vw,34px);font-weight:700;color:#283071;line-height:1.26;margin:0;letter-spacing:-.01em;}
#tm-pw .tm-pw-h em{color:#F57B20;font-style:italic;font-weight:700;}
#tm-pw .tm-pw-sub{font-size:18px;color:#5A6072;line-height:1.7;margin:20px 0 0;max-width:30em;}
#tm-pw .tm-pw-r{background:#ECF0FB;}
#tm-pw .tm-pw-inner{height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;text-align:left;padding:110px max(24px,calc((100vw - 1140px)/2)) 110px 72px;}
#tm-pw .tm-pw-item{background:#FFFFFF;margin:0 0 9px;padding:15px 22px;transform:skewX(-10deg);box-shadow:0 6px 18px rgba(40,48,113,0.06);}
#tm-pw .tm-pw-item span{display:block;transform:skewX(10deg);font-size:clamp(15px,1.15vw,17px);color:#283071;font-weight:500;line-height:1.35;}
#tm-pw .tm-pw-cta{display:block;background:#F57B20;margin:15px 0 0;padding:17px 22px;transform:skewX(-10deg);translate:0 0;text-decoration:none;transition:translate .2s ease,background .2s ease;}
#tm-pw .tm-pw-cta:hover,#tm-pw .tm-pw-cta:focus-visible{background:#DD6A12;translate:6px 0;}
#tm-pw .tm-pw-cta-in{display:block;transform:skewX(10deg);color:#FFFFFF;font-weight:600;font-size:clamp(15px,1.15vw,17px);line-height:1.35;}
@media(max-width:1200px){#tm-pw .tm-pw-l{padding:96px 56px 96px 24px;}#tm-pw .tm-pw-inner{padding:92px 24px 92px 56px;}}
@media(max-width:1024px){#tm-pw .tm-pw-l{padding:76px 40px 76px 24px;}#tm-pw .tm-pw-sub{font-size:15px;margin:18px 0 0;}#tm-pw .tm-pw-inner{padding:76px 24px 76px 40px;}#tm-pw .tm-pw-item{padding:13px 18px;}#tm-pw .tm-pw-cta{padding:15px 18px;}}
@media(max-width:767px){#tm-pw{grid-template-columns:1fr;}#tm-pw .tm-pw-l{padding:64px 24px 56px;}#tm-pw .tm-pw-inner{padding:48px 32px 56px;}#tm-pw .tm-pw-cta:hover,#tm-pw .tm-pw-cta:focus-visible{translate:0 0;}}
@media(prefers-reduced-motion:reduce){#tm-pw .tm-pw-cta{transition:background .2s ease;}#tm-pw .tm-pw-cta:hover,#tm-pw .tm-pw-cta:focus-visible{translate:0 0;}}

/* ---- tm-diff-css ---- */
.elementor-5383 .elementor-element-1623d3ae{background-color:#1B2150 !important;padding-top:72px !important;padding-bottom:76px !important;}
.elementor-5383 .elementor-element-d2e40aa6 .elementor-heading-title{color:#FFFFFF !important;}
#tm-diff{max-width:1040px;margin:26px auto 0;display:grid;grid-template-columns:1fr 1.06fr 1fr;font-family:Poppins,sans-serif;}
#tm-diff .tm-diff-col{padding:0 16px;}
#tm-diff .tm-diff-mid{background:#283071;border-top:3px solid #F57B20;padding:0 22px;}
#tm-diff .tm-diff-h{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#8B8FC7;padding:14px 0;border-bottom:1px solid #3A4179;margin:0;font-weight:500;line-height:1.3;}
#tm-diff .tm-diff-mid .tm-diff-h{color:#FFFFFF;font-weight:700;border-bottom:1px solid #3A4179;}
#tm-diff .tm-diff-list{list-style:none;margin:0;padding:0;}
#tm-diff .tm-diff-list li{font-size:15px;color:#C5C8E8;padding:15px 0;border-bottom:1px solid #3A4179;margin:0;line-height:1.45;}
#tm-diff .tm-diff-list li:last-child{border-bottom:0;}
#tm-diff .tm-diff-mid .tm-diff-list li{color:#FFFFFF;font-weight:500;border-bottom:1px solid #3A4179;}
#tm-diff .tm-diff-mid .tm-diff-list li:last-child{border-bottom:0;}
#tm-diff .tm-diff-tick{color:#F57B20;font-weight:700;margin-right:9px;}
@media(max-width:1024px){#tm-diff{max-width:760px;}#tm-diff .tm-diff-list li{font-size:14px;padding:14px 0;}}
@media(max-width:767px){#tm-diff{grid-template-columns:1fr;gap:0;max-width:420px;}#tm-diff .tm-diff-col,#tm-diff .tm-diff-mid{padding:0 18px;}#tm-diff .tm-diff-mid{margin:14px 0;}}

/* ---- anon-6 ---- */
.tmhp-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1100px;margin:0 auto;text-align:center;}
.tmhp-num{font-family:'Poppins',sans-serif;font-size:clamp(2.7rem,5.6vw,3.8rem);font-weight:700;color:#283071;letter-spacing:-.03em;line-height:1;}
.tmhp-num .v{color:#283071;}
.tmhp-num .u{color:#F57B20;}
.tmhp-lbl{color:#6B7090;font-family:'Poppins',sans-serif;font-weight:400;font-size:15px;margin-top:12px;line-height:1.4;max-width:200px;margin-left:auto;margin-right:auto;}
.tmhp-src{text-align:center;color:#6B7090;font-family:'Poppins',sans-serif;font-size:12px;margin:34px 0 0;font-weight:400;}
@media(max-width:760px){.tmhp-stats-grid{grid-template-columns:repeat(2,1fr);gap:42px 20px;}}

/* ---- tm-cat-css ---- */
.elementor-5383 .tm-cat-name .elementor-heading-title{display:block !important;font-family:'Poppins',sans-serif;font-size:16px;font-weight:700;line-height:1.25;letter-spacing:-.2px;}
.elementor-5383 .tm-cat-name .elementor-heading-title a{display:block !important;color:inherit;text-decoration:none;font-weight:inherit;font-size:inherit;line-height:inherit;}
.elementor-5383 .tm-cat-name .elementor-heading-title span{display:block !important;width:100%;font-family:'Poppins',sans-serif;font-size:13px;font-weight:400;color:#6B7090;margin-top:7px;line-height:1.4;letter-spacing:0;}
@media(max-width:767px){.elementor-5383 .tm-cat-name .elementor-heading-title{font-size:15px;}.elementor-5383 .tm-cat-name .elementor-heading-title span{font-size:13px;}}

/* ---- anon-8 ---- */
.elementor-5383 em{color:#F57B20 !important;font-style:italic;font-weight:700;}
.elementor-element-791a0732 .elementor-heading-title{text-shadow:0 1px 2px rgba(0,0,0,.40),0 10px 34px rgba(27,33,80,.55);}
.elementor-element-de78f4b2{text-shadow:0 1px 2px rgba(0,0,0,.35),0 6px 20px rgba(27,33,80,.40);}
.elementor-element-84583034 .e-con{background:#fff !important;border:1px solid #E1E4ED !important;border-radius:14px !important;box-shadow:0 4px 14px rgba(27,33,80,.05) !important;padding:16px 18px !important;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;cursor:pointer;}
.elementor-element-84583034 .e-con:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(27,33,80,.12) !important;border-color:#C7CADF !important;}
.elementor-element-84583034 .e-con .tm-cat-name,.elementor-element-84583034 .e-con .tm-cat-ico{position:static !important;}
.elementor-element-84583034 .e-con .elementor-heading-title{color:#283071 !important;font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;line-height:1.3;margin:0;text-align:left;position:static !important;}
.elementor-element-84583034 .e-con .elementor-heading-title a{color:#283071 !important;text-decoration:none !important;position:static;}
.elementor-element-84583034 .e-con svg{fill:#8B8FC7 !important;color:#8B8FC7 !important;width:14px !important;height:14px !important;transition:fill .2s ease,transform .2s ease;}
.elementor-element-84583034 .e-con:hover svg{fill:#F57B20 !important;color:#F57B20 !important;transform:translateX(3px);}
.elementor-element-84583034 .e-con .elementor-heading-title a::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:10;}
.elementor-element-fdc804eb{align-items:stretch;gap:18px;}
.elementor-element-fdc804eb>.e-con{background:#283071 !important;border-radius:14px !important;padding:26px 22px !important;transition:transform .2s ease,box-shadow .2s ease;}
.elementor-element-fdc804eb>.e-con:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(27,33,80,.18);}
.elementor-element-fdc804eb .elementor-heading-title{color:#FFFFFF !important;}
.elementor-element-fdc804eb .elementor-widget-text-editor,.elementor-element-fdc804eb .elementor-widget-text-editor p{color:#C5C8E8 !important;}
.elementor-element-fdc804eb .elementor-widget-icon{margin-bottom:2px;}
@media(min-width:1025px){.elementor-element-fdc804eb{flex-wrap:nowrap !important;}
.elementor-element-fdc804eb>.e-con{width:calc(33.333% - 12px) !important;flex:0 1 auto;min-width:0;}}
@media(max-width:1024px){.elementor-element-fdc804eb{gap:14px;}}
.elementor-element-5e1de67e ul,.elementor-element-cb42882a ul,.elementor-element-af3a434a ul{list-style:none;margin:0;padding:0;}
.elementor-element-5e1de67e li,.elementor-element-cb42882a li,.elementor-element-af3a434a li{padding:9px 0;border-top:1px solid rgba(107,112,144,.20);line-height:1.45;}
.elementor-element-5e1de67e li:first-child,.elementor-element-cb42882a li:first-child,.elementor-element-af3a434a li:first-child{border-top:0;}
.elementor-element-5e1de67e li,.elementor-element-af3a434a li{border-top-color:rgba(88,100,150,.38);}
.elementor-element-5e1de67e li:first-child,.elementor-element-af3a434a li:first-child{border-top:0;}
.elementor-element-9aa6ec44{align-items:center;}
.elementor-element-cb42882a{position:relative;z-index:2;}
.elementor-element-cb42882a li{border-top-color:rgba(245,123,32,.35) !important;font-weight:500;}
.elementor-element-cb42882a li:first-child{border-top:0 !important;}
.elementor-element-cb42882a .elementor-heading-title{letter-spacing:.2px;text-shadow:0 2px 10px rgba(27,33,80,.45);}
@media(min-width:1025px){.elementor-element-cb42882a{transform:scale(1.06);}}
.elementor-element-286a1335,.elementor-element-fdffada4,.elementor-element-ebe3de44{transition:transform .25s ease,box-shadow .25s ease;}
.elementor-element-286a1335:hover,.elementor-element-fdffada4:hover,.elementor-element-ebe3de44:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(27,33,80,.10);}

/* ---- services frosted glass (1.61.43, Kirk picked B2 2026-10-02; body prefix beats an inline copy of the old card rules) ---- */
.elementor-element-72447341{background-color:#283071 !important;background-image:radial-gradient(700px 420px at 15% 0%,rgba(110,140,255,.32),transparent 70%) !important}
body .elementor-element-84583034 .e-con{background:linear-gradient(160deg,rgba(255,255,255,.22),rgba(255,255,255,.1)) !important;border:1px solid rgba(255,255,255,.35) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 18px 36px rgba(27,33,80,.35) !important;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s !important}
body .elementor-element-84583034 .e-con:hover{transform:translateY(-5px);border-color:rgba(245,123,32,.8) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 24px 44px rgba(27,33,80,.45),0 0 30px rgba(245,123,32,.22) !important}
body .elementor-element-84583034 .e-con .elementor-heading-title,body .elementor-element-84583034 .e-con .elementor-heading-title a{color:#fff !important;text-shadow:0 1px 2px rgba(27,33,80,.45)}
body .elementor-element-84583034 .e-con .elementor-heading-title span{color:#fff !important;opacity:.92;font-weight:500 !important}
body .elementor-element-84583034 .e-con .tm-cat-ico .elementor-icon{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.2);display:flex !important;align-items:center;justify-content:center;transition:background .3s}
body .elementor-element-84583034 .e-con svg{fill:#fff !important;color:#fff !important;width:13px !important;height:13px !important}
body .elementor-element-84583034 .e-con:hover .tm-cat-ico .elementor-icon{background:#F57B20}
body .elementor-element-84583034 .e-con:hover svg{fill:#fff !important;color:#fff !important}

/* ---- section spacing balance (1.61.47, 2026-10-02) ----
   Target: about 100px of visible space above and below each section's content.
   Services: the style-only HTML widget 4c4da16 sat in the flex flow and added a
   full 46px gap above the heading; take it out of the flow.
   "What makes us different" (1623d3ae) was 80 above / 76 below. */
.elementor-element-4c4da16{position:absolute !important;width:0;height:0;overflow:hidden}
@media(min-width:768px){body .elementor-5383 .elementor-element-1623d3ae{padding-top:90px !important;padding-bottom:96px !important}}
@media(max-width:767px){body .elementor-5383 .elementor-element-1623d3ae{padding-bottom:58px !important}}

/* ---- one button shape (1.61.52, 2026-10-02) ----
   Kirk: no more pill buttons on the homepage. House shape is 8px corners, 54px
   tall (hero, Sample Work, header Menu). Bundles CTA 9bc76aac, final CTA
   692aaf8a + fbae020. The blog button lives in includes/blog/recent-posts.php. */
body .elementor-5383 .elementor-element-9bc76aac .elementor-button,body .elementor-5383 .elementor-element-692aaf8a .elementor-button,body .elementor-5383 .elementor-element-fbae020 .elementor-button{border-radius:8px !important}
body .elementor-5383 .elementor-element-9bc76aac .elementor-button{min-height:54px;display:inline-flex;align-items:center}

/* ---- final CTA buttons (Kirk 2026-10-06; was solid white since 1.61.58) ----
   Both get a wider white border; Browse bundles is navy like the hero's, and
   darkens to the hero's hover navy (#1E2453). */
body .elementor-5383 .elementor-element-692aaf8a .elementor-button,body .elementor-5383 .elementor-element-fbae020 .elementor-button{border:2px solid #fff !important}
body .elementor-5383 .elementor-element-fbae020 .elementor-button{background:#283071 !important;color:#fff !important}
body .elementor-5383 .elementor-element-fbae020 .elementor-button .elementor-button-text,body .elementor-5383 .elementor-element-fbae020 .elementor-button svg{color:#fff !important;fill:#fff !important}
body .elementor-5383 .elementor-element-fbae020 .elementor-button:hover,body .elementor-5383 .elementor-element-fbae020 .elementor-button:focus-visible{background:#1E2453 !important;border-color:#fff !important;color:#fff !important}

/* ==== Homepage on the section library (2026-10-06) ====
   Replaces the carried-over Elementor layout for page 5383 (page-blocks.php,
   "next version"). Values are the Elementor ones, measured on the live page.
   Sections are flex columns: gaps are Elementor's container gaps, and the
   section library's own child margins and 1200px cap are cancelled at zero
   weight so components (#tm-diff, .tm-hs, ...) keep their own. Boxed content
   uses side padding of max(24px, (100% - box) / 2), so nothing inside needs a
   width rule. The Elementor-ID rules above stay until the old version's
   backup is gone. */
body.home .tmb-page em { color: #F57B20; font-style: italic; font-weight: 700; }
:where(.tmb-site .tm-sec[class*="tm-sec--home-"]) > * { width: 100%; max-width: none; margin-left: 0; margin-right: 0; }
.tmb-site :where(.tm-sec[class*="tm-sec--home-"]) { display: flex; flex-direction: column; gap: 20px; }
/* Elementor's kit gave links 18px / 1.65em: a fixed 29.7px line that card links (Sample Work, blog) pass down. */
.tmb-site :where(.tm-sec[class*="tm-sec--home-"]) a { line-height: 1.65em; }
.tmb-site .tm-sec[class*="tm-sec--home-"] > * + * { margin-top: 0; }
.tmb-site :where(.tm-sec[class*="tm-sec--home-"]) > h2 {
	margin: 0; color: #283071; font-size: 42px; font-weight: 700; line-height: 1.14; letter-spacing: -.6px; text-align: center;
}

/* The house button (.tm-hm-btn) lives in tm-global.css since 1.75.7. */

/* 1. Hero */
.tmb-site .tm-sec--home-hero {
	position: relative; justify-content: center; align-items: center; min-height: 680px; padding: 0;
	background: #1B2150 url("https://i0.wp.com/targetmarketeer.com/wp-content/uploads/2026/05/AdobeStock_240065606-scaled.webp?fit=1920%2C1282&ssl=1") center / cover no-repeat;
}
.tmb-site .tm-sec--home-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18, 23, 58, .56) 0%, rgba(20, 26, 66, .74) 100%); }
.tmb-site .tm-sec--home-hero > .tm-hm-hero-in { position: relative; display: flex; flex-direction: column; align-items: center; gap: 22px; width: 100%; max-width: 904px; padding: 0 22px; }
.tmb-site .tm-hm-hero-in > * { margin: 0; }
.tmb-site .tm-hm-hero-in > h1 {
	color: #fff; font-size: 64px; font-weight: 700; line-height: 1.08; letter-spacing: -1.2px; text-align: center;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .40), 0 10px 34px rgba(27,33,80, .55);
}
.tmb-site .tm-hm-hero-in > .tm-hm-lede {
	width: 640px; max-width: 100%; margin-bottom: 14.4px; color: #FFFFFF; font-size: 20px; line-height: 1.55; text-align: center;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 6px 20px rgba(27,33,80, .40);
}

/* 2. Ticker: the page's old element CSS (tm-pro-custom-css) says 15px; the widget's own style said 24px and won. */
.tmb-site .tmhp-ticker-track { padding: 24px 0; }

/* 3. Pain points, 7. Sample work, 10. Blog: the component is the section */
.tmb-site .tm-sec--home-pw, .tmb-site .tm-sec--home-bare { padding: 0; background: #fff; }

/* 4. What makes us different */
.tmb-site .tm-sec--home-diff { padding: 90px 0 96px; background: #1B2150; }
.tmb-site .tm-sec--home-diff > h2 { color: #fff; }

/* 5. Stats */
.tmb-site .tm-sec--home-stats { padding: 96px 0; background: #ECF0FB; }

/* 6. Services */
.tmb-site .tm-sec--home-cats {
	gap: 46px; padding: 96px max(24px, calc((100% - 1200px) / 2));
	background: #283071 radial-gradient(700px 420px at 15% 0%, rgba(110, 140, 255, .32), transparent 70%);
}
.tmb-site .tm-sec--home-cats > h2 { color: #fff; }
.tmb-site .tm-hm-cats { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 12px; padding: 10px; }
.tmb-site .tm-hm-cat {
	position: relative; display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 32%; padding: 16px 18px;
	border: 1px solid rgba(255, 255, 255, .35); border-radius: 12px; cursor: pointer;
	background: linear-gradient(160deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .1));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 18px 36px rgba(27,33,80, .35);
	transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s, border-color .3s;
}
.tmb-site .tm-hm-cat:hover {
	transform: translateY(-5px); border-color: rgba(245, 123, 32, .8);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 24px 44px rgba(27,33,80, .45), 0 0 30px rgba(245, 123, 32, .22);
}
.tmb-site .tm-hm-cat a {
	display: block; color: #fff; font-size: 15px; font-weight: 700; line-height: 1.3; letter-spacing: -.2px; text-align: left;
	text-decoration: none; text-shadow: 0 1px 2px rgba(27,33,80, .45);
}
.tmb-site .tm-hm-cat a { flex: 1 1 auto; min-width: 0; }
.tmb-site .tm-hm-cat a::after { content: ""; position: absolute; inset: 0; z-index: 10; }
.tmb-site .tm-hm-cat a span { display: block; margin-top: 7px; font-size: 13px; font-weight: 500; line-height: 1.4; letter-spacing: 0; opacity: .92; }
.tmb-site .tm-hm-cat i { display: flex; flex: none; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: rgba(255, 255, 255, .2); transition: background .3s; }
.tmb-site .tm-hm-cat svg { width: 13px; height: 13px; fill: #fff; transition: transform .2s ease; }
.tmb-site .tm-hm-cat:hover i { background: #F57B20; }
.tmb-site .tm-hm-cat:hover svg { transform: translateX(3px); }

/* 8. Bundles card */
.tmb-site .tm-sec--home-bundle { padding: 96px max(24px, calc((100% - 1200px) / 2)); background: #ECF0FB; }
.tmb-site .tm-hm-bundle {
	display: flex; flex-wrap: wrap; padding: 10px; overflow: hidden; background: #fff;
	border: 1px solid #E1E4ED; border-radius: 24px; box-shadow: 0 18px 50px rgba(27,33,80, .09);
}
/* Kirk's bundle-image (2026-10-07): a tablet with labels on screen, so no dark overlay, and
   below 1025px the box takes the photo's 3:2 shape instead of cropping the labels off. */
.tmb-site .tm-hm-bundle-img { position: relative; width: 42%; min-height: 330px; border-radius: 24px; overflow: hidden; background: #ECF0FB; }
.tmb-site .tm-hm-bundle-img:empty { background: url("https://i0.wp.com/targetmarketeer.com/wp-content/uploads/2026/10/bundle-image.jpg?w=1000&quality=80&strip=all&ssl=1") center / cover no-repeat; } /* markup from before the <img> */
.tmb-site .tm-hm-bundle-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tmb-site .tm-hm-bundle-txt { display: flex; flex-direction: column; justify-content: center; align-items: stretch; gap: 10px; width: 58%; padding: 44px 46px; background: #fff; }
.tmb-site .tm-hm-bundle-txt > * { margin: 0; }
.tmb-site .tm-hm-bundle-txt h2 { color: #1B2150; font-size: 32px; font-weight: 700; line-height: 1.15; letter-spacing: -.5px; text-align: left; }
.tmb-site .tm-hm-bundle-txt p { align-self: stretch; margin-bottom: 14.4px; color: #6B7090; font-size: 18px; line-height: 1.62; text-align: left; }
.tmb-site .tm-hm-bundle-txt .tm-hm-btn { align-self: flex-start; }

/* 9. Steps */
.tmb-site .tm-sec--home-steps { gap: 46px; padding: 96px max(24px, calc((100% - 1200px) / 2)); background: #283071; }
.tmb-site .tm-sec--home-steps > h2 { color: #fff; }

/* 11. Final call to action (the 120px top keeps the old 20px gap left by a style-only widget) */
.tmb-site .tm-sec--home-cta {
	align-items: center; gap: 28px; padding: 120px max(24px, calc((100% - 700px) / 2)) 100px;
	background: radial-gradient(at center center, #2C3680 0%, #1B2150 100%);
}
.tmb-site .tm-sec--home-cta > h2 { width: auto; color: #fff; font-size: 46px; line-height: 1.12; letter-spacing: -.8px; }

@media (max-width: 1024px) {
	.tmb-site :where(.tm-sec[class*="tm-sec--home-"]) > h2 { font-size: 38px; }
	.tmb-site .tm-hm-hero-in > h1 { font-size: 38px; }
	.tmb-site .tm-sec--home-cta > h2 { font-size: 38px; }
	.tmb-site .tm-hm-cat { width: 48%; }
	.tmb-site .tm-hm-bundle-img, .tmb-site .tm-hm-bundle-txt { width: 100%; }
	.tmb-site .tm-hm-bundle-img { min-height: 0; aspect-ratio: 1264 / 843; }
	.tmb-site .tm-hm-bundle-txt { align-items: center; }
	.tmb-site .tm-hm-bundle-txt .tm-hm-btn { align-self: center; }
	.tmb-site .tm-hm-bundle-txt p { text-align: center; }
}
@media (max-width: 767px) {
	.tmb-site :where(.tm-sec[class*="tm-sec--home-"]) > h2, .tmb-site .tm-sec--home-cta > h2 { font-size: 30px; }
	.tmb-site .tm-sec--home-hero { min-height: 560px; padding: 110px 0 84px; }
	.tmb-site .tm-hm-hero-in > h1 { font-size: 34px; }
	.tmb-site .tm-hm-hero-in > .tm-hm-lede { font-size: 18px; }
	.tmb-site .tm-sec--home-diff { padding: 72px 0 58px; }
	.tmb-site .tm-sec--home-stats { padding: 60px 0; }
	.tmb-site .tm-sec--home-cats, .tmb-site .tm-sec--home-bundle, .tmb-site .tm-sec--home-steps { padding-top: 60px; padding-bottom: 60px; }
	.tmb-site .tm-hm-cat { width: 100%; }
	.tmb-site .tm-hm-cat a span { font-size: 13px; }
	.tmb-site .tm-hm-bundle-txt { padding: 32px 28px 34px; }
	.tmb-site .tm-hm-bundle-txt h2 { font-size: 28px; text-align: center; }
	.tmb-site .tm-sec--home-cta { padding-top: 90px; padding-bottom: 70px; }
}

