/*
 * Durdur Core — front-end styles.
 *
 * Only the custom-widget blocks from the static reference build are ported
 * here: the dark forest background, the animated network mesh, the hero
 * slider chrome, the iPhone mockup, the floating chips and the wave divider.
 * Everything a native Elementor widget can style stays in Elementor.
 *
 * Colours read the Elementor global CSS variables (--e-global-color-*) and
 * keep the original value as a hardcoded fallback, so the client's Site
 * Settings colour changes still flow through.
 *
 * @package Durdur
 */

/* -------------------------------------------------------------------------
 * Local tokens (shadows + gradients only — no duplicated colour palette).
 * ------------------------------------------------------------------------- */
:root {
	--durdur-radius: 18px;
	--durdur-shadow-sm: 0 2px 8px rgba(23,26,74,.06);
	--durdur-shadow: 0 18px 40px -18px rgba(23,26,74,.28);
	--durdur-shadow-lg: 0 40px 80px -30px rgba(23,26,74,.38);
	--durdur-grad: linear-gradient(125deg,var(--e-global-color-accent,#185939) 0%,#23804a 55%,var(--e-global-color-secondary,#38B04F) 100%);
	--durdur-grad-btn: linear-gradient(120deg,var(--e-global-color-secondary,#38B04F) 0%,var(--e-global-color-green600,#2c9440) 100%);
}

/* =========================================================================
 * UTILITY: .durdur-forest — deep green animated background + drifting glow
 * Ported from .hero / .hero::before / .hero::after.
 * Add it to any Elementor container via Advanced > CSS Classes.
 * ========================================================================= */
.durdur-forest{
	position:relative;
	background:var(--e-global-color-forest,#0a2a1b);
	color:#fff;
	/* Same body font as the reference build, so the ported blocks keep their rhythm. */
	font-family:var(--e-global-typography-text-font-family,'Inter'),system-ui,-apple-system,sans-serif;
	line-height:1.7;
	/* Elementor containers resolve overflow from this custom property. */
	--overflow:hidden;
	overflow:hidden;
	isolation:isolate;
}
/* Elementor's container stylesheet is enqueued after ours, so raise the
   specificity: a forest section always clips its own decorations. */
.durdur-forest.durdur-forest{--overflow:hidden;overflow:hidden}
.durdur-forest::before{
	content:"";position:absolute;inset:0;z-index:-2;
	background:
		radial-gradient(900px 520px at 80% 16%,color-mix(in srgb,var(--e-global-color-secondary,#38B04F) 45%,transparent),transparent 62%),
		radial-gradient(640px 520px at 102% 100%,color-mix(in srgb,var(--e-global-color-primary,#2E3192) 38%,transparent),transparent 62%),
		linear-gradient(140deg,var(--e-global-color-forest,#0a2a1b) 0%,var(--e-global-color-forest2,#0f3a25) 45%,#16603a 100%);
}
.durdur-forest::after{
	content:"";position:absolute;z-index:-2;width:720px;height:720px;border-radius:50%;
	top:-260px;left:-220px;pointer-events:none;
	background:radial-gradient(circle,rgba(110,231,135,.30),color-mix(in srgb,var(--e-global-color-secondary,#38B04F) 10%,transparent) 45%,transparent 68%);
	animation:glowDrift 16s ease-in-out infinite alternate;
}
@keyframes glowDrift{
	0%{transform:translate(0,0) scale(1)}
	50%{transform:translate(38vw,14%) scale(1.18)}
	100%{transform:translate(12vw,34%) scale(.92)}
}

/* =========================================================================
 * UTILITY: .durdur-mesh — animated SVG network lines overlay.
 * The SVG itself is injected by durdur.js into every .durdur-mesh container.
 * ========================================================================= */
.durdur-mesh{position:relative;isolation:isolate}
.durdur-mesh-layer{position:absolute;inset:0;z-index:-1;opacity:.55;pointer-events:none}
.durdur-mesh-layer svg{display:block;width:100%;height:100%}
.durdur-mesh-layer path{stroke-dasharray:90 26;animation:signalFlow 28s linear infinite}
.durdur-mesh-layer path:nth-child(2){animation-duration:36s;animation-direction:reverse}
@keyframes signalFlow{to{stroke-dashoffset:-1160}}

/* =========================================================================
 * HERO SLIDER (Durdur Hero Slider widget)
 * ========================================================================= */
.durdur-hero{position:relative}
.durdur-hero-grid{
	position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;
	align-items:center;min-height:660px;padding-block:80px;
	width:100%;max-width:1200px;margin-inline:auto;padding-inline:24px;
}

/* --- slides --- */
.slides{position:relative}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1),visibility .7s}
.slide.on{position:relative;opacity:1;visibility:visible;transform:none}
.slide .tag{
	display:inline-flex;align-items:center;gap:9px;font:700 12px/1 'Plus Jakarta Sans',sans-serif;
	letter-spacing:.2em;text-transform:uppercase;color:#d4f7dc;
	background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.22);
	padding:10px 18px;border-radius:99px;margin-bottom:24px;
}
.slide .tag::before{
	content:"";width:7px;height:7px;border-radius:50%;background:var(--e-global-color-secondary,#38B04F);
	box-shadow:0 0 0 0 color-mix(in srgb,var(--e-global-color-secondary,#38B04F) 80%,transparent);
	animation:ping 2s infinite;
}
@keyframes ping{70%{box-shadow:0 0 0 11px transparent}100%{box-shadow:0 0 0 0 transparent}}
.slide h1{color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(38px,5.2vw,62px);font-weight:800;line-height:1.18;letter-spacing:-.03em;margin:0}
.slide h1 em{
	font-style:normal;background:linear-gradient(100deg,#c6ffd2,#6ee787);
	-webkit-background-clip:text;background-clip:text;color:transparent;
}
.slide p{margin:22px 0 0;max-width:480px;font-size:17.5px;line-height:1.7;color:rgba(255,255,255,.8)}
.slide .ussd{
	display:inline-flex;align-items:center;gap:14px;margin-top:26px;padding:12px 14px 12px 22px;
	background:rgba(255,255,255,.96);border-radius:99px;color:var(--e-global-color-primary,#2E3192);
	font:800 24px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.02em;box-shadow:var(--durdur-shadow-lg);
}
.slide .ussd small{font:700 11px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--e-global-color-bodytext,#5b6484);display:block;margin-bottom:6px}
.slide .ussd .dial{width:44px;height:44px;border-radius:50%;background:var(--durdur-grad-btn);display:grid;place-items:center}
.slide .ussd .dial svg{width:19px;height:19px;fill:#fff}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero-dots{display:flex;gap:10px;margin-top:46px}
.hero-dots button{width:26px;height:5px;border-radius:99px;border:0;background:rgba(255,255,255,.28);cursor:pointer;padding:0;transition:.3s}
.hero-dots button.on{width:48px;background:var(--e-global-color-secondary,#38B04F)}

/* --- hero CTA buttons (hero-scoped, follows the global palette) --- */
.durdur-hero-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	font:700 15px/1 'Plus Jakarta Sans',sans-serif;padding:16px 30px;border-radius:99px;
	border:0;cursor:pointer;white-space:nowrap;text-decoration:none;
	/* Fallback only — the gradient default is a widget control so the client can edit it. */
	background-color:var(--e-global-color-green600,#2c9440);color:#fff;
	box-shadow:0 12px 26px -10px color-mix(in srgb,var(--e-global-color-secondary,#38B04F) 75%,transparent);
	transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s,color .25s;
}
.durdur-hero-btn svg{width:17px;height:17px;transition:transform .25s}
.durdur-hero-btn:hover{transform:translateY(-3px);color:#fff;box-shadow:0 20px 34px -12px color-mix(in srgb,var(--e-global-color-secondary,#38B04F) 85%,transparent)}
.durdur-hero-btn:hover svg{transform:translateX(3px)}
.durdur-hero-btn.is-ghost{background-color:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);box-shadow:none}
.durdur-hero-btn.is-ghost:hover{background-color:#fff;color:var(--e-global-color-primary,#2E3192);border-color:#fff}

/* =========================================================================
 * PHONE ART: rings, glow, chips, wave
 * ========================================================================= */
.hero-art{position:relative;display:grid;place-items:center;width:100%;max-width:600px;margin-inline:auto}
.glow{position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--e-global-color-secondary,#38B04F) 50%,transparent),transparent 68%);filter:blur(22px)}
.ring{position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%;animation:spin 26s linear infinite}
.ring.r1{width:400px;height:400px}
.ring.r2{width:510px;height:510px;animation-duration:38s;animation-direction:reverse;border-style:dashed}
@keyframes spin{to{transform:rotate(360deg)}}

/* =========================================================================
 * iPhone mockup — every size is in em, so changing .iphone font-size scales
 * the whole device. (Device Width control on the Phone Mockup widget.)
 * ========================================================================= */
.iphone{
	position:relative;font-size:10px;width:28em;aspect-ratio:71.5/149.6;
	border-radius:5.4em;padding:.32em;
	background:linear-gradient(145deg,#6a6e78 0%,#2c2e34 16%,#141518 50%,#2c2e34 84%,#6a6e78 100%);
	box-shadow:0 5em 9em -3em rgba(0,0,0,.75),0 0 0 .1em rgba(255,255,255,.1),inset 0 0 .12em rgba(255,255,255,.45);
	animation:float 6s ease-in-out infinite;
}
@keyframes float{50%{transform:translateY(-16px)}}
.hero-art.durdur-no-float .iphone,
.hero-art.durdur-no-float .chip{animation:none}
.ip-btn{position:absolute;width:.36em;border-radius:.2em;background:linear-gradient(90deg,#17181b,#50535b)}
.ip-action{left:-.3em;top:15.5%;height:3.1em}
.ip-vol-up{left:-.3em;top:23%;height:5.8em}
.ip-vol-down{left:-.3em;top:34%;height:5.8em}
.ip-side{right:-.3em;top:25%;height:9.4em;background:linear-gradient(270deg,#17181b,#50535b)}
.ip-cam{right:-.22em;top:60%;height:4.8em;width:.26em;background:linear-gradient(270deg,#2a2c31,#6a6e78)}
.ip-bezel{height:100%;border-radius:5.1em;background:#000;padding:.7em;box-shadow:inset 0 0 0 .08em rgba(255,255,255,.07)}
.ip-screen{
	position:relative;height:100%;border-radius:4.45em;overflow:hidden;
	display:flex;flex-direction:column;align-items:center;
	background:radial-gradient(130% 55% at 50% 0%,#171a33 0%,#05060b 58%,#000 100%);
	color:#fff;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Inter,sans-serif;
}
.ip-screen::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 36%)}
.ip-island{position:absolute;top:1.1em;left:50%;transform:translateX(-50%);width:8.3em;height:2.7em;border-radius:2em;background:#000;z-index:3}
.ip-island::after{content:"";position:absolute;right:.95em;top:50%;width:.95em;height:.95em;border-radius:50%;transform:translateY(-50%);
	background:radial-gradient(circle at 35% 35%,#34406a 0%,#0b0d16 60%)}

/* status bar */
.ip-status{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.2em 1.1em 0 2.6em;font-size:1.35em;font-weight:600;letter-spacing:-.01em}
.ip-icons{display:flex;align-items:center;gap:.24em}
.ip-bars{display:flex;align-items:flex-end;gap:.11em;height:.78em}
.ip-bars i{width:.2em;border-radius:.06em;background:#fff}
.ip-bars i:nth-child(1){height:30%}.ip-bars i:nth-child(2){height:55%}.ip-bars i:nth-child(3){height:78%}.ip-bars i:nth-child(4){height:100%}
.ip-net{font-size:.78em;font-weight:700}
.ip-batt{position:relative;width:1.75em;height:.86em;border-radius:.26em;border:.08em solid rgba(255,255,255,.45);padding:.09em}
.ip-batt::after{content:"";position:absolute;right:-.2em;top:50%;transform:translateY(-50%);width:.1em;height:.3em;border-radius:0 .1em .1em 0;background:rgba(255,255,255,.45)}
.ip-batt i{display:block;width:82%;height:100%;border-radius:.12em;background:#fff}

/* number display */
.ip-dial{margin-top:4.3em;height:6.2em;text-align:center}
.ip-num{font-size:3.6em;font-weight:400;line-height:1.2;min-height:1.2em;letter-spacing:.02em}
.ip-add{margin-top:.45em;font-size:1.35em;color:#0A84FF;opacity:0;transition:opacity .2s}
.ip-dial.has .ip-add{opacity:1}

/* keypad */
.ip-keys{margin-top:1.4em;display:grid;grid-template-columns:repeat(3,6.6em);gap:1.35em 2em}
.ip-keys b{width:6.6em;height:6.6em;border-radius:50%;background:rgba(255,255,255,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:400;transition:background .15s,transform .15s}
.ip-keys b span{font-size:2.9em;line-height:1}
.ip-keys b i{font-style:normal;font-size:.85em;font-weight:700;letter-spacing:.2em;margin:.2em 0 0 .2em;min-height:1em;color:rgba(255,255,255,.92)}
.ip-keys b.sym span{font-size:3.3em;margin-top:.12em}
.ip-keys b.press{background:rgba(255,255,255,.5);transform:scale(.96)}
.ip-actions{margin-top:1.35em;display:grid;grid-template-columns:repeat(3,6.6em);gap:2em;align-items:center;justify-items:center}
.ip-call{width:6.6em;height:6.6em;border-radius:50%;background:#34C759;display:grid;place-items:center}
.ip-call svg{width:2.9em;height:2.9em;fill:#fff}
.ip-del{opacity:0;transition:opacity .2s;line-height:0}
.ip-del svg{width:2.7em;height:2.1em}
.ip-dial.has ~ .ip-actions .ip-del{opacity:1}
.ip-home{position:absolute;bottom:.8em;left:50%;transform:translateX(-50%);width:11em;height:.45em;border-radius:1em;background:rgba(255,255,255,.85)}
@media (max-width:640px){.iphone{font-size:8.6px}}
@media (max-width:380px){.iphone{font-size:7.8px}}

/* floating chips */
.chip{
	position:absolute;display:flex;align-items:center;gap:11px;padding:13px 18px;border-radius:15px;
	background:rgba(255,255,255,.97);box-shadow:var(--durdur-shadow-lg);
	font:700 13px/1.35 'Plus Jakarta Sans',sans-serif;color:var(--e-global-color-text,#10152e);
	animation:float 5s ease-in-out infinite;
}
.chip span{display:block;font:500 11px/1 'Inter',sans-serif;color:var(--e-global-color-bodytext,#5b6484);margin-top:4px}
.chip .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none}
.chip .ic svg{width:17px;height:17px;fill:#fff}
.chip .ic i{font-size:17px;color:#fff;line-height:1}
.chip.c1{top:14%;left:-6%;animation-delay:.6s}
.chip.c1 .ic{background:var(--durdur-grad-btn)}
.chip.c2{bottom:15%;right:-8%;animation-delay:1.4s}
.chip.c2 .ic{background:var(--e-global-color-primary,#2E3192)}

/* wave divider */
.wave{display:block;width:100%;height:auto;margin-top:-1px}

/* =========================================================================
 * SHARED PILL BUTTON
 * Used by the package cards and the coverage checker. The hero has its own
 * Elementor-controlled variant (.durdur-hero-btn).
 *
 * NOTE: the button/tab rules below repeat their class (".durdur-btn.durdur-btn")
 * to out-rank Hello Elementor's reset.css, which styles bare <button> and
 * [type="submit"] elements ("padding:.5rem 1rem;font-size:1rem;color:#cc3366")
 * and is enqueued after this file. Doubling the class wins the cascade without
 * !important, and Elementor's own element CSS (which is more specific still)
 * keeps overriding these defaults as intended.
 * ========================================================================= */
.durdur-btn.durdur-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	font:700 15px/1 'Plus Jakarta Sans',sans-serif;padding:16px 30px;border-radius:99px;border:0;cursor:pointer;
	white-space:nowrap;text-decoration:none;
	transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s,color .25s;
}
.durdur-btn.durdur-btn svg{width:17px;height:17px;transition:transform .25s}
.durdur-btn.durdur-btn:hover{transform:translateY(-3px)}
.durdur-btn.durdur-btn:hover svg{transform:translateX(3px)}
.durdur-btn--green.durdur-btn--green{
	background:var(--durdur-grad-btn);color:#fff;
	box-shadow:0 12px 26px -10px color-mix(in srgb,var(--e-global-color-secondary,#38B04F) 75%,transparent);
}
.durdur-btn--green.durdur-btn--green:hover{
	color:#fff;
	box-shadow:0 20px 34px -12px color-mix(in srgb,var(--e-global-color-secondary,#38B04F) 85%,transparent);
}
.durdur-btn--outline.durdur-btn--outline{
	background:#fff;color:var(--e-global-color-primary,#2E3192);
	border:1.5px solid var(--e-global-color-border,#e6e9f2);box-shadow:var(--durdur-shadow-sm);
}
.durdur-btn--outline.durdur-btn--outline:hover{border-color:var(--e-global-color-primary,#2E3192);color:var(--e-global-color-primary,#2E3192)}

/* =========================================================================
 * PACKAGE TABS (Durdur Package Tabs)
 * Ported from .tabs / .tabs-in / .tabs button in the static build. Each tab
 * gets its own .durdur-plans grid underneath the bar.
 * ========================================================================= */
.durdur-tabs{display:flex;justify-content:center;gap:6px;margin-bottom:46px}
.durdur-tabs-in{
	display:flex;flex-wrap:wrap;justify-content:center;gap:6px;background:#fff;
	border:1px solid var(--e-global-color-border,#e6e9f2);padding:6px;border-radius:99px;box-shadow:var(--durdur-shadow-sm);
}
.durdur-tab.durdur-tab{
	border:0;background:transparent;cursor:pointer;padding:13px 32px;border-radius:99px;
	font:700 14.5px/1 'Plus Jakarta Sans',sans-serif;color:var(--e-global-color-bodytext,#5b6484);transition:.3s;
}
.durdur-tab.durdur-tab.on{background:var(--durdur-grad);color:#fff;box-shadow:0 10px 22px -10px rgba(24,89,57,.8)}
.durdur-tab.durdur-tab small{display:block;margin-top:4px;font:600 10.5px/1 'Inter',sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:.7}

/* =========================================================================
 * PACKAGE CARDS (Durdur Package Tabs — one grid of cards per tab)
 * ========================================================================= */
.durdur-plans{display:none;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start}
.durdur-plans.on{display:grid;animation:fadeUp .5s cubic-bezier(.2,.8,.2,1)}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}}
.durdur-plan{
	background:#fff;border:1px solid var(--e-global-color-border,#e6e9f2);border-radius:var(--durdur-radius);
	padding:38px 32px;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;
}
.durdur-plan:hover{transform:translateY(-8px);box-shadow:var(--durdur-shadow-lg)}
.durdur-plan.is-hot{
	background:var(--durdur-grad);border-color:transparent;color:rgba(255,255,255,.82);
	box-shadow:var(--durdur-shadow-lg);transform:scale(1.045);
}
.durdur-plan.is-hot:hover{transform:scale(1.045) translateY(-8px)}
.durdur-plan.is-hot h3,.durdur-plan.is-hot .durdur-plan-price{color:#fff}
.durdur-plan-badge{
	display:inline-block;font:700 11px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;
	background:rgba(255,255,255,.2);color:#fff;padding:8px 14px;border-radius:99px;margin-bottom:18px;
}
.durdur-plan h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:19px;font-weight:700;line-height:1.18;letter-spacing:-.02em;margin:0;color:inherit}
.durdur-plan-sub{font-size:14px;line-height:1.6;margin:5px 0 0}
.durdur-plan-price{
	font:800 52px/1 'Plus Jakarta Sans',sans-serif;color:var(--e-global-color-primary,#2E3192);margin:22px 0 4px;
	display:flex;align-items:flex-start;gap:3px;letter-spacing:-.03em;
}
.durdur-plan-price sup{font-size:22px;margin-top:8px}
.durdur-plan-price small{font:600 15px/1 'Inter',sans-serif;color:var(--e-global-color-bodytext,#5b6484);align-self:flex-end;margin-bottom:9px}
.durdur-plan.is-hot .durdur-plan-price small{color:rgba(255,255,255,.75)}
.durdur-plan ul{margin:26px 0;display:grid;gap:13px;border-top:1px solid var(--e-global-color-border,#e6e9f2);padding:26px 0 0;list-style:none}
.durdur-plan.is-hot ul{border-color:rgba(255,255,255,.22)}
.durdur-plan li{display:flex;align-items:center;gap:11px;font-size:15px}
.durdur-plan li svg{width:19px;height:19px;flex:none;fill:var(--e-global-color-secondary,#38B04F)}
.durdur-plan.is-hot li svg{fill:#9cf0ae}
.durdur-plan .durdur-btn{width:100%}
.durdur-plan.is-hot .durdur-btn--outline{
	background:#fff;color:var(--e-global-color-primary,#2E3192);border-color:#fff;
	box-shadow:0 12px 26px -12px rgba(0,0,0,.5);
}
.durdur-plan-note{text-align:center;margin-top:34px;font-size:14px;color:var(--e-global-color-bodytext,#5b6484)}

/* =========================================================================
 * USSD CARDS
 * ========================================================================= */
.durdur-ussd-strip{margin-top:-78px;position:relative;z-index:5}
/* "Overlap previous section" off. The class sits on the strip itself, so it
   has to out-rank the -40px mobile value in the media query below as well. */
.durdur-ussd-strip.durdur-ussd-nolap{margin-top:0}
.durdur-ussd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.durdur-ussd-card{
	background:#fff;border-radius:var(--durdur-radius);padding:30px;display:flex;align-items:center;gap:20px;
	box-shadow:var(--durdur-shadow);border:1px solid var(--e-global-color-border,#e6e9f2);color:inherit;
	transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;
}
a.durdur-ussd-card{text-decoration:none}
.durdur-ussd-card:hover{transform:translateY(-8px);box-shadow:var(--durdur-shadow-lg)}
.durdur-ussd-code{
	flex:none;width:76px;height:76px;border-radius:20px;display:grid;place-items:center;
	font:800 17px/1 'Plus Jakarta Sans',sans-serif;color:#fff;background:var(--durdur-grad);letter-spacing:-.01em;
}
.durdur-ussd-card.is-deep .durdur-ussd-code{background:linear-gradient(140deg,var(--e-global-color-secondary,#38B04F),var(--e-global-color-accent,#185939))}
.durdur-ussd-card.is-navy .durdur-ussd-code{background:linear-gradient(140deg,var(--e-global-color-primary,#2E3192),#171a4a)}
.durdur-ussd-card h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:700;line-height:1.18;margin:0;color:var(--e-global-color-text,#10152e)}
.durdur-ussd-card p{font-size:14.5px;line-height:1.7;margin:5px 0 0;color:var(--e-global-color-bodytext,#5b6484)}

/* =========================================================================
 * COVERAGE CHECKER
 * ========================================================================= */
.durdur-checker{
	display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center;background:#fff;
	border:1px solid var(--e-global-color-border,#e6e9f2);border-radius:26px;padding:50px;box-shadow:var(--durdur-shadow);
}
.durdur-checker h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(26px,3vw,36px);font-weight:800;line-height:1.18;letter-spacing:-.02em;margin:0;color:var(--e-global-color-text,#10152e)}
.durdur-checker-copy p{margin:14px 0 0;font-size:16px;color:var(--e-global-color-bodytext,#5b6484)}
.durdur-check-form{display:flex;gap:12px}
.durdur-check-form select{
	flex:1;min-width:0;padding:16px 18px;border:1.5px solid var(--e-global-color-border,#e6e9f2);border-radius:14px;
	background:var(--e-global-color-softbg,#f5f7fc);font:500 15px/1.4 'Inter',sans-serif;color:var(--e-global-color-text,#10152e);outline:none;
	max-width:100%;
}
.durdur-check-form select:focus{
	border-color:var(--e-global-color-secondary,#38B04F);background:#fff;
	box-shadow:0 0 0 4px color-mix(in srgb,var(--e-global-color-secondary,#38B04F) 12%,transparent);
}
.durdur-cov-result{margin-top:16px;min-height:24px;font-size:15px;font-weight:600;border-radius:12px;line-height:1.6}
.durdur-cov-result.is-ok,.durdur-cov-result.is-soon,.durdur-cov-result.is-warn{padding:14px 18px}
.durdur-cov-result.is-ok{background:color-mix(in srgb,var(--e-global-color-secondary,#38B04F) 10%,transparent);color:var(--e-global-color-green600,#2c9440)}
.durdur-cov-result.is-soon{background:color-mix(in srgb,var(--e-global-color-primary,#2E3192) 7%,transparent);color:var(--e-global-color-primary,#2E3192)}
.durdur-cov-result.is-warn{background:#fff4e5;color:#9a5b00}

/* =========================================================================
 * CITY CHIPS
 * ========================================================================= */
.durdur-chips{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:0;padding:0}
.durdur-chips.is-center{justify-content:center}
.durdur-chip{
	display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--e-global-color-border,#e6e9f2);
	padding:13px 20px;border-radius:99px;font:600 14.5px/1 'Plus Jakarta Sans',sans-serif;color:var(--e-global-color-text,#10152e);
	box-shadow:var(--durdur-shadow-sm);transition:.3s;
}
.durdur-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--e-global-color-secondary,#38B04F)}
.durdur-chip:hover{transform:translateY(-4px);border-color:var(--e-global-color-secondary,#38B04F);color:var(--e-global-color-primary,#2E3192)}
.durdur-chip.is-hq{background:var(--durdur-grad);color:#fff;border-color:transparent}
.durdur-chip.is-hq::before{background:#fff}

/* =========================================================================
 * RESPONSIVE — new content widgets (fallbacks; Elementor controls win)
 * ========================================================================= */
@media (max-width:1080px){
	.durdur-plans{grid-template-columns:repeat(2,1fr)}
	.durdur-plan.is-hot{transform:none}
	.durdur-plan.is-hot:hover{transform:translateY(-8px)}
	.durdur-ussd-grid{grid-template-columns:repeat(2,1fr)}
	.durdur-checker{grid-template-columns:1fr;gap:30px;padding:40px}
}
@media (max-width:640px){
	.durdur-tab{padding:12px 20px;font-size:13.5px}
	.durdur-plans{grid-template-columns:1fr}
	.durdur-ussd-grid{grid-template-columns:1fr}
	.durdur-ussd-strip{margin-top:-40px}
	.durdur-ussd-strip.durdur-ussd-nolap{margin-top:0}
	.durdur-checker{padding:28px 22px}
	.durdur-check-form{flex-direction:column}
}
/* =========================================================================
 * RESPONSIVE
 * ========================================================================= */
@media (max-width:1080px){
	.durdur-hero-grid{grid-template-columns:1fr;text-align:center;min-height:auto}
	.slide p,.hero-cta,.hero-dots{margin-inline:auto}
	.hero-cta,.hero-dots{justify-content:center}
	.hero-art{margin-top:56px}
	.chip.c1{left:2%}.chip.c2{right:0}
}
@media (max-width:640px){
	.slide .ussd{font-size:20px}
	.chip{display:none}
}

/* =========================================================================
 * MOTION PREFERENCES — scoped to our own widgets only.
 * ========================================================================= */
@media (prefers-reduced-motion:reduce){
	.durdur-forest::after,
	.durdur-mesh-layer path,
	.iphone,
	.glow,
	.ring,
	.chip,
	.slide .tag::before{animation:none!important}
	.slide{transition-duration:.01ms!important}
}
/* =========================================================================
 * SITE CHROME — Theme Builder header + footer templates.
 *
 * Same contract as the widget blocks above: the containers carry the
 * geometry, Elementor owns colours / type / spacing through the global
 * palette, and only the effects Elementor has no control for live here
 * (sticky shadow, gradient nav underline, footer link slide, scroll-revealed
 * back-to-top). Classes are doubled where Elementor's own container
 * stylesheet — enqueued after this file — would otherwise win.
 * ========================================================================= */

/* ---- header: top bar ------------------------------------------------- */
.dd-topbar.dd-topbar{--overflow:hidden}
.dd-topbar-in.dd-topbar-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:44px}
.dd-tb-left.dd-tb-left{display:flex;align-items:center;gap:26px}
.dd-tb-right.dd-tb-right{display:flex;align-items:center;gap:14px}
/* Elementor containers default to width:100% — inline groups must hug content
   so the top bar never wraps onto a second line. */
.dd-topbar-in.dd-topbar-in > .e-con,
.dd-tb-item.dd-tb-item{width:auto;flex:0 0 auto;max-width:none}
.dd-topbar.dd-topbar .e-con > .elementor-widget{width:auto;flex:0 0 auto}
.dd-topbar.dd-topbar .elementor-widget-text-editor p{margin:0;white-space:nowrap}
.dd-topbar.dd-topbar .elementor-social-icons-wrapper{flex-wrap:nowrap}
/* Reminder note kept inside the header template: visible while editing in
   Elementor, hidden from visitors. */
.dd-note.dd-note{display:none}
.elementor-editor-active .dd-note.dd-note{display:block;flex:1 1 100%;padding:6px 0 0;color:rgba(255,255,255,.6);font:400 12px/1.5 'Inter',sans-serif;text-align:left}
.elementor-editor-active .dd-topbar-in.dd-topbar-in{height:auto;min-height:44px}

.dd-meta .elementor-icon{color:var(--e-global-color-secondary,#38B04F)}
.dd-meta .elementor-widget-container{display:inline-flex;align-items:center;gap:7px}
.dd-meta a{color:inherit;text-decoration:none;transition:color .25s}
.dd-meta a:hover{color:#fff}
.dd-meta strong{color:#fff;font-weight:700}

/* ---- header: main bar ------------------------------------------------ */
.dd-header.dd-header{
	position:sticky;top:0;z-index:90;
	background:#fff;border-bottom:1px solid transparent;
	transition:box-shadow .3s,border-color .3s;
}
.dd-header.dd-header.is-stuck{
	box-shadow:0 8px 30px -14px rgba(23,26,74,.22);
	border-color:var(--e-global-color-border,#e6e9f2);
}
/* Elementor wraps the header template in a box only as tall as the bar, so a
   sticky element has no travel room and scrolls away. durdur.js pins the bar
   once it reaches the top and keeps a spacer in its slot so the page below
   never jumps. */
.dd-header.dd-header--on{
	position:fixed;top:0;left:0;right:0;width:100%;
}
.dd-hspace.dd-hspace{display:block;width:100%;height:0;pointer-events:none}
.dd-header-in.dd-header-in{display:flex;align-items:center;gap:30px;height:84px}
/* Force the logo / nav / CTA onto one row at every width; Elementor wraps the
   row on tablet, which pushed the CTA outside the bar on small phones. */
.dd-header-in.dd-header-in > .e-con-inner.e-con-inner{display:flex;flex-wrap:nowrap;align-items:center;gap:30px}
.dd-header-right.dd-header-right{margin-left:auto;display:flex;align-items:center;gap:30px;width:auto;flex:0 0 auto;max-width:none}
/* The logo must never shrink or distort at any width. */
.dd-brand.dd-brand{flex:none}
.dd-brand.dd-brand img{height:46px;width:auto;max-width:none;display:block}
.dd-brand.dd-brand a{display:block;line-height:0}

/* Pro Nav Menu: gradient underline that grows from the left. */
.dd-nav.dd-nav .elementor-nav-menu--main .elementor-item{position:relative;padding:10px 16px}
.dd-nav.dd-nav .elementor-nav-menu--main .elementor-item::after{
	content:"";position:absolute;left:16px;right:16px;bottom:4px;height:2px;border-radius:2px;
	background:var(--durdur-grad-btn);
	transform:scaleX(0);transform-origin:left;
	transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.dd-nav.dd-nav .elementor-nav-menu--main .elementor-item:hover::after,
.dd-nav.dd-nav .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.dd-nav.dd-nav .current-menu-item > .elementor-item::after{transform:scaleX(1)}
/* Pro Nav Menu: the collapsed dropdown panel. White, full width, one row per
   item with a divider, matching .nav in the static stylesheet. */
.dd-nav.dd-nav .elementor-nav-menu--dropdown{background-color:#fff;border-bottom:1px solid var(--e-global-color-border,#e6e9f2);box-shadow:0 24px 40px -22px rgba(23,26,74,.3)}
.dd-nav.dd-nav .elementor-nav-menu--dropdown .elementor-nav-menu{padding:18px 24px 28px}
.dd-nav.dd-nav .elementor-nav-menu--dropdown .elementor-item,
.dd-nav.dd-nav .elementor-nav-menu--dropdown .elementor-item:hover,
.dd-nav.dd-nav .elementor-nav-menu--dropdown .elementor-item:focus,
.dd-nav.dd-nav .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.dd-nav.dd-nav .elementor-nav-menu--dropdown .elementor-item.highlighted{
	color:var(--e-global-color-text,#10152e);background-color:transparent;fill:currentColor;
	padding:15px 12px;border-bottom:1px solid var(--e-global-color-border,#e6e9f2);
}
.dd-nav.dd-nav .elementor-nav-menu--dropdown .elementor-item:hover,
.dd-nav.dd-nav .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.dd-nav.dd-nav .elementor-nav-menu--dropdown .current-menu-item > .elementor-item{color:var(--e-global-color-primary,#2E3192)}
.dd-nav.dd-nav .elementor-nav-menu--dropdown li:last-child .elementor-item{border-bottom:0}

/* ---- footer ---------------------------------------------------------- */
.dd-footer.dd-footer{padding-top:80px}
.dd-fgrid.dd-fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:46px;padding-bottom:60px}
.dd-fcol.dd-fcol{display:flex;flex-direction:column}
.dd-flogo.dd-flogo img{height:50px;width:auto;max-width:none;display:block}
.dd-fhead .elementor-heading-title{color:#fff;font-size:16px;font-weight:700;position:relative;padding-bottom:12px}
.dd-fhead .elementor-heading-title::after{
	content:"";position:absolute;left:0;bottom:0;width:34px;height:2.5px;border-radius:2px;
	background:var(--durdur-grad-btn);
}
.dd-flinks.dd-flinks .elementor-icon-list-icon{flex:none;width:5px}
.dd-flinks.dd-flinks .elementor-icon-list-icon i,
.dd-flinks.dd-flinks .elementor-icon-list-icon svg{font-size:5px;width:5px;height:5px;color:rgba(255,255,255,.3);fill:rgba(255,255,255,.3)}
.dd-flinks.dd-flinks .elementor-icon-list-text{font-size:14.5px}
.dd-flinks .elementor-icon-list-item{transition:transform .25s}
.dd-flinks .elementor-icon-list-item:hover{transform:translateX(5px)}
.dd-flinks .elementor-icon-list-icon i{transition:color .25s}
.dd-flinks .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.dd-flinks .elementor-icon-list-item:hover .elementor-icon-list-icon svg{color:var(--e-global-color-secondary,#38B04F);fill:var(--e-global-color-secondary,#38B04F)}
.dd-fbot.dd-fbot{
	display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
	border-top:1px solid rgba(255,255,255,.1);padding:26px 0;
}
.dd-fbot a{color:inherit;text-decoration:none;transition:color .25s}
.dd-fbot a:hover{color:#fff}

/* ---- floating buttons ------------------------------------------------ */
.dd-float.dd-float{
	position:fixed;right:24px;bottom:24px;z-index:80;width:auto;max-width:none;
	display:flex;flex-direction:column;align-items:center;gap:20px;
}
.dd-float.dd-float .elementor-widget{width:auto}
.dd-wa .elementor-icon{
	width:56px;height:56px;border-radius:50%;background:#25d366;
	display:grid;place-items:center;
	box-shadow:0 14px 30px -10px rgba(37,211,102,.8);
	transition:transform .3s;
}
.dd-wa .elementor-icon:hover{transform:scale(1.08)}
.dd-wa .elementor-icon svg,.dd-wa .elementor-icon i{width:28px;height:28px;font-size:28px;fill:#fff;color:#fff}
.dd-top .elementor-icon{
	width:52px;height:52px;border-radius:50%;background:var(--e-global-color-primary,#2E3192);
	display:grid;place-items:center;box-shadow:var(--durdur-shadow);
	opacity:0;visibility:hidden;transform:translateY(14px);transition:.35s;
}
.dd-top.is-on .elementor-icon{opacity:1;visibility:visible;transform:none}
.dd-top .elementor-icon:hover{background:var(--e-global-color-secondary,#38B04F)}
.dd-top .elementor-icon svg,.dd-top .elementor-icon i{width:19px;height:19px;font-size:19px;fill:#fff;color:#fff}

/* ---- site chrome responsive (tablet breakpoint is 1100 in this kit) --- */
@media (max-width:1100px){
	.dd-topbar-in.dd-topbar-in{justify-content:center;gap:24px}
	.dd-tb-right.dd-tb-right{gap:18px}
	.dd-header-in.dd-header-in{height:74px;gap:16px}
	.dd-header-in.dd-header-in > .e-con-inner.e-con-inner{gap:18px}
	.dd-header-right.dd-header-right{margin-left:auto;gap:10px}
	/* Reference order below 1100px: logo, then the CTA, then the hamburger. */
	.dd-cta.dd-cta{order:1}
	.dd-nav.dd-nav{order:2}
	.dd-fgrid.dd-fgrid{grid-template-columns:repeat(2,1fr);gap:40px}
	.dd-tb-left.dd-tb-left{display:none}
}
@media (max-width:767px){
	.dd-topbar.dd-topbar{font-size:12.5px}
	.dd-header-in.dd-header-in{height:68px;padding-left:18px;padding-right:18px}
	.dd-header-in.dd-header-in > .e-con-inner.e-con-inner{gap:10px}
	.dd-header-right.dd-header-right{gap:8px}
	.dd-brand.dd-brand img{height:38px}
	.dd-cta.dd-cta .elementor-button{padding:11px 16px;font-size:13px}
	.dd-fgrid.dd-fgrid{grid-template-columns:1fr}
	.dd-fbot.dd-fbot{justify-content:center;text-align:center}
}
/* ---- footer newsletter form (Elementor Pro Form) --------------------- */
.dd-form.dd-form form.elementor-form{width:100%}
.dd-form.dd-form .elementor-form-fields-wrapper{display:flex;flex-wrap:nowrap;gap:9px;align-items:stretch;margin-top:18px}
.dd-form.dd-form .elementor-field-group{flex:1 1 auto;width:auto;min-width:0;margin-bottom:0;padding:0}
.dd-form.dd-form .elementor-field-type-submit{flex:0 0 auto}
.dd-form.dd-form .elementor-field-group > label{display:none}
.dd-form.dd-form input.elementor-field{
	width:100%;padding:14px 18px;border-radius:12px;
	border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);
	color:#fff;font:400 14px/1 var(--e-global-typography-text-font-family,'Inter'),sans-serif;
	outline:none;transition:border-color .25s,background .25s;
}
.dd-form.dd-form input.elementor-field::placeholder{color:rgba(255,255,255,.4)}
.dd-form.dd-form input.elementor-field:focus{border-color:var(--e-global-color-secondary,#38B04F);background:rgba(255,255,255,.12)}
.dd-form.dd-form button.elementor-button{
	height:100%;border:0;border-radius:12px;padding:0 20px;
	background:var(--durdur-grad-btn);color:#fff;cursor:pointer;
	display:grid;place-items:center;transition:transform .25s;box-shadow:none;
}
.dd-form.dd-form button.elementor-button:hover{transform:translateY(-2px)}
.dd-form.dd-form button.elementor-button .elementor-button-icon svg,
.dd-form.dd-form button.elementor-button .elementor-button-icon i{width:18px;height:18px;font-size:18px;fill:#fff;color:#fff}
.dd-form.dd-form .elementor-message{color:#fff;font-size:13.5px}
/* =========================================================================
 * HOME PAGE SECTIONS (step 7)
 * Shell/layout/skin for the content sections that are built out of native
 * Elementor widgets. Text, colours and typography stay editable in the
 * panel; only the responsive grid maths lives here. Selectors are doubled
 * where Elementor's own container widget-spacing could out-rank them.
 * ========================================================================= */

/* ---- section shell -------------------------------------------------- */
.dd-sec.dd-sec{padding:110px 0}
.dd-sec--soft.dd-sec--soft{background:var(--e-global-color-softbg,#f5f7fc)}
.dd-flush.dd-flush{padding:0}
.dd-band-sec.dd-band-sec{padding:0 0 110px}
.dd-wrap.dd-wrap{width:100%;max-width:1200px;margin-inline:auto;align-self:center;padding-inline:24px}

/* ---- section head + eyebrow ---------------------------------------- */
.dd-sec-head.dd-sec-head{width:100%;max-width:640px;margin:0 auto 60px;text-align:center;align-self:center}
.dd-sec-head .elementor-widget-heading .elementor-heading-title{font-size:clamp(30px,4vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.18}
.dd-sec-head .elementor-widget-text-editor{font-size:17px;color:var(--e-global-color-bodytext,#5b6484)}
.dd-eyebrow.dd-eyebrow .elementor-heading-title{
	display:inline-flex;align-items:center;gap:8px;
	font:700 12px/1 var(--e-global-typography-accent-font-family,'Plus Jakarta Sans'),sans-serif;
	letter-spacing:.18em;text-transform:uppercase;color:var(--e-global-color-primary,#2E3192);
	background:rgba(46,49,146,.08);padding:9px 16px;border-radius:99px;
}
.dd-eyebrow.dd-eyebrow .elementor-heading-title::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--e-global-color-secondary,#38B04F)}

/* ---- services ------------------------------------------------------- */
.dd-svc-grid.dd-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;width:100%}
.dd-svc-card.dd-svc-card{
	position:relative;gap:0;background:#fff;border:1px solid var(--e-global-color-border,#e6e9f2);
	border-radius:var(--durdur-radius);padding:38px 32px;overflow:hidden;
	transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s;
}
.dd-svc-card.dd-svc-card::after{
	content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--durdur-grad-btn);
	transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.8,.2,1);
}
.dd-svc-card.dd-svc-card:hover{transform:translateY(-10px);box-shadow:var(--durdur-shadow-lg);border-color:transparent}
.dd-svc-card.dd-svc-card:hover::after{transform:scaleX(1)}
.dd-svc-ic.dd-svc-ic{margin-bottom:24px}
.dd-svc-ic.dd-svc-ic .elementor-icon{
	width:62px;height:62px;border-radius:18px;display:grid;place-items:center;
	background:rgba(46,49,146,.08);color:var(--e-global-color-primary,#2E3192);font-size:26px;transition:.35s;
}
.dd-svc-ic.dd-svc-ic .elementor-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dd-svc-card.dd-svc-card:hover .dd-svc-ic .elementor-icon{background:var(--durdur-grad-btn);color:#fff;transform:rotate(-6deg) scale(1.06)}
.dd-svc-card .elementor-widget-heading{margin-bottom:11px}
.dd-svc-card .elementor-widget-heading .elementor-heading-title{font-size:20px;font-weight:700;line-height:1.25;margin:0}
.dd-svc-tagline.dd-svc-tagline{margin:-4px 0 10px}
.dd-svc-tagline.dd-svc-tagline p{margin:0;font:600 13.5px/1.3 var(--e-global-typography-accent-font-family,'Plus Jakarta Sans'),sans-serif;color:var(--e-global-color-secondary,#38B04F)}
.dd-svc-card .elementor-widget-text-editor{font-size:15px;color:var(--e-global-color-bodytext,#5b6484)}
.dd-more.dd-more{margin-top:20px}
.dd-more.dd-more .elementor-button{
	display:inline-flex;align-items:center;gap:8px;background:transparent;border:0;padding:0;box-shadow:none;
	color:var(--e-global-color-primary,#2E3192);
	font:700 14px/1 var(--e-global-typography-accent-font-family,'Plus Jakarta Sans'),sans-serif;
}
.dd-more.dd-more .elementor-button:hover{background:transparent;color:var(--e-global-color-primary,#2E3192)}
.dd-more.dd-more .elementor-button-icon{font-size:13px;transition:transform .3s}
.dd-more.dd-more .elementor-button-icon svg{width:15px;height:15px;transition:transform .3s}
.dd-more.dd-more:hover .elementor-button-icon,
.dd-more.dd-more:hover .elementor-button-icon svg{transform:translateX(5px)}

/* ---- packages ------------------------------------------------------- */
.dd-pkg-cta.dd-pkg-cta{margin-top:44px}

/* ---- about ---------------------------------------------------------- */
.dd-about.dd-about{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;width:100%}
.dd-about-art.dd-about-art{position:relative}
.dd-about-art.dd-about-art::before{
	content:"";position:absolute;left:-28px;top:-28px;width:120px;height:120px;z-index:0;pointer-events:none;
	background-image:radial-gradient(var(--e-global-color-secondary,#38B04F) 1.7px,transparent 1.7px);
	background-size:14px 14px;opacity:.5;
}
.dd-about-img.dd-about-img{position:relative;z-index:1;border-radius:24px;overflow:hidden;box-shadow:var(--durdur-shadow-lg)}
.dd-about-img.dd-about-img img{width:100%;height:480px;object-fit:cover;display:block}
.dd-about-badge.dd-about-badge{
	position:absolute;right:-22px;bottom:-26px;z-index:2;gap:0;
	background:#fff;border:1px solid var(--e-global-color-border,#e6e9f2);border-radius:20px;
	padding:24px 28px;box-shadow:var(--durdur-shadow-lg);text-align:center;
}
.dd-about-badge .elementor-widget-heading .elementor-heading-title{
	font:800 38px/1 var(--e-global-typography-primary-font-family,'Plus Jakarta Sans'),sans-serif;
	color:var(--e-global-color-primary,#2E3192);
}
.dd-about-badge .elementor-widget-text-editor{font-size:13px;font-weight:600;color:var(--e-global-color-text,#10152e)}
.dd-about-copy.dd-about-copy{gap:18px}
.dd-about-copy .elementor-widget-heading .elementor-heading-title{font-size:clamp(30px,3.6vw,42px);font-weight:800;letter-spacing:-.02em;line-height:1.18}
.dd-about-copy .elementor-widget-text-editor{font-size:16.5px;color:var(--e-global-color-bodytext,#5b6484)}
.dd-feat-list.dd-feat-list{display:flex;flex-direction:column;gap:20px;width:100%;margin-top:16px}
.dd-feat-row.dd-feat-row{display:flex;flex-direction:row;gap:16px;align-items:flex-start;width:100%}
.dd-feat-ic.dd-feat-ic .elementor-icon{
	width:46px;height:46px;border-radius:14px;background:rgba(56,176,79,.12);display:grid;place-items:center;
	color:var(--e-global-color-secondary,#38B04F);font-size:19px;
}
.dd-feat-ic.dd-feat-ic .elementor-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dd-feat-copy.dd-feat-copy{gap:4px}
.dd-feat-copy .elementor-widget-heading .elementor-heading-title{font-size:16.5px;font-weight:700;line-height:1.3;margin:0}
.dd-feat-copy .elementor-widget-text-editor{font-size:14.5px;color:var(--e-global-color-bodytext,#5b6484)}
.dd-about-btn.dd-about-btn{margin-top:16px;align-self:flex-start}

/* ---- stats ---------------------------------------------------------- */
.dd-stat-grid.dd-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;width:100%;position:relative;z-index:1}
.dd-stat.dd-stat{padding:12px 10px;border-right:1px solid rgba(255,255,255,.12)}
.dd-stat.dd-stat:last-child{border-right:0}
.dd-stat.dd-stat .elementor-counter-number-wrapper{
	display:block;letter-spacing:-.03em;
	font:800 clamp(38px,5vw,58px)/1 var(--e-global-typography-primary-font-family,'Plus Jakarta Sans'),sans-serif;
	background:linear-gradient(120deg,#fff,#9cf0ae);
	-webkit-background-clip:text;background-clip:text;
	-webkit-text-fill-color:transparent;color:transparent;
}
.dd-stat.dd-stat .elementor-counter-number-wrapper span{-webkit-text-fill-color:inherit;background:none}
.dd-stat.dd-stat .elementor-counter-title{
	margin-top:10px;font-size:14.5px;font-weight:500;line-height:1.5;
	color:rgba(255,255,255,.7);
	font-family:var(--e-global-typography-text-font-family,'Inter'),sans-serif;
}

/* ---- coverage ------------------------------------------------------- */
.dd-cov-grid.dd-cov-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;width:100%}
.dd-cov-copy.dd-cov-copy{gap:18px}
.dd-cov-copy .elementor-widget-heading .elementor-heading-title{font-size:clamp(30px,3.6vw,42px);font-weight:800;letter-spacing:-.02em;line-height:1.18}
.dd-cov-copy .elementor-widget-text-editor{font-size:16.5px;color:var(--e-global-color-bodytext,#5b6484)}
.dd-cov-copy .dd-cov-btn{margin-top:14px;align-self:flex-start}

/* ---- contact -------------------------------------------------------- */
.dd-contact-grid.dd-contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;align-items:start;width:100%}
.dd-contact-info.dd-contact-info{display:flex;flex-direction:column;gap:18px;width:100%}
.dd-info-card.dd-info-card{
	flex-direction:row;gap:18px;align-items:flex-start;width:100%;
	background:#fff;border:1px solid var(--e-global-color-border,#e6e9f2);border-radius:var(--durdur-radius);
	padding:28px;box-shadow:var(--durdur-shadow-sm);transition:.35s;
}
.dd-info-card.dd-info-card:hover{transform:translateY(-5px);box-shadow:var(--durdur-shadow)}
.dd-info-card--block.dd-info-card--block{flex-direction:column}
.dd-info-head.dd-info-head{display:flex;flex-direction:row;gap:18px;align-items:flex-start;width:100%}
.dd-info-ic.dd-info-ic .elementor-icon{
	width:52px;height:52px;border-radius:15px;background:var(--durdur-grad);display:grid;place-items:center;
	color:#fff;font-size:21px;
}
.dd-info-ic.dd-info-ic .elementor-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.dd-info-copy.dd-info-copy{gap:4px}
.dd-info-copy .elementor-widget-heading .elementor-heading-title{font-size:16.5px;font-weight:700;line-height:1.3;margin:0}
.dd-info-copy .elementor-widget-text-editor{font-size:15px;color:var(--e-global-color-bodytext,#5b6484)}
.dd-info-card a{color:var(--e-global-color-primary,#2E3192);font-weight:600}
.dd-depts a{
	display:flex;flex-direction:column;background:var(--e-global-color-softbg,#f5f7fc);
	border:1px solid var(--e-global-color-border,#e6e9f2);border-radius:12px;padding:12px 15px;
	font-size:14px;font-weight:600;transition:.3s;
}
.dd-depts a small{font:500 11.5px/1 var(--e-global-typography-text-font-family,'Inter'),sans-serif;color:var(--e-global-color-bodytext,#5b6484);margin-bottom:4px;letter-spacing:.04em;text-transform:uppercase}
.dd-depts a:hover{background:#fff;border-color:var(--e-global-color-secondary,#38B04F);transform:translateY(-3px)}
.dd-depts.dd-depts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}

/* Elementor Pro form, light skin */
.dd-cform.dd-cform{background:#fff;border:1px solid var(--e-global-color-border,#e6e9f2);border-radius:24px;padding:40px;box-shadow:var(--durdur-shadow)}
.dd-cform.dd-cform form.elementor-form{width:100%}
.dd-cform.dd-cform .elementor-field-group > label{
	display:block;font:600 13.5px/1 var(--e-global-typography-accent-font-family,'Plus Jakarta Sans'),sans-serif;
	color:var(--e-global-color-text,#10152e);margin-bottom:9px;
}
.dd-cform.dd-cform input.elementor-field,
.dd-cform.dd-cform select.elementor-field-textual,
.dd-cform.dd-cform textarea.elementor-field{
	width:100%;padding:15px 18px;border:1.5px solid var(--e-global-color-border,#e6e9f2);border-radius:13px;
	background:var(--e-global-color-softbg,#f5f7fc);
	font:400 15px/1.5 var(--e-global-typography-text-font-family,'Inter'),sans-serif;
	color:var(--e-global-color-text,#10152e);transition:.25s;outline:none;box-shadow:none;
}
.dd-cform.dd-cform textarea.elementor-field{resize:vertical;min-height:130px}
.dd-cform.dd-cform input.elementor-field::placeholder,
.dd-cform.dd-cform textarea.elementor-field::placeholder{color:#a3abc4}
.dd-cform.dd-cform input.elementor-field:focus,
.dd-cform.dd-cform select.elementor-field:focus,
.dd-cform.dd-cform textarea.elementor-field:focus{
	border-color:var(--e-global-color-secondary,#38B04F);background:#fff;box-shadow:0 0 0 4px rgba(56,176,79,.12);
}
.dd-cform.dd-cform .elementor-field-type-submit{margin-bottom:0}
.dd-cform.dd-cform button.elementor-button{
	width:100%;justify-content:center;background:var(--durdur-grad-btn);color:#fff;border:0;border-radius:99px;
	padding:16px 30px;
	font:700 15px/1 var(--e-global-typography-accent-font-family,'Plus Jakarta Sans'),sans-serif;
	box-shadow:none;transition:.3s;
}
.dd-cform.dd-cform button.elementor-button:hover{filter:brightness(1.06);transform:translateY(-2px)}
.dd-cform.dd-cform .elementor-message{font-size:14px}

/* ---- CTA band ------------------------------------------------------- */
.dd-band.dd-band{
	position:relative;overflow:hidden;background:var(--durdur-grad);color:#fff;border-radius:28px;
	padding:64px 60px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;
	gap:40px;flex-wrap:wrap;box-shadow:var(--durdur-shadow-lg);width:100%;
}
.dd-band.dd-band::before{content:"";position:absolute;right:-90px;top:-90px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.09)}
.dd-band.dd-band::after{content:"";position:absolute;right:60px;bottom:-130px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.07)}
.dd-band.dd-band > *{position:relative;z-index:1}
.dd-band-copy.dd-band-copy{gap:14px}
.dd-band-copy .elementor-widget-heading .elementor-heading-title{color:#fff;font-size:clamp(26px,3.4vw,38px);font-weight:800;line-height:1.18;max-width:620px}
.dd-band-copy .elementor-widget-text-editor{color:rgba(255,255,255,.85);max-width:560px}
.dd-band-btn.dd-band-btn{flex:0 0 auto}

/* ---- responsive ----------------------------------------------------- */
@media (max-width:1100px){
	.dd-svc-grid.dd-svc-grid{grid-template-columns:repeat(2,1fr)}
	.dd-about.dd-about,
	.dd-cov-grid.dd-cov-grid,
	.dd-contact-grid.dd-contact-grid{grid-template-columns:1fr;gap:54px}
	.dd-about-img.dd-about-img img{height:380px}
	.dd-about-btn.dd-about-btn,.dd-cov-copy .dd-cov-btn{align-self:center}
	.dd-stat-grid.dd-stat-grid{grid-template-columns:repeat(2,1fr);row-gap:0}
	.dd-stat.dd-stat{border-right:0}
	.dd-stat.dd-stat:nth-child(odd){border-right:1px solid rgba(255,255,255,.12)}
	.dd-stat.dd-stat:nth-child(1),.dd-stat.dd-stat:nth-child(2){border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:26px}
	.dd-stat.dd-stat:nth-child(3),.dd-stat.dd-stat:nth-child(4){padding-top:26px}
	.dd-band.dd-band{padding:48px 34px;text-align:center;justify-content:center}
	.dd-band-copy .elementor-widget-heading .elementor-heading-title,
	.dd-band-copy .elementor-widget-text-editor{margin-inline:auto}
}
@media (max-width:767px){
	.dd-sec.dd-sec{padding:76px 0}
	.dd-band-sec.dd-band-sec{padding:0 0 76px}
	.dd-wrap.dd-wrap{padding-inline:18px}
	.dd-svc-grid.dd-svc-grid{grid-template-columns:1fr}
	.dd-stat-grid.dd-stat-grid{grid-template-columns:1fr}
	.dd-stat.dd-stat{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.12);padding:20px 10px}
	.dd-stat.dd-stat:last-child{border-bottom:0}
	.dd-about-badge.dd-about-badge{right:10px;bottom:-20px;padding:18px 22px}
	.dd-contact-grid.dd-contact-grid{gap:40px}
	.dd-cform.dd-cform{padding:26px 22px}
	.dd-depts.dd-depts{grid-template-columns:1fr}
}
/* Elementor Pro's form field style controls emit their own background at a
   higher specificity than a plain class, so re-assert ours on the wrapper. */
.dd-cform.dd-cform .elementor-field-group input.elementor-field,
.dd-cform.dd-cform .elementor-field-group textarea.elementor-field,
.dd-cform.dd-cform .elementor-field-group select.elementor-field-textual{
	background-color:var(--e-global-color-softbg,#f5f7fc)!important;
	border-color:var(--e-global-color-border,#e6e9f2);
}
.dd-cform.dd-cform .elementor-field-group input.elementor-field:focus,
.dd-cform.dd-cform .elementor-field-group textarea.elementor-field:focus,
.dd-cform.dd-cform .elementor-field-group select.elementor-field-textual:focus{
	background-color:#fff!important;border-color:var(--e-global-color-secondary,#38B04F);
}