.elementor-103 .elementor-element.elementor-element-27c9d3ee{--display:flex;border-style:solid;--border-style:solid;border-color:#F7B640;--border-color:#F7B640;--padding-top:78px;--padding-bottom:78px;--padding-left:0px;--padding-right:0px;}.elementor-103 .elementor-element.elementor-element-27c9d3ee:not(.elementor-motion-effects-element-type-background), .elementor-103 .elementor-element.elementor-element-27c9d3ee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(135deg, #06182D 0%, #0A2747 100%);}.elementor-103 .elementor-element.elementor-element-5693a380{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-103 .elementor-element.elementor-element-63f41076{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-103 .elementor-element.elementor-element-51c6c5f3{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-103 .elementor-element.elementor-element-5ad808c8 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-weight:600;}.elementor-103 .elementor-element.elementor-element-6dfe9d58 .elementor-heading-title{color:#FFFFFF;}.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-103 .elementor-element.elementor-element-3970bef9{--display:flex;}.elementor-103 .elementor-element.elementor-element-3ecc70d6{margin:9px 0px calc(var(--kit-widget-spacing, 0px) + 6px) 0px;}.elementor-103 .elementor-element.elementor-element-3ecc70d6 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:53px;font-weight:600;color:#FFFFFF;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-103 .elementor-element.elementor-element-1d2f1598 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(0px/2);}.elementor-103 .elementor-element.elementor-element-1d2f1598 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(0px/2);}.elementor-103 .elementor-element.elementor-element-1d2f1598 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(0px/2);}.elementor-103 .elementor-element.elementor-element-1d2f1598 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-0px/2);}.elementor-103 .elementor-element.elementor-element-1d2f1598 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-0px/2);}.elementor-103 .elementor-element.elementor-element-1d2f1598 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-103 .elementor-element.elementor-element-1d2f1598 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-103 .elementor-element.elementor-element-1d2f1598{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-103 .elementor-element.elementor-element-1d2f1598 .elementor-icon-list-text{color:#EBEBEB;transition:color 0.3s;}.elementor-103 .elementor-element.elementor-element-6575b0a7{--display:flex;--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-103 .elementor-element.elementor-element-156b7f35{--display:flex;--padding-top:90px;--padding-bottom:90px;--padding-left:0px;--padding-right:0px;}.elementor-103 .elementor-element.elementor-element-37a12ea2{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-103 .elementor-element.elementor-element-3688d8f6{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-103 .elementor-element.elementor-element-3b336e9b .elementor-heading-title{font-family:"Roboto", Sans-serif;font-weight:600;}.elementor-103 .elementor-element.elementor-element-1e73178{text-align:center;}.elementor-103 .elementor-element.elementor-element-1e73178 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-weight:600;color:#0D498F;}.elementor-103 .elementor-element.elementor-element-271a8e98{text-align:center;}.elementor-103 .elementor-element.elementor-element-b7f5760{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-103 .elementor-element.elementor-element-24d9a36b{--display:flex;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-103 .elementor-element.elementor-element-2838f600{padding:0px 0px 6px 0px;}.elementor-103 .elementor-element.elementor-element-2838f600 .elementor-icon-wrapper{text-align:start;}.elementor-103 .elementor-element.elementor-element-2838f600.elementor-view-stacked .elementor-icon{background-color:#6EC1E4;}.elementor-103 .elementor-element.elementor-element-2838f600.elementor-view-framed .elementor-icon, .elementor-103 .elementor-element.elementor-element-2838f600.elementor-view-default .elementor-icon{color:#6EC1E4;border-color:#6EC1E4;}.elementor-103 .elementor-element.elementor-element-2838f600.elementor-view-framed .elementor-icon, .elementor-103 .elementor-element.elementor-element-2838f600.elementor-view-default .elementor-icon svg{fill:#6EC1E4;}.elementor-103 .elementor-element.elementor-element-2838f600 .elementor-icon{font-size:41px;}.elementor-103 .elementor-element.elementor-element-2838f600 .elementor-icon svg{height:41px;}.elementor-103 .elementor-element.elementor-element-2032fb9d .elementor-heading-title{color:#0D498F;}.elementor-103 .elementor-element.elementor-element-700ceffa{--display:flex;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-103 .elementor-element.elementor-element-506991b6{padding:0px 0px 6px 0px;}.elementor-103 .elementor-element.elementor-element-506991b6 .elementor-icon-wrapper{text-align:start;}.elementor-103 .elementor-element.elementor-element-506991b6 .elementor-icon{font-size:41px;}.elementor-103 .elementor-element.elementor-element-506991b6 .elementor-icon svg{height:41px;}.elementor-103 .elementor-element.elementor-element-4dd1f059 .elementor-heading-title{color:#0D498F;}.elementor-103 .elementor-element.elementor-element-32e4bf83{--display:flex;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-103 .elementor-element.elementor-element-8d50234{padding:0px 0px 6px 0px;}.elementor-103 .elementor-element.elementor-element-8d50234 .elementor-icon-wrapper{text-align:start;}.elementor-103 .elementor-element.elementor-element-8d50234 .elementor-icon{font-size:41px;}.elementor-103 .elementor-element.elementor-element-8d50234 .elementor-icon svg{height:41px;}.elementor-103 .elementor-element.elementor-element-2e40d234 .elementor-heading-title{color:#0D498F;}.elementor-103 .elementor-element.elementor-element-57373fbf{--display:flex;--padding-top:90px;--padding-bottom:90px;--padding-left:0px;--padding-right:0px;}.elementor-103 .elementor-element.elementor-element-57373fbf:not(.elementor-motion-effects-element-type-background), .elementor-103 .elementor-element.elementor-element-57373fbf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#06182D;}.elementor-103 .elementor-element.elementor-element-3159c715{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-103 .elementor-element.elementor-element-229c5f30{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-103 .elementor-element.elementor-element-c6815f5{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-103 .elementor-element.elementor-element-c6815f5.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-103 .elementor-element.elementor-element-78a4abc7 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:13px;font-weight:600;color:#6EC1E4;}.elementor-103 .elementor-element.elementor-element-240168e6 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:50px;font-weight:600;color:#FFFFFF;}.elementor-103 .elementor-element.elementor-element-4e2af58f{font-family:"Roboto", Sans-serif;font-size:17px;font-weight:400;color:#F0F0F0;}.elementor-103 .elementor-element.elementor-element-5dbb66ab{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-103 .elementor-element.elementor-element-201f1472{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-103 .elementor-element.elementor-element-cafce7c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-103 .elementor-element.elementor-element-cafce7c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-103 .elementor-element.elementor-element-3da3b350 .elementor-button{background-color:#F7B640;font-family:"Inter", Sans-serif;font-size:16px;font-weight:800;fill:#06182D;color:#06182D;border-radius:7px 7px 7px 7px;padding:14px 25px 14px 25px;}.elementor-103 .elementor-element.elementor-element-31a9afc3 .elementor-button{background-color:#FFFFFF;font-family:"Inter", Sans-serif;font-size:16px;font-weight:800;fill:#06182D;color:#06182D;border-radius:7px 7px 7px 7px;padding:14px 25px 14px 25px;}.elementor-103 .elementor-element.elementor-element-31a9afc3 .elementor-button:hover, .elementor-103 .elementor-element.elementor-element-31a9afc3 .elementor-button:focus{background-color:#F7B640;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-103 .elementor-element.elementor-element-229c5f30{--width:100%;}.elementor-103 .elementor-element.elementor-element-c6815f5{--width:100.016%;}.elementor-103 .elementor-element.elementor-element-cafce7c{--width:98.233%;}}@media(max-width:1024px){.elementor-103 .elementor-element.elementor-element-27c9d3ee{border-width:0px 0px 4px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:4px;--border-left-width:0px;}.elementor-103 .elementor-element.elementor-element-5ad808c8{text-align:center;}.elementor-103 .elementor-element.elementor-element-6dfe9d58{text-align:center;}.elementor-103 .elementor-element.elementor-element-4c5206ab{text-align:center;}.elementor-103 .elementor-element.elementor-element-3ecc70d6{text-align:center;}.elementor-103 .elementor-element.elementor-element-1e73178 .elementor-heading-title{font-size:36px;}.elementor-103 .elementor-element.elementor-element-57373fbf{--padding-top:90px;--padding-bottom:90px;--padding-left:20px;--padding-right:20px;}.elementor-103 .elementor-element.elementor-element-240168e6 .elementor-heading-title{font-size:36px;}}@media(max-width:767px){.elementor-103 .elementor-element.elementor-element-5ad808c8 .elementor-heading-title{font-size:11px;}.elementor-103 .elementor-element.elementor-element-3ecc70d6 .elementor-heading-title{font-size:36px;}.elementor-103 .elementor-element.elementor-element-1d2f1598{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-103 .elementor-element.elementor-element-3b336e9b{text-align:center;}.elementor-103 .elementor-element.elementor-element-3b336e9b .elementor-heading-title{font-size:13px;}.elementor-103 .elementor-element.elementor-element-1e73178 .elementor-heading-title{font-size:30px;}.elementor-103 .elementor-element.elementor-element-240168e6 .elementor-heading-title{font-size:30px;}.elementor-103 .elementor-element.elementor-element-cafce7c{--justify-content:center;}}/* Start custom CSS for container, class: .elementor-element-27c9d3ee *//* ============================================================
   DALLAS VoIP SERVICES — design system (Elementor 4 containers)
   Ported 1:1 from the original .dvs stylesheet.

   Structure mapping:
     original <section class="dvs-section">  ->  .dvs.dvs-section   (parent container,
 boxed)
     original <div class="dvs-wrap">         ->  > .e-con-inner
     original <div class="dvs-grid">         ->  .dvs-grid          (child container,
 full)
     original <article class="dvs-tile">     ->  .dvs-tile          (child container,
 full)
     original <h2> / <p>                     ->  widget > h2 / p

   Colours and sizes are all in this block.
   ============================================================ */

/* ---- container defaults out of the way: the original uses margins,

        not gaps,
 and never Elementor's 10px default padding ---- */
.dvs,
.dvs .e-con{--gap:0px;--row-gap:0px;--column-gap:0px}

/* ---- .dvs-wrap : width:min(1180px,
 100% - 40px) ---- */
.dvs>.e-con-inner{width:min(1180px,calc(100% - 40px));max-width:100%;margin-left:auto;margin-right:auto;display:block}

/* ---- base type ---- */
.dvs{font-family:Inter,Arial,sans-serif;color:#334155;line-height:1.65}
/* line-height needs to out-specify widget-heading.min.css; font-size stays at
   the original specificity so the component overrides below still win */
/* Elementor's global kit typography (Roboto) out-specifies a bare `.dvs h2`,

   so the family is restated at widget specificity */
.dvs .elementor-element,

.dvs .elementor-heading-title,

.dvs .elementor-widget-text-editor p{font-family:Inter,Arial,sans-serif}
.dvs .elementor-widget-heading h1,

.dvs .elementor-widget-heading h2,

.dvs .elementor-widget-heading h3{line-height:1.12;margin:0;font-family:Inter,Arial,sans-serif;color:#06182D}
/* the kit's global heading colour has to be beaten at widget specificity,
 so
   the light/dark overrides are restated at the same level */
.dvs-hero .elementor-widget-heading h1,

.dvs.dvs-hero .elementor-widget-heading h2,

.dvs.dvs-hero .elementor-widget-heading h3{color:#fff}
.dvs.dvs-dark .elementor-widget-heading h2,

.dvs.dvs-dark .elementor-widget-heading h3{color:#fff}
.dvs .dvs-cta .elementor-widget-heading h2{color:#fff}
.dvs .dvs-card .elementor-widget-heading h3,

.dvs .dvs-tile .elementor-widget-heading h3{color:#06182D}
.dvs .dvs-tile-link .dvs-tile-title a,

.dvs .elementor-widget-heading h3 a{color:#06182D}
.dvs .elementor-heading-title{margin:0}
.dvs .elementor-widget-text-editor p{line-height:1.65;margin:0}
.dvs h1,
.dvs h2,
.dvs h3{font-family:Inter,Arial,sans-serif;line-height:1.12;color:#06182D;margin:0}
.dvs h1{font-size:clamp(42px,5.2vw,72px);letter-spacing:-2.6px}
.dvs h2{font-size:clamp(32px,4vw,50px);letter-spacing:-1.6px}
.dvs h3{font-size:22px}
.dvs p{font-size:18px;margin:0}
.dvs a{text-decoration:none}

/* ---- vertical rhythm: the original's element margins,
 re-expressed on the
        widgets (container gap is 0 above) ---- */
.dvs .elementor-element.elementor-widget-heading{margin-bottom:18px}
.dvs .elementor-element.elementor-widget-text-editor{margin-bottom:20px}
.dvs .elementor-element.dvs-eyebrow{margin-bottom:18px}
.dvs .elementor-element.dvs-icon{margin-bottom:20px}
.dvs .elementor-element.dvs-num{margin-bottom:0}
.dvs .elementor-element.dvs-breadcrumb{margin-bottom:25px}
.dvs .elementor-element.dvs-disclosure{margin-top:18px;margin-bottom:20px}
.dvs .elementor-element.dvs-field{margin-bottom:0}
.dvs .elementor-element.dvs-formrow{margin-bottom:14px}
.dvs .e-con.dvs-center{margin-bottom:45px}
/* flex containers don't collapse margins: 10px + the preceding paragraph's
   20px == the original's collapsed 30px */
.dvs .e-con.dvs-actions{margin-top:10px}
.dvs .elementor-element.dvs-points{margin-top:30px}
.dvs .dvs-center>.elementor-element:last-child{margin-bottom:0}
.dvs .dvs-breadcrumb p,
.dvs .dvs-disclosure p{margin:0}

/* ---- eyebrow ---- */
.dvs .dvs-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:1.8px;font-size:13px;font-weight:800;color:#10C8D2;line-height:1.65;margin:0}
.dvs .dvs-eyebrow .elementor-heading-title:before{content:"";width:28px;height:3px;background:#F7B640;border-radius:3px}

/* ---- buttons (the live site suppresses the amber drop shadow) ---- */
.dvs .dvs-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 25px;border-radius:7px;background:#F7B640;color:#06182D;font-weight:850;font-size:16px;line-height:1.65;transition:.2s}
.dvs .dvs-btn .elementor-button:hover,
.dvs .dvs-btn .elementor-button:focus{background:#F7B640;color:#06182D;transform:translateY(-2px)}
.dvs .dvs-btn-alt .elementor-button{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55)}
.dvs .dvs-btn-alt .elementor-button:hover,
.dvs .dvs-btn-alt .elementor-button:focus{background:transparent;color:#fff}

/* ---- .dvs-actions : button row,
 items stretch to the tallest ---- */
.dvs-actions{display:flex;flex-direction:row!important;--flex-direction:row;flex-wrap:wrap;--flex-wrap:wrap;gap:14px;align-items:stretch}
.dvs .dvs-actions>.e-con{width:auto!important}
.dvs .dvs-actions .elementor-widget-button,

.dvs .dvs-actions .elementor-button-wrapper,

.dvs .dvs-actions .elementor-button{height:100%}

/* ---- hero: both gradients are background LAYERS,
 as in the original ---- */
.dvs-hero{position:relative;overflow:hidden;color:#fff;background-image:radial-gradient(circle at 86% 20%,rgba(16,200,210,.25),transparent 31%),linear-gradient(135deg,#06182D 0%,#0A2747 100%)}
.dvs.dvs-hero:after{content:"";position:absolute;right:-80px;bottom:-160px;width:520px;height:520px;border:1px solid rgba(16,200,210,.25);border-radius:50%;box-shadow:0 0 0 55px rgba(16,200,210,.035),0 0 0 110px rgba(16,200,210,.025)}
.dvs.dvs-hero h1,
.dvs.dvs-hero h2{color:#fff}
.dvs.dvs-hero p{color:#DCE9F4;max-width:700px}

/* the original only lifts .dvs-hero-grid above the ring — the quote hero
   has no grid,
 so its text sits under the ring exactly as it does live */
.dvs-hero-grid,
.dvs .dvs-hero-grid-svc{position:relative;z-index:2}
.dvs .dvs-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.9fr);gap:20px;align-items:start}
.dvs .dvs-hero-grid-svc{display:grid;grid-template-columns:1.18fr .82fr;gap:70px;align-items:start}
.dvs .dvs-hero-grid>.e-con,
.dvs .dvs-hero-grid-svc>.e-con{width:auto}

/* ---- hero check points ---- */
.dvs .dvs-points .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:22px}
.dvs .dvs-points .elementor-icon-list-item{display:flex;align-items:center;margin:0;padding:0}
.dvs .dvs-points .elementor-icon-list-text{color:#DCE9F4;font-size:14px;font-weight:700}
.dvs .dvs-points .elementor-icon-list-text:before{content:"\2713";color:#10C8D2;margin-right:7px}

/* ---- breadcrumb ---- */
.dvs .dvs-breadcrumb p{font-size:14px;color:#A8C0D4}
.dvs .dvs-breadcrumb a{color:#10C8D2}

/* ---- white card / quote card ---- */
.dvs .dvs-card{background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.24);color:#334155}
.dvs .dvs-card h3{font-size:27px;color:#06182D}
.dvs .dvs-card p{font-size:15px;color:#64748B}
.dvs .dvs-quote-card{position:relative;z-index:3}
.dvs .dvs-disclosure p{font-size:12px;color:#8191A0}

/* ---- cyan trust strip ---- */
.dvs.dvs-strip .elementor-icon-list-items{display:flex;justify-content:center;flex-wrap:wrap;gap:42px}
.dvs.dvs-strip .elementor-icon-list-item{display:flex;align-items:center;margin:0;padding:0}
.dvs.dvs-strip .elementor-icon-list-text{color:#06182D;font-weight:800;font-size:inherit;line-height:inherit}
.dvs.dvs-strip .elementor-icon-list-text:before{content:"\25CF";color:#fff;font-size:9px;margin-right:10px}

/* ---- centred intro block ---- */
.dvs .dvs-center{display:block;max-width:820px;margin-left:auto;margin-right:auto;text-align:center}

/* ---- 3-up / 6-up card grid ---- */
.dvs .dvs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.dvs .dvs-grid>.e-con{width:auto}
.dvs .dvs-tile{background:#fff;border:1px solid #DFE7EE;border-radius:12px;box-shadow:0 12px 32px rgba(6,24,45,.06);transition:.2s;position:relative;display:block}
.dvs .dvs-tile:hover{transform:translateY(-4px);border-color:#10C8D2}
.dvs .dvs-tile h3{font-size:22px}
.dvs .dvs-tile p{font-size:16px;color:#64748B}
.dvs .dvs-tile-link{cursor:pointer}
.dvs .dvs-tile-link .dvs-tile-title a{color:#06182D}
.dvs .dvs-tile-link .dvs-tile-title a:after{content:"";position:absolute;inset:0;z-index:3}

/* ---- 48px glyph badge ---- */
.dvs .dvs-icon .elementor-heading-title{width:48px;height:48px;border-radius:10px;background:#E5FBFC;color:#06182D;display:grid;place-items:center;font-size:24px;font-weight:900;line-height:1;margin:0}

/* ---- light / dark bands ---- */
.dvs.dvs-dark h2,
.dvs.dvs-dark h3{color:#fff}
.dvs.dvs-dark p{color:#CFDDEA}
.dvs.dvs-dark .dvs-list .elementor-icon-list-text{color:#fff}

/* ---- two-column split ---- */
.dvs .dvs-two{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.dvs .dvs-two>.e-con{width:auto}

/* ---- tick list ---- */
.dvs .dvs-list .elementor-icon-list-items{display:grid;gap:14px}
.dvs .dvs-list .elementor-icon-list-item{display:block;position:relative;margin:0;padding:0 0 0 34px}
.dvs .dvs-list .elementor-icon-list-item:before{content:"\2713";position:absolute;left:0;top:0;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#E5FBFC;color:#087A82;font-weight:900;font-size:13px}
.dvs .dvs-list .elementor-icon-list-text{font-size:17px;line-height:1.65}

/* ---- numbered steps ---- */
.dvs .dvs-step{display:grid;grid-template-columns:52px 1fr;column-gap:18px;align-content:start}
.dvs .dvs-step .dvs-num{grid-column:1;grid-row:1/span 2;width:auto}
.dvs .dvs-step .dvs-step-title{grid-column:2;grid-row:1;width:auto}
.dvs .dvs-step .dvs-step-text{grid-column:2;grid-row:2;width:auto}
.dvs .dvs-num .elementor-heading-title{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#F7B640;color:#06182D;font-weight:900;font-size:18px;line-height:1;margin:0}

/* ---- FAQ accordion,
 styled as the original's <details> cards ---- */
.dvs .elementor-element.dvs-faq{max-width:900px!important;width:100%;margin-left:auto;margin-right:auto;align-self:center}
.dvs .dvs-faq .elementor-accordion .elementor-accordion-item{background:#fff;border:1px solid #DCE5EC;border-radius:9px;padding:20px 22px;margin-bottom:14px}
.dvs .dvs-faq .elementor-accordion .elementor-accordion-item:last-child{margin-bottom:0}
.dvs .dvs-faq .elementor-tab-title{padding:0;border:0;background:transparent;font-weight:800;color:#06182D;font-size:18px;line-height:1.65;cursor:pointer;display:list-item;list-style-position:inside;list-style-type:disclosure-closed}
.dvs .dvs-faq .elementor-tab-title.elementor-active{list-style-type:disclosure-open}
.dvs .dvs-faq .elementor-accordion-title{display:inline}
.dvs .dvs-faq .elementor-tab-title a,
.dvs .dvs-faq .elementor-tab-title .elementor-accordion-title{color:#06182D}
.dvs .dvs-faq .elementor-tab-content{padding:0;border:0;background:transparent;margin-top:15px}
.dvs .dvs-faq .elementor-tab-content p{font-size:16px;color:#64748B;margin:0}

/* ---- closing CTA panel ---- */
.dvs .dvs-cta{background-image:linear-gradient(120deg,#0A2747 0%,#06182D 100%)!important;--background-image:linear-gradient(120deg,#0A2747 0%,#06182D 100%);background-color:transparent!important;border-radius:18px;color:#fff;display:flex;flex-direction:row;--flex-direction:row;flex-wrap:nowrap;--flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:40px}
.dvs .dvs-cta>.e-con{width:auto;flex:0 1 auto}
.dvs .dvs-cta h2{margin:0;color:#fff}
.dvs .dvs-cta p{color:#D3E1ED;margin:0}
.dvs .dvs-cta .elementor-element.elementor-widget-heading{margin-bottom:0}
.dvs .dvs-cta .elementor-element.elementor-widget-text-editor{margin-top:10px;margin-bottom:0}

/* ---- WPForms: styling + stepper live in dvs_form.FORM_CSS ---- */

/* ---- Get-a-Quote mock form ---- */
.dvs .dvs-field p{background:#F1F5F9;border:1px solid #D9E3EC;border-radius:6px;padding:14px 15px;font-size:14px;color:#64748B;margin:0;min-height:52px}
.dvs .dvs-mini{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dvs .dvs-mini>.e-con{width:auto}
.dvs .dvs-contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:start}
.dvs .dvs-contact>.e-con{width:auto}
.dvs .dvs-card .dvs-btn .elementor-button{width:100%}
.dvs .dvs-card>.elementor-element.dvs-btn{margin-top:14px}

/* ============================================================
   TYPOGRAPHY + COLOUR HARDENING
   Elementor's global kit sets font family,
 size and colour on
   `.elementor-widget-heading .elementor-heading-title` (0,
2,
0),
 which beats a
   plain `.dvs h2`. Everything the kit can touch is restated here at widget
   specificity. Component overrides come last so they win.
   ============================================================ */
.dvs .elementor-widget-heading h1{font-size:clamp(42px,5.2vw,72px);letter-spacing:-2.6px}
.dvs .elementor-widget-heading h2{font-size:clamp(32px,4vw,50px);letter-spacing:-1.6px}
.dvs .elementor-widget-heading h3{font-size:22px}
.dvs .elementor-widget-text-editor p{font-size:18px;color:#334155}

.dvs.dvs-hero .elementor-widget-text-editor p{color:#DCE9F4}
.dvs.dvs-dark .elementor-widget-text-editor p{color:#CFDDEA}
.dvs .dvs-cta .elementor-widget-text-editor p{color:#D3E1ED}

.dvs .dvs-tile .elementor-widget-heading h3{font-size:22px;color:#06182D}
.dvs .dvs-tile .elementor-widget-text-editor p{font-size:16px;color:#64748B}
.dvs .dvs-card .elementor-widget-heading h3{font-size:27px;color:#06182D}
.dvs .dvs-card .elementor-widget-text-editor p{font-size:15px;color:#64748B}
.dvs .elementor-widget-text-editor.dvs-breadcrumb p,
.dvs .dvs-breadcrumb p{font-size:14px;color:#A8C0D4}
.dvs .elementor-widget-text-editor.dvs-disclosure p,
.dvs .dvs-disclosure p{font-size:12px;color:#8191A0}
.dvs .elementor-widget-text-editor.dvs-field p,
.dvs .dvs-field p{font-size:14px;color:#64748B}

/* accordion + icon lists: the kit colours these too */
.dvs .dvs-faq .elementor-accordion .elementor-tab-title,

.dvs .dvs-faq .elementor-accordion .elementor-tab-title a,

.dvs .dvs-faq .elementor-accordion .elementor-accordion-title{color:#06182D}
.dvs .dvs-faq .elementor-accordion .elementor-tab-content,

.dvs .dvs-faq .elementor-accordion .elementor-tab-content p{color:#64748B}
.dvs .dvs-points .elementor-icon-list-items .elementor-icon-list-text{color:#DCE9F4}
.dvs.dvs-strip .elementor-icon-list-items .elementor-icon-list-text{color:#06182D}
.dvs .dvs-list .elementor-icon-list-items .elementor-icon-list-text{color:#334155}
.dvs.dvs-dark .dvs-list .elementor-icon-list-items .elementor-icon-list-text{color:#fff}

/* the eyebrow,
 badge and step number are heading widgets with div tags,
 so the
   h1/h2/h3 rules above never touch them — restated for the kit's colour */
.dvs-eyebrow .elementor-heading-title{color:#10C8D2}
.dvs .dvs-icon .elementor-heading-title{color:#06182D}
.dvs .dvs-num .elementor-heading-title{color:#06182D}

/* ============================================================
   RESPONSIVE — the original breakpoints, 900px and 620px
   ============================================================ */
@media (max-width:900px){
  .dvs.dvs-hero-quote{--padding-top:78px;--padding-bottom:78px}
  .dvs .dvs-hero-grid,
.dvs .dvs-hero-grid-svc,
.dvs .dvs-two,
.dvs .dvs-contact{grid-template-columns:1fr}
  .dvs .dvs-hero-grid-svc{gap:45px}
  .dvs .dvs-grid{grid-template-columns:1fr 1fr}
  .dvs .dvs-cta{flex-direction:column;--flex-direction:column;align-items:flex-start}
  .dvs .dvs-cta>.e-con{width:auto;flex:0 0 auto}
}
@media (max-width:620px){
  .dvs.dvs-section{--padding-top:65px;--padding-bottom:65px}
  .dvs.dvs-last{--padding-bottom:85px}
  .dvs .dvs-card{--padding-top:26px;--padding-right:26px;--padding-bottom:26px;--padding-left:26px}
  .dvs .dvs-quote-card{--padding-top:28px;--padding-right:28px;--padding-bottom:28px;--padding-left:28px}
  .dvs .dvs-cta{--padding-top:36px;--padding-right:26px;--padding-bottom:36px;--padding-left:26px}
  .dvs .dvs-grid{grid-template-columns:1fr}
  .dvs .dvs-mini{grid-template-columns:1fr}
  .dvs.dvs-hero h1{letter-spacing:-1.8px}
  .dvs .dvs-actions{display:grid!important;grid-template-columns:1fr;gap:14px}
  .dvs .dvs-actions>.e-con{width:auto}
  .dvs .dvs-btn .elementor-button{width:100%}
  .dvs .dvs-cta>.e-con:last-child{width:100%}
  .dvs.dvs-strip .elementor-icon-list-items{display:grid;gap:8px;justify-items:center;text-align:center}
}


/* ---------- modern full-width form ---------- */
.dvs-quote-slot .wpforms-container{margin:0!important;padding:0!important}
.dvs-quote-slot .wpforms-form{display:block}
.dvs-quote-slot .wpforms-field-container{display:block}
.dvs-quote-slot .wpforms-field{margin:0 0 16px!important;padding:0!important;width:100%!important;float:none!important;min-width:0}
.dvs-quote-slot .wpforms-field-label{display:block!important;margin:0 0 6px!important;color:#06182D!important;font-family:Inter,Arial,sans-serif!important;font-size:13px!important;font-weight:800!important;line-height:1.35!important;letter-spacing:.2px}
.dvs-quote-slot .wpforms-required-label{color:#D64545!important}
.dvs-quote-slot input[type=text],
.dvs-quote-slot input[type=email],
.dvs-quote-slot input[type=tel],
.dvs-quote-slot input[type=number],
.dvs-quote-slot select,
.dvs-quote-slot textarea{width:100%!important;max-width:100%!important;display:block!important;
  border:1px solid #D9E3EC!important;border-radius:9px!important;background:#F7FAFC!important;
  color:#06182D!important;font-family:Inter,Arial,sans-serif!important;font-size:15px!important;
  line-height:1.4!important;box-shadow:none!important;transition:border-color .15s,box-shadow .15s,background .15s}
.dvs-quote-slot input[type=text],
.dvs-quote-slot input[type=email],
.dvs-quote-slot input[type=tel],
.dvs-quote-slot input[type=number],
.dvs-quote-slot select{height:50px!important;padding:12px 14px!important}
.dvs-quote-slot textarea{min-height:104px!important;padding:12px 14px!important;resize:vertical}
.dvs-quote-slot input:focus,.dvs-quote-slot select:focus,.dvs-quote-slot textarea:focus{
  border-color:#10C8D2!important;background:#fff!important;box-shadow:0 0 0 3px rgba(16,200,210,.18)!important;outline:none!important}
.dvs-quote-slot .wpforms-field-description{margin:6px 0 0!important;font-size:12px!important;color:#8191A0!important}
.dvs-quote-slot .wpforms-error{margin:6px 0 0!important;font-size:12px!important;color:#D64545!important}
.dvs-quote-slot input.wpforms-error,.dvs-quote-slot select.wpforms-error,
.dvs-quote-slot textarea.wpforms-error{border-color:#D64545!important;background:#FFF7F7!important}
.dvs-quote-slot .wpforms-submit-container{margin:0!important;padding:0!important}
.dvs-quote-slot button[type=submit]{width:100%!important;min-height:52px!important;border:0!important;
  border-radius:9px!important;background:#F7B640!important;color:#06182D!important;
  font-family:Inter,Arial,sans-serif!important;font-size:15px!important;font-weight:850!important;cursor:pointer}
.dvs-quote-slot button[type=submit]:hover{background:#F0A92C!important}

/* ---------- stepper chrome ---------- */
.dvs-steps{margin:0 0 20px}
.dvs-steps-track{display:flex;align-items:center;gap:0}
.dvs-steps-track .dvs-step-dot{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:#E7EEF4;color:#8191A0;font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:850;
  transition:background .2s,color .2s}
.dvs-steps-track .dvs-step-bar{flex:1 1 auto;height:3px;background:#E7EEF4;border-radius:3px;overflow:hidden}
.dvs-steps-track .dvs-step-bar i{display:block;height:100%;width:0;background:#10C8D2;border-radius:3px;transition:width .28s ease}
.dvs-step-dot.is-active{background:#10C8D2;color:#06182D}
.dvs-step-dot.is-done{background:#06182D;color:#fff}
.dvs-steps-meta{display:flex;justify-content:space-between;align-items:baseline;margin:9px 0 0;gap:12px}
.dvs-steps-label{font-family:Inter,Arial,sans-serif;font-size:13px;font-weight:800;color:#06182D}
.dvs-steps-count{font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:700;color:#8191A0;white-space:nowrap}

/* ---------- step nav ---------- */
.dvs-quote-slot .dvs-nav{display:flex;gap:10px;margin:4px 0 0}
.dvs-quote-slot .dvs-nav button{flex:1 1 0;min-height:52px;border-radius:9px;
  font-family:Inter,Arial,sans-serif;font-size:15px;font-weight:850;cursor:pointer;border:0;
  transition:background .15s,transform .15s}
.dvs-quote-slot .dvs-nav .dvs-next{background:#F7B640;color:#06182D}
.dvs-quote-slot .dvs-nav .dvs-next:hover{background:#F0A92C}
.dvs-quote-slot .dvs-nav .dvs-back{flex:0 0 auto;padding:0 20px;background:#fff;color:#06182D;border:1px solid #D9E3EC}
.dvs-quote-slot .dvs-nav .dvs-back:hover{background:#F7FAFC}
.dvs-quote-slot .dvs-steps-hidden{display:none!important}
.dvs-quote-slot .dvs-steperr{margin:10px 0 0;font-family:Inter,Arial,sans-serif;font-size:12px;
  font-weight:700;color:#D64545}

/* ---------- responsive ---------- */
@media (max-width:620px){
  .dvs-quote-slot input[type=text],
  .dvs-quote-slot input[type=email],
  .dvs-quote-slot input[type=tel],
  .dvs-quote-slot input[type=number],
  .dvs-quote-slot select{height:48px!important;font-size:16px!important}
  .dvs-quote-slot textarea{font-size:16px!important}
  .dvs-quote-slot .dvs-nav{flex-direction:column-reverse}
  .dvs-quote-slot .dvs-nav .dvs-back{width:100%;padding:0}
  .dvs-steps-meta{flex-direction:column;gap:2px}
}/* End custom CSS */