.elementor-kit-6{--e-global-color-primary:#DCA433;--e-global-color-secondary:#3A3F45;--e-global-color-text:#1A1A1A;--e-global-color-accent:#B98220;--e-global-color-otwhite:#FFFFFF;--e-global-color-otbglight:#F7F8FA;--e-global-color-otbglight2:#EEF1F5;--e-global-color-otborder:#E2E5EA;--e-global-color-otmuted:#6B7280;--e-global-color-otsuccess:#2E7D5B;--e-global-color-oterror:#C0392B;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-weight:600;--e-global-typography-otdisplay-font-family:"Poppins";--e-global-typography-otdisplay-font-size:64px;--e-global-typography-otdisplay-font-weight:700;--e-global-typography-otdisplay-line-height:1.05em;--e-global-typography-otdisplay-letter-spacing:-0.5px;--e-global-typography-oth1-font-family:"Poppins";--e-global-typography-oth1-font-size:48px;--e-global-typography-oth1-font-weight:700;--e-global-typography-oth1-line-height:1.1em;--e-global-typography-oth1-letter-spacing:-0.3px;--e-global-typography-oth2-font-family:"Poppins";--e-global-typography-oth2-font-size:38px;--e-global-typography-oth2-font-weight:700;--e-global-typography-oth2-line-height:1.15em;--e-global-typography-oth2-letter-spacing:-0.2px;--e-global-typography-oth3-font-family:"Poppins";--e-global-typography-oth3-font-size:26px;--e-global-typography-oth3-font-weight:600;--e-global-typography-oth3-line-height:1.25em;--e-global-typography-oth4-font-family:"Poppins";--e-global-typography-oth4-font-size:20px;--e-global-typography-oth4-font-weight:600;--e-global-typography-oth4-line-height:1.3em;--e-global-typography-otbodylg-font-family:"Inter";--e-global-typography-otbodylg-font-size:19px;--e-global-typography-otbodylg-font-weight:400;--e-global-typography-otbodylg-line-height:1.7em;--e-global-typography-otbody-font-family:"Inter";--e-global-typography-otbody-font-size:17px;--e-global-typography-otbody-font-weight:400;--e-global-typography-otbody-line-height:1.7em;--e-global-typography-otbodysm-font-family:"Inter";--e-global-typography-otbodysm-font-size:15px;--e-global-typography-otbodysm-font-weight:400;--e-global-typography-otbodysm-line-height:1.6em;--e-global-typography-otnav-font-family:"Poppins";--e-global-typography-otnav-font-size:16px;--e-global-typography-otnav-font-weight:500;--e-global-typography-otnav-line-height:1.4em;--e-global-typography-otbutton-font-family:"Poppins";--e-global-typography-otbutton-font-size:16px;--e-global-typography-otbutton-font-weight:600;--e-global-typography-otbutton-line-height:1.2em;--e-global-typography-otbutton-letter-spacing:0.2px;--e-global-typography-otcaption-font-family:"Inter";--e-global-typography-otcaption-font-size:13px;--e-global-typography-otcaption-font-weight:500;--e-global-typography-otcaption-text-transform:uppercase;--e-global-typography-otcaption-line-height:1.4em;--e-global-typography-otcaption-letter-spacing:1.5px;background-color:#FFFFFF;color:#3A3F45;font-family:"Inter", Sans-serif;font-size:17px;font-weight:400;line-height:1.7em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#DCA433;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:600;letter-spacing:0.2px;color:#1A1A1A;border-radius:8px 8px 8px 8px;padding:16px 32px 16px 32px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#B98220;color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#916312;}.elementor-kit-6 a:hover{color:#1A1A1A;}.elementor-kit-6 h1{color:#1A1A1A;font-family:"Poppins", Sans-serif;font-size:48px;font-weight:700;line-height:1.1em;letter-spacing:-0.3px;}.elementor-kit-6 h2{color:#1A1A1A;font-family:"Poppins", Sans-serif;font-size:38px;font-weight:700;line-height:1.15em;letter-spacing:-0.2px;}.elementor-kit-6 h3{color:#1A1A1A;font-family:"Poppins", Sans-serif;font-size:26px;font-weight:600;line-height:1.25em;}.elementor-kit-6 h4{color:#1A1A1A;font-family:"Poppins", Sans-serif;font-size:20px;font-weight:600;line-height:1.3em;}.elementor-kit-6 h5{color:#1A1A1A;font-family:"Poppins", Sans-serif;font-size:18px;font-weight:600;line-height:1.4em;}.elementor-kit-6 h6{color:#B98220;font-family:"Poppins", Sans-serif;font-size:13px;font-weight:600;line-height:1.4em;letter-spacing:1.5px;}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:"Inter", Sans-serif;font-size:16px;color:#1A1A1A;background-color:#FFFFFF;border-radius:8px 8px 8px 8px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.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-kit-6{--e-global-typography-otdisplay-font-size:48px;--e-global-typography-oth1-font-size:38px;--e-global-typography-oth2-font-size:32px;--e-global-typography-oth3-font-size:23px;--e-global-typography-oth4-font-size:19px;--e-global-typography-otbodylg-font-size:18px;--e-global-typography-otbody-font-size:17px;--e-global-typography-otbodysm-font-size:15px;--e-global-typography-otnav-font-size:16px;--e-global-typography-otbutton-font-size:16px;--e-global-typography-otcaption-font-size:13px;}.elementor-kit-6 h1{font-size:38px;}.elementor-kit-6 h2{font-size:32px;}.elementor-kit-6 h3{font-size:23px;}.elementor-kit-6 h4{font-size:19px;}.elementor-kit-6 h5{font-size:17px;}.elementor-kit-6 h6{font-size:13px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-otdisplay-font-size:38px;--e-global-typography-oth1-font-size:31px;--e-global-typography-oth2-font-size:27px;--e-global-typography-oth3-font-size:21px;--e-global-typography-oth4-font-size:18px;--e-global-typography-otbodylg-font-size:17px;--e-global-typography-otbody-font-size:16px;--e-global-typography-otbodysm-font-size:14px;--e-global-typography-otnav-font-size:16px;--e-global-typography-otbutton-font-size:16px;--e-global-typography-otcaption-font-size:12px;}.elementor-kit-6 h1{font-size:31px;}.elementor-kit-6 h2{font-size:27px;}.elementor-kit-6 h3{font-size:21px;}.elementor-kit-6 h4{font-size:18px;}.elementor-kit-6 h5{font-size:17px;}.elementor-kit-6 h6{font-size:12px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== OnTrack Footer links ===== */
.ot-foot-links{list-style:none;margin:0;padding:0}
.ot-foot-links li{margin-bottom:10px}
.ot-foot-links a{color:#B4B8C0;text-decoration:none;font-family:Inter,sans-serif;font-size:15px;transition:color .2s}
.ot-foot-links a:hover{color:#DCA433}
.ot-foot-email:hover{color:#fff!important}
.ot-foot-legal a{color:#8A8F98;text-decoration:none;margin:0 4px}
.ot-foot-legal a:hover{color:#DCA433}
.ot-foot-legal-wrap{text-align:right}
/* Phase 6: footer 4-column grid (prevents wrap into second row) */
.elementor-element-0a96886{display:grid!important;grid-template-columns:1.7fr 1fr 1.15fr 1.5fr;gap:30px 40px;align-items:start}
.elementor-element-0a96886>*{width:auto!important;max-width:100%!important;margin:0!important}
@media(max-width:1024px){.elementor-element-0a96886{grid-template-columns:1fr 1fr!important;gap:36px 40px}}
@media(max-width:767px){.elementor-element-0a96886{grid-template-columns:1fr!important;gap:32px}}
@media(max-width:767px){.ot-foot-legal-wrap{text-align:left}}
/* ===== Phase 5: Focus-visible (darker gold, offset over surrounding bg) ===== */
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[type=checkbox]:focus-visible,[type=radio]:focus-visible,.elementor-accordion .elementor-tab-title:focus-visible,.elementor-tab-title:focus-visible,.elementor-menu-toggle:focus-visible,summary:focus-visible,.ot-path a:focus-visible{outline:3px solid #B98220!important;outline-offset:2px!important;border-radius:4px}
/* ===== OnTrack Process path ===== */
.ot-path{position:relative;display:flex;flex-wrap:nowrap;align-items:flex-start}
.ot-path::before{content:'';position:absolute;top:27px;left:9%;right:9%;height:2px;background:#E2E5EA;z-index:0}
.ot-path .ot-stage{position:relative;z-index:1;flex:1 1 0;text-align:center;padding:0 10px}
.ot-path .ot-node{width:54px;height:54px;margin:0 auto 18px;border-radius:50%;background:#fff;border:2px solid #DCA433;display:flex;align-items:center;justify-content:center;font-family:Poppins,sans-serif;font-weight:600;color:#B98220;font-size:18px;box-shadow:0 8px 20px rgba(220,164,51,.18)}
.ot-path .ot-stage h4{font-family:Poppins,sans-serif;font-weight:600;font-size:18px;margin:0 0 6px;color:#1A1A1A}
.ot-path .ot-stage p{font-family:Inter,sans-serif;font-size:14px;line-height:1.6;color:#6B7280;margin:0}
@media(max-width:1024px){.ot-path{flex-wrap:wrap}.ot-path::before{display:none}.ot-path .ot-stage{flex:0 0 33.33%;margin-bottom:30px}}
@media(max-width:600px){.ot-path .ot-stage{flex:0 0 100%;display:flex;text-align:left;gap:16px;align-items:flex-start;margin-bottom:22px}.ot-path .ot-node{margin:0 0 0 0;flex:0 0 54px}}
.ot-crossmark{color:#DCA433;font-weight:700}
/* ===== Phase 3: Signature hero lifecycle visual ===== */
.ot-hero-viz{position:relative;max-width:430px;margin-left:auto;background:#fff;border:1px solid #E2E5EA;border-radius:16px;padding:28px 30px;box-shadow:0 24px 60px rgba(20,22,28,.09)}
.ot-hv-head{font-family:Poppins,sans-serif;font-weight:600;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#B98220;margin-bottom:22px}
.ot-hv-head .ot-hv-cross{color:#DCA433;margin-right:6px;font-size:14px}
.ot-hv-track{position:relative;padding-left:2px}
.ot-hv-rail{position:absolute;left:19px;top:16px;bottom:20px;width:2px;background:#E2E5EA}
.ot-hv-fill{position:absolute;left:19px;top:16px;bottom:20px;width:2px;background:linear-gradient(#DCA433,#B98220);transform:scaleY(1);transform-origin:top;animation:otHvFill 1.6s ease-out .25s}
.ot-hv-step{position:relative;display:flex;align-items:flex-start;gap:16px;padding-bottom:20px}
.ot-hv-step:last-child{padding-bottom:0}
.ot-hv-node{position:relative;z-index:1;flex:0 0 36px;height:36px;border-radius:50%;background:#fff;border:2px solid #DCA433;color:#B98220;font-family:Poppins,sans-serif;font-weight:600;font-size:15px;display:flex;align-items:center;justify-content:center}
.ot-hv-node.is-final{background:#DCA433;border-color:#B98220;color:#fff}
.ot-hv-txt b{display:block;font-family:Poppins,sans-serif;font-weight:600;color:#1A1A1A;font-size:16px;line-height:1.2}
.ot-hv-txt i{display:block;font-style:normal;font-family:Inter,sans-serif;color:#6B7280;font-size:13px;line-height:1.5;margin-top:3px}
@keyframes otHvFill{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(max-width:1024px){.ot-hero-viz{max-width:560px;margin:0 auto}}
/* ===== Phase 7: Portfolio browser-frame placeholders ===== */
.ot-pf{border:1px solid #E2E5EA;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(20,22,28,.06)}
.ot-pf-bar{display:flex;align-items:center;padding:10px 14px;background:#F7F8FA;border-bottom:1px solid #E2E5EA}
.ot-pf-dots{display:flex;gap:6px;margin-right:12px}
.ot-pf-dot{width:9px;height:9px;border-radius:50%;background:#D4D8DE;display:inline-block}
.ot-pf-url{flex:1;font-family:Inter,sans-serif;font-size:12px;color:#6B7280;background:#fff;border:1px solid #E2E5EA;border-radius:6px;padding:4px 12px;text-align:center;letter-spacing:.3px}
.ot-pf-body{aspect-ratio:800/434;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg,#FBFCFD 0%,#EEF1F5 100%);gap:12px;padding:16px}
.ot-pf-mark{width:30px;height:30px}
.ot-pf-label{font-family:Inter,sans-serif;font-size:12px;letter-spacing:.5px;color:#8A8F98;text-transform:uppercase;font-weight:600}
/* ===== Phase 8: Consultation form polish ===== */
.elementor-field-group>label{font-family:Poppins,sans-serif;font-weight:600;font-size:14px;color:#1A1A1A;margin-bottom:6px}
input::placeholder,textarea::placeholder{color:#6B7280;opacity:1}
.elementor-field-type-checkbox .elementor-field-subgroup label,.elementor-field-type-radio .elementor-field-subgroup label{font-family:Inter,sans-serif;font-size:15px;color:#3A3F45;display:inline-flex;align-items:center;gap:8px;margin-bottom:10px}
.elementor-field-type-checkbox .elementor-field-subgroup input,.elementor-field-type-radio .elementor-field-subgroup input{margin-right:2px}
.elementor-field-type-acceptance label{font-size:14px;line-height:1.5;color:#3A3F45}
.elementor-field-group.elementor-mark-required>label.elementor-field-label:after{content:' *';color:#C0392B;font-weight:700}
.elementor-message-success{font-family:Inter,sans-serif;color:#2E7D5B}
.elementor-message-danger,.elementor-form .elementor-message.elementor-help-inline{color:#C0392B;font-family:Inter,sans-serif}
/* ===== Reduced motion ===== */
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.ot-hv-fill{transform:scaleY(1)!important;animation:none!important}}
/* Phase 2: header one-row nav (desktop horizontal menu only; mobile hamburger untouched) */
@media(min-width:1025px){
.elementor-element.elementor-element-7fd4969{flex-grow:1!important}
.elementor-element-7fd4969 .elementor-nav-menu{flex-wrap:nowrap!important}
.elementor-element-7fd4969 .elementor-nav-menu>li>a{white-space:nowrap!important}
.elementor-element.elementor-element-a7000fc{flex-shrink:0!important;flex-basis:auto!important;width:auto!important}
.elementor-element.elementor-element-649185a{flex-shrink:0!important}
}

/* Phase 2b: consultation link only in mobile dropdown (CTA hidden on mobile) */
@media(min-width:768px){li.ot-nav-consult{display:none!important}}
li.ot-nav-consult a{font-weight:600}

/* Phase 2b: hide header CTA button on mobile (consultation appears in mobile menu instead) */
@media(max-width:767px){.ot-cta{display:none!important}}

/* Consultation menu item shows only in mobile dropdown; CTA button covers >=768px (no duplicate) */
@media(min-width:768px){li.ot-cta-menu-item{display:none!important}}

/* ===== Portfolio preview: full-screenshot frame + live-site links ===== */
.ot-pf-body--media{display:block;padding:0;gap:0;background:#fff;position:relative}
.ot-pf-link{position:absolute;inset:0;display:block;overflow:hidden;text-decoration:none;background:#fff}
.ot-pf-link img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s cubic-bezier(.2,.6,.2,1)}
.ot-pf-link:hover img,.ot-pf-link:focus-visible img{transform:scale(1.03)}
.ot-pf-link:focus-visible{outline:3px solid #DCA433;outline-offset:3px}
.ot-live{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-family:Poppins,sans-serif;font-weight:600;font-size:14px;line-height:1;color:#1A1A1A;background:#fff;border:1px solid #D4D8DE;border-radius:8px;padding:11px 18px;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.ot-live:hover{background:#FBFCFD;border-color:#DCA433;transform:translateY(-1px);box-shadow:0 6px 16px rgba(20,22,28,.08)}
.ot-live:focus-visible{outline:3px solid #DCA433;outline-offset:3px}
.ot-live svg{width:14px;height:14px;flex:0 0 auto}
.ot-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (prefers-reduced-motion:reduce){.ot-pf-link img,.ot-live{transition:none}.ot-pf-link:hover img,.ot-pf-link:focus-visible img{transform:none}.ot-live:hover{transform:none;box-shadow:none}}

/* ===== Header logo — Batch 1M (attachment 62, cropped transparent) =====
   Logo widget ab0f15b display widths: 320 desktop / 240 tablet / 200 mobile.

   NARROW-DESKTOP GUARD — how the 837px constant is derived (re-measured 2026-08-04
   against the live rendered header, not inherited from the previous logo asset):

     Header container 2898d22 is boxed at 1200px with 24px left/right padding, so
       innerWidth = min(100vw - 48px, 1200px)
     The nav column 7fd4969 is right-aligned and its content never shrinks:
       nav menu a7000fc 493.77px + gap 28px + CTA 649185a 226.65px + trailing 10px
       = 758.42px measured from the inner right edge to the menu's left edge.
     Therefore, for a logo of width L below 1248px viewport:
       gap(logo -> menu) = (100vw - 48) - 758.42 - L
     Solving for a 30px minimum geometric gap (~46px visually, because the first
     menu item carries 16px of its own left padding):
       L = 100vw - 806.42 - 30  =>  L = 100vw - 836.42  ->  rounded to 837px.
     Full 320px desktop size is therefore reached at 320 + 837 = 1157px, which is
     why the guard's upper bound is 1156px. Below 1025px Elementor switches to the
     tablet breakpoint (burger menu) and the guard no longer applies.

     If the nav menu items, the CTA label, or the 28px nav gap ever change, re-measure
     that 758.42px constant and recompute: constant = 48 + measured + desired gap.
     Keep in sync with mu-plugin otw-header-logo-sizes.php.
   ====================================================================== */
.ot-logo img{display:block;height:auto;max-width:100%}
.ot-logo .elementor-image,.ot-logo a{display:block;line-height:0}
.elementor-element.elementor-element-2898d22>.e-con-inner{flex-wrap:nowrap!important;align-items:center!important}
.elementor-element.elementor-element-d290351{padding:0!important}
@media(min-width:1025px){.elementor-element.elementor-element-d290351{width:auto!important;flex:0 0 auto!important}.elementor-element.elementor-element-7fd4969{flex:1 1 auto!important}}
@media(min-width:1025px) and (max-width:1156px){.ot-logo img{width:calc(100vw - 837px)!important;min-width:160px}}
@media(max-width:767px){.elementor-element.elementor-element-d290351{width:70%!important}.elementor-element.elementor-element-7fd4969{width:30%!important}.elementor-element.elementor-element-a7000fc{min-width:240px!important}}
/* ===== end header logo ===== */
/* ===== Header mobile/tablet dropdown overlay — Batch 1M =====
   Baseline behaviour (Elementor stock, <=1024px): the burger dropdown is
   position:static, so opening it grew the sticky header from 92px to 332px and
   the 240px-wide panel sat on top of the logo. The 200px cropped logo made the
   overlap obvious. Anchoring the panel to the header container turns it into a
   proper overlay: header height stays constant, nothing covers the logo, and the
   burger returns to true vertical centre (the old min-width:240px on the menu
   widget was pushing the toggle 11px above centre).
   ============================================================ */
@media(max-width:1024px){
.elementor-element.elementor-element-a7000fc{min-width:0!important}
.elementor-element.elementor-element-7fd4969,
.elementor-element.elementor-element-a7000fc{position:static!important}
.elementor-element.elementor-element-a7000fc .elementor-nav-menu--dropdown{position:absolute!important;top:100%!important;margin-top:1px!important;right:0!important;left:auto!important;width:min(320px,calc(100vw - 32px))!important;background:#fff;border:1px solid #E2E5EA;border-top:0;border-radius:0 0 10px 10px;box-shadow:0 18px 36px rgba(20,22,28,.16);z-index:999}
}
/* ===== end header mobile dropdown overlay ===== *//* End custom CSS */