
:root{
  --bg0:#03070d;
  --bg1:#07111f;
  --bg2:#0b1930;
  --panel:#0c1524;
  --panel2:#101c31;
  --panel3:#0a1322;
  --text:#f4f8ff;
  --muted:#a9bad3;
  --line:rgba(255,255,255,.14);
  --line-strong:rgba(255,255,255,.26);
  --accent:#3fa2ff;
  --accent2:#79d7ff;
  --accent3:#dfe9f7;
  --glow:0 0 18px rgba(63,162,255,.32), 0 0 42px rgba(63,162,255,.18);
  --shadow:0 18px 44px rgba(0,0,0,.45);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, "Segoe UI", system-ui, sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 500px at 50% 18%, rgba(63,162,255,.14), transparent 58%),
    radial-gradient(700px 380px at 18% 72%, rgba(121,215,255,.08), transparent 62%),
    radial-gradient(700px 380px at 84% 28%, rgba(121,215,255,.07), transparent 62%),
    linear-gradient(180deg, var(--bg0) 0%, var(--bg1) 42%, var(--bg2) 100%);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:inherit}
.hidden{display:none !important}
.wrap{max-width:1240px;margin:0 auto;padding:28px 18px 72px;}
header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0 18px;}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:280px;}
.logoBox{
  width:52px;height:52px;border-radius:15px;border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(10,18,32,.98), rgba(15,27,47,.95));
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  box-shadow:0 12px 26px rgba(0,0,0,.35),0 0 18px rgba(63,162,255,.18),inset 0 1px 0 rgba(255,255,255,.08);
  flex:0 0 auto;
}
.logoBox img{width:100%;height:100%;object-fit:cover;display:block;}
.brandText{display:grid;gap:2px;}
.brandText strong{font-size:18px;letter-spacing:-.02em;line-height:1.1;}
.brandText span{font-size:13px;color:var(--muted);font-weight:700;line-height:1.25;}
nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
nav a{text-decoration:none;color:#dbe7f8;font-weight:800;font-size:14px;padding:9px 12px;border-radius:999px;transition:all .18s ease;}
nav a:hover{background:rgba(63,162,255,.14);color:#ffffff;box-shadow:var(--glow);}
.active{background:rgba(63,162,255,.16);color:#ffffff;box-shadow:var(--glow);}
.navCta{background:linear-gradient(135deg, #2f7dff, #63d9ff);color:#fff !important;padding:10px 15px !important;border-radius:13px !important;box-shadow:0 0 18px rgba(63,162,255,.25);}
.hero,.section,.searchPanel,.faqCard,.ctaBand,.contentCard,.topicCard{
  position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(12,21,36,.96), rgba(16,28,49,.92));
  box-shadow:0 18px 40px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.hero::before,.section::before,.searchPanel::before,.faqCard::before,.ctaBand::before,.contentCard::before,.topicCard::before{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;padding:1px;
  background:linear-gradient(135deg,rgba(121,215,255,.30),rgba(63,162,255,.14),rgba(255,255,255,.10));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
}
.hero > *,.section > *,.searchPanel > *,.faqCard > *,.ctaBand > *,.contentCard > *,.topicCard > *{position:relative;z-index:1;}
.hero{margin-top:6px;padding:34px 26px 28px;text-align:center;}
.hero::after{
  content:"";position:absolute;inset:-20%;
  background:radial-gradient(540px 180px at 50% 28%, rgba(63,162,255,.20), transparent 60%),radial-gradient(600px 240px at 50% 72%, rgba(121,215,255,.10), transparent 68%);
  pointer-events:none;
}
.kicker{color:var(--muted);font-weight:900;letter-spacing:.18em;text-transform:uppercase;font-size:12px;margin-bottom:8px;}
h1{margin:0 0 12px;font-size:clamp(34px,4.6vw,60px);line-height:1.02;letter-spacing:-.05em;}
.sub{margin:0 auto;color:var(--muted);max-width:82ch;font-size:17px;}
.heroTags{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px;}
.heroTags span,.tag{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(17,29,49,.82);color:#dbe7f8;font-size:13px;font-weight:800;box-shadow:0 0 14px rgba(63,162,255,.08);}
.section{padding:24px;margin-top:18px;}
.title{text-align:center;font-size:clamp(28px,3vw,42px);letter-spacing:-.04em;line-height:1.05;margin:4px 0 10px;}
.subtitle{text-align:center;color:var(--muted);margin:0 auto 10px;max-width:88ch;font-size:16px;}
.searchPanel{margin-top:18px;padding:20px;}
.searchBox{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:12px 14px;background:linear-gradient(180deg, rgba(15,26,44,.96), rgba(10,19,33,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.searchBox input{width:100%;border:none;outline:none;background:transparent;color:#f4f8ff;font:inherit;font-size:15px;}
.searchBox input::placeholder{color:#9eb0c9}
.faqGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px;}
.faqCard{padding:18px;}
.faqCard h2{margin:0 0 10px;font-size:23px;letter-spacing:-.03em;line-height:1.12;}
.faqCard p{margin:0 0 14px;color:var(--muted);font-size:15px;}
.contentGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:start;}
.contentCard{padding:22px;}
.contentCard h2{margin:0 0 10px;font-size:30px;letter-spacing:-.04em;line-height:1.05;}
.contentCard h3{margin:18px 0 8px;font-size:20px;letter-spacing:-.02em;}
.contentCard p,.contentCard li{color:var(--muted);font-size:15px;}
.contentCard ul{margin:0 0 0 18px;padding:0}
.topicStack{display:grid;gap:16px;}
.topicCard{padding:18px;}
.topicCard h3{margin:0 0 10px;font-size:20px}
.linkList{display:grid;gap:10px;margin-top:12px;}
.linkList a{
  text-decoration:none;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(14,24,41,.92), rgba(10,18,31,.92));color:#edf5ff;font-weight:800;box-shadow:0 10px 22px rgba(0,0,0,.22);transition:all .18s ease;display:block;
}
.linkList a:hover,.btn:hover{transform:none;border-color:rgba(121,215,255,.34);box-shadow:0 0 16px rgba(63,162,255,.14);}
.btn{
  border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg, rgba(17,29,49,.96), rgba(11,21,36,.96));
  color:#eef6ff;padding:11px 15px;border-radius:15px;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 10px 22px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06);transition:transform .08s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;cursor:pointer;font:inherit;
}
.btn.primary{background:linear-gradient(135deg, #2f7dff, #63d9ff);color:#fff;border-color:transparent;box-shadow:0 14px 30px rgba(0,0,0,.25),0 0 22px rgba(63,162,255,.26);}
.resultsBar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:14px;font-weight:700;}
.ctaBand{margin-top:24px;padding:30px 24px;text-align:center;background:radial-gradient(520px 200px at 50% 0%, rgba(63,162,255,.18), transparent 60%),linear-gradient(180deg, rgba(10,18,32,.98), rgba(15,27,47,.95));}
.ctaBand h2{margin:0;font-size:clamp(28px,3vw,40px);letter-spacing:-.04em;line-height:1.05;}
.ctaBand p{margin:10px auto 0;max-width:74ch;color:var(--muted);font-size:15px;}
.ctaRow{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px;}
footer{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10);color:var(--muted);font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.smallLinks a{color:var(--muted);text-decoration:none;font-weight:800;}
.smallLinks a:hover{color:#fff}
@media (max-width:920px){.faqGrid,.contentGrid{grid-template-columns:1fr}.wrap{padding:22px 16px 56px}header{flex-direction:column;align-items:flex-start}nav{width:100%}}
@media (max-width:620px){.faqGrid{grid-template-columns:1fr}}


    .seo-page-image{margin:18px 0 0;}
    .seo-page-image figure,.seo-page-image{display:block;}
    .seo-page-image img{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:24px;border:1px solid rgba(255,255,255,.10);box-shadow:0 16px 40px rgba(0,0,0,.25),0 0 18px rgba(63,162,255,.10);display:block;}


/* Dragline Data final polish: contained images, organized city links, floating contact icons */
img, video, iframe { max-width:100%; }
img { height:auto; }
figure, .seo-page-image, .heroImage, .imageCard, .postImage, .featureImage, .articleImage, .mediaBox { overflow:hidden; max-width:100%; }
.seo-page-image { max-width: 920px; margin: 22px auto 0; border-radius: 24px; }
.seo-page-image img { width:100% !important; max-width:100% !important; height:auto !important; max-height:520px; object-fit:cover; display:block; }
.section img, .card img, article img { max-width:100%; object-fit:cover; }
.serviceLinks { display:grid !important; grid-template-columns:repeat(auto-fit, minmax(245px, 1fr)); gap:12px !important; margin-top:18px; }
.serviceLinks a { display:flex !important; align-items:center; justify-content:center; min-height:54px; text-align:center; line-height:1.25; padding:14px 16px !important; white-space:normal; word-break:normal; }
.serviceLinks a::before { content:""; width:9px; height:9px; border-radius:999px; background:linear-gradient(135deg, #3fa2ff, #79d7ff); box-shadow:0 0 12px rgba(63,162,255,.35); margin-right:9px; flex:0 0 auto; }
.local-link-note { margin-top:14px; color:var(--muted); font-size:14px; text-align:center; }
.dragline-floating-contact { position:fixed; right:16px; bottom:16px; z-index:9999; display:flex; flex-direction:column; gap:10px; }
.dragline-floating-contact a { width:44px; height:44px; border-radius:999px; display:flex; align-items:center; justify-content:center; color:#f6fbff; background:linear-gradient(180deg, rgba(17,29,49,.96), rgba(7,17,31,.96)); border:1px solid rgba(121,215,255,.34); box-shadow:0 12px 26px rgba(0,0,0,.32), 0 0 18px rgba(63,162,255,.16); text-decoration:none; transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.dragline-floating-contact a:hover { transform:translateY(-2px); border-color:rgba(121,215,255,.72); box-shadow:0 14px 30px rgba(0,0,0,.36), 0 0 24px rgba(63,162,255,.28); }
.dragline-floating-contact svg, .contactIconOnly svg { width:22px; height:22px; fill:currentColor; display:block; }
.copyToast { position:fixed; right:72px; bottom:24px; z-index:10000; padding:9px 12px; border-radius:999px; background:rgba(4,10,18,.94); border:1px solid rgba(121,215,255,.34); color:#f6fbff; font-weight:800; font-size:13px; opacity:0; transform:translateY(8px); pointer-events:none; transition:all .18s ease; box-shadow:0 12px 24px rgba(0,0,0,.35); }
.copyToast.show { opacity:1; transform:translateY(0); }
.contactIconRow { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:10px; }
.contactIconOnly { min-width:88px; min-height:86px; padding:16px !important; display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:7px; text-align:center; }
.contactIconOnly .contactBigIcon { width:42px; height:42px; border-radius:999px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, rgba(47,125,255,.34), rgba(99,217,255,.18)); border:1px solid rgba(121,215,255,.24); color:#f6fbff; }
.contactIconOnly strong { font-size:14px; }
.contactIconOnly span.copyHint { color:var(--muted); font-size:12px; font-weight:700; }
.footer-sales-link { color:var(--muted); text-decoration:none; font-weight:800; }
.footer-sales-link:hover { color:#fff; }
@media(max-width:720px){ .dragline-floating-contact { right:12px; bottom:12px; } .dragline-floating-contact a { width:42px; height:42px; } .copyToast { right:62px; bottom:20px; } }



/* Dragline floating contact rail: always visible right-side contact buttons */
.dragline-floating-rail{
  position:fixed;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  z-index:2147483000;
  display:flex;
  flex-direction:column;
  gap:10px;
  pointer-events:auto;
}
.dragline-floating-rail a{
  width:92px;
  min-height:86px;
  padding:10px 7px;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  text-decoration:none;
  color:#f6fbff;
  background:linear-gradient(180deg, rgba(17,29,49,.96), rgba(7,17,31,.96));
  border:1px solid rgba(121,215,255,.28);
  box-shadow:0 14px 30px rgba(0,0,0,.34), 0 0 18px rgba(63,162,255,.14);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.dragline-floating-rail a:hover,
.dragline-floating-rail a:focus-visible{
  transform:translateX(-3px);
  border-color:rgba(121,215,255,.72);
  box-shadow:0 16px 34px rgba(0,0,0,.38), 0 0 25px rgba(63,162,255,.28);
  outline:none;
}
.dragline-floating-rail .railIcon{
  width:38px;
  height:38px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(47,125,255,.42), rgba(99,217,255,.20));
  border:1px solid rgba(121,215,255,.25);
  color:#f6fbff;
  flex:0 0 auto;
}
.dragline-floating-rail svg{width:20px;height:20px;fill:currentColor;display:block;}
.dragline-floating-rail strong{font-size:13px;line-height:1.05;letter-spacing:.01em;}
.dragline-floating-rail span.copyHint{font-size:11px;line-height:1.1;color:rgba(222,235,255,.78);font-weight:800;}
.dragline-copy-toast{
  position:fixed;
  right:118px;
  top:50%;
  z-index:2147483001;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(4,10,18,.96);
  border:1px solid rgba(121,215,255,.34);
  color:#f6fbff;
  font-weight:900;
  font-size:13px;
  opacity:0;
  transform:translateY(calc(-50% + 8px));
  pointer-events:none;
  transition:all .18s ease;
  box-shadow:0 12px 24px rgba(0,0,0,.35);
  white-space:nowrap;
}
.dragline-copy-toast.show{opacity:1;transform:translateY(-50%);}
@media(max-width:760px){
  .dragline-floating-rail{right:8px;gap:7px;}
  .dragline-floating-rail a{width:54px;min-height:54px;border-radius:999px;padding:8px;}
  .dragline-floating-rail .railIcon{width:36px;height:36px;}
  .dragline-floating-rail strong,.dragline-floating-rail span.copyHint{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
  .dragline-copy-toast{right:68px;font-size:12px;}
}
@media(max-height:520px){
  .dragline-floating-rail{top:auto;bottom:12px;transform:none;}
  .dragline-floating-rail a{width:54px;min-height:54px;border-radius:999px;padding:8px;}
  .dragline-floating-rail strong,.dragline-floating-rail span.copyHint{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
}

  
/* Search Visibility Genius additions */
.localStory,.localQuestions,.blogHeroImage,.articleImage,.serviceFocusPanel{border:1px solid rgba(121,215,255,.18);background:linear-gradient(180deg,rgba(12,21,36,.92),rgba(7,17,31,.96));border-radius:24px;box-shadow:0 18px 44px rgba(0,0,0,.38);padding:24px;margin:22px auto;max-width:1180px;overflow:hidden;}
.localStory p,.localQuestions p,.serviceFocusPanel p{color:var(--muted);line-height:1.75;}
.localStory strong,.serviceFocusPanel strong{color:#f4f8ff;}
.localStory ul,.localQuestions ul,.serviceFocusPanel ul{color:var(--muted);line-height:1.75;}
.blogHeroImage img,.articleImage img{display:block;width:100%;max-height:470px;object-fit:cover;border-radius:20px;}
.blogHeroImage figcaption,.articleImage figcaption{font-size:.9rem;color:var(--muted);margin-top:10px;text-align:center;}
.blogArticleBody{max-width:980px;margin:0 auto;}
.blogArticleBody p,.blogArticleBody li{line-height:1.78;color:var(--muted);font-size:1.03rem;}
.blogArticleBody h2{margin-top:34px;}
.blogArticleBody h3{margin-top:26px;color:#f4f8ff;}
.blogArticleBody .keyBox{border:1px solid rgba(121,215,255,.22);border-radius:20px;padding:18px;background:rgba(63,162,255,.07);margin:22px 0;}
.faqDeepDive{border:1px solid rgba(121,215,255,.18);border-radius:20px;background:rgba(63,162,255,.06);padding:20px;margin-top:20px;}
.faqDeepDive p,.faqDeepDive li{line-height:1.7;color:var(--muted);}


/* Navigation grouping: Search Visibility lives under Website Help */
.navGroup{position:relative;display:inline-flex;align-items:center;}
.navGroup .navParent{display:inline-flex;align-items:center;gap:6px;}
.navGroup .navParent::after{content:"▾";font-size:10px;opacity:.78;margin-left:2px;}
.navDropdown{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:260px;z-index:50;padding:10px;border-radius:16px;border:1px solid rgba(121,215,255,.22);background:rgba(7,15,27,.98);box-shadow:0 18px 38px rgba(0,0,0,.45),0 0 20px rgba(63,162,255,.18);}
.navDropdown a{display:block;border-radius:12px;white-space:nowrap;padding:10px 12px;margin:2px 0;}
.navGroup:hover .navDropdown,.navGroup:focus-within .navDropdown{display:block;}
@media (max-width:760px){.navGroup{display:inline-flex}.navDropdown{position:static;display:flex;flex-wrap:wrap;gap:6px;width:100%;min-width:0;padding:6px;margin-top:4px;background:rgba(7,15,27,.55)}.navDropdown a{white-space:normal;margin:0}}


/* Dragline Data city link card cleanup */
#focused-city-pages .subtitle{display:none!important;}
#focused-city-pages .serviceLinks{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr))!important;
  gap:12px!important;
  margin-top:20px!important;
}
#focused-city-pages .serviceLinks a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:64px!important;
  padding:15px 18px!important;
  text-align:center!important;
  line-height:1.18!important;
  white-space:normal!important;
  word-break:normal!important;
  text-decoration:none!important;
  color:#edf5ff!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  border-radius:14px!important;
  border:1px solid rgba(121,215,255,.15)!important;
  background:linear-gradient(180deg,rgba(14,24,41,.95),rgba(7,17,31,.95))!important;
  box-shadow:0 10px 22px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03)!important;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease!important;
}
#focused-city-pages .serviceLinks a::before{
  content:""!important;
  width:9px!important;
  height:9px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#3fa2ff,#79d7ff)!important;
  box-shadow:0 0 12px rgba(63,162,255,.38)!important;
  margin-right:10px!important;
  flex:0 0 auto!important;
}
#focused-city-pages .serviceLinks a:hover{
  transform:none!important;
  border-color:rgba(121,215,255,.36)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.24),0 0 16px rgba(63,162,255,.14)!important;
}


/* June 1 cleanup: remove small pill/badge label styling from non-button text */
.eyebrow,.kicker,.heroTags,.tag,.pill,.chip,.serviceChip,.filterBtn{display:none!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;}


:root{
  --dd-accent-rgb:121,215,255;
  --dd-accent-soft:rgba(var(--dd-accent-rgb),.16);
  --dd-accent-mid:rgba(var(--dd-accent-rgb),.24);
  --dd-accent-strong:rgba(var(--dd-accent-rgb),.38);
  --dd-panel-top:rgba(10,20,38,.66);
  --dd-panel-bottom:rgba(6,12,24,.82);
  --dd-panel-shadow:0 16px 44px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.02),0 0 18px rgba(63,162,255,.12),0 0 34px rgba(121,215,255,.07);
  --dd-panel-shadow-hover:0 18px 50px rgba(0,0,0,.36),0 0 22px rgba(63,162,255,.16),0 0 40px rgba(121,215,255,.09);
}
body{background:radial-gradient(circle at 50% 0%, rgba(18,44,74,.34), transparent 46%),linear-gradient(180deg,#05101d 0%,#07111f 34%,#091526 100%)}
.energy-grid,.energy-glow,.energy-cursor,.energy-layer{position:fixed;inset:0;pointer-events:none}
.energy-grid,.energy-glow,.energy-layer{z-index:-1}.energy-cursor{z-index:6}
.energy-grid{
  background-image:
    linear-gradient(rgba(var(--dd-accent-rgb),.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--dd-accent-rgb),.055) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(circle at 50% 26%, black, rgba(0,0,0,.82) 45%, transparent 88%);
  opacity:.72;
}
.energy-glow{
  background:
    radial-gradient(780px 420px at var(--mx,50%) var(--my,18%), rgba(63,162,255,.16), transparent 62%),
    radial-gradient(640px 320px at 50% 10%, rgba(121,215,255,.11), transparent 58%),
    radial-gradient(900px 520px at 50% -10%, rgba(32,92,165,.16), transparent 62%);
  filter:saturate(118%);
}
.energy-layer{
  background:linear-gradient(180deg, rgba(121,215,255,.02), transparent 24%, transparent 72%, rgba(121,215,255,.025));
}
.hero,.section,.card,.featureCard,.featuredCard,.postCard,.articleCard,.categoryCard,.callout,.serviceCard,.serviceLink,.tile,.searchPanel,.faqCard,.contactItem,.contactCard,.formCard,.infoCard,.panel,section article,.offerCard,.blogCard,.detailCard,.feature,.miniCard,.cityCard,.valueCard,.resultCard,.faqItem,.summaryCard,.serviceGroup,.storyCard,.spotlightCard,.ctaPanel,.glassCard,.priceCard,.domainCard,.listingCard,.stepCard,.supportCard{
  position:relative;
  background:linear-gradient(180deg,var(--dd-panel-top),var(--dd-panel-bottom)) !important;
  border:1px solid var(--dd-accent-soft) !important;
  box-shadow:var(--dd-panel-shadow) !important;
  backdrop-filter:blur(13px) saturate(116%);
  -webkit-backdrop-filter:blur(13px) saturate(116%);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.hero::before,.section::before,.card::before,.featureCard::before,.featuredCard::before,.postCard::before,.articleCard::before,.categoryCard::before,.callout::before,.serviceCard::before,.serviceLink::before,.tile::before,.searchPanel::before,.faqCard::before,.contactItem::before,.contactCard::before,.formCard::before,.infoCard::before,.panel::before,section article::before,.offerCard::before,.blogCard::before,.detailCard::before,.feature::before,.miniCard::before,.cityCard::before,.valueCard::before,.resultCard::before,.faqItem::before,.summaryCard::before,.serviceGroup::before,.storyCard::before,.spotlightCard::before,.ctaPanel::before,.glassCard::before,.priceCard::before,.domainCard::before,.listingCard::before,.stepCard::before,.supportCard::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(120deg, transparent 16%, rgba(255,255,255,.045) 30%, rgba(121,215,255,.055) 56%, transparent 78%);
  opacity:.55;
}
.hero:hover,.section:hover,.card:hover,.featureCard:hover,.featuredCard:hover,.postCard:hover,.articleCard:hover,.categoryCard:hover,.callout:hover,.serviceCard:hover,.serviceLink:hover,.tile:hover,.searchPanel:hover,.faqCard:hover,.contactItem:hover,.contactCard:hover,.formCard:hover,.infoCard:hover,.panel:hover,section article:hover,.offerCard:hover,.blogCard:hover,.detailCard:hover,.feature:hover,.miniCard:hover,.cityCard:hover,.valueCard:hover,.resultCard:hover,.faqItem:hover,.summaryCard:hover,.serviceGroup:hover,.storyCard:hover,.spotlightCard:hover,.ctaPanel:hover,.glassCard:hover,.priceCard:hover,.domainCard:hover,.listingCard:hover,.stepCard:hover,.supportCard:hover{
  transform:none !important;
  border-color:var(--dd-accent-mid) !important;
  box-shadow:var(--dd-panel-shadow-hover) !important;
}
.btn,.btnPrimary,.btnSecondary,.cta,.navCta,button,[type="button"],[type="submit"],.button,.ctaBtn,.chip,.pill,.tag,.filterBtn,.serviceChip,.ghostBtn{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  box-shadow:0 0 0 1px rgba(var(--dd-accent-rgb),.08),0 0 14px rgba(63,162,255,.12);
}
.btn:hover,.btnPrimary:hover,.btnSecondary:hover,.cta:hover,.navCta:hover,button:hover,[type="button"]:hover,[type="submit"]:hover,.button:hover,.ctaBtn:hover,.chip:hover,.pill:hover,.tag:hover,.filterBtn:hover,.serviceChip:hover,.ghostBtn:hover{
  transform:none !important;
  box-shadow:0 0 0 1px rgba(var(--dd-accent-rgb),.22),0 0 20px rgba(63,162,255,.18),0 0 38px rgba(121,215,255,.08) !important;
}
h1,h2,h3,.headline,.kicker,.eyebrow{ text-shadow:0 0 10px rgba(121,215,255,.08); }
a:hover{ text-shadow:none !important; }
.energy-static-spark,.energy-idle-arc,.spark-burst,.click-zap{position:fixed;pointer-events:none;mix-blend-mode:screen}
.energy-static-spark,.spark-burst{border-radius:999px;background:radial-gradient(circle, rgba(235,249,255,.96) 0%, rgba(121,215,255,.78) 42%, rgba(121,215,255,0) 76%);filter:drop-shadow(0 0 6px rgba(173,234,255,.38)) drop-shadow(0 0 14px rgba(63,162,255,.16));animation:ddSpark .44s ease-out forwards}
.spark-burst{width:6px;height:6px}
.energy-idle-arc,.click-zap{height:2px;border-radius:999px;background:linear-gradient(90deg, transparent, rgba(229,247,255,.94), rgba(121,215,255,.62), transparent);filter:drop-shadow(0 0 7px rgba(173,234,255,.34)) drop-shadow(0 0 16px rgba(63,162,255,.16));transform:rotate(var(--arc-rot,0deg));animation:ddArc .24s ease-out forwards}
.energy-cursor::before{content:"";position:absolute;left:var(--cx,-120px);top:var(--cy,-120px);width:32px;height:32px;transform:translate(-50%,-50%);border-radius:999px;background:radial-gradient(circle, rgba(235,249,255,.16), rgba(121,215,255,.08) 42%, rgba(121,215,255,0) 72%);filter:blur(3px);opacity:.72}
@keyframes ddSpark{0%{transform:translate(0,0) scale(.65);opacity:0}18%{opacity:.95}100%{transform:translate(var(--sx,0),var(--sy,-18px)) scale(2.1);opacity:0}}
@keyframes ddArc{0%{opacity:0;transform:rotate(var(--arc-rot,0deg)) scaleX(.42)}22%{opacity:.88}100%{opacity:0;transform:rotate(var(--arc-rot,0deg)) scaleX(1.14)}}
@media (prefers-reduced-motion:reduce){
  .hero,.section,.card,.featureCard,.featuredCard,.postCard,.articleCard,.categoryCard,.callout,.serviceCard,.serviceLink,.tile,.searchPanel,.faqCard,.contactItem,.contactCard,.formCard,.infoCard,.panel,section article,.offerCard,.blogCard,.detailCard,.feature,.miniCard,.cityCard,.valueCard,.resultCard,.faqItem,.summaryCard,.serviceGroup,.storyCard,.spotlightCard,.ctaPanel,.glassCard,.priceCard,.domainCard,.listingCard,.stepCard,.supportCard,
  .btn,.btnPrimary,.btnSecondary,.cta,.navCta,button,[type="button"],[type="submit"],.button,.ctaBtn,.chip,.pill,.tag,.filterBtn,.serviceChip,.ghostBtn{transition:none}
}


/* Dragline unified button/card style */
.btn,
.simpleLink,
.navCta,
button,
input[type="submit"],
input[type="button"],
input[type="reset"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:52px !important;
  padding:12px 18px !important;
  border-radius:15px !important;
  border:1px solid rgba(121,215,255,.28) !important;
  background:
    linear-gradient(180deg, rgba(15,31,54,.92), rgba(7,17,31,.96)) !important;
  color:#f4f8ff !important;
  font-weight:900 !important;
  font-size:15px !important;
  line-height:1.15 !important;
  letter-spacing:.01em !important;
  text-decoration:none !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 14px 30px rgba(0,0,0,.28),
    0 0 18px rgba(63,162,255,.10) !important;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
  cursor:pointer !important;
}
.btn::before,
.simpleLink::before,
.navCta::before{
  content:"";
  width:34px;
  height:34px;
  border-radius:999px;
  flex:0 0 34px;
  background:
    radial-gradient(circle at 45% 38%, rgba(121,215,255,.92), rgba(63,162,255,.44) 52%, rgba(15,31,54,.94) 72%);
  border:1px solid rgba(121,215,255,.32);
  box-shadow:0 0 18px rgba(99,217,255,.26), inset 0 1px 0 rgba(255,255,255,.16);
}
.btn.primary,
.btn.ghost,
.navCta{
  background:
    linear-gradient(180deg, rgba(15,31,54,.92), rgba(7,17,31,.96)) !important;
  color:#f4f8ff !important;
}
.btn:hover,
.simpleLink:hover,
.navCta:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(121,215,255,.58) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 18px 36px rgba(0,0,0,.34),
    0 0 24px rgba(63,162,255,.22) !important;
}
.heroActions{
  align-items:center !important;
  justify-content:center !important;
}
.serviceCard .simpleLink{
  width:100% !important;
  margin-top:12px !important;
}
.floatingActions a,
.quickContactCard,
.contactMethod,
.contactQuickCard{
  border-radius:15px !important;
  border:1px solid rgba(121,215,255,.28) !important;
  background:
    linear-gradient(180deg, rgba(15,31,54,.92), rgba(7,17,31,.96)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 14px 30px rgba(0,0,0,.28),
    0 0 18px rgba(63,162,255,.10) !important;
}
@media(max-width:720px){
  .btn,
  .simpleLink,
  .navCta,
  button,
  input[type="submit"],
  input[type="button"],
  input[type="reset"]{
    width:100% !important;
  }
}


/* Contact button phone-icon style */
a[href="/contact/"],
a[href="https://draglinedata.com/contact/"],
a[href="/contact/index.html"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
}
a[href="/contact/"]::before,
a[href="https://draglinedata.com/contact/"]::before,
a[href="/contact/index.html"]::before{
  content:"☎" !important;
  width:34px !important;
  height:34px !important;
  border-radius:999px !important;
  flex:0 0 34px !important;
  display:grid !important;
  place-items:center !important;
  color:#f4f8ff !important;
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1 !important;
  background:
    radial-gradient(circle at 42% 34%, rgba(121,215,255,.82), rgba(63,162,255,.38) 52%, rgba(20,48,82,.96) 74%) !important;
  border:1px solid rgba(121,215,255,.30) !important;
  box-shadow:
    0 0 18px rgba(99,217,255,.24),
    inset 0 1px 0 rgba(255,255,255,.14) !important;
}


/* Contact button fit adjustment */
nav a[href="/contact/"]::before,
nav a[href="https://draglinedata.com/contact/"]::before,
nav a[href="/contact/index.html"]::before{
  display:none !important;
  content:none !important;
}
nav a[href="/contact/"],
nav a[href="https://draglinedata.com/contact/"],
nav a[href="/contact/index.html"]{
  min-height:42px !important;
  padding:9px 13px !important;
  gap:0 !important;
  white-space:nowrap !important;
}
a.contactCta[href="/contact/"],
a.contactCta[href="https://draglinedata.com/contact/"],
a.contactCta[href="/contact/index.html"],
.btn[href="/contact/"],
.simpleLink[href="/contact/"]{
  white-space:nowrap !important;
  width:auto !important;
  max-width:100% !important;
  min-width:145px !important;
}
a.contactCta[href="/contact/"]::before,
a.contactCta[href="https://draglinedata.com/contact/"]::before,
a.contactCta[href="/contact/index.html"]::before,
.btn[href="/contact/"]::before,
.simpleLink[href="/contact/"]::before{
  width:32px !important;
  height:32px !important;
  flex:0 0 32px !important;
  font-size:16px !important;
}
@media(max-width:720px){
  a.contactCta[href="/contact/"],
  .btn[href="/contact/"],
  .simpleLink[href="/contact/"]{
    width:auto !important;
    min-width:145px !important;
  }
  .heroActions a.contactCta[href="/contact/"],
  .ctaBand a.contactCta[href="/contact/"]{
    width:min(260px,100%) !important;
  }
}


/* Footer link order and fit cleanup */
footer .smallLinks{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
footer .smallLinks a[href="/contact/"],
footer .smallLinks a[href="https://draglinedata.com/contact/"],
footer .smallLinks a[href="/contact/index.html"]{
  min-height:auto !important;
  min-width:auto !important;
  width:auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
footer .smallLinks a[href="/contact/"]::before,
footer .smallLinks a[href="https://draglinedata.com/contact/"]::before,
footer .smallLinks a[href="/contact/index.html"]::before{
  display:none !important;
  content:none !important;
}


/* Dragline CTA alignment fix */
.heroActions,
.ctaBand .heroActions,
.bookControls{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.heroActions > a,
.ctaBand > a,
.bookControls > button,
.btn,
.simpleLink{
  box-sizing:border-box !important;
  min-height:60px !important;
  height:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  padding:13px 18px !important;
  line-height:1 !important;
  vertical-align:middle !important;
}
.heroActions > a::before,
.ctaBand > a::before,
.btn::before,
.simpleLink::before{
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  align-self:center !important;
}
.heroActions > a[href="/contact/"],
.ctaBand > a[href="/contact/"],
.btn[href="/contact/"]{
  min-width:150px !important;
}
.heroActions > a:not([href="/contact/"]),
.ctaBand > a:not([href="/contact/"]){
  min-width:220px !important;
}
footer .smallLinks a,
nav a{
  min-height:unset !important;
}
@media(max-width:720px){
  .heroActions > a,
  .ctaBand > a,
  .btn,
  .simpleLink{
    width:min(280px,100%) !important;
    min-width:0 !important;
  }
}


/* Dragline logo inside round button icons */
.btn::before,
.simpleLink::before,
.navCta::before,
.cityGridCustom a::before,
.bookToc button::before,
.bookList li::before{
  content:"" !important;
  background-image:
    radial-gradient(circle at 42% 34%, rgba(121,215,255,.42), rgba(63,162,255,.18) 52%, rgba(20,48,82,.74) 74%),
    url('/images/dragline-data-local-mobile-tech-support.png') !important;
  background-size:cover, 72% 72% !important;
  background-position:center, center !important;
  background-repeat:no-repeat, no-repeat !important;
  color:transparent !important;
  overflow:hidden !important;
}
a[href="/contact/"]::before,
a[href="https://draglinedata.com/contact/"]::before,
a[href="/contact/index.html"]::before{
  content:"" !important;
  background-image:
    radial-gradient(circle at 42% 34%, rgba(121,215,255,.42), rgba(63,162,255,.18) 52%, rgba(20,48,82,.74) 74%),
    url('/images/dragline-data-local-mobile-tech-support.png') !important;
  background-size:cover, 72% 72% !important;
  background-position:center, center !important;
  background-repeat:no-repeat, no-repeat !important;
  color:transparent !important;
  overflow:hidden !important;
}
/* Keep nav/footer Contact as plain text where earlier cleanup removed the icon */
nav a[href="/contact/"]::before,
nav a[href="https://draglinedata.com/contact/"]::before,
nav a[href="/contact/index.html"]::before,
footer .smallLinks a[href="/contact/"]::before,
footer .smallLinks a[href="https://draglinedata.com/contact/"]::before,
footer .smallLinks a[href="/contact/index.html"]::before{
  display:none !important;
  content:none !important;
  background-image:none !important;
}


/* Dragline circular logo icon fix */
.btn::before,
.simpleLink::before,
.navCta::before,
.cityGridCustom a::before,
.bookToc button::before,
.bookList li::before,
a[href="/contact/"]::before,
a[href="https://draglinedata.com/contact/"]::before,
a[href="/contact/index.html"]::before{
  content:"" !important;
  border-radius:999px !important;
  overflow:hidden !important;
  background-image:
    radial-gradient(circle at 42% 34%, rgba(121,215,255,.24), rgba(63,162,255,.12) 52%, rgba(20,48,82,.64) 74%),
    url('/images/dragline-data-button-icon-circle.png') !important;
  background-size:cover, 76% 76% !important;
  background-position:center, center !important;
  background-repeat:no-repeat, no-repeat !important;
  color:transparent !important;
}
/* Keep nav/footer Contact Us plain where the earlier layout cleanup removed the icon */
nav a[href="/contact/"]::before,
nav a[href="https://draglinedata.com/contact/"]::before,
nav a[href="/contact/index.html"]::before,
footer .smallLinks a[href="/contact/"]::before,
footer .smallLinks a[href="https://draglinedata.com/contact/"]::before,
footer .smallLinks a[href="/contact/index.html"]::before{
  display:none !important;
  content:none !important;
  background-image:none !important;
}


/* Dragline cyan logo icon glow adjustment */
.btn::before,
.simpleLink::before,
.navCta::before,
.cityGridCustom a::before,
.bookToc button::before,
.bookList li::before,
a[href="/contact/"]::before,
a[href="https://draglinedata.com/contact/"]::before,
a[href="/contact/index.html"]::before{
  border-radius:999px !important;
  overflow:hidden !important;
  border:1px solid rgba(124, 238, 255, .52) !important;
  box-shadow:
    0 0 18px rgba(32,221,255,.30),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
  background-image:
    radial-gradient(circle at 50% 50%,
      rgba(36, 231, 255, .72) 0%,
      rgba(32, 221, 255, .46) 38%,
      rgba(19, 91, 138, .42) 68%,
      rgba(20,48,82,.70) 100%),
    url('/images/dragline-data-button-icon-circle.png') !important;
  background-size:cover, 74% 74% !important;
  background-position:center, center !important;
  background-repeat:no-repeat, no-repeat !important;
  color:transparent !important;
}


/* Dragline logo detail boost */
.btn::before,
.simpleLink::before,
.navCta::before,
.cityGridCustom a::before,
.bookToc button::before,
.bookList li::before,
a[href="/contact/"]::before,
a[href="https://draglinedata.com/contact/"]::before,
a[href="/contact/index.html"]::before{
  border-radius:999px !important;
  overflow:hidden !important;
  border:1px solid rgba(173,244,255,.58) !important;
  box-shadow:
    0 0 18px rgba(32,221,255,.26),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
  background-image:
    radial-gradient(circle at 50% 50%,
      rgba(36,231,255,.34) 0%,
      rgba(32,221,255,.18) 34%,
      rgba(18,94,144,.10) 62%,
      rgba(20,48,82,.24) 100%),
    url('/images/dragline-data-button-icon-circle-detailed.png') !important;
  background-size:cover, 84% 84% !important;
  background-position:center, center !important;
  background-repeat:no-repeat, no-repeat !important;
  color:transparent !important;
}

/* Keep nav/footer Contact Us plain for layout */
nav a[href="/contact/"]::before,
nav a[href="https://draglinedata.com/contact/"]::before,
nav a[href="/contact/index.html"]::before,
footer .smallLinks a[href="/contact/"]::before,
footer .smallLinks a[href="https://draglinedata.com/contact/"]::before,
footer .smallLinks a[href="/contact/index.html"]::before{
  display:none !important;
  content:none !important;
  background-image:none !important;
}


/* Dragline circular glowing header logo */
.logoBox{
  width:56px !important;
  height:56px !important;
  border-radius:999px !important;
  border:1px solid rgba(186,247,255,.48) !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(36,231,255,.20), rgba(10,18,32,.86) 62%, rgba(7,17,31,.96) 100%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  box-shadow:
    0 0 18px rgba(36,231,255,.22),
    0 0 30px rgba(36,231,255,.10),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.logoBox img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:999px !important;
  display:block !important;
}


/* Equal header nav spacing */
@media (min-width: 901px){
  header{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
  }
  header nav[aria-label="Primary navigation"]{
    flex:1 1 auto !important;
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-evenly !important;
    gap:0 !important;
    margin-left:18px !important;
  }
  header nav[aria-label="Primary navigation"] a{
    flex:1 1 0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    min-width:0 !important;
    white-space:nowrap !important;
    padding:10px 8px !important;
  }
}


/* Bottom-align service card buttons */
.serviceCard{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
.serviceCard .simpleLink,
.serviceCard .btn,
.serviceCard a[href]{
  margin-top:auto !important;
}


/* Services book first-page fit fix */
.servicesBookWrap .bookList{
  width:100% !important;
}
.servicesBookWrap .bookList li{
  display:flex !important;
  align-items:flex-start !important;
  gap:14px !important;
  width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  line-height:1.55 !important;
}
.servicesBookWrap .bookList li::before{
  flex:0 0 30px !important;
  width:30px !important;
  height:30px !important;
  margin-top:2px !important;
}
.servicesBookWrap .bookList li strong{
  display:inline !important;
  white-space:normal !important;
}
.servicesBookWrap .bookPage{
  overflow:visible !important;
}
.servicesBookWrap .bookPage p,
.servicesBookWrap .bookPage li,
.servicesBookWrap .bookMiniCard p{
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
@media(max-width:720px){
  .servicesBookWrap .bookList li{
    gap:10px !important;
    padding:12px !important;
  }
}


/* Sitewide centered card heading cleanup */
.serviceCard h2,
.serviceCard h3,
.card h2,
.card h3,
.aboutSimpleGrid article h2,
.cityHubDetails article h2,
.bookMiniCard h3,
.faqAnswerBox h3,
.webAnswerBox h3,
.draglineNameCard h2,
.draglineStoryCard h2,
.aboutChecklist h3,
.featureCard h2,
.featureCard h3,
.trustCard h2,
.trustCard h3,
.pricingCard h2,
.pricingCard h3,
article.card h2,
article.card h3,
section.card h2,
section.card h3{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.serviceCard,
.card,
.aboutSimpleGrid article,
.cityHubDetails article,
.bookMiniCard,
.faqAnswerBox,
.webAnswerBox,
.featureCard,
.trustCard,
.pricingCard{
  text-align:center !important;
}

.serviceCard p,
.card p,
.aboutSimpleGrid article p,
.cityHubDetails article p,
.bookMiniCard p,
.faqAnswerBox p,
.webAnswerBox p,
.featureCard p,
.trustCard p,
.pricingCard p{
  text-align:center !important;
}

/* Keep long book/FAQ answer text readable where centered headings are not the goal */
.bookPage .bookList li,
.bookPage .bookList li span,
.faqPage .faqAnswerBox p,
.webPage .webAnswerBox p,
.webPage .webList li,
.webPage .webList li span{
  text-align:left !important;
}

/* Center service-card buttons neatly after heading centering */
.serviceCard .simpleLink,
.serviceCard .btn,
.card .simpleLink,
.card .btn{
  margin-left:auto !important;
  margin-right:auto !important;
}


/* Global book overflow safety */
.faqBookWrap,
.blogBookWrap,
.servicesBookWrap{
  margin-bottom:34px !important;
}
.faqBookPage,
.blogBookPage,
.bookPage{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  box-sizing:border-box !important;
}
.faqBookBox,
.blogBookBox,
.bookList,
.bookTwoCol{
  max-width:100% !important;
  overflow-wrap:anywhere !important;
}
.faqBookShell,
.blogBookShell,
.bookShell{
  overflow:visible !important;
}
.faqBookViewport,
.blogBookViewport,
.bookViewport{
  overflow:visible !important;
}
footer{
  clear:both !important;
}


/* Mobile dropdown navigation */
.mobileMenuToggle{
  display:none;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:11px 16px;
  border-radius:999px;
  border:1px solid rgba(121,215,255,.26);
  background:rgba(7,17,31,.82);
  color:#f4f8ff;
  font-weight:1000;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 0 18px rgba(32,221,255,.10), inset 0 1px 0 rgba(255,255,255,.06);
}
.mobileMenuToggle .menuIcon{
  width:20px;
  height:14px;
  position:relative;
  display:inline-block;
}
.mobileMenuToggle .menuIcon::before,
.mobileMenuToggle .menuIcon::after,
.mobileMenuToggle .menuIcon span{
  content:"";
  position:absolute;
  left:0;
  width:20px;
  height:2px;
  border-radius:999px;
  background:#20ddff;
  box-shadow:0 0 10px rgba(32,221,255,.45);
}
.mobileMenuToggle .menuIcon::before{top:0;}
.mobileMenuToggle .menuIcon span{top:6px;}
.mobileMenuToggle .menuIcon::after{top:12px;}

@media(max-width:760px){
  header{
    position:relative;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    flex-wrap:wrap !important;
  }
  .mobileMenuToggle{
    display:inline-flex !important;
    margin-left:auto;
  }
  header nav{
    display:none !important;
    position:absolute !important;
    top:calc(100% + 10px) !important;
    left:12px !important;
    right:12px !important;
    z-index:9999 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
    padding:12px !important;
    border-radius:20px !important;
    border:1px solid rgba(121,215,255,.22) !important;
    background:linear-gradient(180deg, rgba(7,17,31,.98), rgba(3,7,13,.98)) !important;
    box-shadow:0 22px 48px rgba(0,0,0,.44), 0 0 24px rgba(32,221,255,.10) !important;
  }
  header.navOpen nav{
    display:flex !important;
  }
  header nav a{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:46px !important;
    margin:0 !important;
    padding:12px 14px !important;
    border-radius:14px !important;
    border:1px solid rgba(121,215,255,.14) !important;
    background:rgba(7,17,31,.72) !important;
    box-sizing:border-box !important;
    text-align:center !important;
  }
  header nav a.active,
  header nav a:hover{
    border-color:rgba(121,215,255,.45) !important;
    box-shadow:0 0 20px rgba(63,162,255,.16) !important;
  }
}


/* Mobile centered brand above menu */
@media(max-width:760px){
  header{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    text-align:center !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
  }

  header .brand,
  header .logoWrap,
  header .siteBrand,
  header a.brand,
  header > a:first-child,
  header > div:first-child{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    margin:0 auto !important;
    width:100% !important;
    max-width:320px !important;
    gap:6px !important;
  }

  header .brand img,
  header .logoWrap img,
  header .siteBrand img,
  header a.brand img,
  header > a:first-child img,
  header > div:first-child img,
  header img:first-of-type{
    display:block !important;
    margin:0 auto 4px !important;
    width:58px !important;
    height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    object-fit:contain !important;
  }

  header .brand span,
  header .brand strong,
  header .logoWrap span,
  header .logoWrap strong,
  header .siteBrand span,
  header .siteBrand strong,
  header a.brand span,
  header a.brand strong{
    display:block !important;
    text-align:center !important;
    width:100% !important;
    margin:0 auto !important;
  }

  header .brandText,
  header .brand-name,
  header .site-title{
    text-align:center !important;
    margin:0 auto !important;
    width:100% !important;
  }

  .mobileMenuToggle{
    margin:4px auto 0 !important;
    align-self:center !important;
  }

  header nav{
    top:calc(100% + 8px) !important;
    left:12px !important;
    right:12px !important;
  }
}


/* Desktop fix: hide mobile Menu button */
@media(min-width:761px){
  .mobileMenuToggle{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    position:absolute !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
  }

  header nav{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    overflow:visible !important;
    pointer-events:auto !important;
  }

  header{
    flex-direction:row !important;
  }
}

/* Mobile only: show the Menu button and collapse nav */
@media(max-width:760px){
  .mobileMenuToggle{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    position:relative !important;
    width:auto !important;
    height:auto !important;
    overflow:visible !important;
  }
}


/* Mobile only: hide floating contact buttons while a book is present.
   This does NOT hide the book prev/next arrows. */
@media(max-width:760px){
  body.dragline-book-active .dragline-floating-contact,
  body.dragline-book-active .dragline-floating-rail,
  body.dragline-book-active .floating-contact,
  body.dragline-book-active .floating-buttons,
  body.dragline-book-active .floating-social,
  body.dragline-book-active .social-float,
  body.dragline-book-active .call-email-facebook,
  body.dragline-book-active .callEmailFacebook{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
}


/* Mobile tested fix for TOC-first books */
@media(max-width:760px){
  .servicesBookWrap,
  .faqBookWrap,
  .blogIndexBookWrap,
  .blogBookWrap{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    padding-inline:0 !important;
  }

  .bookPanel,
  .faqPanel,
  .blogIndexPanel,
  .blogBookPanel{
    display:none !important;
  }

  .bookShell,
  .faqShell,
  .blogIndexShell,
  .blogBookShell{
    width:100% !important;
    max-width:100% !important;
    margin-inline:auto !important;
  }

  .bookTop,
  .faqTop,
  .blogIndexTop,
  .blogBookTop{
    display:block !important;
    width:100% !important;
    padding:0 10px 12px !important;
    box-sizing:border-box !important;
  }

  .bookTopControls{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
  }

  .bookTopSearchWrap{
    width:100% !important;
    min-width:0 !important;
    flex:auto !important;
  }

  .bookTopSearchWrap input{
    width:100% !important;
    max-width:100% !important;
    min-height:46px !important;
    font-size:16px !important;
    border-radius:14px !important;
  }

  .bookTopSearchWrap > div{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    margin-top:8px !important;
    z-index:20 !important;
    max-height:220px !important;
  }

  .bookTopSelectWrap{
    width:100% !important;
    display:grid !important;
    grid-template-columns:auto 1fr !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 !important;
  }

  .bookTopSelectWrap > span:first-child{
    font-size:13px !important;
    color:#b9c9de !important;
    font-weight:900 !important;
  }

  .bookTopSelect{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:46px !important;
    font-size:15px !important;
    border-radius:14px !important;
  }

  .bookViewport,
  .faqViewport,
  .blogIndexViewport,
  .blogBookViewport{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .bookPage,
  .faqPage,
  .blogIndexPage,
  .blogBookPage{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .bookTocFirstPage{
    min-height:auto !important;
    padding:0 !important;
    gap:14px !important;
  }

  .bookTocFirstPage h2{
    font-size:clamp(34px,10vw,52px) !important;
    line-height:1.05 !important;
    text-align:center !important;
  }

  .bookTocFirstPage .pageIntro{
    text-align:center !important;
    max-width:100% !important;
  }

  .bookTocFirstGrid{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  .bookTocFirstGrid button{
    width:100% !important;
    min-height:54px !important;
    padding:10px 12px !important;
    font-size:15px !important;
    line-height:1.18 !important;
  }

  .bookTocFirstGrid button::before{
    width:32px !important;
    height:32px !important;
    flex-basis:32px !important;
  }
}

@media(min-width:761px){
  .bookTopSearchWrap > div{
    position:absolute !important;
  }
}


/* Mobile restore: keep book search and page dropdown visible */
@media(max-width:760px){
  .bookTop,
  .faqTop,
  .blogIndexTop,
  .blogBookTop{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 10px 12px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
    height:auto !important;
    min-height:unset !important;
  }

  .bookTopControls{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 10px !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    z-index:30 !important;
  }

  .bookTopSearchWrap,
  .bookTopSelectWrap{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    position:relative !important;
  }

  .bookTopSearchWrap input,
  .bookTopSelect{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:46px !important;
    box-sizing:border-box !important;
    font-size:16px !important;
    -webkit-appearance:auto !important;
    appearance:auto !important;
    pointer-events:auto !important;
  }

  .bookTopSelectWrap{
    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) !important;
    align-items:center !important;
    gap:8px !important;
  }

  .bookTopSelectWrap > span:first-child{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    font-size:13px !important;
    color:#b9c9de !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }

  .bookTopSelectWrap .pageCount,
  .bookTopSelectWrap .faqCount,
  .bookTopSelectWrap .blogIndexCount,
  .bookTopSelectWrap .blogBookCount{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
  }

  .bookPanel,
  .faqPanel,
  .blogIndexPanel,
  .blogBookPanel{
    display:none !important;
  }
}


/* Mobile repair: line up search and page dropdown cleanly */
@media(max-width:760px){
  .bookTop,
  .faqTop,
  .blogIndexTop,
  .blogBookTop{
    width:100% !important;
    max-width:100% !important;
    padding:0 18px 18px !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
    overflow:visible !important;
    position:relative !important;
    z-index:35 !important;
  }

  .bookTopControls{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
    gap:12px !important;
    margin:0 auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
    position:relative !important;
    z-index:36 !important;
  }

  .bookTopSearchWrap,
  .bookTopSelectWrap{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    position:relative !important;
  }

  .bookTopSearchWrap input,
  .bookTopSelect{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
    min-height:48px !important;
    border-radius:14px !important;
    font-size:16px !important;
    line-height:1.2 !important;
  }

  .bookTopSelectWrap > span:first-child{
    display:block !important;
    width:100% !important;
    margin:0 0 6px 0 !important;
    padding:0 2px !important;
    font-size:14px !important;
    line-height:1.2 !important;
    color:#b9c9de !important;
    font-weight:900 !important;
    text-align:left !important;
  }

  .bookViewport,
  .faqViewport,
  .blogIndexViewport,
  .blogBookViewport{
    margin-top:0 !important;
    padding-top:0 !important;
    position:relative !important;
    z-index:1 !important;
  }

  .bookPage.active,
  .faqPage.active,
  .blogIndexPage.active,
  .blogBookPage.active{
    padding-top:26px !important;
  }

  .bookTocFirstPage h2{
    margin-top:0 !important;
    clear:both !important;
  }

  .bookTopSearchWrap > div{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    margin-top:8px !important;
    z-index:80 !important;
  }
}

@media(max-width:430px){
  .bookTop,
  .faqTop,
  .blogIndexTop,
  .blogBookTop{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}


/* Mobile stacking fix: search, then page dropdown, then current page content below */
@media(max-width:760px){
  .bookTop,
  .faqTop,
  .blogIndexTop,
  .blogBookTop{
    display:block !important;
    width:100% !important;
    padding:0 14px 14px !important;
    margin:0 0 10px 0 !important;
    box-sizing:border-box !important;
    position:relative !important;
    z-index:30 !important;
  }

  .bookTopControls{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 14px 0 !important;
    padding:0 !important;
    position:relative !important;
    z-index:31 !important;
  }

  .bookTopSearchWrap,
  .bookTopSelectWrap{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  .bookTopSearchWrap input,
  .bookTopSelect{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:block !important;
    margin:0 !important;
    min-height:48px !important;
    box-sizing:border-box !important;
    border-radius:14px !important;
    font-size:16px !important;
  }

  .bookTopSelectWrap{
    grid-template-columns:none !important;
  }

  .bookTopSelectWrap > span:first-child{
    display:block !important;
    width:100% !important;
    margin:0 0 6px 0 !important;
    padding:0 2px !important;
    text-align:left !important;
    font-size:14px !important;
    line-height:1.2 !important;
    color:#b9c9de !important;
    font-weight:900 !important;
    white-space:normal !important;
  }

  .bookViewport,
  .faqViewport,
  .blogIndexViewport,
  .blogBookViewport{
    width:100% !important;
    max-width:100% !important;
    margin-top:0 !important;
    padding-top:0 !important;
    position:relative !important;
    z-index:1 !important;
  }

  .bookPage.active,
  .faqPage.active,
  .blogIndexPage.active,
  .blogBookPage.active{
    padding-top:96px !important;
  }

  .bookTocFirstPage,
  .faqTocFirstPage,
  .blogIndexTocFirstPage,
  .blogBookTocFirstPage{
    padding-top:24px !important;
  }

  .bookPage.active h2,
  .faqPage.active h2,
  .blogIndexPage.active h2,
  .blogBookPage.active h2{
    margin-top:0 !important;
  }
}

.skipLink{position:absolute;left:-9999px;top:0;z-index:1000;background:#0c1524;color:#fff;padding:10px 16px;border-radius:0 0 10px 0;font-weight:800;text-decoration:none;}.skipLink:focus{left:0;outline:2px solid #79d7ff;}
