.elementor-151 .elementor-element.elementor-element-59e57698{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-29e7fef9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-151 .elementor-element.elementor-element-500d52e9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-151 .elementor-element.elementor-element-6036b60c{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-24e11896{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-151 .elementor-element.elementor-element-5d8a0134 .elementor-heading-title{font-family:"Sora", Sans-serif;font-weight:300;}.elementor-151 .elementor-element.elementor-element-7ae38c04{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-42e8e65b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-2d6453cb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-64780b4e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-629a055a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-af8ed96{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-172cb423{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-52d4de2e .elementor-heading-title{font-family:"Sora", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-35a3fd08{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-4ec5ccf4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-e9bc694{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-14d6720e{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-613897d8{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-16885fa{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-151e91ee{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-2cf75d2a{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-e6e5e55{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-3498d06d{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-64e1f425{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-6ddae542{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-62a38759{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-35f17c10{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-11cd1bf3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-3bde0cbe{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-2fcb1c22{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-1066de6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-63be50d2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-35bcc835{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-cd89ba8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-19c953b8{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-2cbc360b .elementor-heading-title{font-family:"Sora", Sans-serif;font-weight:300;}.elementor-151 .elementor-element.elementor-element-7e8a6275{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-47c5d4b1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-71e9ccd0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-2052a652{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-565d14b2 .elementor-heading-title{font-family:"Sora", Sans-serif;font-weight:500;}.elementor-151 .elementor-element.elementor-element-deba6fd{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-1434b40c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-3880d41{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-59389295 .elementor-heading-title{font-family:"Sora", Sans-serif;font-weight:500;}.elementor-151 .elementor-element.elementor-element-6b627bc0{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-3f3e672d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-2a3e2817{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-2950205c .elementor-heading-title{font-family:"Sora", Sans-serif;font-weight:500;}.elementor-151 .elementor-element.elementor-element-46f1e785{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-4eb91da8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-6e56c27a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-5e592704{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-151 .elementor-element.elementor-element-1094f55{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-571e4ca4 .elementor-heading-title{font-family:"Sora", Sans-serif;font-weight:300;}.elementor-151 .elementor-element.elementor-element-1eb6c221{font-family:"Figtree", Sans-serif;font-weight:400;}.elementor-151 .elementor-element.elementor-element-76fad5fa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS *//* ==========================================================================
   Dyotatech AI — Contact page companion CSS (www.dyotatech.ai)
   Pairs with: dyotatech-contact-elementor-template.json · Prefix: dt-
   Source of truth: approved Contact mockup v1 + homepage design system
   + Dyotatech AI Brand Guidelines v1.0.
   The form is a Formidable Forms shortcode; layer 7d styles Formidable's
   standard markup to match the mockup.
   Dark mode is the default. Light mode applies when <html data-theme="light">.
   Self-contained: tokens, buttons and shared styles are repeated here.
   Header, footer, utility bar and cookie notice are NOT styled here.
   ========================================================================== */

/* 1. FONTS — none imported here. Sora and Figtree are loaded by the widgets'
      Elementor typography settings (also set them as Global Fonts). */

/* 2. TOKENS ---------------------------------------------------------------- */
:root {
  /* Dark mode (default) */
  --dt-paper: #0E0D0B; --dt-surface: #161410; --dt-band: #12110E; --dt-band-2: #1D1B17;
  --dt-ink: #F3F0EB; --dt-ink-2: #B9B2A9; --dt-ink-3: #8B847B;
  --dt-line: #27241F; --dt-line-2: #38342E;
  --dt-grid-line: rgba(255,255,255,.035); --dt-shadow: rgba(0,0,0,.7);
  --dt-accent: #EE5B07; --dt-em: #FF7A2A; --dt-accent-text: #FF8A3D;
  --dt-accent-wash: rgba(238,91,7,.10); --dt-accent-line: rgba(238,91,7,.35);
  --dt-btn-bg: #F3F0EB; --dt-btn-fg: #16140F; --dt-btn-hover-bg: #0A0908;
  --dt-inv-bg: #1B1915; --dt-inv-fg: #F3F0EB; --dt-inv-fg-2: #B9B2A9; --dt-inv-kicker: #FF9A52;
  --dt-inv-btn-bg: #F3F0EB; --dt-inv-btn-fg: #16140F;
  /* Electric-blue neon (hover / focus glow only) */
  --dt-neon-rgb: 64,120,255; --dt-neon-text: #9DB9FF;
  /* Type */
  --dt-display: "Sora", "Helvetica Neue", Arial, sans-serif;
  --dt-body: "Figtree", "Helvetica Neue", Arial, sans-serif;
  /* Spacing contract */
  --dt-max: 1320px;
  --dt-gutter: clamp(18px, 4vw, 48px);
  --dt-section-y: clamp(72px, 9vw, 120px);
  --dt-hero-y: clamp(56px, 8vw, 104px);
  --dt-cta-y: clamp(64px, 8vw, 104px);
  --dt-head-gap: clamp(40px, 5vw, 60px);
  --dt-r: 6px;
  --dt-error: #FF8A7A;
  color-scheme: dark;
}
html[data-theme="light"] {
  --dt-paper: #FFFFFF; --dt-surface: #FFFFFF; --dt-band: #F7F6F4; --dt-band-2: #F1EFEC;
  --dt-ink: #16140F; --dt-ink-2: #55504A; --dt-ink-3: #86807A;
  --dt-line: #E7E3DE; --dt-line-2: #D8D2CB;
  --dt-grid-line: rgba(22,20,15,.045); --dt-shadow: rgba(22,20,15,.35);
  --dt-em: #EE5B07; --dt-accent-text: #B84503;
  --dt-accent-wash: #FFF4EC; --dt-accent-line: #F8D5BF;
  --dt-btn-bg: #16140F; --dt-btn-fg: #FFFFFF; --dt-btn-hover-bg: #0B0A08;
  --dt-inv-bg: #16140F; --dt-inv-fg: #FFFFFF; --dt-inv-fg-2: #CFC9C2; --dt-inv-kicker: #F7A06B;
  --dt-inv-btn-bg: #FFFFFF; --dt-inv-btn-fg: #16140F;
  --dt-error: #B42318;
  color-scheme: light;
}
/* Page ground behind the sections (!important: the site kit sets its own body background) */
body { background: var(--dt-paper) !important; }

/* 3. NORMALISATION ---------------------------------------------------------- */
/* a) Neutralise Elementor's spacing VARIABLES inside our sections (not the properties) */
.e-con:is(.dt-hero, .dt-contact, .dt-next, .dt-faq),
:is(.dt-hero, .dt-contact, .dt-next, .dt-faq) .e-con {
  --gap: 0px !important; --row-gap: 0px !important; --column-gap: 0px !important;
  --widgets-spacing: 0px !important; --widgets-spacing-row: 0px !important; --widgets-spacing-column: 0px !important;
  --padding-top: 0px !important; --padding-right: 0px !important; --padding-bottom: 0px !important; --padding-left: 0px !important;
  --padding-block-start: 0px !important; --padding-block-end: 0px !important;
  --padding-inline-start: 0px !important; --padding-inline-end: 0px !important;
}
:where(.dt-hero, .dt-contact, .dt-next, .dt-faq) .e-con { gap: 0; }
/* b) Widget wrapper reset (our widgets only) */
.elementor .e-con > .elementor-widget:is([class*="dt-"]) { margin: 0; }
/* c) Paragraph and heading resets */
.elementor .e-con:is(.dt-hero, .dt-contact, .dt-next, .dt-faq) .elementor-widget-text-editor p { margin: 0; }
.elementor .e-con:is(.dt-hero, .dt-contact, .dt-next, .dt-faq) .elementor-heading-title { margin: 0; text-wrap: balance; text-transform: none; }
/* d) Typography lock for body text (!important: the site kit forces its own body font/colour).
      Display-font text widgets are excluded and styled in layer 6. */
/*    Kept at low specificity (0,2,1) with :where() so every component rule below outranks it. */
.elementor :where(.e-con:is(.dt-hero, .dt-contact, .dt-next, .dt-faq)) .elementor-widget-text-editor:where(:not(.dt-kicker, .dt-crumbs, .dt-info-label, .dt-info-value, .dt-socials, .dt-next-n)) p {
  font-family: var(--dt-body) !important; font-size: 17px; line-height: 1.6; color: var(--dt-ink-2) !important; letter-spacing: 0; text-transform: none;
}

/* 4. SECTION BACKGROUNDS AND PADDING (contract values; !important beats panel-padding variables) */
.e-con.dt-hero { position: relative; overflow: clip; background: var(--dt-band); border-bottom: 1px solid var(--dt-line); padding: var(--dt-hero-y) 0 !important; }
.e-con.dt-hero.dt-hero-compact { padding: clamp(48px, 6vw, 80px) 0 !important; }
.e-con:is(.dt-contact, .dt-faq) { background: var(--dt-paper); padding: var(--dt-section-y) 0 !important; }
.e-con.dt-next { background: var(--dt-band); padding: var(--dt-section-y) 0 !important; }

/* Hero 12-column grid lines (decorative; full inset set because Elementor also uses ::before) */
.e-con.dt-hero::before {
  content: ""; position: absolute; inset: 0; width: auto; height: auto; opacity: 1; pointer-events: none; z-index: 0;
  background-image: linear-gradient(to right, var(--dt-grid-line) 1px, transparent 1px);
  background-size: calc(100% / 12) 100%;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
}

/* 5. INNER WRAPPERS AND GRIDS ----------------------------------------------- */
.e-con:is(.dt-hero-inner, .dt-contact-inner, .dt-next-inner, .dt-faq-inner) {
  width: calc(min(var(--dt-max), 100%) - 2 * var(--dt-gutter)); max-width: none; margin-inline: auto;
}
/* Section header: title 7 cols, description cols 8–12 */
.e-con.dt-sechead { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; row-gap: 16px; align-items: end; margin-bottom: var(--dt-head-gap); }
.e-con.dt-sechead > .e-con.dt-sechead-t { grid-column: 1 / span 7; width: auto; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.elementor .e-con.dt-sechead > .elementor-widget.dt-sechead-d { grid-column: 8 / span 5; width: auto; min-width: 0; }

/* Hero (compact: copy spans 8 columns, no card) */
.e-con.dt-hero-inner { position: static; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: center; }
.e-con.dt-hero-inner > .e-con.dt-hero-copy { grid-column: 1 / span 8; width: auto; min-width: 0; position: relative; z-index: 1; display: flex; flex-direction: column; gap: 28px; }
.elementor .e-con > .elementor-widget.dt-hero-mark { position: absolute; right: -120px; top: -80px; width: 560px; max-width: none; opacity: .06; pointer-events: none; z-index: 0; }
.elementor .e-con .dt-hero-mark img { width: 100%; height: auto; object-fit: contain; }

/* FAQ */
.e-con.dt-faq-inner { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; row-gap: 32px; }
.e-con.dt-faq-inner > .e-con.dt-faq-l { grid-column: 1 / span 4; width: auto; min-width: 0; display: flex; flex-direction: column; gap: 18px; align-self: start; }
.e-con.dt-faq-inner > .e-con.dt-faq-r { grid-column: 6 / span 7; width: auto; min-width: 0; }
.elementor .e-con.dt-faq-l > .elementor-widget.dt-btn-line { align-self: flex-start; width: auto; }

/* Form + details: form cols 1–7, details cols 9–12 (sticky) */
.e-con.dt-contact-inner { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; row-gap: 40px; align-items: start; }
.e-con.dt-contact-inner > .e-con.dt-form-col { grid-column: 1 / span 7; width: auto; min-width: 0; }
.e-con.dt-contact-inner > .e-con.dt-info-col { grid-column: 9 / span 4; width: auto; min-width: 0; display: flex; flex-direction: column; gap: 16px; position: sticky; top: 110px; }
.e-con.dt-form-card { display: flex; flex-direction: column; background: var(--dt-surface); border: 1px solid var(--dt-line); border-radius: 10px; box-shadow: 0 40px 80px -48px var(--dt-shadow); overflow: hidden; }
.e-con.dt-form-card > .e-con.dt-form-head { display: flex; flex-direction: column; gap: 8px; padding: 26px 30px 22px !important; border-bottom: 1px solid var(--dt-line); }
.elementor .e-con.dt-form-card > .elementor-widget.dt-form-sc { padding: 26px 30px 30px; }
.e-con.dt-info-col > .e-con.dt-info-card { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px !important; background: var(--dt-surface); border: 1px solid var(--dt-line); border-radius: var(--dt-r); }

/* What happens next: three steps under a 1px ink rule */
.e-con.dt-next-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--dt-ink); }
.e-con.dt-next-grid > .e-con.dt-next-step { width: auto; min-width: 0; display: flex; flex-direction: column; gap: 12px; padding: 28px 32px 8px 0 !important; }
.e-con.dt-next-grid > .e-con.dt-next-step + .e-con.dt-next-step { padding-left: 32px !important; border-left: 1px solid var(--dt-line); }

/* 6. TYPOGRAPHY -------------------------------------------------------------- */
/* Headings (!important: site kit heading fonts/colours) */
.elementor .e-con .dt-h1 .elementor-heading-title { font: 300 clamp(2.3rem, 4.8vw, 4rem)/1.07 var(--dt-display) !important; letter-spacing: -.035em !important; color: var(--dt-ink) !important; }
.elementor .e-con .dt-h2 .elementor-heading-title { font: 300 clamp(1.8rem, 3.2vw, 2.7rem)/1.12 var(--dt-display) !important; letter-spacing: -.03em !important; color: var(--dt-ink) !important; }
.elementor .e-con .elementor-heading-title .dt-em { font-weight: 500; color: var(--dt-em); }

/* Kicker (excluded from the lock; (0,4,1) beats kit text rules) */
.elementor .e-con .elementor-widget-text-editor.dt-kicker p { font: 600 .76rem/1.4 var(--dt-body); letter-spacing: .14em; text-transform: uppercase; color: var(--dt-accent-text) !important; }

/* Lead paragraphs */
.elementor .e-con .elementor-widget-text-editor.dt-lede p { font-size: 1.14rem; max-width: 62ch; color: var(--dt-ink-2) !important; }
.elementor .e-con .elementor-widget-text-editor.dt-sechead-d p { color: var(--dt-ink-2) !important; }

/* Tagline with short orange dash */
.elementor .e-con .elementor-widget-text-editor.dt-tagline p { font: 500 .95rem/1.5 var(--dt-display); letter-spacing: -.01em; color: var(--dt-ink) !important; margin: 0; }
.elementor .e-con .elementor-widget-text-editor.dt-tagline p::before { content: ""; display: inline-block; width: 22px; height: 2px; margin-right: 12px; vertical-align: middle; background: var(--dt-accent); }

/* Breadcrumb (link: kit forces small uppercase links; 44px tap area without moving the layout) */
.elementor .e-con .elementor-widget-text-editor.dt-crumbs p { display: flex; flex-wrap: wrap; gap: 8px; font: 400 .84rem/1.5 var(--dt-body); color: var(--dt-ink-3) !important; }
.elementor .e-con .dt-crumbs p a { display: inline-flex; align-items: center; min-height: 44px; margin-block: -12px; font: inherit !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--dt-ink-2) !important; text-decoration: none; }
.elementor .e-con .dt-crumbs p a:hover { color: var(--dt-ink) !important; text-decoration: underline; text-underline-offset: 3px; }
.elementor .e-con .dt-crumbs p span[aria-hidden] { color: var(--dt-ink-3); }

/* Form card heading */
.elementor .e-con .dt-form-title .elementor-heading-title { font: 400 1.6rem/1.2 var(--dt-display) !important; letter-spacing: -.025em !important; color: var(--dt-ink) !important; }
.elementor .e-con .elementor-widget-text-editor.dt-form-intro p { font-size: .96rem; color: var(--dt-ink-2) !important; }

/* Info cards */
.elementor .e-con .elementor-widget-text-editor.dt-info-label p { font: 600 .74rem/1.4 var(--dt-body); letter-spacing: .12em; text-transform: uppercase; color: var(--dt-ink-3) !important; }
.elementor .e-con .elementor-widget-text-editor.dt-info-value p { font: 400 1.12rem/1.35 var(--dt-display); letter-spacing: -.01em; color: var(--dt-ink) !important; word-break: break-word; }
.elementor .e-con .dt-info-value p a { color: inherit !important; font: inherit !important; text-transform: none !important; letter-spacing: inherit !important; text-decoration: none; }
.elementor .e-con .dt-info-value p a:hover { text-decoration: underline; text-underline-offset: 3px; }
.elementor .e-con .dt-info-value p .dt-slot { display: inline-block; padding: 2px 8px; border: 1px dashed var(--dt-accent-line); border-radius: 3px; font: 500 .9rem/1.5 var(--dt-body); color: var(--dt-accent-text); }
.elementor .e-con .elementor-widget-text-editor.dt-info-p p { font-size: .92rem; }
.elementor .e-con .elementor-widget-text-editor.dt-socials p { display: flex; flex-wrap: wrap; gap: 8px; }
.elementor .e-con .dt-socials p a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border: 1px solid var(--dt-line-2); border-radius: 4px; font: 600 .86rem/1 var(--dt-body) !important; letter-spacing: 0 !important; text-transform: none !important; text-decoration: none; color: var(--dt-ink) !important; transition: border-color .2s ease, box-shadow .3s ease; }
.elementor .e-con .dt-socials p a:is(:hover, :focus-visible) { border-color: rgb(var(--dt-neon-rgb)); box-shadow: 0 0 12px rgba(var(--dt-neon-rgb), .4); }

/* Next steps */
.elementor .e-con .elementor-widget-text-editor.dt-next-n p { font: 300 2.6rem/1 var(--dt-display); letter-spacing: -.04em; color: var(--dt-ink-3) !important; }
.elementor .e-con.dt-next-step:first-child .elementor-widget-text-editor.dt-next-n p { color: var(--dt-accent) !important; }
.elementor .e-con .dt-next-title .elementor-heading-title { font: 500 1.14rem/1.3 var(--dt-display) !important; letter-spacing: -.015em !important; color: var(--dt-ink) !important; }

/* 7. COMPONENTS ------------------------------------------------------------- */
/* 7a. Buttons — shared base. All states locked (!important: kit hover colours, borders, uppercase). */
.elementor .e-con :is(.dt-btn-primary, .dt-btn-line) .elementor-button,
.elementor .e-con :is(.dt-btn-primary, .dt-btn-line) .elementor-button:is(:hover, :focus, :active, :visited) {
  display: inline-flex !important; align-items: center; justify-content: center; min-height: 52px;
  padding: 17px 28px !important; border-radius: 4px !important;
  font: 500 .98rem/1 var(--dt-display) !important; letter-spacing: -.005em !important; text-transform: none !important; text-decoration: none !important;
  text-shadow: none; outline: 0;
  transition: color .25s ease, border-color .25s ease, box-shadow .35s ease, text-shadow .35s ease, background-color .25s ease, transform .2s ease;
}
.elementor .e-con :is(.dt-btn-primary, .dt-btn-line, .dt-btn-text) .elementor-button :is(.elementor-button-content-wrapper, .elementor-button-text) {
  font: inherit !important; color: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; text-shadow: inherit;
}
/* Primary at rest: solid, thin orange line along the bottom */
.elementor .e-con .dt-btn-primary .elementor-button,
.elementor .e-con .dt-btn-primary .elementor-button:is(:focus, :active, :visited) {
  background: var(--dt-btn-bg) !important; background-color: var(--dt-btn-bg) !important; color: var(--dt-btn-fg) !important;
  border: 1px solid var(--dt-btn-bg) !important; box-shadow: inset 0 -3px 0 var(--dt-accent) !important;
}
/* Primary on dark tiles (variant ≥ base specificity) */
.elementor .e-con .dt-btn-primary.dt-btn-inverse .elementor-button,
.elementor .e-con .dt-btn-primary.dt-btn-inverse .elementor-button:is(:focus, :active, :visited) {
  background: var(--dt-inv-btn-bg) !important; background-color: var(--dt-inv-btn-bg) !important; color: var(--dt-inv-btn-fg) !important;
  border: 1px solid var(--dt-inv-btn-bg) !important; box-shadow: inset 0 -3px 0 var(--dt-accent) !important;
}
/* Outline at rest */
.elementor .e-con .dt-btn-line .elementor-button,
.elementor .e-con .dt-btn-line .elementor-button:is(:focus, :active, :visited) {
  background: transparent !important; background-color: transparent !important; color: var(--dt-ink) !important;
  border: 1px solid var(--dt-ink) !important; box-shadow: none !important;
}
/* Neon hover / keyboard focus — electric blue glow (same rule for every variant) */
.elementor .e-con :is(.dt-btn-primary, .dt-btn-line) .elementor-button:is(:hover, :focus-visible),
.elementor .e-con .dt-btn-primary.dt-btn-inverse .elementor-button:is(:hover, :focus-visible) {
  background: var(--dt-btn-hover-bg) !important; background-color: var(--dt-btn-hover-bg) !important;
  color: var(--dt-neon-text) !important; border: 1px solid rgb(var(--dt-neon-rgb)) !important;
  text-shadow: 0 0 8px rgba(var(--dt-neon-rgb), .9), 0 0 18px rgba(var(--dt-neon-rgb), .5);
  box-shadow: 0 0 0 1px rgb(var(--dt-neon-rgb)), 0 0 14px rgba(var(--dt-neon-rgb), .75), 0 0 38px rgba(var(--dt-neon-rgb), .45), 0 0 80px rgba(var(--dt-neon-rgb), .2), inset 0 0 14px rgba(var(--dt-neon-rgb), .35) !important;
}
.elementor .e-con :is(.dt-btn-primary, .dt-btn-line) .elementor-button:active { transform: translateY(1px); }

/* 7b. Text-link button: underline glows electric blue on hover */
.elementor .e-con .dt-btn-text .elementor-button,
.elementor .e-con .dt-btn-text .elementor-button:is(:hover, :focus, :active, :visited) {
  display: inline-flex !important; align-items: center; min-height: 44px; position: relative; padding: 0 !important;
  background: transparent !important; background-color: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  font: 500 .95rem/1 var(--dt-display) !important; letter-spacing: 0 !important; text-transform: none !important; text-decoration: none !important;
  color: var(--dt-ink) !important; outline: 0;
}
.elementor .e-con .dt-btn-text .elementor-button::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 10px; height: 1.5px; background: var(--dt-line-2); transition: background-color .25s ease, box-shadow .3s ease;
}
.elementor .e-con .dt-btn-text .elementor-button:is(:hover, :focus-visible)::after,
.elementor .e-con.dt-post:hover .dt-btn-text .elementor-button::after {
  background: rgb(var(--dt-neon-rgb)); box-shadow: 0 0 8px rgba(var(--dt-neon-rgb), .85), 0 0 18px rgba(var(--dt-neon-rgb), .45);
}

/* 7c. FAQ accordion */
.elementor .e-con .dt-faq-list { border-top: 1px solid var(--dt-line); }
.elementor .e-con .dt-faq-list details { border-bottom: 1px solid var(--dt-line); }
.elementor .e-con .dt-faq-list summary { display: flex; justify-content: space-between; gap: 20px; padding: 22px 0; list-style: none; cursor: pointer; font: 400 1.1rem/1.4 var(--dt-display); letter-spacing: -.015em; color: var(--dt-ink); }
.elementor .e-con .dt-faq-list summary::-webkit-details-marker { display: none; }
.elementor .e-con .dt-faq-list summary::after { content: "+"; font: 300 1.6rem/1 var(--dt-display); color: var(--dt-ink-3); transition: transform .2s ease; }
.elementor .e-con .dt-faq-list details[open] summary::after { transform: rotate(45deg); color: var(--dt-accent); }
.elementor .e-con .dt-faq-list details p { max-width: 62ch; margin: 0; padding: 0 0 22px; font: 400 17px/1.6 var(--dt-body); color: var(--dt-ink-2); }


/* 7d. Formidable form (standard Formidable 6 markup) — styled to match the mockup.
       !important: Formidable's own style sheet sets field colours, borders and button styles. */
.elementor .e-con .dt-form-sc .frm_forms { max-width: none; margin: 0; font-family: var(--dt-body); }
.elementor .e-con .dt-form-sc .frm_forms fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.elementor .e-con .dt-form-sc .frm_forms :is(legend.frm_screen_reader, .frm_screen_reader) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.elementor .e-con .dt-form-sc .frm_forms .frm_description { display: none; }
/* Grid: two fields per row where the field has the "frm6" layout class, otherwise full width */
.elementor .e-con .dt-form-sc .frm_forms .frm_fields_container { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px 20px !important; }
.elementor .e-con .dt-form-sc .frm_forms .frm_fields_container > * { grid-column: 1 / -1; min-width: 0; margin: 0 !important; padding: 0 !important; width: auto !important; }
.elementor .e-con .dt-form-sc .frm_forms .frm_fields_container > :is(.frm6, .frm_half) { grid-column: span 6; }
.elementor .e-con .dt-form-sc .frm_forms .frm_form_field { display: grid; gap: 8px; align-content: start; }
/* Labels */
.elementor .e-con .dt-form-sc .frm_forms .frm_primary_label { margin: 0 !important; padding: 0 !important; font: 600 .86rem/1.4 var(--dt-body) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--dt-ink) !important; }
.elementor .e-con .dt-form-sc .frm_forms .frm_primary_label .frm_required { color: var(--dt-accent-text) !important; }
/* Inputs */
.elementor .e-con .dt-form-sc .frm_forms :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea) {
  width: 100% !important; min-height: 48px; margin: 0; padding: 12px 14px !important;
  border: 1px solid var(--dt-line-2) !important; border-radius: 4px !important; box-shadow: none !important;
  background: var(--dt-band) !important; color: var(--dt-ink) !important;
  font: 400 1rem/1.4 var(--dt-body) !important; letter-spacing: 0 !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.elementor .e-con .dt-form-sc .frm_forms textarea { min-height: 120px; resize: vertical; }
.elementor .e-con .dt-form-sc .frm_forms select { -webkit-appearance: none; appearance: none; padding-right: 40px !important;
  background-image: linear-gradient(45deg, transparent 50%, var(--dt-ink-3) 50%), linear-gradient(135deg, var(--dt-ink-3) 50%, transparent 50%) !important;
  background-position: calc(100% - 20px) 21px, calc(100% - 15px) 21px !important; background-size: 5px 5px !important; background-repeat: no-repeat !important; }
.elementor .e-con .dt-form-sc .frm_forms :is(input, textarea)::placeholder { color: var(--dt-ink-3) !important; opacity: 1; }
.elementor .e-con .dt-form-sc .frm_forms :is(input, select, textarea):focus { outline: 0 !important; border-color: rgb(var(--dt-neon-rgb)) !important; box-shadow: 0 0 0 3px rgba(var(--dt-neon-rgb), .25) !important; }
/* Tick boxes as chips */
.elementor .e-con .dt-form-sc .frm_forms .frm_opt_container { display: flex; flex-wrap: wrap; gap: 8px; }
.elementor .e-con .dt-form-sc .frm_forms :is(.frm_checkbox, .frm_radio) { margin: 0 !important; padding: 0 !important; }
.elementor .e-con .dt-form-sc .frm_forms :is(.frm_checkbox, .frm_radio) label {
  position: relative; display: inline-flex !important; align-items: center; min-height: 44px; margin: 0 !important; padding: 0 14px !important;
  border: 1px solid var(--dt-line-2); border-radius: 4px; background: var(--dt-band); cursor: pointer;
  font: 500 .9rem/1.2 var(--dt-body) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--dt-ink-2) !important;
  transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}
.elementor .e-con .dt-form-sc .frm_forms :is(.frm_checkbox, .frm_radio) input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.elementor .e-con .dt-form-sc .frm_forms :is(.frm_checkbox, .frm_radio) label:has(input:checked) { border-color: var(--dt-accent); background: var(--dt-accent-wash); color: var(--dt-ink) !important; }
.elementor .e-con .dt-form-sc .frm_forms :is(.frm_checkbox, .frm_radio) label:has(input:focus-visible) { outline: 2px solid var(--dt-accent); outline-offset: 2px; }
/* Consent / HTML fields */
.elementor .e-con .dt-form-sc .frm_forms .frm_form_field.frm_html_container { display: block; font-size: .86rem; line-height: 1.55; color: var(--dt-ink-3); }
.elementor .e-con .dt-form-sc .frm_forms .frm_html_container a { display: inline !important; padding-block: 15px; font: inherit !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--dt-ink-2) !important; text-decoration: underline; text-underline-offset: 3px; } /* inline padding = 44px tap area without changing the line */
/* Submit: same as the primary button, with the electric-blue neon on hover */
.elementor .e-con .dt-form-sc .frm_forms .frm_submit { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; margin: 4px 0 0 !important; }
.elementor .e-con .dt-form-sc .frm_forms .frm_submit :is(button, input[type="submit"]),
.elementor .e-con .dt-form-sc .frm_forms .frm_submit :is(button, input[type="submit"]):is(:focus, :active) {
  display: inline-flex !important; align-items: center; justify-content: center; min-height: 52px; width: auto; margin: 0 !important; padding: 17px 28px !important;
  border: 1px solid var(--dt-btn-bg) !important; border-radius: 4px !important;
  background: var(--dt-btn-bg) !important; color: var(--dt-btn-fg) !important; box-shadow: inset 0 -3px 0 var(--dt-accent) !important;
  font: 500 .98rem/1 var(--dt-display) !important; letter-spacing: -.005em !important; text-transform: none !important; text-shadow: none; cursor: pointer;
  transition: color .25s ease, border-color .25s ease, box-shadow .35s ease, text-shadow .35s ease, background-color .25s ease;
}
.elementor .e-con .dt-form-sc .frm_forms .frm_submit :is(button, input[type="submit"]):is(:hover, :focus-visible) {
  background: var(--dt-btn-hover-bg) !important; color: var(--dt-neon-text) !important; border-color: rgb(var(--dt-neon-rgb)) !important;
  text-shadow: 0 0 8px rgba(var(--dt-neon-rgb), .9), 0 0 18px rgba(var(--dt-neon-rgb), .5);
  box-shadow: 0 0 0 1px rgb(var(--dt-neon-rgb)), 0 0 14px rgba(var(--dt-neon-rgb), .75), 0 0 38px rgba(var(--dt-neon-rgb), .45), 0 0 80px rgba(var(--dt-neon-rgb), .2), inset 0 0 14px rgba(var(--dt-neon-rgb), .35) !important;
}
/* Errors and the thank-you message */
.elementor .e-con .dt-form-sc .frm_forms .frm_error { font: 400 .84rem/1.4 var(--dt-body) !important; color: var(--dt-error) !important; }
.elementor .e-con .dt-form-sc .frm_forms .frm_blank_field :is(input, textarea, select) { border-color: var(--dt-error) !important; }
.elementor .e-con .dt-form-sc .frm_forms .frm_error_style { margin: 0 0 18px; padding: 12px 14px; border: 1px solid var(--dt-error); border-radius: 4px; background: transparent; font-size: .9rem; color: var(--dt-error); }
.elementor .e-con .dt-form-sc :is(.frm_message, .frm_forms .frm_message) { margin: 0; padding: 18px 20px; border: 1px solid var(--dt-accent-line); border-left: 3px solid var(--dt-accent); border-radius: 4px; background: var(--dt-accent-wash); font: 400 1rem/1.6 var(--dt-body); color: var(--dt-ink); }
.elementor .e-con .dt-form-sc :is(.frm_message, .frm_forms .frm_message) p { margin: 0; color: var(--dt-ink); }

/* 8. RESPONSIVE OVERRIDES (≥ desktop specificity) ------------------------------ */
@media (max-width: 1080px) {
  .e-con.dt-sechead > .e-con.dt-sechead-t,
  .e-con.dt-hero-inner > .e-con.dt-hero-copy,
  .e-con.dt-contact-inner > .e-con:is(.dt-form-col, .dt-info-col),
  .e-con.dt-faq-inner > .e-con:is(.dt-faq-l, .dt-faq-r) { grid-column: 1 / -1; }
  .elementor .e-con.dt-sechead > .elementor-widget.dt-sechead-d { grid-column: 1 / -1; }
  .e-con.dt-contact-inner > .e-con.dt-info-col { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 760px) {
  .elementor :where(.e-con:is(.dt-hero, .dt-contact, .dt-next, .dt-faq)) .elementor-widget-text-editor:where(:not(.dt-kicker, .dt-crumbs, .dt-info-label, .dt-info-value, .dt-socials, .dt-next-n)) p { font-size: 16px; }
  .elementor .e-con .dt-faq-list details p { font-size: 16px !important; }
  .e-con.dt-contact-inner > .e-con.dt-info-col { grid-template-columns: minmax(0, 1fr); }
  .e-con.dt-form-card > .e-con.dt-form-head { padding: 22px !important; }
  .elementor .e-con.dt-form-card > .elementor-widget.dt-form-sc { padding: 22px; }
  .elementor .e-con .dt-form-sc .frm_forms .frm_fields_container > :is(.frm6, .frm_half) { grid-column: 1 / -1; }
  .e-con.dt-next-grid { grid-template-columns: minmax(0, 1fr); }
  .e-con.dt-next-grid > .e-con.dt-next-step,
  .e-con.dt-next-grid > .e-con.dt-next-step + .e-con.dt-next-step { padding: 24px 0 8px !important; border-left: 0; }
  .e-con.dt-next-grid > .e-con.dt-next-step + .e-con.dt-next-step { border-top: 1px solid var(--dt-line); }
}

/* 9. ACCESSIBILITY --------------------------------------------------------- */
.elementor .e-con:is(.dt-hero, .dt-contact, .dt-next, .dt-faq) :is(a, button, summary):focus-visible {
  outline: 2px solid var(--dt-accent) !important; outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .elementor .e-con:is(.dt-hero, .dt-contact, .dt-faq) *,
  .elementor .e-con:is(.dt-hero, .dt-contact, .dt-faq) *::before,
  .elementor .e-con:is(.dt-hero, .dt-contact, .dt-faq) *::after {
    animation: none !important; transition: none !important;
  }
}

/* Dyotatech AI · www.dyotatech.ai *//* End custom CSS */