/* ═══════════════════════════════════════════════════════════════
   DIGIRAPS THEME — main stylesheet
   Colours / fonts / widths come from Customizer via CSS variables
   (printed inline by inc/dynamic-css.php). Defaults below.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --lime: #c8f000; --lime2: #a4c400; --lime-rgb: 200,240,0;
  --bg: #0a0a0a; --bg2: #0e0e0e; --bg3: #111; --card: #141414; --card2: #1a1a1a;
  --txt: #d0d0d0; --head: #fff; --mut: #777; --mut2: #b0b0b0;
  --b: rgba(255,255,255,.07);
  --bl: rgba(var(--lime-rgb),.18);
  --f-head: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --f-body: 'Barlow', system-ui, sans-serif;
  --fs: 16px; --h-weight: 800; --h-case: uppercase;
  --wrap: 1400px; --sec-pad: 88px; --gut: 52px;
  --logo-h: 38px; --nav-h: 70px; --hdr-h: 108px;
  --ease: cubic-bezier(0.23,1,0.32,1);
}

/* ─── BASE ─────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--txt);
  font-family: var(--f-body); font-size: var(--fs); line-height: 1.6;
  overflow-x: hidden; -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font-family: var(--f-body); font-size: inherit; }
h1, h2, h3, h4, h5, h6 { color: var(--head); margin: 0; line-height: 1.1; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; }
[hidden] { display: none !important; }
::selection { background: var(--lime); color: #000; }
:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.skip-link:focus { position: fixed !important; top: 10px; left: 10px; width: auto; height: auto; clip: auto; z-index: 100001; background: var(--lime); color: #000; padding: 10px 16px; border-radius: 8px; }
.dr-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }

.dr-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gut); }
.dr-narrow { max-width: 920px; }
.dr-main { min-height: 40vh; }

/* Elementor: our widgets are full-bleed sections */
.elementor-widget[class*="elementor-widget-dr-"] > .elementor-widget-container { padding: 0; margin: 0; }
.e-con:has(> .e-con-inner > [class*="elementor-widget-dr-"]),
.e-con:has(> [class*="elementor-widget-dr-"]) { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; }

/* ─── CURSOR ───────────────────────────── */
#dr-cd, #dr-cr { position: fixed; pointer-events: none; z-index: 100002; border-radius: 50%; transform: translate(-50%,-50%); top: 0; left: 0; opacity: 0; transition: opacity .3s; }
body.dr-cursor-on #dr-cd, body.dr-cursor-on #dr-cr { opacity: 1; }
#dr-cd { width: 6px; height: 6px; background: var(--lime); }
#dr-cr { width: 32px; height: 32px; border: 1.5px solid rgba(var(--lime-rgb),.5); transition: width .28s, height .28s, border-color .28s, background .28s, opacity .3s; }
#dr-cr.h { width: 50px; height: 50px; border-color: var(--lime); background: rgba(var(--lime-rgb),.04); }
@media (hover:none), (pointer:coarse) { #dr-cd, #dr-cr { display: none; } }

/* ─── HEADER ───────────────────────────── */
.dr-header-wrap { position: fixed; top: 0; left: 0; right: 0; z-index: 99999; }
.admin-bar .dr-header-wrap { top: 32px; }
@media (max-width: 782px) { .admin-bar .dr-header-wrap { top: 46px; } }
.dr-page-offset { height: var(--hdr-h); }

.dr-announcement {
  background: var(--lime); color: #000; text-align: center; padding: 8px 48px;
  font-family: var(--f-head); font-size: 14px; font-weight: 700; letter-spacing: .5px;
  position: relative; overflow: hidden; max-height: 60px; transition: max-height .35s var(--ease), padding .35s;
}
.dr-announcement a { color: #000; text-decoration: underline; }
.dr-announcement-close { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); background: none; border: 0; font-size: 16px; color: #000; cursor: pointer; opacity: .7; }
.dr-announcement-close:hover { opacity: 1; }
.dr-header-wrap.scrolled .dr-announcement, .dr-announcement.closed { max-height: 0; padding-top: 0; padding-bottom: 0; }

.dr-nav {
  position: relative; height: var(--nav-h); background: rgba(10,10,10,.0);
  border-bottom: 1px solid transparent;
  transition: background .35s, border-color .35s, backdrop-filter .35s, height .3s;
}
.dr-header-wrap.scrolled .dr-nav, .dr-header-wrap.menu-open .dr-nav {
  background: rgba(10,10,10,.94); backdrop-filter: blur(22px) saturate(160%); -webkit-backdrop-filter: blur(22px) saturate(160%);
  border-bottom-color: var(--b); height: 64px;
}
.dr-nav-inner { max-width: var(--wrap); margin: 0 auto; height: 100%; display: flex; align-items: center; justify-content: space-between; padding: 0 48px; gap: 24px; }

.dr-logo, .dr-ft-logo { display: inline-flex; align-items: center; gap: 9px; flex-shrink: 0; }
.dr-logo img { height: var(--logo-h); width: auto; transition: height .3s, opacity .2s; }
.dr-header-wrap.scrolled .dr-logo img { height: calc(var(--logo-h) - 4px); }
.dr-logo:hover img { opacity: .85; }
.dr-logo-svg { height: var(--logo-h); width: auto; aspect-ratio: 190 / 46; transition: height .3s; }
.dr-header-wrap.scrolled .dr-logo-svg { height: calc(var(--logo-h) - 4px); }
.dr-ft-logo .dr-logo-svg { height: 36px; }
.dr-logo-bolt { width: 24px; height: 24px; background: var(--lime); clip-path: polygon(58% 0%,36% 46%,65% 46%,42% 100%,64% 54%,35% 54%); animation: bpulse 3s ease-in-out infinite; }
@keyframes bpulse { 0%,100% { filter: none; } 50% { filter: drop-shadow(0 0 7px var(--lime)); } }
.dr-logo-txt { font-family: var(--f-head); font-size: 24px; font-weight: 800; color: #fff; letter-spacing: .5px; text-transform: uppercase; }
.dr-logo-txt em { color: var(--lime); font-style: normal; }

.dr-primary { flex: 1; display: flex; justify-content: center; }
.dr-links { display: flex; align-items: center; gap: 4px; list-style: none; }
.dr-links > li { position: relative; }
.dr-links > li > a {
  font-size: 14px; font-weight: 500; color: #bbb; padding: 8px 14px; border-radius: 8px; letter-spacing: .3px;
  display: flex; align-items: center; gap: 6px; transition: color .2s, background .2s; white-space: nowrap; position: relative;
}
.dr-links > li > a > i:not(.dr-caret) { color: var(--lime); font-size: 13px; }
.dr-caret { font-size: 9px; margin-left: 2px; transition: transform .25s; }
.dr-links > li:hover > a .dr-caret { transform: rotate(180deg); }
.dr-links > li > a:hover, .dr-links > .current-menu-item > a, .dr-links > .current-menu-ancestor > a, .dr-links > .current-page-ancestor > a { color: #fff; background: rgba(255,255,255,.05); }
.dr-links > .current-menu-item > a::after, .dr-links > .current-menu-ancestor > a::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 14px; height: 2px; background: var(--lime); border-radius: 2px; }

.dr-dropdown {
  position: absolute; top: calc(100% + 8px); left: 50%; transform: translateX(-50%) translateY(8px);
  background: rgba(16,16,16,.98); border: 1px solid var(--b); border-radius: 14px; padding: 8px; min-width: 240px;
  list-style: none; opacity: 0; visibility: hidden; transition: opacity .25s, transform .25s var(--ease), visibility .25s;
  backdrop-filter: blur(20px); box-shadow: 0 16px 48px rgba(0,0,0,.6); z-index: 100;
}
.dr-dropdown::before { content: ''; position: absolute; top: -14px; left: 0; right: 0; height: 14px; }
.has-drop:hover > .dr-dropdown, .has-drop:focus-within > .dr-dropdown { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.dr-dropdown li a { font-size: 13px; padding: 9px 14px; border-radius: 8px; color: #bbb; display: flex; align-items: center; gap: 10px; transition: background .2s, color .2s; }
.dr-dropdown li a i { font-size: 14px; color: var(--lime); width: 18px; text-align: center; flex-shrink: 0; }
.dr-dropdown li a:hover, .dr-dropdown .current-menu-item > a { background: rgba(var(--lime-rgb),.07); color: #fff; }
.dr-dd-txt { display: flex; flex-direction: column; line-height: 1.3; }
.dr-dd-txt small { color: var(--mut); font-size: 11px; }
.mega > .dr-dropdown { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 2px; min-width: 520px; }
.mega.mega-3 > .dr-dropdown { grid-template-columns: repeat(3, minmax(200px, 1fr)); min-width: 680px; }

.dr-cta { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.dr-phone { display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; color: #bbb; padding: 8px 14px; border-radius: 8px; border: 1px solid var(--b); transition: color .2s, border-color .2s; white-space: nowrap; }
.dr-phone:hover { color: var(--lime); border-color: var(--bl); }
.dr-phone i { color: var(--lime); }

.dr-hamburger { display: none; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 40px; height: 40px; background: none; border: 1.5px solid var(--b); border-radius: 10px; cursor: pointer; padding: 8px; }
.dr-hamburger:hover { border-color: var(--lime); }
.dr-hamburger span { display: block; width: 20px; height: 2px; background: #fff; border-radius: 2px; transition: transform .3s, opacity .3s, width .3s; }
.dr-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.dr-hamburger.open span:nth-child(2) { opacity: 0; width: 0; }
.dr-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.dr-mobile-menu { position: absolute; top: 100%; left: 0; right: 0; background: rgba(10,10,10,.98); backdrop-filter: blur(24px); border-bottom: 1px solid var(--b); max-height: 0; overflow: hidden; transition: max-height .4s var(--ease); }
.dr-mobile-menu.open { max-height: calc(100vh - 64px); overflow-y: auto; }
.dr-mobile-nav { list-style: none; padding: 12px 24px 0; }
.dr-mobile-nav > li { border-bottom: 1px solid var(--b); position: relative; }
.dr-mobile-nav a { display: block; padding: 14px 44px 14px 8px; font-size: 16px; font-weight: 600; color: #ccc; transition: color .2s; }
.dr-mobile-nav a:hover, .dr-mobile-nav .current > a { color: var(--lime); }
.dr-mob-toggle { position: absolute; right: 0; top: 6px; width: 40px; height: 40px; background: none; border: 0; color: var(--lime); cursor: pointer; }
.dr-mob-toggle i { transition: transform .25s; }
.dr-mob-has.open > .dr-mob-toggle i { transform: rotate(180deg); }
.dr-mob-sub { list-style: none; max-height: 0; overflow: hidden; transition: max-height .35s var(--ease); padding-left: 12px; }
.dr-mob-has.open > .dr-mob-sub { max-height: 1200px; }
.dr-mob-sub a { font-size: 14px; font-weight: 500; padding: 9px 8px; color: #aaa; }
.dr-mobile-cta { padding: 16px 24px 24px; display: flex; flex-direction: column; gap: 10px; }
.dr-mobile-cta .dr-btn { justify-content: center; border-radius: 12px; padding: 14px; font-size: 16px; }
.dr-mobile-phone { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; border-radius: 12px; border: 1.5px solid var(--b); color: #ccc; font-size: 15px; font-weight: 600; }
.dr-mobile-phone i { color: var(--lime); }

/* ─── BUTTONS ──────────────────────────── */
.dr-btn, .btn-g, .btn-sub, .dr-ft-btn, .nav-btn {
  display: inline-flex; align-items: center; gap: 8px; border-radius: 50px; background: var(--lime); color: #000;
  font-family: var(--f-head); font-weight: 700; border: none; letter-spacing: .5px; text-transform: uppercase; white-space: nowrap;
  transition: transform .25s var(--ease), box-shadow .3s; position: relative; overflow: hidden; cursor: pointer;
}
.dr-btn { padding: 11px 24px; font-size: 15px; }
.btn-g { padding: 14px 30px; font-size: 16px; }
.dr-btn::after, .btn-g::after, .btn-sub::after, .dr-ft-btn::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg,transparent 38%,rgba(255,255,255,.38) 50%,transparent 62%); transform: translateX(-120%); transition: transform .52s; }
.dr-btn:hover::after, .btn-g:hover::after, .btn-sub:hover::after, .dr-ft-btn:hover::after { transform: translateX(120%); }
.dr-btn:hover, .btn-g:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(var(--lime-rgb),.42); color: #000; }
.btn-block { width: 100%; justify-content: center; }
.btn-o, .btn-out {
  display: inline-flex; align-items: center; gap: 9px; border-radius: 50px; border: 1.5px solid var(--b); color: #fff; background: transparent;
  font-family: var(--f-head); font-weight: 600; letter-spacing: .5px; text-transform: uppercase; cursor: pointer;
  transition: border-color .25s, background .25s, transform .25s var(--ease);
}
.btn-o { padding: 13px 28px; font-size: 16px; }
.btn-out { padding: 11px 22px; font-size: 15px; }
.btn-o:hover, .btn-out:hover { border-color: var(--lime); background: rgba(var(--lime-rgb),.05); transform: translateY(-2px); }
.ic-b { width: 22px; height: 22px; border-radius: 50%; background: rgba(0,0,0,.15); display: inline-flex; align-items: center; justify-content: center; font-size: 11px; }
.btn-o .ic-b { background: rgba(255,255,255,.08); }

/* ─── SECTIONS ─────────────────────────── */
.dr-sec { padding: var(--sec-pad) 0; position: relative; }
.dr-pad-compact { padding: calc(var(--sec-pad) * .55) 0; }
.dr-pad-top0 { padding-top: 0; }
.dr-pad-bot0 { padding-bottom: 0; }
.dr-pad-none { padding: 0; }
.dr-bg-bg { background: var(--bg); }
.dr-bg-bg2 { background: var(--bg2); }
.dr-bg-bg3 { background: var(--bg3); }
.dr-bg-card { background: var(--card); border-top: 1px solid var(--b); }
.dr-bg-glow { background: linear-gradient(135deg,#0c1800 0%,#080808 55%,#00100a 100%); border-top: 1px solid rgba(var(--lime-rgb),.12); border-bottom: 1px solid rgba(var(--lime-rgb),.12); }

.stag { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--lime); margin-bottom: 12px; }
.stag::before { content: ''; width: 18px; height: 2px; background: var(--lime); border-radius: 2px; }
.sh { font-family: var(--f-head); font-size: clamp(34px, 4.2vw, 56px); font-weight: var(--h-weight); line-height: 1.0; letter-spacing: -.3px; color: var(--head); margin-bottom: 12px; text-transform: var(--h-case); }
.sh-sm { font-size: clamp(28px,3vw,44px); }
.hl, .sh .hl { color: var(--lime); font-style: italic; }
.sp { font-size: 15px; color: #c0c0c0; line-height: 1.75; max-width: 560px; }
.sp strong { color: #fff; }

.dr-head { margin-bottom: 44px; }
.dr-head--center { text-align: center; }
.dr-head--center .stag { justify-content: center; }
.dr-head--center .sp { margin: 0 auto; }
.dr-head--split { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: flex-end; }
.dr-head-r { display: flex; flex-direction: column; align-items: flex-end; gap: 16px; text-align: right; }
.dr-head-r .sp { max-width: 480px; }
.dr-head-btn { margin-top: 18px; }
.dr-head-split { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 28px; }

/* ─── HOME HERO ────────────────────────── */
.hero {
  min-height: min(calc(100vh - var(--hdr-h)), 880px); display: grid; grid-template-columns: 1fr 1fr; align-items: center;
  padding: 24px max(var(--gut), calc((100vw - var(--wrap)) / 2 + var(--gut))) 40px; position: relative; overflow: hidden; gap: 20px;
}
.hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(rgba(var(--lime-rgb),.016) 1px,transparent 1px), linear-gradient(90deg,rgba(var(--lime-rgb),.016) 1px,transparent 1px); background-size: 60px 60px; -webkit-mask-image: radial-gradient(ellipse 80% 80% at 40% 40%,black,transparent); mask-image: radial-gradient(ellipse 80% 80% at 40% 40%,black,transparent); }
.hero-glow, .dr-phero-glow { position: absolute; top: -280px; left: -180px; pointer-events: none; width: 660px; height: 660px; background: radial-gradient(circle,rgba(var(--lime-rgb),.065) 0%,transparent 65%); animation: gdrift 13s ease-in-out infinite; }
@keyframes gdrift { 0%,100% { transform: translate(0,0); } 50% { transform: translate(70px,45px); } }
.hero-left { position: relative; z-index: 2; }
.hero-badge, .dr-badge-pill { display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; border-radius: 50px; border: 1px solid var(--bl); background: rgba(var(--lime-rgb),.05); font-size: 11px; font-weight: 700; color: var(--lime); letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 24px; }
.bdot { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); flex-shrink: 0; animation: bdot 2s ease-in-out infinite; }
@keyframes bdot { 0%,100% { box-shadow: 0 0 0 0 rgba(var(--lime-rgb),.7); } 60% { box-shadow: 0 0 0 6px rgba(var(--lime-rgb),0); } }
.hero-h1 { font-family: var(--f-head); font-size: clamp(54px, 7vw, 96px); font-weight: var(--h-weight); line-height: .95; letter-spacing: -.5px; color: #fff; margin-bottom: 20px; text-transform: var(--h-case); }
.hero-h1 .lime { color: var(--lime); display: block; font-style: italic; }
.hero-h1 .w { display: block; }
.hero-p { font-size: 16px; color: #bbb; line-height: 1.7; max-width: 420px; margin-bottom: 34px; }
.hero-p strong { color: var(--lime); font-weight: 600; }
.hero-btns, .dr-hero-btns { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 36px; }
.proof { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.avs { display: flex; }
.av { width: 36px; height: 36px; border-radius: 50%; border: 2.5px solid var(--bg); background: linear-gradient(135deg,#3a3a3a,#1c1c1c); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: var(--lime); margin-left: -9px; }
.av:first-child { margin-left: 0; }
.proof-t { font-size: 13px; color: #bbb; }
.proof-t strong { display: block; font-size: 16px; font-weight: 700; color: #fff; font-family: var(--f-head); }
.partners { display: flex; gap: 10px; flex-wrap: wrap; }
.p-chip { display: flex; align-items: center; padding: 6px 10px; background: var(--card); border: 1px solid var(--b); border-radius: 10px; transition: border-color .2s, transform .2s var(--ease); }
.p-chip:hover { border-color: var(--bl); transform: translateY(-2px); }
.p-chip img { height: 28px; width: auto; }
.hero-right { position: relative; display: flex; justify-content: center; align-items: flex-end; min-height: 560px; color: var(--lime); }
.mascot-img { width: 100%; max-width: 450px; object-fit: contain; position: relative; z-index: 2; filter: drop-shadow(0 20px 60px rgba(var(--lime-rgb),.22)); animation: mfloat 8s ease-in-out infinite; }
@keyframes mfloat { 0%,100% { transform: translateY(0); } 40% { transform: translateY(-14px); } 70% { transform: translateY(-7px); } }
.m-floor { position: absolute; bottom: -4px; left: 50%; transform: translateX(-50%); width: 60%; height: 44px; background: radial-gradient(ellipse,rgba(var(--lime-rgb),.32) 0%,transparent 70%); filter: blur(14px); border-radius: 50%; }
.fc { position: absolute; z-index: 3; background: rgba(12,12,12,.94); border: 1px solid rgba(255,255,255,.09); border-radius: 16px; padding: 14px 18px; min-width: 155px; backdrop-filter: blur(24px); box-shadow: 0 12px 44px rgba(0,0,0,.55); animation: cfloat 6s ease-in-out infinite; }
.fc2 { animation-delay: -2.2s; } .fc3 { animation-delay: -4s; } .fc4 { animation-delay: -1.2s; }
@keyframes cfloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
.fc-l { font-size: 10px; color: var(--mut); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; font-weight: 600; }
.fc-v { font-size: 22px; font-weight: 700; color: #fff; line-height: 1.1; font-family: var(--f-head); letter-spacing: -.3px; }
.fc-s { font-size: 11px; color: var(--lime); margin-top: 4px; font-weight: 600; }
.fc-spark { margin-top: 8px; }
.fc1 { top: 55px; left: -10px; } .fc2 { top: 36px; right: -20px; } .fc3 { bottom: 155px; right: -30px; } .fc4 { bottom: 110px; left: -18px; }
.sb { position: absolute; z-index: 3; width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 19px; box-shadow: 0 4px 20px rgba(0,0,0,.5); animation: cfloat 5s ease-in-out infinite; color: #fff; }
.sb-ig { top: 190px; left: 10px; background: linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); animation-delay: -1.4s; }
.sb-fb { bottom: 215px; right: 18px; background: #1877f2; animation-delay: -3.1s; font-family: Georgia,serif; font-weight: 900; font-size: 17px; }
.pp { position: absolute; bottom: 38px; right: -20px; z-index: 3; padding: 12px 16px; border-radius: 14px; background: rgba(12,12,12,.94); border: 1px solid rgba(255,255,255,.09); display: flex; align-items: center; gap: 10px; animation: cfloat 7s ease-in-out infinite; animation-delay: -.6s; }
.pp-avs { display: flex; }
.pp-av { width: 28px; height: 28px; border-radius: 50%; border: 2px solid rgba(12,12,12,.9); margin-left: -7px; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; }
.pp-av:first-child { margin-left: 0; background: linear-gradient(135deg,#f55,#c00); color: #fff; }
.pp-av:nth-child(2) { background: var(--lime); color: #000; }
.pp-av:nth-child(3) { background: linear-gradient(135deg,#6cf,#06c); color: #fff; }
.pp-txt { font-size: 12px; font-weight: 600; color: #fff; line-height: 1.3; }
.pp-txt span { display: block; font-weight: 400; color: var(--mut2); font-size: 11px; }

/* ─── PAGE HERO (inner pages) ──────────── */
.dr-phero { position: relative; overflow: hidden; padding: 56px 0 64px; background: var(--bg); border-bottom: 1px solid var(--b); }
.dr-phero::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(rgba(var(--lime-rgb),.016) 1px,transparent 1px), linear-gradient(90deg,rgba(var(--lime-rgb),.016) 1px,transparent 1px); background-size: 60px 60px; -webkit-mask-image: radial-gradient(ellipse 80% 90% at 30% 30%,black,transparent); mask-image: radial-gradient(ellipse 80% 90% at 30% 30%,black,transparent); }
.dr-phero .dr-wrap { position: relative; z-index: 2; }
.dr-phero-grid { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; }
.dr-phero--side .dr-phero-grid { grid-template-columns: 1.35fr .65fr; }
.dr-phero-h { font-family: var(--f-head); font-size: clamp(40px, 5.4vw, 76px); font-weight: var(--h-weight); line-height: .98; letter-spacing: -.4px; text-transform: var(--h-case); margin-bottom: 18px; max-width: 980px; }
.dr-phero-h--post { font-size: clamp(34px, 4.4vw, 58px); }
.dr-phero-p { font-size: 17px; color: #c0c0c0; line-height: 1.75; max-width: 720px; margin-bottom: 26px; }
.dr-phero-p strong { color: var(--lime); font-weight: 600; }
.dr-phero-cks { margin-bottom: 26px; }
.dr-phero .hero-btns { margin-bottom: 0; }
.dr-phero-side { display: flex; justify-content: center; }
.dr-phero-img { max-height: 420px; width: auto; filter: drop-shadow(0 20px 60px rgba(var(--lime-rgb),.2)); animation: mfloat 8s ease-in-out infinite; }
.dr-phero-ico { width: 240px; height: 240px; border-radius: 40px; display: flex; align-items: center; justify-content: center; font-size: 104px; color: var(--lime); background: radial-gradient(circle at 30% 30%, rgba(var(--lime-rgb),.16), rgba(var(--lime-rgb),.02) 70%); border: 1px solid var(--bl); box-shadow: 0 30px 80px rgba(var(--lime-rgb),.12), inset 0 0 60px rgba(var(--lime-rgb),.06); animation: mfloat 8s ease-in-out infinite; }
.dr-phero-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px,1fr)); gap: 1px; background: rgba(var(--lime-rgb),.08); border-radius: 14px; overflow: hidden; margin-top: 44px; }
.dr-phero-stat { background: rgba(10,10,10,.92); padding: 18px 20px; }
.dr-phero-stat strong { display: block; font-family: var(--f-head); font-size: 32px; font-weight: 800; color: var(--lime); line-height: 1; }
.dr-phero-stat span { font-size: 13px; color: #aaa; }
.dr-phero--simple { padding: 48px 0 52px; }

.dr-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; color: var(--mut); margin-bottom: 20px; }
.dr-crumbs li + li::before { content: '/'; margin-right: 6px; color: #444; }
.dr-crumbs a { color: #aaa; transition: color .2s; }
.dr-crumbs a:hover { color: var(--lime); }
.dr-crumbs [aria-current] { color: var(--lime); }

/* ─── MARQUEE ──────────────────────────── */
.marquee, .dr-footer-marquee { overflow: hidden; padding: 15px 0; border-top: 1px solid var(--b); border-bottom: 1px solid var(--b); background: var(--bg2); }
.mq-t, .dr-mq-track { display: flex; gap: 60px; align-items: center; animation: mqroll 32s linear infinite; width: max-content; }
.marquee:hover .mq-t, .dr-footer-marquee:hover .dr-mq-track { animation-play-state: paused; }
@keyframes mqroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.mq-i, .dr-mq-item { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 600; color: var(--mut); text-transform: uppercase; letter-spacing: 2px; white-space: nowrap; }
.mq-dot, .dr-mq-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--lime); flex-shrink: 0; }

/* ─── SERVICES GRID ────────────────────── */
.svc-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(255,255,255,.06); border-radius: 16px; overflow: hidden; }
.svc-cols-3 { grid-template-columns: repeat(3,1fr); }
.svc-cols-2 { grid-template-columns: repeat(2,1fr); }
.sc { background: var(--card); padding: 26px 20px 22px; display: grid; grid-template-columns: 1fr 96px; grid-template-rows: auto 1fr auto; position: relative; overflow: hidden; transition: background .28s; min-height: 192px; }
.sc::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg,var(--lime),var(--lime2)); transform: scaleX(0); transform-origin: left; transition: transform .38s var(--ease); }
.sc:hover { background: #1c1c1c; }
.sc:hover::after { transform: scaleX(1); }
.sc-name { grid-column: 1; grid-row: 1; font-family: var(--f-head); font-size: 18px; font-weight: 700; color: #fff; line-height: 1.2; margin-bottom: 8px; text-transform: uppercase; letter-spacing: .2px; }
.sc-ico { grid-column: 2; grid-row: 1 / 4; display: flex; align-items: center; justify-content: center; width: 96px; }
.sc-ico img { width: 88px; height: 88px; object-fit: contain; filter: drop-shadow(0 4px 16px rgba(var(--lime-rgb),.2)); transition: transform .35s var(--ease), filter .35s; }
.sc-fa { width: 72px; height: 72px; border-radius: 20px; display: flex; align-items: center; justify-content: center; font-size: 32px; color: var(--lime); background: radial-gradient(circle at 30% 30%, rgba(var(--lime-rgb),.18), rgba(var(--lime-rgb),.03)); border: 1px solid var(--bl); transition: transform .35s var(--ease); }
.sc:hover .sc-ico img, .sc:hover .sc-fa { transform: scale(1.1) rotate(-3deg); }
.sc:hover .sc-ico img { filter: drop-shadow(0 8px 24px rgba(var(--lime-rgb),.4)); }
.sc-desc { grid-column: 1; grid-row: 2; font-size: 13px; color: #b0b0b0; line-height: 1.65; padding-right: 8px; }
.sc-arr { grid-column: 1; grid-row: 3; margin-top: 14px; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--b); display: flex; align-items: center; justify-content: center; font-size: 11px; color: var(--mut); transition: border-color .25s, color .25s, background .25s, transform .25s var(--ease); }
.sc:hover .sc-arr { border-color: var(--lime); color: #000; background: var(--lime); transform: rotate(45deg); }

/* ─── STATS ────────────────────────────── */
.stats-wrap { padding: 60px 0; background: linear-gradient(135deg,#0c1800 0%,#080808 55%,#00100a 100%); border-top: 1px solid rgba(var(--lime-rgb),.12); border-bottom: 1px solid rgba(var(--lime-rgb),.12); }
.stats-title { text-align: center; margin-bottom: 28px; font-size: clamp(28px,3vw,42px); }
.stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(var(--lime-rgb),.07); border-radius: 14px; overflow: hidden; }
.stats-grid--3 { grid-template-columns: repeat(3,1fr); }
.stats-grid--2 { grid-template-columns: repeat(2,1fr); }
.stats-grid--1 { grid-template-columns: 1fr; }
.st-i { background: rgba(8,8,8,.55); padding: 36px 24px; text-align: center; position: relative; overflow: hidden; transition: background .25s; }
.st-i:hover { background: rgba(20,20,20,.8); }
.st-i::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 110%,rgba(var(--lime-rgb),.07) 0%,transparent 55%); pointer-events: none; }
.st-n { font-family: var(--f-head); font-size: clamp(38px,4.5vw,62px); font-weight: 800; color: var(--lime); letter-spacing: -1.5px; line-height: 1; margin-bottom: 8px; }
.st-l { font-size: 14px; color: #c0c0c0; }

/* ─── PROCESS ──────────────────────────── */
.proc-split .proc-wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; }
.proc-split .dr-head { margin-bottom: 0; }
.proc-steps { display: flex; align-items: flex-start; position: relative; }
.proc-steps::before { content: ''; position: absolute; top: 30px; left: 30px; right: 30px; height: 1px; background: linear-gradient(90deg,transparent,var(--lime),var(--lime),transparent); opacity: .22; }
.ps { flex: 1; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 10px; position: relative; }
.ps-num { font-family: var(--f-head); font-size: 11px; font-weight: 700; color: var(--lime); letter-spacing: 2px; margin-bottom: 10px; }
.ps-ico { width: 62px; height: 62px; border-radius: 50%; background: #1c1c1c; border: 1.5px solid rgba(255,255,255,.1); display: flex; align-items: center; justify-content: center; font-size: 22px; color: var(--lime); margin-bottom: 16px; position: relative; z-index: 2; box-shadow: 0 0 0 5px rgba(var(--lime-rgb),.06); transition: border-color .3s, box-shadow .3s, transform .3s var(--ease); }
.ps:hover .ps-ico { border-color: var(--lime); box-shadow: 0 0 0 5px rgba(var(--lime-rgb),.12),0 0 24px rgba(var(--lime-rgb),.18); transform: scale(1.1); }
.ps-title { font-family: var(--f-head); font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 7px; letter-spacing: .3px; text-transform: uppercase; }
.ps-desc { font-size: 13px; color: #b0b0b0; line-height: 1.6; }
.proc-grid .proc-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap: 14px; }
.proc-grid .proc-steps::before { display: none; }
.proc-grid .ps { background: var(--card); border: 1px solid var(--b); border-radius: 16px; padding: 26px 18px; transition: border-color .25s, transform .25s var(--ease); }
.proc-grid .ps:hover { border-color: var(--bl); transform: translateY(-4px); }

/* ─── PORTFOLIO / CASE STUDIES ─────────── */
.port-tabs, .dr-cat-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
.ptab, .dr-ptab { padding: 8px 20px; border-radius: 50px; border: 1.5px solid var(--b); color: var(--mut2); font-family: var(--f-head); font-size: 14px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; background: transparent; cursor: pointer; transition: border-color .25s, color .25s, background .25s; }
.ptab.on, .ptab:hover, .dr-ptab.on, .dr-ptab:hover { border-color: var(--lime); color: #fff; background: rgba(var(--lime-rgb),.08); }
.port-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.pcard { border-radius: 14px; overflow: hidden; position: relative; background: var(--card); transition: transform .4s var(--ease), box-shadow .4s, opacity .4s; min-height: 210px; }
.pcard:hover { transform: translateY(-8px) scale(1.01); box-shadow: 0 28px 70px rgba(0,0,0,.55); }
.pcard-link { position: absolute; inset: 0; z-index: 3; }
.pcard-img { height: 210px; overflow: hidden; position: relative; display: flex; align-items: center; justify-content: center; transition: transform .5s var(--ease); }
.pcard-img img { width: 100%; height: 100%; object-fit: cover; }
.pcard:hover .pcard-img { transform: scale(1.06); }
.pcard-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.15) 60%,transparent 100%); }
.bg-fashion { background: linear-gradient(135deg,#3d1500,#220a00); }
.bg-realestate { background: linear-gradient(135deg,#003520,#00200d); }
.bg-health { background: linear-gradient(135deg,#001a30,#000d20); }
.bg-ecom { background: linear-gradient(135deg,#252500,#141400); }
.bg-brand { background: linear-gradient(135deg,#300030,#1a001a); }
.bg-social { background: linear-gradient(135deg,#001e3d,#000f24); }
.bg-seo { background: linear-gradient(135deg,#003d20,#002210); }
.bg-video { background: linear-gradient(135deg,#3d0000,#220000); }
.pcard-icon { position: relative; z-index: 1; font-size: 56px; color: var(--lime); filter: drop-shadow(0 4px 20px rgba(var(--lime-rgb),.3)); transform: translateY(-22px); }
.pcard-body { position: absolute; bottom: 0; left: 0; right: 0; padding: 16px; z-index: 2; }
.pcard-tag { display: inline-flex; padding: 3px 10px; border-radius: 5px; background: rgba(var(--lime-rgb),.12); border: 1px solid rgba(var(--lime-rgb),.25); font-size: 10px; font-weight: 700; color: var(--lime); letter-spacing: .5px; margin-bottom: 7px; font-family: var(--f-head); text-transform: uppercase; }
.pcard-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; }
.pcard-name { font-family: var(--f-head); font-size: 15px; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: .2px; line-height: 1.2; }
.pcard-sub { font-size: 11px; color: #bbb; margin-top: 2px; display: flex; align-items: center; gap: 4px; }
.pcard-sub::before { content: '●'; font-size: 4px; color: var(--lime); }
.pcard-pct { font-family: var(--f-head); font-size: 20px; font-weight: 800; color: var(--lime); letter-spacing: -.3px; white-space: nowrap; }
.pcard-pdf { position: absolute; top: 14px; right: 14px; z-index: 4; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 50px; background: rgba(0,0,0,.6); border: 1px solid rgba(var(--lime-rgb),.35); color: var(--lime); font-size: 11px; font-weight: 700; font-family: var(--f-head); letter-spacing: .5px; text-transform: uppercase; backdrop-filter: blur(8px); transition: background .2s, color .2s; }
.pcard-pdf:hover { background: var(--lime); color: #000; }
.pcard.wide { grid-column: span 2; }
.pcard.wide .pcard-img { height: 240px; }
.pcard.is-hidden { display: none; }

/* ─── TRUST + TESTIMONIALS ─────────────── */
.trust-g { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--b); border-radius: 18px; overflow: hidden; }
.tl, .tr { background: var(--card); padding: 48px; }
.brand-logos { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; align-items: center; }
.client-logo-wrap { display: flex; align-items: center; justify-content: center; padding: 10px 18px; border-radius: 10px; background: var(--card2); border: 1px solid var(--b); transition: border-color .25s, transform .2s var(--ease); min-height: 52px; }
.client-logo-wrap:hover { border-color: var(--bl); transform: translateY(-2px); }
.client-logo { height: 28px; width: auto; max-width: 120px; object-fit: contain; filter: brightness(0) invert(1); opacity: .7; transition: opacity .25s; }
.client-logo-wrap:hover .client-logo { opacity: 1; }
.blogo { display: flex; align-items: center; gap: 8px; font-family: var(--f-head); font-size: 16px; font-weight: 600; color: #ccc; letter-spacing: .3px; text-transform: uppercase; }
.blogo i { font-size: 19px; color: var(--lime); }
.tslider { position: relative; overflow: hidden; }
.tslider-track { display: flex; transition: transform .5s var(--ease); }
.tslide { min-width: 100%; padding: 28px; background: var(--card2); border: 1px solid var(--b); border-radius: 14px; }
.tq-mark { font-size: 44px; color: var(--lime); font-family: Georgia,serif; line-height: .8; margin-bottom: 14px; }
.tq-body { font-size: 15px; color: #ccc; line-height: 1.8; margin-bottom: 22px; }
.tq-auth { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.tq-av { width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 17px; color: #000; flex-shrink: 0; font-family: var(--f-head); object-fit: cover; }
.tq-av--lime { background: linear-gradient(135deg,var(--lime),var(--lime2)); }
.tq-av--blue { background: linear-gradient(135deg,#6cf,#06c); color: #fff; }
.tq-av--red { background: linear-gradient(135deg,#f55,#c00); color: #fff; }
.tq-av--green { background: linear-gradient(135deg,#95bf47,#6a8c32); color: #fff; }
.tq-name { font-family: var(--f-head); font-size: 16px; font-weight: 700; color: #fff; letter-spacing: .2px; text-transform: uppercase; }
.tq-role { font-size: 12px; color: #aaa; margin-top: 2px; }
.tq-stars { margin-left: auto; color: var(--lime); font-size: 14px; letter-spacing: 2px; }
.tslider-nav { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 18px; }
.tslider-btn { width: 36px; height: 36px; border-radius: 50%; background: var(--card2); border: 1.5px solid var(--b); color: #ccc; font-size: 13px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color .25s, color .25s, transform .2s var(--ease); }
.tslider-btn:hover { border-color: var(--lime); color: var(--lime); transform: scale(1.1); }
.tdots { display: flex; gap: 6px; }
.tdot { height: 5px; width: 5px; border-radius: 3px; background: rgba(255,255,255,.15); cursor: pointer; border: 0; padding: 0; transition: width .4s var(--ease), background .3s; }
.tdot.on { background: var(--lime); width: 20px; }

/* ─── FEATURE LIST ─────────────────────── */
.feat { display: grid; gap: 12px; }
.feat--list { grid-template-columns: 1fr; max-width: 860px; }
.feat--grid2 { grid-template-columns: repeat(2,1fr); }
.feat--grid3, .feat--numbered { grid-template-columns: repeat(3,1fr); gap: 14px; }
.feat--grid4 { grid-template-columns: repeat(4,1fr); gap: 14px; }
.si { display: flex; gap: 14px; padding: 18px 20px; border-radius: 14px; background: var(--card); border: 1px solid var(--b); transition: border-color .25s, transform .25s var(--ease); position: relative; }
.si:hover { border-color: var(--bl); transform: translateY(-3px); }
a.si:hover .si-h { color: var(--lime); }
.si-ico { width: 42px; height: 42px; border-radius: 11px; background: rgba(var(--lime-rgb),.08); display: flex; align-items: center; justify-content: center; font-size: 17px; color: var(--lime); flex-shrink: 0; }
.si-h { font-family: var(--f-head); font-size: 17px; font-weight: 700; color: #fff; margin-bottom: 5px; letter-spacing: .2px; text-transform: uppercase; line-height: 1.2; transition: color .2s; }
.si-p { font-size: 14px; color: #b0b0b0; line-height: 1.65; }
.si-p strong { color: #fff; }
.si-p a { color: var(--lime); text-decoration: underline; }
.feat--grid3 .si, .feat--grid4 .si, .feat--numbered .si { flex-direction: column; padding: 26px 22px; }
.si-num { position: absolute; top: 18px; right: 20px; font-family: var(--f-head); font-size: 40px; font-weight: 800; color: rgba(var(--lime-rgb),.12); line-height: 1; }

/* ─── AREAS ────────────────────────────── */
.ag { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.ag-cols-2 { grid-template-columns: repeat(2,1fr); }
.ag-cols-4 { grid-template-columns: repeat(4,1fr); }
.ac { display: block; padding: 18px; border-radius: 12px; background: var(--card); border: 1px solid var(--b); transition: border-color .25s, box-shadow .25s, transform .25s var(--ease); }
.ac:hover { border-color: var(--bl); box-shadow: 0 4px 20px rgba(var(--lime-rgb),.05); }
a.ac:hover { transform: translateY(-3px); }
.ac-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.ac-head i { font-size: 15px; color: var(--lime); width: 18px; text-align: center; }
.ac-n { font-family: var(--f-head); font-size: 16px; font-weight: 700; color: #fff; letter-spacing: .2px; text-transform: uppercase; }
.ac-d { font-size: 13px; color: #aaa; line-height: 1.5; }
.ac-t { display: inline-block; margin-top: 8px; padding: 3px 9px; border-radius: 4px; background: rgba(var(--lime-rgb),.07); font-size: 10px; font-weight: 700; color: var(--lime); letter-spacing: .5px; text-transform: uppercase; font-family: var(--f-head); }
.kw-b { margin-top: 20px; padding: 20px; border-radius: 12px; background: var(--card); border: 1px solid var(--b); }
.kw-b h4 { font-family: var(--f-head); font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 12px; letter-spacing: .3px; text-transform: uppercase; }
.kwtags, .dr-cs-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.dr-cs-chips { margin-top: 24px; }
.kwt { padding: 5px 11px; border-radius: 5px; background: rgba(var(--lime-rgb),.06); border: 1px solid rgba(var(--lime-rgb),.15); font-size: 12px; color: #bbb; transition: color .2s, border-color .2s; }
.kwt:hover { color: var(--lime); border-color: var(--lime); }

/* ─── GALLERY ──────────────────────────── */
.gg { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.gg-cols-2 { grid-template-columns: repeat(2,1fr); } .gg-cols-3 { grid-template-columns: repeat(3,1fr); } .gg-cols-5 { grid-template-columns: repeat(5,1fr); }
.gitem { border-radius: 12px; overflow: hidden; aspect-ratio: 4/3; background: var(--card2); border: 1px solid var(--b); display: block; transition: transform .3s var(--ease), box-shadow .3s; }
.gitem:hover { transform: scale(1.03); box-shadow: 0 10px 28px rgba(0,0,0,.5); }
.gitem img { width: 100%; height: 100%; object-fit: cover; }
.gem { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 44px; border: 2px dashed var(--b); border-radius: 14px; color: var(--mut); font-size: 14px; text-align: center; }
.gem-ico { font-size: 36px; opacity: .35; color: var(--lime); }
.dr-lightbox { position: fixed; inset: 0; z-index: 100005; background: rgba(0,0,0,.92); display: flex; align-items: center; justify-content: center; padding: 40px; cursor: zoom-out; }
.dr-lightbox img { max-height: 90vh; max-width: 92vw; border-radius: 12px; }

/* ─── CTA FORM ─────────────────────────── */
.cta-outer { max-width: var(--wrap); margin: 0 auto; padding: var(--sec-pad) var(--gut); }
.cta-box { border-radius: 24px; overflow: hidden; background: linear-gradient(135deg,#0f1d00 0%,#090d00 45%,#090909 100%); border: 1px solid rgba(var(--lime-rgb),.15); display: grid; grid-template-columns: 1fr 1fr; position: relative; }
.cta-box::before { content: ''; position: absolute; top: -160px; left: -80px; width: 420px; height: 420px; pointer-events: none; background: radial-gradient(circle,rgba(var(--lime-rgb),.1) 0%,transparent 65%); }
.cta-l { padding: 58px 48px; display: flex; flex-direction: column; gap: 18px; position: relative; z-index: 1; }
.cta-l.has-mascot { padding-bottom: 190px; }
.cta-mascot { position: absolute; bottom: 0; left: 24px; width: 170px; object-fit: contain; filter: drop-shadow(0 6px 20px rgba(var(--lime-rgb),.14)); }
.cta-h { font-family: var(--f-head); font-size: clamp(32px,3.8vw,52px); font-weight: var(--h-weight); line-height: 1.0; color: #fff; letter-spacing: -.3px; text-transform: var(--h-case); }
.cta-p { font-size: 15px; color: #bbb; line-height: 1.7; max-width: 380px; }
.cta-cks { display: flex; flex-wrap: wrap; gap: 14px; }
.cta-ck { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #c0c0c0; }
.ck-ic { width: 20px; height: 20px; border-radius: 50%; background: rgba(var(--lime-rgb),.1); border: 1px solid rgba(var(--lime-rgb),.2); display: flex; align-items: center; justify-content: center; color: var(--lime); flex-shrink: 0; }
.cta-r { padding: 50px 44px; background: rgba(0,0,0,.22); position: relative; z-index: 1; display: flex; flex-direction: column; gap: 12px; margin: 0; }
.fr { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.fi { width: 100%; padding: 13px 16px; background: rgba(255,255,255,.04); border: 1px solid var(--b); border-radius: 11px; color: #fff; font-size: 14px; outline: none; transition: border-color .25s, background .25s; }
.fi::placeholder { color: var(--mut); }
.fi:focus { border-color: var(--lime); background: rgba(var(--lime-rgb),.03); }
select.fi { cursor: pointer; appearance: none; background-image: linear-gradient(45deg,transparent 50%,#888 50%),linear-gradient(135deg,#888 50%,transparent 50%); background-position: calc(100% - 18px) 55%, calc(100% - 13px) 55%; background-size: 5px 5px; background-repeat: no-repeat; }
select.fi option { background: #111; color: #fff; }
.btn-sub { justify-content: space-between; padding: 16px 22px; border-radius: 12px; font-size: 17px; width: 100%; }
.btn-sub:hover { transform: translateY(-3px); box-shadow: 0 14px 44px rgba(var(--lime-rgb),.45); }
.btn-sub[disabled] { opacity: .6; pointer-events: none; }
.ai-ic { width: 30px; height: 30px; border-radius: 50%; background: rgba(0,0,0,.12); display: flex; align-items: center; justify-content: center; font-size: 14px; }
.dr-form-msg { font-size: 13px; min-height: 1em; }
.dr-form-msg.ok { color: var(--lime); }
.dr-form-msg.err { color: #ff7a7a; }

/* ─── FAQ ──────────────────────────────── */
.faq-list { max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
.faq-i { border-radius: 14px; background: var(--card); border: 1px solid var(--b); transition: border-color .25s; }
.faq-i.open { border-color: var(--bl); }
.faq-q-h { margin: 0; font-size: inherit; }
.faq-q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; background: none; border: 0; color: #fff; text-align: left; cursor: pointer; font-family: var(--f-head); font-size: 18px; font-weight: 700; letter-spacing: .2px; }
.faq-q i { width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid var(--b); display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--lime); flex-shrink: 0; transition: transform .3s var(--ease), background .25s, color .25s; }
.faq-i.open .faq-q i { transform: rotate(45deg); background: var(--lime); color: #000; border-color: var(--lime); }
.faq-a { padding: 0 22px 20px; color: #bbb; font-size: 15px; line-height: 1.75; }
.faq-a p + p { margin-top: 10px; }
.faq-a a { color: var(--lime); text-decoration: underline; }
.faq-a strong { color: #fff; }

/* ─── RICH CONTENT + PROSE ─────────────── */
.rc--side { display: grid; grid-template-columns: 1.6fr 1fr; gap: 56px; align-items: start; }
.rc--side.rc--left { grid-template-columns: 1fr 1.6fr; }
.rc--side.rc--left .rc-side { order: -1; }
.rc-main > .sh { margin-bottom: 22px; }
.rc-side { position: sticky; top: calc(var(--hdr-h) + 20px); }
.rc-img { border-radius: 18px; border: 1px solid var(--b); }
.rc-box { padding: 26px; border-radius: 18px; background: linear-gradient(160deg, rgba(var(--lime-rgb),.08), var(--card) 45%); border: 1px solid var(--bl); }
.rc-box h4 { font-family: var(--f-head); font-size: 18px; text-transform: uppercase; letter-spacing: .3px; margin-bottom: 14px; }
.rc-box ul { list-style: none; display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }
.rc-box li { display: flex; gap: 10px; font-size: 14px; color: #c8c8c8; line-height: 1.5; }
.rc-box li i { color: var(--lime); margin-top: 4px; font-size: 12px; }
.rc-box li strong { color: #fff; }

.dr-prose { font-size: 16px; line-height: 1.85; color: #c4c4c4; }
.dr-prose > * + * { margin-top: 1.1em; }
.dr-prose h2 { font-family: var(--f-head); font-size: clamp(28px,3vw,40px); font-weight: var(--h-weight); text-transform: var(--h-case); line-height: 1.05; margin-top: 1.8em; letter-spacing: -.2px; }
.dr-prose h3 { font-family: var(--f-head); font-size: clamp(21px,2.2vw,26px); font-weight: 700; text-transform: var(--h-case); margin-top: 1.6em; letter-spacing: .2px; }
.dr-prose h4 { font-family: var(--f-head); font-size: 19px; font-weight: 700; margin-top: 1.4em; }
.dr-prose h2:first-child, .dr-prose h3:first-child { margin-top: 0; }
.dr-prose a { color: var(--lime); text-decoration: underline; text-underline-offset: 3px; }
.dr-prose strong { color: #fff; }
.dr-prose ul, .dr-prose ol { padding-left: 0; list-style: none; }
.dr-prose ul li, .dr-prose ol li { position: relative; padding-left: 28px; margin-top: .55em; }
.dr-prose ul li::before { content: ''; position: absolute; left: 4px; top: .62em; width: 8px; height: 8px; border-radius: 2px; background: var(--lime); transform: rotate(45deg); }
.dr-prose ol { counter-reset: li; }
.dr-prose ol li { counter-increment: li; }
.dr-prose ol li::before { content: counter(li); position: absolute; left: 0; top: .15em; width: 20px; height: 20px; border-radius: 50%; background: rgba(var(--lime-rgb),.12); color: var(--lime); font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.dr-prose blockquote { margin: 1.6em 0; padding: 18px 22px; border-left: 3px solid var(--lime); background: var(--card); border-radius: 0 12px 12px 0; color: #ddd; font-size: 17px; }
.dr-prose table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 1.4em 0; display: block; overflow-x: auto; }
.dr-prose th, .dr-prose td { border: 1px solid var(--b); padding: 10px 14px; text-align: left; }
.dr-prose th { background: var(--card2); color: #fff; font-family: var(--f-head); text-transform: uppercase; letter-spacing: .4px; }
.dr-prose img { border-radius: 14px; }
.dr-prose .dr-callout { padding: 18px 22px; border-radius: 14px; background: rgba(var(--lime-rgb),.06); border: 1px solid var(--bl); }
.dr-prose code { background: var(--card2); padding: 2px 6px; border-radius: 4px; font-size: .9em; }

/* ─── LINKS GRID ───────────────────────── */
.lg-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.lg-cols-2 { grid-template-columns: repeat(2,1fr); } .lg-cols-4 { grid-template-columns: repeat(4,1fr); }
.lg-card { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-radius: 14px; background: var(--card); border: 1px solid var(--b); transition: border-color .25s, transform .25s var(--ease), background .25s; }
.lg-card:hover { border-color: var(--bl); transform: translateY(-3px); background: #181818; }
.lg-ico { width: 44px; height: 44px; border-radius: 12px; background: rgba(var(--lime-rgb),.08); display: flex; align-items: center; justify-content: center; color: var(--lime); font-size: 17px; flex-shrink: 0; }
.lg-txt { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.lg-txt strong { font-family: var(--f-head); font-size: 16px; color: #fff; text-transform: uppercase; letter-spacing: .2px; line-height: 1.25; }
.lg-txt small { font-size: 12px; color: #999; margin-top: 3px; line-height: 1.45; }
.lg-arr { color: var(--mut); font-size: 12px; transition: color .2s, transform .2s; }
.lg-card:hover .lg-arr { color: var(--lime); transform: translateX(3px); }
.lg-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.lg-pill { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 50px; background: var(--card); border: 1px solid var(--b); font-size: 13px; color: #ccc; transition: border-color .2s, color .2s; }
.lg-pill i { color: var(--lime); font-size: 12px; }
.lg-pill:hover { border-color: var(--lime); color: #fff; }

/* ─── POSTS ────────────────────────────── */
.dr-post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.dr-post-card { border-radius: 16px; overflow: hidden; background: var(--card); border: 1px solid var(--b); display: flex; flex-direction: column; transition: transform .35s var(--ease), border-color .25s, box-shadow .35s; }
.dr-post-card:hover { transform: translateY(-6px); border-color: var(--bl); box-shadow: 0 22px 60px rgba(0,0,0,.5); }
.dr-post-thumb { display: block; aspect-ratio: 16/10; overflow: hidden; background: linear-gradient(135deg,#0c1800,#0b0b0b 60%,#00100a); }
.dr-post-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.dr-post-card:hover .dr-post-thumb img { transform: scale(1.05); }
.dr-post-ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 54px; color: rgba(var(--lime-rgb),.6); }
.dr-post-body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.dr-tag { align-self: flex-start; padding: 3px 10px; border-radius: 5px; background: rgba(var(--lime-rgb),.1); border: 1px solid rgba(var(--lime-rgb),.22); font-size: 10px; font-weight: 700; color: var(--lime); letter-spacing: .5px; font-family: var(--f-head); text-transform: uppercase; }
.dr-post-title { font-family: var(--f-head); font-size: 20px; font-weight: 700; line-height: 1.2; text-transform: var(--h-case); letter-spacing: .1px; }
.dr-post-title a:hover { color: var(--lime); }
.dr-post-ex { font-size: 14px; color: #aaa; line-height: 1.6; flex: 1; }
.dr-post-meta { display: flex; gap: 16px; flex-wrap: wrap; font-size: 12px; color: var(--mut); }
.dr-post-meta i { color: var(--lime); margin-right: 3px; }
.dr-post-meta--hero { font-size: 13px; color: #aaa; }
.dr-pagination, .navigation.pagination { margin-top: 40px; }
.nav-links { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.page-numbers { min-width: 42px; height: 42px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--b); display: inline-flex; align-items: center; justify-content: center; color: #ccc; font-weight: 600; transition: border-color .2s, color .2s; }
.page-numbers.current, .page-numbers:hover { border-color: var(--lime); color: var(--lime); }
.dr-empty { text-align: center; padding: 40px 0; color: #aaa; }
.dr-empty .dr-search { max-width: 460px; margin: 20px auto 0; }

/* ─── TABLE / BARS / TIMELINE ──────────── */
.dr-table-wrap { overflow-x: auto; border-radius: 16px; border: 1px solid var(--b); background: var(--card); }
.dr-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.dr-table th, .dr-table td { padding: 15px 20px; text-align: left; border-bottom: 1px solid var(--b); font-size: 15px; }
.dr-table thead th { font-family: var(--f-head); font-size: 13px; text-transform: uppercase; letter-spacing: 1px; color: var(--mut2); background: var(--card2); }
.dr-table tbody th { color: #fff; font-weight: 600; }
.dr-table td { color: #ccc; }
.dr-table tr:last-child th, .dr-table tr:last-child td { border-bottom: 0; }
.dr-table .hlc { color: var(--lime); font-weight: 700; background: rgba(var(--lime-rgb),.04); }
.dr-note { margin-top: 14px; font-size: 13px; color: var(--mut); line-height: 1.6; }
.dr-note-c { text-align: center; }
.dr-bars { display: flex; align-items: flex-end; gap: clamp(8px, 2vw, 24px); height: 320px; padding: 24px 24px 0; border-radius: 16px; background: var(--card); border: 1px solid var(--b); }
.dr-bar { flex: 1; height: 100%; display: flex; flex-direction: column; align-items: center; }
.dr-bar-col { flex: 1; width: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 6px; }
.dr-bar-v { font-family: var(--f-head); font-weight: 800; font-size: 18px; color: #fff; }
.dr-bar-fill { width: min(64px, 100%); height: var(--h); border-radius: 8px 8px 0 0; background: linear-gradient(180deg, #3a3a3a, #222); transition: height 1.1s var(--ease); }
.dr-bar.is-hl .dr-bar-fill { background: linear-gradient(180deg, var(--lime), var(--lime2)); box-shadow: 0 0 30px rgba(var(--lime-rgb),.25); }
.dr-bar.is-hl .dr-bar-v { color: var(--lime); }
.dr-js .dr-bars:not(.in) .dr-bar-fill { height: 0; }
.elementor-editor-active .dr-bars .dr-bar-fill { height: var(--h) !important; }
.dr-bar-l { padding: 10px 0 2px; font-family: var(--f-head); font-weight: 700; text-transform: uppercase; color: #ddd; font-size: 14px; border-top: 1px solid var(--b); width: 100%; text-align: center; }
.dr-bar-s { font-size: 12px; color: var(--mut2); padding-bottom: 14px; }
.dr-bars-legend { margin-top: 12px; font-size: 13px; color: #aaa; }
.dr-tl { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap: 14px; position: relative; }
.dr-tl-i { position: relative; padding: 26px 20px 22px; border-radius: 16px; background: var(--card); border: 1px solid var(--b); transition: border-color .25s, transform .25s var(--ease); }
.dr-tl-i:hover { border-color: var(--bl); transform: translateY(-4px); }
.dr-tl-dot { position: absolute; top: -6px; left: 20px; width: 12px; height: 12px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(var(--lime-rgb),.12); }
.dr-tl-l { font-family: var(--f-head); font-size: 12px; font-weight: 700; color: var(--lime); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 8px; }
.dr-tl-h { font-family: var(--f-head); font-size: 17px; text-transform: uppercase; margin-bottom: 6px; }
.dr-tl-p { font-size: 14px; color: #b0b0b0; line-height: 1.6; }

/* ─── CASE STUDY SINGLE ────────────────── */
.dr-cs-ps { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dr-cs-box { padding: 30px; border-radius: 18px; background: var(--card); border: 1px solid var(--b); }
.dr-cs-box p { font-size: 17px; line-height: 1.75; color: #ccc; }
.dr-cs-box--lime { background: linear-gradient(160deg, rgba(var(--lime-rgb),.08), var(--card) 50%); border-color: var(--bl); }
.dr-cs-source { font-size: 13px; color: var(--mut); }
.dr-cs-source i { color: var(--lime); }
.dr-pdf-embed { width: 100%; height: 80vh; min-height: 520px; border-radius: 16px; border: 1px solid var(--b); background: var(--card); }

/* ─── BLOG SINGLE ──────────────────────── */
.dr-single-grid { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 56px; align-items: start; }
.dr-single-thumb { margin: 0 0 30px; border-radius: 18px; overflow: hidden; border: 1px solid var(--b); }
.dr-side { position: sticky; top: calc(var(--hdr-h) + 20px); display: flex; flex-direction: column; gap: 16px; }
.dr-side-box { padding: 22px; border-radius: 16px; background: var(--card); border: 1px solid var(--b); }
.dr-side-title { font-family: var(--f-head); font-size: 15px; text-transform: uppercase; letter-spacing: 1px; color: #fff; margin-bottom: 14px; }
.dr-side-cta { background: linear-gradient(160deg, rgba(var(--lime-rgb),.1), var(--card) 55%); border-color: var(--bl); }
.dr-side-cta p { font-size: 14px; color: #bbb; line-height: 1.6; margin-bottom: 16px; }
.dr-toc ol { list-style: none; display: flex; flex-direction: column; gap: 8px; counter-reset: t; }
.dr-toc li { counter-increment: t; font-size: 13px; line-height: 1.45; }
.dr-toc a { color: #aaa; display: flex; gap: 8px; transition: color .2s; }
.dr-toc a::before { content: counter(t, decimal-leading-zero); color: var(--lime); font-weight: 700; font-size: 11px; margin-top: 2px; }
.dr-toc a:hover, .dr-toc a.on { color: #fff; }
.dr-side-box ul { list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.dr-side-box ul a { color: #aaa; } .dr-side-box ul a:hover { color: var(--lime); }
.dr-post-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 30px; }
.dr-post-tags a { padding: 5px 11px; border-radius: 5px; background: rgba(var(--lime-rgb),.06); border: 1px solid rgba(var(--lime-rgb),.15); font-size: 12px; color: #bbb; text-decoration: none; }
.dr-share { display: flex; align-items: center; gap: 8px; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--b); }
.dr-share span { font-family: var(--f-head); text-transform: uppercase; font-weight: 700; font-size: 13px; letter-spacing: 1px; margin-right: 6px; color: #fff; }
.dr-share a { width: 38px; height: 38px; border-radius: 10px; border: 1px solid var(--b); display: flex; align-items: center; justify-content: center; color: #aaa; text-decoration: none; transition: border-color .2s, color .2s; }
.dr-share a::before { display: none; }
.dr-share a:hover { border-color: var(--lime); color: var(--lime); }
.dr-search { display: flex; position: relative; }
.dr-search .fi { padding-right: 50px; }
.dr-search button { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border-radius: 9px; background: var(--lime); border: 0; color: #000; cursor: pointer; }
.dr-comments .comment-list, .dr-comment-list { list-style: none; }
.dr-comments .comment-body { padding: 18px; border-radius: 12px; background: var(--card); border: 1px solid var(--b); margin-bottom: 12px; }
.dr-comments input[type=text], .dr-comments input[type=email], .dr-comments input[type=url], .dr-comments textarea { width: 100%; padding: 12px 14px; background: rgba(255,255,255,.04); border: 1px solid var(--b); border-radius: 10px; color: #fff; }
.dr-comments label { display: block; font-size: 13px; color: #aaa; margin-bottom: 6px; }
.dr-comments p { margin-bottom: 14px; }
.dr-404-num { font-family: var(--f-head); font-size: clamp(120px, 18vw, 220px); font-weight: 800; line-height: .9; color: transparent; -webkit-text-stroke: 2px rgba(var(--lime-rgb),.6); margin-bottom: 10px; }

/* ─── PRE-FOOTER + FOOTER ──────────────── */
.dr-pre-footer { background: linear-gradient(135deg,#0f1d00 0%,#090d00 45%,#090909 100%); border-top: 1px solid rgba(var(--lime-rgb),.15); border-bottom: 1px solid rgba(var(--lime-rgb),.15); padding: 64px var(--gut); position: relative; overflow: hidden; }
.dr-pre-footer::before { content: ''; position: absolute; top: -150px; left: -100px; width: 500px; height: 500px; pointer-events: none; background: radial-gradient(circle,rgba(var(--lime-rgb),.09) 0%,transparent 65%); }
.dr-pre-footer::after { content: ''; position: absolute; bottom: -120px; right: -80px; width: 400px; height: 400px; pointer-events: none; background: radial-gradient(circle,rgba(var(--lime-rgb),.06) 0%,transparent 65%); }
.dr-cta-banner { margin: 0; }
.dr-pf-inner { max-width: var(--wrap); margin: 0 auto; position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.dr-pf-h { font-family: var(--f-head); font-size: clamp(30px, 3.5vw, 52px); font-weight: var(--h-weight); line-height: 1.0; color: #fff; letter-spacing: -.3px; text-transform: var(--h-case); margin-bottom: 10px; }
.dr-pf-p { font-size: 15px; color: #c0c0c0; line-height: 1.65; max-width: 460px; }
.dr-pf-right { display: flex; flex-direction: column; gap: 12px; align-items: flex-end; }
.dr-pf-checks { display: flex; gap: 20px; flex-wrap: wrap; justify-content: flex-end; }
.dr-pf-ck { display: flex; align-items: center; gap: 7px; font-size: 13px; color: #c0c0c0; }
.dr-pf-ck i { font-size: 11px; color: var(--lime); }
.dr-pf-btns { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.dr-ft-btn { padding: 13px 28px; font-size: 15px; }
.dr-ft-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(var(--lime-rgb),.45); color: #000; }
.dr-ft-btn.ghost { background: transparent; border: 1.5px solid var(--b); color: #fff; }
.dr-ft-btn.ghost:hover { border-color: var(--lime); background: rgba(var(--lime-rgb),.05); box-shadow: none; color: #fff; }

.dr-footer-main { background: var(--bg2); padding: 64px var(--gut) 0; }
.dr-footer-grid { max-width: var(--wrap); margin: 0 auto; display: grid; grid-template-columns: 2.1fr 1.1fr 1.1fr 1fr 1.4fr; gap: 44px; padding-bottom: 52px; border-bottom: 1px solid var(--b); }
.dr-ft-logo { margin-bottom: 18px; }
.dr-ft-logo img { height: 36px; width: auto; }
.dr-ft-desc { font-size: 14px; color: #aaa; line-height: 1.75; max-width: 290px; margin-bottom: 24px; }
.dr-socials { display: flex; gap: 8px; margin-bottom: 24px; }
.dr-soc { width: 38px; height: 38px; border-radius: 10px; border: 1px solid var(--b); display: flex; align-items: center; justify-content: center; color: #aaa; font-size: 16px; transition: border-color .25s, color .25s, transform .25s var(--ease), background .25s; }
.dr-soc:hover { border-color: var(--lime); color: var(--lime); transform: translateY(-3px); background: rgba(var(--lime-rgb),.05); }
.dr-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.dr-badge { display: flex; align-items: center; gap: 6px; padding: 6px 12px; background: var(--card2); border: 1px solid var(--b); border-radius: 8px; font-size: 11px; font-weight: 700; color: #aaa; letter-spacing: .3px; white-space: nowrap; }
.dr-ft-col h4 { font-family: var(--f-head); font-size: 13px; font-weight: 700; color: #fff; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 18px; }
.dr-ft-links { list-style: none; display: flex; flex-direction: column; gap: 9px; }
.dr-ft-links a { font-size: 13px; color: #aaa; transition: color .2s, padding-left .2s; display: flex; align-items: center; gap: 7px; }
.dr-ft-links a:hover { color: var(--lime); padding-left: 5px; }
.dr-ft-links a i { font-size: 10px; color: var(--lime); opacity: 0; transition: opacity .2s; margin-left: -17px; }
.dr-ft-links a:hover i { opacity: 1; margin-left: 0; }
.dr-ft-contact-item { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
.dr-fci-ic { font-size: 14px; color: var(--lime); flex-shrink: 0; margin-top: 3px; width: 16px; text-align: center; }
.dr-fci-t { font-size: 13px; color: #aaa; line-height: 1.55; }
.dr-fci-t a:hover { color: var(--lime); }
.dr-newsletter { margin-top: 18px; }
.dr-newsletter p { font-size: 13px; color: #aaa; margin-bottom: 10px; line-height: 1.5; }
.dr-nl-form { display: flex; border-radius: 10px; overflow: hidden; border: 1px solid var(--b); background: var(--card2); transition: border-color .25s; margin: 0; }
.dr-nl-form:focus-within { border-color: var(--lime); }
.dr-nl-input { flex: 1; min-width: 0; padding: 11px 14px; background: transparent; border: none; color: #fff; font-size: 13px; outline: none; }
.dr-nl-btn { padding: 10px 14px; background: var(--lime); color: #000; border: none; cursor: pointer; font-size: 14px; }
.dr-nl-btn:hover { background: var(--lime2); }
.dr-newsletter .dr-form-msg { margin-top: 6px; font-size: 12px; }

.dr-ft-band { max-width: var(--wrap); margin: 0 auto; padding: 26px 0; border-bottom: 1px solid var(--b); display: flex; flex-direction: column; gap: 16px; }
.dr-ft-band-row { display: grid; grid-template-columns: 260px 1fr; gap: 20px; align-items: baseline; }
.dr-ft-band h4 { font-family: var(--f-head); font-size: 13px; font-weight: 700; color: #fff; letter-spacing: 1.2px; text-transform: uppercase; }
.dr-ft-band h4 i { color: var(--lime); margin-right: 6px; }
.dr-ft-inline { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 4px; }
.dr-ft-inline li a { font-size: 12.5px; color: #8f8f8f; padding: 3px 0; transition: color .2s; }
.dr-ft-inline li:not(:last-child)::after { content: '·'; color: #444; margin: 0 6px; }
.dr-ft-inline li a:hover { color: var(--lime); }

.dr-footer-bot { max-width: var(--wrap); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 22px 0; flex-wrap: wrap; gap: 14px; }
.dr-ft-copy, .dr-ft-made { font-size: 12px; color: var(--mut); }
.dr-ft-legal { list-style: none; display: flex; gap: 20px; flex-wrap: wrap; }
.dr-ft-legal a { font-size: 12px; color: var(--mut); transition: color .2s; }
.dr-ft-legal a:hover { color: var(--lime); }

.dr-floats { position: fixed; bottom: 28px; right: 28px; z-index: 99900; display: flex; flex-direction: column; gap: 12px; }
.dr-float-btn { width: 52px; height: 52px; border-radius: 50%; background: var(--lime); color: #000; display: flex; align-items: center; justify-content: center; font-size: 20px; box-shadow: 0 4px 22px rgba(var(--lime-rgb),.5); animation: dr-pulse 2.5s ease-out infinite; transition: transform .2s var(--ease); }
.dr-float-btn:hover { transform: scale(1.1); color: #000; }
.dr-float-wa { background: #25d366; color: #fff; animation: none; box-shadow: 0 4px 22px rgba(37,211,102,.4); font-size: 24px; }
.dr-float-wa:hover { color: #fff; }
@keyframes dr-pulse { 0% { box-shadow: 0 0 0 0 rgba(var(--lime-rgb),.55), 0 4px 22px rgba(var(--lime-rgb),.5); } 70% { box-shadow: 0 0 0 16px rgba(var(--lime-rgb),0), 0 4px 22px rgba(var(--lime-rgb),.5); } 100% { box-shadow: 0 0 0 0 rgba(var(--lime-rgb),0), 0 4px 22px rgba(var(--lime-rgb),.5); } }

/* ─── REVEAL ───────────────────────────── */
.dr-js .dr-u, .dr-js .dr-ul, .dr-js .dr-ur { opacity: 0; transition: opacity .72s var(--ease), transform .72s var(--ease); }
.dr-js .dr-u { transform: translateY(26px); }
.dr-js .dr-ul { transform: translateX(-28px); }
.dr-js .dr-ur { transform: translateX(28px); }
.dr-js .dr-u.in, .dr-js .dr-ul.in, .dr-js .dr-ur.in { opacity: 1; transform: none; }
.dr-no-reveal .dr-u, .dr-no-reveal .dr-ul, .dr-no-reveal .dr-ur,
.elementor-editor-active .dr-u, .elementor-editor-active .dr-ul, .elementor-editor-active .dr-ur { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .dr-js .dr-u, .dr-js .dr-ul, .dr-js .dr-ur { opacity: 1; transform: none; }
}

/* ─── WP CORE ──────────────────────────── */
.alignleft { float: left; margin: 0 1.5em 1em 0; } .alignright { float: right; margin: 0 0 1em 1.5em; } .aligncenter { margin-left: auto; margin-right: auto; }
.wp-caption-text, figcaption { font-size: 13px; color: var(--mut); margin-top: 8px; }
.sticky, .bypostauthor, .gallery-caption { }

/* ─── RESPONSIVE ───────────────────────── */
@media (max-width: 1280px) {
  .dr-links > li > a { padding: 8px 10px; font-size: 13.5px; }
  .dr-phone { display: none; }
}
@media (max-width: 1180px) {
  .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 48px; padding-bottom: 64px; }
  .hero-right { display: none; }
  .svc-grid, .svc-cols-3 { grid-template-columns: repeat(2,1fr); }
  .port-grid { grid-template-columns: repeat(2,1fr); }
  .stats-grid, .stats-grid--3 { grid-template-columns: repeat(2,1fr); }
  .proc-split .proc-wrap { grid-template-columns: 1fr; gap: 40px; }
  .dr-footer-grid { grid-template-columns: 1fr 1fr 1fr; }
  .dr-ft-brand { grid-column: 1 / -1; }
  .dr-ft-desc { max-width: 520px; }
  .cta-box { grid-template-columns: 1fr; }
  .cta-l.has-mascot { padding-bottom: 58px; }
  .cta-mascot { display: none; }
  .dr-head--split { grid-template-columns: 1fr; }
  .dr-head-r { align-items: flex-start; text-align: left; }
  .trust-g { grid-template-columns: 1fr; }
  .feat--grid3, .feat--numbered, .feat--grid4 { grid-template-columns: repeat(2,1fr); }
  .ag-cols-4, .lg-cols-4 { grid-template-columns: repeat(3,1fr); }
  .dr-post-grid { grid-template-columns: repeat(2,1fr); }
  .dr-single-grid { grid-template-columns: 1fr; }
  .dr-side { position: static; }
  .rc--side, .rc--side.rc--left { grid-template-columns: 1fr; gap: 32px; }
  .rc--side.rc--left .rc-side { order: 0; }
  .rc-side { position: static; }
  .dr-phero--side .dr-phero-grid { grid-template-columns: 1fr; }
  .dr-phero-side { display: none; }
  .gg { grid-template-columns: repeat(3,1fr); }
  .dr-ft-band-row { grid-template-columns: 1fr; gap: 10px; }
}
@media (max-width: 1024px) {
  .dr-nav-inner { padding: 0 28px; }
  .dr-primary { display: none; }
  .dr-hamburger { display: flex; }
  .mega > .dr-dropdown, .mega.mega-3 > .dr-dropdown { min-width: 0; }
}
@media (max-width: 900px) {
  :root { --gut: 24px; --sec-pad: 60px; }
  .feat--grid2 { grid-template-columns: 1fr; }
  .ag, .ag-cols-4, .lg-grid, .lg-cols-4 { grid-template-columns: repeat(2,1fr); }
  .dr-footer-grid { grid-template-columns: 1fr 1fr; }
  .dr-footer-main { padding: 52px var(--gut) 0; }
  .dr-pre-footer { padding: 44px var(--gut); }
  .dr-pf-inner { flex-direction: column; align-items: flex-start; gap: 28px; }
  .dr-pf-right { align-items: flex-start; }
  .dr-pf-checks, .dr-pf-btns { justify-content: flex-start; }
  .cta-r { padding: 30px 24px; }
  .cta-l { padding: 36px 24px; }
  .tl, .tr { padding: 32px 24px; }
  .dr-cs-ps { grid-template-columns: 1fr; }
  .dr-bars { height: 260px; padding: 18px 12px 0; }
  .dr-bar-v { font-size: 14px; }
}
@media (max-width: 600px) {
  .dr-nav-inner { padding: 0 18px; gap: 12px; }
  .dr-cta .dr-btn { display: none; }
  .dr-announcement { font-size: 12.5px; padding: 7px 36px 7px 14px; }
  .svc-grid, .svc-cols-3, .svc-cols-2 { grid-template-columns: 1fr; }
  .port-grid { grid-template-columns: 1fr; }
  .pcard.wide { grid-column: span 1; }
  .pcard.wide .pcard-img { height: 210px; }
  .stats-grid, .stats-grid--3, .stats-grid--4 { grid-template-columns: 1fr 1fr; }
  .st-i { padding: 26px 14px; }
  .proc-steps { flex-wrap: wrap; justify-content: center; gap: 22px 0; }
  .proc-steps .ps { flex: 0 0 50%; }
  .proc-steps::before { display: none; }
  .fr { grid-template-columns: 1fr; }
  .ag, .ag-cols-2, .ag-cols-4, .lg-grid, .lg-cols-2, .lg-cols-4 { grid-template-columns: 1fr; }
  .feat--grid3, .feat--numbered, .feat--grid4 { grid-template-columns: 1fr; }
  .hero-h1 { font-size: 50px; }
  .dr-post-grid { grid-template-columns: 1fr; }
  .dr-footer-grid { grid-template-columns: 1fr; }
  .dr-footer-bot { flex-direction: column; align-items: flex-start; gap: 10px; }
  .dr-floats { bottom: 18px; right: 18px; }
  .gg, .gg-cols-3, .gg-cols-5 { grid-template-columns: repeat(2,1fr); }
  .tq-stars { margin-left: 0; width: 100%; }
  .faq-q { font-size: 16px; padding: 16px 18px; }
  .dr-phero { padding: 36px 0 44px; }
  .dr-phero-stats { grid-template-columns: 1fr 1fr; }
}

/* Grid/flex children may shrink below their content width (prevents mobile overflow). */
.dr-phero-grid > *, .rc > *, .dr-head--split > *, .trust-g > *, .dr-single-grid > *, .proc-wrap > *, .cta-box > *, .seo-g > *, .dr-cs-ps > * { min-width: 0; }
h1, h2, h3, .sh, .hero-h1, .dr-phero-h, .cta-h, .dr-pf-h { overflow-wrap: break-word; }
@media (max-width: 600px) {
  .dr-phero-h { font-size: clamp(30px, 9vw, 40px); }
  .sh { font-size: clamp(28px, 8.4vw, 36px); }
  .hero-h1 { font-size: clamp(40px, 12.5vw, 50px); }
  .dr-pf-h, .cta-h { font-size: clamp(26px, 8vw, 34px); }
  .dr-prose { font-size: 15.5px; }
}