:root{--navy:#0b1220;--blue:#2563eb;--cyan:#06b6d4;--ink:#172033;--muted:#62708a;--line:#dce4ef;--cloud:#f8fafc;--ice:#eef4ff;--white:#fff;--radius:24px;--shadow:0 18px 50px rgba(15,23,42,.10);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}.section{padding:100px 0}.section.soft{background:var(--cloud)}.eyebrow{display:inline-flex;gap:8px;align-items:center;color:var(--blue);font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.eyebrow:before{content:"";width:26px;height:2px;background:var(--cyan)}
h1,h2,h3{font-family:Manrope,Inter,Arial,sans-serif;line-height:1.08;letter-spacing:-.04em;margin:0 0 18px}h1{font-size:clamp(2.35rem,4.5vw,4.4rem);max-width:820px}h2{font-size:clamp(2rem,3.4vw,3.35rem);max-width:760px}h3{font-size:1.35rem}.lead{font-size:1.16rem;color:var(--muted);max-width:700px}.muted{color:var(--muted)}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid transparent}.header.scrolled{border-color:rgba(220,228,239,.8)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.logo{font:800 1.45rem Manrope,sans-serif;letter-spacing:-.06em}.logo span{color:var(--blue)}.nav-links{display:flex;align-items:center;gap:24px;font-size:.9rem;font-weight:700}.nav-links a{color:#43506a}.nav-links a:hover,.nav-links a.active{color:var(--navy)}.nav-toggle{display:none;border:0;background:none;font-size:1.4rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 21px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:.25s transform,.25s box-shadow,.25s background}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(37,99,235,.18)}.btn.primary{background:var(--navy);color:white}.btn.blue{background:var(--blue);color:white}.btn.secondary{background:white;border-color:var(--line)}.btn.small{padding:10px 16px;font-size:.88rem}
.hero{position:relative;overflow:hidden;padding:100px 0 80px;background:linear-gradient(180deg,#fff 0%,#f5f9ff 100%)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}.hero p{font-size:1.2rem;color:var(--muted);max-width:670px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.trust-line{font-size:.9rem;color:var(--muted);font-weight:700}.orbital{min-height:500px;position:relative;display:grid;place-items:center}.core{width:190px;height:190px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#3b82f6,#102a66 70%);display:grid;place-items:center;color:white;font:800 2rem Manrope;box-shadow:0 0 0 25px rgba(37,99,235,.06),0 0 0 65px rgba(6,182,212,.04)}.node{position:absolute;background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:12px 16px;font-weight:800;font-size:.82rem}.n1{top:9%;left:5%}.n2{top:18%;right:0}.n3{bottom:17%;left:0}.n4{bottom:4%;right:10%}.ring{position:absolute;border:1px solid rgba(37,99,235,.18);border-radius:50%;width:390px;height:390px;animation:spin 30s linear infinite}.ring:after{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:var(--cyan);top:8%;left:50%}@keyframes spin{to{transform:rotate(360deg)}}
.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:.3s transform,.3s box-shadow}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.icon{width:46px;height:46px;border-radius:14px;background:var(--ice);color:var(--blue);display:grid;place-items:center;font-weight:900;font-size:1.15rem;margin-bottom:20px}.service-link{font-weight:800;color:var(--blue)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.panel{background:var(--navy);color:white;border-radius:32px;padding:48px;position:relative;overflow:hidden}.panel:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(37,99,235,.28);right:-130px;bottom:-150px}.panel p{color:#c8d3e5}.checklist{padding:0;margin:25px 0;list-style:none}.checklist li{padding:9px 0 9px 28px;position:relative}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--cyan);font-weight:900}
.stats{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:20px}.stat strong{display:block;font:800 2rem Manrope}.pricing{position:relative}.price-card{position:relative}.price-card.featured{border-color:var(--blue);box-shadow:var(--shadow)}.badge{position:absolute;top:16px;right:16px;background:var(--blue);color:white;border-radius:999px;padding:5px 10px;font-size:.7rem;font-weight:800}.price{font:800 2.7rem Manrope;letter-spacing:-.05em}.price small{font-size:.9rem;color:var(--muted)}
.cta{background:linear-gradient(135deg,var(--navy),#122b64);color:white;border-radius:34px;padding:56px}.cta h2{max-width:720px}.cta p{color:#c8d3e5}.form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{display:block;font-size:.85rem;font-weight:800;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink)}.field textarea{min-height:130px;resize:vertical}.form-status{min-height:24px;font-weight:700}.success{color:#087443}.error{color:#b42318}
.page-hero{padding:90px 0 55px;background:var(--cloud)}.page-hero h1{font-size:clamp(2.3rem,4.2vw,4rem)}.article{max-width:820px}.article h2{font-size:2rem;margin-top:50px}.article p{color:#475569}
.footer{background:var(--navy);color:white;padding:70px 0 24px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:35px}.footer h4{margin:0 0 14px}.footer a{display:block;color:#b9c6d8;padding:5px 0}.footer a:hover{color:white}.footer-bottom{margin-top:45px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:#9aabc2;font-size:.86rem;display:flex;justify-content:space-between;gap:20px}
[data-reveal]{opacity:0;transform:translateY(22px);transition:.65s ease}[data-reveal].visible{opacity:1;transform:none}
@media(max-width:980px){.hero-grid,.split{grid-template-columns:1fr}.orbital{min-height:360px}.grid-4{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.nav-links{position:fixed;inset:78px 20px auto 20px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:20px;display:none;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-toggle{display:block}.desktop-cta{display:none}}
@media(max-width:640px){.section{padding:72px 0}.container{width:min(100% - 28px,var(--max))}.grid-2,.grid-3,.grid-4,.form-grid,.footer-grid{grid-template-columns:1fr}.hero{padding-top:70px}.orbital{min-height:310px}.ring{width:270px;height:270px}.core{width:145px;height:145px;font-size:1.6rem}.node{font-size:.7rem;padding:9px}.n1{left:0}.n2{right:0}.n3{left:0}.n4{right:0}.cta,.panel{padding:32px}.footer-bottom{flex-direction:column}}

/* Fix secondary CTA button on dark sections */
.cta .btn.secondary{
    background:#ffffff;
    color:#0b1220;
    border-color:#ffffff;
}
.cta .btn.secondary:hover{
    background:#eef4ff;
    color:#0b1220;
}


/* Modern motion for internal pages only. Homepage remains unchanged. */
.page-motion .page-hero{overflow:hidden;position:relative}
.page-motion .page-hero:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-150px;top:-220px;background:radial-gradient(circle,rgba(37,99,235,.12),transparent 68%);animation:epicFloat 9s ease-in-out infinite}
.page-motion .page-hero .container{position:relative;z-index:1;animation:epicIntro .65s cubic-bezier(.2,.8,.2,1) both}
.page-motion .card{animation:epicCardIn .7s cubic-bezier(.2,.8,.2,1) both;animation-play-state:paused}
.page-motion .card.visible,.page-motion .card[data-reveal].visible{animation-play-state:running}
.page-motion .grid .card:nth-child(2){animation-delay:.08s}
.page-motion .grid .card:nth-child(3){animation-delay:.16s}
.page-motion .grid .card:nth-child(4){animation-delay:.24s}
.page-motion .grid .card:nth-child(5){animation-delay:.32s}
.page-motion .grid .card:nth-child(6){animation-delay:.40s}
.page-motion .service-link{display:inline-block;transition:transform .25s ease,color .25s ease}
.page-motion .card:hover .service-link{transform:translateX(5px)}
@keyframes epicIntro{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes epicCardIn{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes epicFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-25px,35px,0)}}
@media(prefers-reduced-motion:reduce){.page-motion *{animation:none!important;transition:none!important}}


/* ===== Premium visual refinement, typography and section system ===== */
:root{
  --navy:#0a1324;
  --blue:#1d5fe9;
  --cyan:#14b8d4;
  --ink:#14213a;
  --muted:#66748b;
  --line:#dce3ee;
  --cloud:#f6f8fb;
  --ice:#eef4ff;
  --white:#fff;
  --radius:22px;
  --radius-lg:30px;
  --shadow-soft:0 10px 35px rgba(15,23,42,.06);
  --shadow-hover:0 22px 55px rgba(15,23,42,.10);
}
body{font-size:16px;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
p{margin:0 0 16px}.section{padding:104px 0}.section.soft{background:linear-gradient(180deg,#f8fafc 0%,#f4f7fb 100%)}
.section>.container>h2,.section>.container>.eyebrow+h2{margin-bottom:14px}
.eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:800;color:#2967d8}.eyebrow:before{width:24px;opacity:.9}
h1,h2,h3{font-weight:700;color:var(--ink)}
h1{font-size:clamp(2.25rem,4.1vw,4rem);line-height:1.08;letter-spacing:-.055em;margin-bottom:20px}
h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.12;letter-spacing:-.045em;margin-bottom:16px}
h3{font-size:1.18rem;line-height:1.25;letter-spacing:-.03em;margin-bottom:10px}
.lead{font-size:1.04rem;line-height:1.75;color:var(--muted);max-width:660px}.muted{font-size:.96rem;line-height:1.65}
.page-hero{padding:82px 0 62px;background:linear-gradient(180deg,#fbfcfe 0%,#f5f8fc 100%);border-bottom:1px solid rgba(220,227,238,.7)}
.page-hero h1{font-size:clamp(2.2rem,3.8vw,3.65rem);max-width:760px}.page-hero .lead{max-width:620px}
.card{padding:30px;border-radius:var(--radius);border-color:rgba(207,217,230,.95);box-shadow:0 1px 0 rgba(15,23,42,.02);background:rgba(255,255,255,.94)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#c8d5e8}
.grid{gap:22px}.split{gap:64px}.panel{border-radius:var(--radius-lg);padding:46px;box-shadow:var(--shadow-soft)}
.cta{border-radius:var(--radius-lg);padding:58px 60px;box-shadow:0 24px 65px rgba(10,19,36,.14)}.cta h1,.cta h2{color:#fff}.cta p{max-width:650px}
.btn{min-height:48px;padding:13px 21px;font-size:.92rem;letter-spacing:-.01em}.btn.secondary{color:var(--ink);background:#fff;border-color:#d8e1ed}.btn.secondary:hover{background:#f8fafc;border-color:#c7d4e4}
.price{font-size:2.5rem}.price-card{display:flex;flex-direction:column}.price-card .btn{margin-top:auto;width:100%}.price-card.featured{border-color:rgba(29,95,233,.7);box-shadow:0 18px 48px rgba(29,95,233,.10)}
.footer{padding-top:76px}.footer-grid{gap:40px}.footer p{color:#aebbd0}.footer h4{font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:#fff}.footer a{font-size:.92rem}

/* Forms: clearer labels, consistent controls and accessible focus states */
.form{gap:18px}.form-grid{gap:18px}.field label{font-size:.82rem;font-weight:700;color:#34435c;margin-bottom:8px;letter-spacing:.005em}.field label .optional{color:#8b98aa;font-weight:500}
.field input,.field select,.field textarea{min-height:48px;padding:12px 14px;border:1px solid #d6dfeb;border-radius:13px;background:#fff;color:var(--ink);font-size:.94rem;line-height:1.4;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.field input::placeholder,.field textarea::placeholder{color:#98a4b5}.field textarea{min-height:138px;padding-top:13px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#bcc9d9}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:#4d82ed;box-shadow:0 0 0 4px rgba(29,95,233,.10)}
.field select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,#52627b 50%),linear-gradient(135deg,#52627b 50%,transparent 50%);background-position:calc(100% - 19px) 20px,calc(100% - 14px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.field select:invalid{color:#7c8898}.field select option{color:var(--ink)}
.form .btn[type="submit"]{margin-top:4px;justify-self:start;min-width:190px}.form-status{font-size:.9rem;line-height:1.5}.field-help{margin-top:7px;color:#7d899a;font-size:.78rem;line-height:1.45}
.form-card{padding:34px;box-shadow:var(--shadow-soft)}

/* Internal-page motion: animate revealed content only, never hide static cards */
.page-motion .card{animation:none}.page-motion .card[data-reveal]{animation:epicCardIn .65s cubic-bezier(.2,.8,.2,1) both}
.page-motion .card[data-reveal]:not(.visible){animation-play-state:paused}.page-motion .card[data-reveal].visible{animation-play-state:running}
.page-motion .page-hero:before{opacity:.75}.page-motion .grid .card:nth-child(2)[data-reveal]{animation-delay:.07s}.page-motion .grid .card:nth-child(3)[data-reveal]{animation-delay:.14s}.page-motion .grid .card:nth-child(4)[data-reveal]{animation-delay:.21s}.page-motion .grid .card:nth-child(5)[data-reveal]{animation-delay:.28s}.page-motion .grid .card:nth-child(6)[data-reveal]{animation-delay:.35s}

@media(max-width:640px){
  body{font-size:15px}.section{padding:76px 0}.page-hero{padding:68px 0 48px}.page-hero h1{font-size:clamp(2rem,10vw,2.7rem)}
  .card{padding:24px}.form-card{padding:24px}.cta{padding:38px 28px}.form .btn[type="submit"]{width:100%}
}


/* ===== Final EpicHQ polish =====
   Typography: Calibri-first throughout for a clean, familiar corporate finish. */
:root{
  --font-main: Calibri, "Segoe UI", Candara, Arial, sans-serif;
  --font-heading: Calibri, "Segoe UI", Candara, Arial, sans-serif;
  --footer-link:#aebbd0;
}
html,body,button,input,select,textarea{font-family:var(--font-main)!important}
body{
  font-family:var(--font-main)!important;
  letter-spacing:0;
  line-height:1.55;
}
h1,h2,h3,h4,h5,h6,
.logo,
.price,
.stat strong,
.core{
  font-family:var(--font-heading)!important;
}
h1,h2,h3{
  letter-spacing:-.035em;
  font-weight:700;
}
.logo{
  letter-spacing:-.045em;
  font-weight:700;
}

/* More deliberate vertical rhythm across all sections. */
.section{padding:96px 0}
.section.soft{position:relative}
.section.soft:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 88% 12%,rgba(29,95,233,.045),transparent 28%);
}
.section>.container{position:relative}
.page-hero{
  background:
    radial-gradient(circle at 85% 8%,rgba(29,95,233,.08),transparent 28%),
    linear-gradient(180deg,#fbfcfe 0%,#f5f8fc 100%);
}

/* Footer: clearer grouping, better alignment and a restrained premium effect. */
.footer{
  position:relative;
  overflow:hidden;
  padding:78px 0 26px;
  background:
    radial-gradient(circle at 12% 0%,rgba(37,99,235,.18),transparent 28%),
    linear-gradient(180deg,#101b2e 0%,#0a1324 100%);
}
.footer:before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(96,165,250,.65),transparent);
}
.footer:after{
  content:"";
  position:absolute;
  width:440px;height:440px;
  right:-180px;bottom:-260px;border-radius:50%;
  background:radial-gradient(circle,rgba(29,95,233,.13),transparent 68%);
  animation:footerGlow 12s ease-in-out infinite;
  pointer-events:none;
}
.footer .container{position:relative;z-index:1}
.footer-grid{
  grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(150px,1fr));
  gap:56px;
  align-items:start;
}
.footer-grid>div:first-child{padding-right:34px}
.footer .logo{display:inline-flex;margin-bottom:10px;font-size:1.55rem}
.footer p{max-width:285px;line-height:1.65;margin:0;color:#aebbd0}
.footer h4{
  position:relative;
  display:inline-block;
  margin:0 0 15px;
  padding-bottom:10px;
  font-size:.78rem;
  letter-spacing:.12em;
  color:#f8fbff;
}
.footer h4:after{
  content:"";
  position:absolute;
  left:0;bottom:0;width:26px;height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,#60a5fa,#22d3ee);
}
.footer a{
  position:relative;
  display:block;
  width:max-content;
  max-width:100%;
  padding:6px 0;
  color:var(--footer-link);
  transition:color .22s ease,transform .22s ease;
}
.footer-grid a:not(.logo):before{
  content:"";
  position:absolute;
  left:-12px;top:50%;
  width:4px;height:4px;border-radius:50%;
  background:#22d3ee;
  opacity:0;
  transform:translateY(-50%) scale(.5);
  transition:opacity .22s ease,transform .22s ease;
}
.footer-grid a:not(.logo):hover{
  color:#fff;
  transform:translateX(7px);
}
.footer-grid a:not(.logo):hover:before{
  opacity:1;
  transform:translateY(-50%) scale(1);
}
.footer-bottom{
  margin-top:54px;
  padding-top:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid rgba(184,202,226,.16);
  color:#91a2ba;
}
.footer-bottom>span:last-child{
  display:inline-flex;
  align-items:center;
  gap:12px;
  white-space:nowrap;
}
.footer-bottom a{
  display:inline;
  width:auto;
  padding:0;
  color:#b9c6d8;
}
.footer-bottom a:hover{color:#fff;transform:none}
@keyframes footerGlow{
  0%,100%{transform:translate3d(0,0,0);opacity:.7}
  50%{transform:translate3d(-35px,-18px,0);opacity:1}
}

/* Homepage orbital animation: preserve the existing design, remove node borders and add depth. */
.orbital{
  isolation:isolate;
}
.orbital:before{
  content:"";
  position:absolute;
  width:460px;height:460px;border-radius:50%;
  background:radial-gradient(circle,rgba(29,95,233,.08) 0%,rgba(20,184,212,.035) 42%,transparent 68%);
  filter:blur(.2px);
  animation:orbitalPulse 7s ease-in-out infinite;
  z-index:-2;
}
.orbital:after{
  content:"";
  position:absolute;
  width:300px;height:300px;border-radius:50%;
  border:1px dashed rgba(29,95,233,.13);
  animation:spinReverse 42s linear infinite;
  z-index:-1;
}
.ring{
  border-color:rgba(29,95,233,.16);
  box-shadow:inset 0 0 70px rgba(29,95,233,.025);
}
.ring:before{
  content:"";
  position:absolute;
  inset:30px;border-radius:50%;
  border:1px solid rgba(20,184,212,.08);
}
.ring:after{
  box-shadow:0 0 0 8px rgba(20,184,212,.08),0 0 24px rgba(20,184,212,.28);
}
.core{
  position:relative;
  overflow:hidden;
  box-shadow:
    0 0 0 25px rgba(37,99,235,.055),
    0 0 0 65px rgba(6,182,212,.035),
    0 24px 55px rgba(16,42,102,.18);
  animation:coreFloat 6s ease-in-out infinite;
}
.core:after{
  content:"";
  position:absolute;
  inset:-40%;
  background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.14) 50%,transparent 58%);
  transform:translateX(-80%);
  animation:coreShine 7s ease-in-out infinite;
}
.node{
  border:0!important;
  background:rgba(255,255,255,.9);
  box-shadow:0 12px 28px rgba(15,23,42,.09),inset 0 1px 0 rgba(255,255,255,.8);
  backdrop-filter:blur(10px);
  transition:transform .25s ease,box-shadow .25s ease;
}
.node:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 18px 36px rgba(15,23,42,.13)}
.n1{animation:nodeFloat1 5.6s ease-in-out infinite}
.n2{animation:nodeFloat2 6.8s ease-in-out infinite .4s}
.n3{animation:nodeFloat3 6.2s ease-in-out infinite .8s}
.n4{animation:nodeFloat4 7.1s ease-in-out infinite 1.1s}
@keyframes orbitalPulse{
  0%,100%{transform:scale(.96);opacity:.65}
  50%{transform:scale(1.04);opacity:1}
}
@keyframes spinReverse{to{transform:rotate(-360deg)}}
@keyframes coreFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}
@keyframes coreShine{
  0%,55%,100%{transform:translateX(-85%) rotate(8deg)}
  75%{transform:translateX(85%) rotate(8deg)}
}
@keyframes nodeFloat1{50%{transform:translate(4px,-8px)}}
@keyframes nodeFloat2{50%{transform:translate(-6px,7px)}}
@keyframes nodeFloat3{50%{transform:translate(5px,6px)}}
@keyframes nodeFloat4{50%{transform:translate(-5px,-7px)}}

/* Internal pages: additional subtle motion without altering homepage layout. */
.page-motion .section{overflow:hidden}
.page-motion .section .container{position:relative}
.page-motion .panel,
.page-motion .form-card,
.page-motion .price-card{
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease;
}
.page-motion .panel:hover,
.page-motion .form-card:hover,
.page-motion .price-card:hover{
  transform:translateY(-5px);
}
.page-motion .cta{
  overflow:hidden;
}
.page-motion .cta:before{
  content:"";
  position:absolute;
  width:260px;height:260px;border-radius:50%;
  right:-100px;top:-120px;
  background:radial-gradient(circle,rgba(96,165,250,.24),transparent 68%);
  animation:ctaGlow 9s ease-in-out infinite;
}
.page-motion .cta>*{position:relative;z-index:1}
.page-motion .btn{
  transition:transform .24s ease,box-shadow .24s ease,background .24s ease;
}
@keyframes ctaGlow{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-28px,30px,0)}
}

/* VPS pricing: tidy the amount and /mo into one balanced unit. */
.price{
  display:flex;
  align-items:baseline;
  gap:5px;
  min-height:58px;
  white-space:nowrap;
  font-size:2.65rem;
  line-height:1;
}
.price small{
  display:inline-block;
  flex:0 0 auto;
  margin:0 0 3px;
  font-size:.92rem;
  line-height:1;
  letter-spacing:0;
}
.price-card h3{margin-bottom:14px}
.price-card .muted{margin-top:4px;margin-bottom:18px}
.price-card .checklist{margin:16px 0 26px}
.price-card .checklist li{padding-top:8px;padding-bottom:8px}

/* Forms: prevent clipping, give labels and controls more breathing room. */
.form,
.form-grid,
.field,
.form-card,
.split>.card{min-width:0}
.form{gap:20px}
.form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.field label{
  min-height:20px;
  margin-bottom:9px;
  line-height:1.35;
}
.field input,
.field select,
.field textarea{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:50px;
  padding:13px 15px;
  font-size:1rem;
  line-height:1.35;
}
.field select{
  padding-right:42px;
  background-position:calc(100% - 20px) 22px,calc(100% - 15px) 22px;
  background-size:5px 5px,5px 5px;
}
.field select option{font-family:var(--font-main)}
.form-card{
  padding:36px;
}
.field textarea{
  min-height:146px;
  line-height:1.5;
}
.field-help{padding-right:4px}
.checkout-layout{
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
  gap:56px;
  align-items:start;
}
.checkout-layout .order-summary-card{
  position:sticky;
  top:104px;
}
.checkout-layout .form-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1.16fr);
}
.checkout-layout .form-grid .field:nth-child(1){
  min-width:0;
}
.checkout-layout .form-card,
.checkout-layout>.card:last-child{
  padding:38px;
}
#os,#location{font-size:.95rem}
#billingNote{line-height:1.55}

@media(max-width:980px){
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}
  .footer-grid>div:first-child{padding-right:0}
  .checkout-layout{grid-template-columns:1fr}
  .checkout-layout .order-summary-card{position:static}
  .checkout-layout .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .section{padding:78px 0}
  .footer{padding-top:58px}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .footer-bottom{align-items:flex-start}
  .form-grid,
  .checkout-layout .form-grid{grid-template-columns:1fr;gap:18px}
  .form-card,
  .checkout-layout .form-card,
  .checkout-layout>.card:last-child{padding:25px}
  .price{font-size:2.35rem}
  .orbital:before{width:330px;height:330px}
  .orbital:after{width:220px;height:220px}
}
@media(prefers-reduced-motion:reduce){
  .orbital:before,.orbital:after,.core,.node,.ring,.ring:after,
  .footer:after,.page-motion .cta:before{animation:none!important}
}


/* Service overview cards: clean text-only presentation. */
.service-card .icon,
.service-card .service-icon,
.service-card [class*="service-icon"],
.services-grid .icon,
.services-grid .service-icon,
.service-grid .icon,
.service-grid .service-icon{
  display:none!important;
}
.service-card,
.services-grid .card,
.service-grid .card{
  padding-top:34px;
}


/* Expanded EpicHQ technology orbit */
.orbital .node{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:8px 10px;
  border-radius:0;
  color:#26384f;
  font-weight:700;
  letter-spacing:.01em;
}
.orbital .node:before,
.orbital .node:after{
  display:none!important;
}
.orbital .node:hover{
  transform:none;
  box-shadow:none!important;
}

/* Additional technology domains around the existing centre. */
.orbital .n5,
.orbital .n6,
.orbital .n7,
.orbital .n8{
  position:absolute;
  z-index:4;
  white-space:nowrap;
  animation:none;
}
.orbital .n5{
  top:17%;
  right:7%;
}
.orbital .n6{
  top:45%;
  right:-2%;
}
.orbital .n7{
  bottom:10%;
  left:20%;
}
.orbital .n8{
  bottom:17%;
  right:18%;
}

/* The blue signal now travels continuously around the technology orbit. */
.orbital .ring:after{
  animation:signalOrbit 8s linear infinite!important;
  transform-origin:center center;
}
@keyframes signalOrbit{
  from{transform:rotate(0deg) translateX(var(--signal-radius, 0px)) rotate(0deg)}
  to{transform:rotate(360deg) translateX(var(--signal-radius, 0px)) rotate(-360deg)}
}

/* More reliable moving-dot implementation for the current markup. */
.orbital .signal-dot{
  position:absolute;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#1d9db6;
  box-shadow:0 0 0 8px rgba(29,157,182,.10),0 0 20px rgba(29,157,182,.42);
  animation:dotTravel 9s linear infinite;
  pointer-events:none;
  z-index:6;
}
@keyframes dotTravel{
  0%   {left:50%; top:5%; transform:translate(-50%,-50%)}
  12.5%{left:76%; top:10%; transform:translate(-50%,-50%)}
  25%  {left:93%; top:30%; transform:translate(-50%,-50%)}
  37.5%{left:95%; top:58%; transform:translate(-50%,-50%)}
  50%  {left:76%; top:84%; transform:translate(-50%,-50%)}
  62.5%{left:50%; top:95%; transform:translate(-50%,-50%)}
  75%  {left:24%; top:84%; transform:translate(-50%,-50%)}
  87.5%{left:6%; top:48%; transform:translate(-50%,-50%)}
  100% {left:50%; top:5%; transform:translate(-50%,-50%)}
}

/* Hide the old static point if present and use one consistent animated signal. */
.orbital .dot:not(.signal-dot){
  opacity:0;
}

@media(max-width:640px){
  .orbital .n5{top:12%;right:4%}
  .orbital .n6{top:48%;right:-7%}
  .orbital .n7{bottom:8%;left:12%}
  .orbital .n8{bottom:15%;right:13%}
  .orbital .node{font-size:.78rem}
}
@media(prefers-reduced-motion:reduce){
  .orbital .signal-dot{animation:none!important}
}


/* ===== Tidy animated technology ecosystem ===== */
.orbital{
  width:min(100%,560px);
  aspect-ratio:1/1;
  margin-inline:auto;
  position:relative;
  display:grid;
  place-items:center;
}

/* Keep the visual centre compact and balanced. */
.orbital .core{
  width:190px;
  height:190px;
  font-size:2rem;
  z-index:5;
  animation:coreFloatTidy 5.5s ease-in-out infinite!important;
}

/* Clean concentric system rings with independent movement. */
.orbital .ring{
  position:absolute;
  border-radius:50%;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
.orbital .ring:nth-of-type(1){
  width:58%;
  height:58%;
  animation:ringBreathe 6s ease-in-out infinite;
}
.orbital .ring:nth-of-type(2){
  width:76%;
  height:76%;
  animation:ringRotate 24s linear infinite;
}
.orbital .ring:nth-of-type(3){
  width:94%;
  height:94%;
  animation:ringRotateReverse 34s linear infinite;
}

/* Hide any inherited static dot and use a controlled moving signal. */
.orbital .dot:not(.signal-dot){opacity:0!important}

/* Blue signal travels smoothly around the main orbit. */
.orbital .signal-dot{
  width:11px;
  height:11px;
  left:50%!important;
  top:50%!important;
  background:#1599b5;
  border-radius:50%;
  z-index:7;
  box-shadow:
    0 0 0 7px rgba(21,153,181,.10),
    0 0 22px rgba(21,153,181,.45);
  animation:signalTravel 8.5s linear infinite!important;
  transform-origin:0 0;
}

/* Second small signal adds life without clutter. */
.orbital .signal-dot:after{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#5ec6da;
  box-shadow:0 0 12px rgba(94,198,218,.7);
  animation:secondarySignal 5.5s ease-in-out infinite;
}

/* Text labels: transparent, evenly spaced, no card appearance. */
.orbital .node{
  position:absolute!important;
  z-index:8;
  margin:0;
  padding:0!important;
  min-width:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#344256;
  font-size:.82rem;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
  letter-spacing:.015em;
  animation:none!important;
  transition:color .25s ease,transform .25s ease;
}
.orbital .node:hover{
  color:#2563eb;
  transform:scale(1.05)!important;
}

/* Eight labels positioned as a balanced orbit around the system. */
.orbital .n1{left:6%;top:16%}
.orbital .n2{right:4%;top:24%}
.orbital .n3{left:2%;bottom:29%}
.orbital .n4{right:10%;bottom:12%}
.orbital .n5{left:28%;top:4%}
.orbital .n6{right:25%;top:7%}
.orbital .n7{right:23%;bottom:30%}
.orbital .n8{left:25%;bottom:12%}

/* Small connector particles move independently to suggest active technology flow. */
.orbital:before{
  width:14px!important;
  height:14px!important;
  left:50%;
  top:50%;
  border-radius:50%;
  background:#2563eb!important;
  box-shadow:0 0 18px rgba(37,99,235,.38)!important;
  animation:particleOrbitA 11s linear infinite!important;
  z-index:3!important;
  opacity:.85;
}
.orbital:after{
  width:8px!important;
  height:8px!important;
  left:50%;
  top:50%;
  border:0!important;
  background:#7dd3fc!important;
  box-shadow:0 0 14px rgba(125,211,252,.55)!important;
  animation:particleOrbitB 14s linear infinite!important;
  z-index:3!important;
  opacity:.9;
}

@keyframes coreFloatTidy{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
@keyframes ringBreathe{
  0%,100%{opacity:.72;transform:translate(-50%,-50%) scale(1)}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.025)}
}
@keyframes ringRotate{
  from{transform:translate(-50%,-50%) rotate(0deg)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
@keyframes ringRotateReverse{
  from{transform:translate(-50%,-50%) rotate(360deg)}
  to{transform:translate(-50%,-50%) rotate(0deg)}
}
@keyframes signalTravel{
  from{transform:rotate(0deg) translateX(190px) rotate(0deg)}
  to{transform:rotate(360deg) translateX(190px) rotate(-360deg)}
}
@keyframes secondarySignal{
  0%,100%{transform:translate(8px,-8px);opacity:.7}
  50%{transform:translate(22px,16px);opacity:1}
}
@keyframes particleOrbitA{
  from{transform:translate(-50%,-50%) rotate(0deg) translateX(145px) rotate(0deg)}
  to{transform:translate(-50%,-50%) rotate(360deg) translateX(145px) rotate(-360deg)}
}
@keyframes particleOrbitB{
  from{transform:translate(-50%,-50%) rotate(220deg) translateX(120px) rotate(-220deg)}
  to{transform:translate(-50%,-50%) rotate(580deg) translateX(120px) rotate(-580deg)}
}

@media(max-width:640px){
  .orbital{width:min(100%,430px)}
  .orbital .core{width:155px;height:155px;font-size:1.65rem}
  .orbital .node{font-size:.72rem}
  .orbital .n1{left:2%;top:15%}
  .orbital .n2{right:0;top:23%}
  .orbital .n3{left:0;bottom:30%}
  .orbital .n4{right:4%;bottom:11%}
  .orbital .n5{left:25%;top:3%}
  .orbital .n6{right:22%;top:7%}
  .orbital .n7{right:19%;bottom:29%}
  .orbital .n8{left:22%;bottom:11%}
  .orbital .signal-dot{animation-duration:7.5s!important}
}
@media(prefers-reduced-motion:reduce){
  .orbital .core,
  .orbital .ring,
  .orbital .signal-dot,
  .orbital .signal-dot:after,
  .orbital:before,
  .orbital:after{animation:none!important}
}


/* =========================================================
   EPICHQ TECHNOLOGY ECOSYSTEM
   Rebuilt from scratch for clear, reliable movement.
   ========================================================= */
.orbital.ecosystem{
  position:relative;
  width:min(100%,600px);
  height:560px;
  margin:0 auto;
  isolation:isolate;
  overflow:visible;
}

.ecosystem-glow{
  position:absolute;
  left:50%;
  top:50%;
  width:430px;
  height:430px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:
    radial-gradient(circle,
      rgba(37,99,235,.14) 0%,
      rgba(37,99,235,.08) 28%,
      rgba(34,211,238,.045) 48%,
      transparent 72%);
  filter:blur(2px);
  animation:ecosystemPulse 6s ease-in-out infinite;
  z-index:0;
}

/* Each ring rotates independently, with visible moving data packets. */
.ecosystem .orbit{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
  z-index:1;
  pointer-events:none;
}

.ecosystem .orbit-outer{
  width:430px;
  height:430px;
  border:1px solid rgba(49,98,180,.20);
  animation:orbitClockwise 18s linear infinite;
}

.ecosystem .orbit-middle{
  width:340px;
  height:340px;
  border:1px dashed rgba(40,128,185,.22);
  animation:orbitCounterClockwise 13s linear infinite;
}

.ecosystem .orbit-inner{
  width:255px;
  height:255px;
  border:1px solid rgba(70,125,205,.14);
  box-shadow:inset 0 0 35px rgba(38,112,196,.035);
  animation:orbitClockwise 9s linear infinite;
}

/* Packets remain upright while their orbit rotates. */
.ecosystem .packet{
  position:absolute;
  border-radius:50%;
  left:50%;
  top:-6px;
  transform:translateX(-50%);
  background:#2d8fb2;
  box-shadow:
    0 0 0 8px rgba(45,143,178,.09),
    0 0 20px rgba(45,143,178,.55);
}

.ecosystem .packet-blue{
  width:12px;
  height:12px;
  background:#2098b6;
}

.ecosystem .packet-cyan{
  width:8px;
  height:8px;
  background:#70d2e3;
  box-shadow:
    0 0 0 5px rgba(112,210,227,.10),
    0 0 16px rgba(112,210,227,.55);
}

.ecosystem .packet-light{
  width:8px;
  height:8px;
  background:#78a9ff;
}

.ecosystem .packet-small{
  top:auto;
  bottom:-5px;
}

.ecosystem .packet-tiny{
  width:6px;
  height:6px;
  top:50%;
  left:auto;
  right:-3px;
  transform:translateY(-50%);
}

/* Offset the second outer packet so the orbit visibly carries multiple moving parts. */
.ecosystem .orbit-outer .packet-cyan{
  left:auto;
  top:50%;
  right:-4px;
  transform:translateY(-50%);
}

/* Floating labels, deliberately outside the rings and evenly distributed. */
.ecosystem .tech-label{
  position:absolute;
  z-index:4;
  color:#3a4a60;
  font-size:.84rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.02em;
  white-space:nowrap;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  pointer-events:none;
}

.label-security{top:8%; left:32%; animation:labelFloatA 5.5s ease-in-out infinite}
.label-identity{top:20%; left:3%; animation:labelFloatB 6.2s ease-in-out infinite .5s}
.label-cloud{top:15%; right:7%; animation:labelFloatC 5.8s ease-in-out infinite .8s}
.label-network{top:47%; right:0; animation:labelFloatA 6.6s ease-in-out infinite 1.1s}
.label-data{bottom:20%; right:8%; animation:labelFloatB 5.7s ease-in-out infinite .3s}
.label-apps{bottom:8%; left:28%; animation:labelFloatC 6.4s ease-in-out infinite 1.2s}
.label-devices{bottom:24%; left:1%; animation:labelFloatA 6s ease-in-out infinite .7s}
.label-zero{bottom:39%; left:9%; animation:labelFloatB 5.9s ease-in-out infinite 1.4s}

/* The EpicHQ centre is the visual anchor, with restrained motion and a live glow. */
.ecosystem .ecosystem-core{
  position:absolute;
  left:50%;
  top:50%;
  width:200px;
  height:200px;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  border-radius:50%;
  z-index:3;
  overflow:hidden;
  color:#fff;
  font-size:2rem;
  font-weight:700;
  background:
    radial-gradient(circle at 35% 26%,#4b7dd0 0%,#2b559c 30%,#142a57 72%,#102247 100%);
  box-shadow:
    0 24px 55px rgba(17,42,91,.22),
    0 0 0 22px rgba(50,105,196,.055),
    0 0 0 52px rgba(68,161,209,.025);
  animation:coreBreath 5.2s ease-in-out infinite;
}

.ecosystem .ecosystem-core:before{
  content:"";
  position:absolute;
  width:180px;
  height:42px;
  top:8px;
  left:-50px;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  filter:blur(10px);
  transform:rotate(-24deg);
  animation:coreSweep 7s ease-in-out infinite;
}

.ecosystem .ecosystem-core span{
  position:relative;
  z-index:1;
}

/* Animation keyframes */
@keyframes orbitClockwise{
  from{transform:translate(-50%,-50%) rotate(0deg)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
@keyframes orbitCounterClockwise{
  from{transform:translate(-50%,-50%) rotate(360deg)}
  to{transform:translate(-50%,-50%) rotate(0deg)}
}
@keyframes ecosystemPulse{
  0%,100%{opacity:.68;transform:translate(-50%,-50%) scale(.97)}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.035)}
}
@keyframes coreBreath{
  0%,100%{transform:translate(-50%,-50%) translateY(0) scale(1)}
  50%{transform:translate(-50%,-50%) translateY(-6px) scale(1.018)}
}
@keyframes coreSweep{
  0%,100%{transform:translateX(-30px) rotate(-24deg);opacity:.45}
  50%{transform:translateX(110px) rotate(-24deg);opacity:.8}
}
@keyframes labelFloatA{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-5px,0)}
}
@keyframes labelFloatB{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(4px,-3px,0)}
}
@keyframes labelFloatC{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-4px,4px,0)}
}

@media(max-width:700px){
  .orbital.ecosystem{
    width:min(100%,480px);
    height:460px;
  }
  .ecosystem .orbit-outer{width:350px;height:350px}
  .ecosystem .orbit-middle{width:278px;height:278px}
  .ecosystem .orbit-inner{width:210px;height:210px}
  .ecosystem .ecosystem-core{width:165px;height:165px;font-size:1.7rem}
  .ecosystem .tech-label{font-size:.72rem}
  .label-security{top:5%;left:31%}
  .label-identity{top:18%;left:1%}
  .label-cloud{top:13%;right:3%}
  .label-network{top:47%;right:-1%}
  .label-data{bottom:18%;right:4%}
  .label-apps{bottom:5%;left:27%}
  .label-devices{bottom:22%;left:0}
  .label-zero{bottom:37%;left:7%}
}

@media(prefers-reduced-motion:reduce){
  .ecosystem *,
  .ecosystem:before,
  .ecosystem:after{
    animation:none!important;
  }
}


/* Final homepage cleanup: the EpicHQ ecosystem animation has been removed completely. */
.hero-no-animation {
  padding-bottom: 96px;
}

.hero-no-animation .hero-content {
  max-width: 780px;
}

.hero-no-animation .hero-actions {
  margin-bottom: 24px;
}

@media (max-width: 640px) {
  .hero-no-animation {
    padding-bottom: 72px;
  }
}


/* =========================================================
   Homepage only: premium ambient finish
   ========================================================= */

.heading-white {
  color: #fff !important;
}

/* Establish a richer first-page canvas without affecting internal pages. */
body:has(.hero-no-animation) {
  background:
    radial-gradient(circle at 12% 18%, rgba(52, 109, 198, .08), transparent 28rem),
    radial-gradient(circle at 88% 42%, rgba(82, 178, 210, .06), transparent 30rem),
    #f7f8fa;
}

body:has(.hero-no-animation)::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  opacity: .38;
  background-image:
    linear-gradient(rgba(31, 52, 80, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31, 52, 80, .025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.45) 42%, transparent 88%);
}

/* Hero receives a soft animated light sweep. */
.hero-no-animation {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.hero-no-animation::before,
.hero-no-animation::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  z-index: -1;
  filter: blur(8px);
}

.hero-no-animation::before {
  width: 34rem;
  height: 34rem;
  top: -22rem;
  right: -10rem;
  background: radial-gradient(circle, rgba(46, 101, 191, .14), transparent 68%);
  animation: premiumDriftOne 14s ease-in-out infinite alternate;
}

.hero-no-animation::after {
  width: 28rem;
  height: 28rem;
  bottom: -20rem;
  left: -8rem;
  background: radial-gradient(circle, rgba(63, 167, 196, .10), transparent 70%);
  animation: premiumDriftTwo 17s ease-in-out infinite alternate;
}

.hero-no-animation .hero-content {
  position: relative;
}

.hero-no-animation .hero-content::after {
  content: "";
  position: absolute;
  top: 0;
  left: -18%;
  width: 34%;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(100deg, transparent 10%, rgba(255,255,255,.45) 50%, transparent 90%);
  transform: skewX(-18deg) translateX(-220%);
  animation: premiumSheen 11s ease-in-out infinite;
  opacity: .32;
}

/* Give key homepage sections a subtle premium depth and rhythm. */
body:has(.hero-no-animation) main > section {
  position: relative;
}

body:has(.hero-no-animation) main > section:nth-of-type(even)::before {
  content: "";
  position: absolute;
  inset: 12% 6%;
  border-radius: 32px;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.58), rgba(255,255,255,0));
  opacity: .32;
}

/* Existing homepage cards get refined hover depth, not exaggerated motion. */
body:has(.hero-no-animation) .card,
body:has(.hero-no-animation) .service-card,
body:has(.hero-no-animation) .pricing-card,
body:has(.hero-no-animation) .trust-card {
  transition:
    transform .38s cubic-bezier(.2,.75,.25,1),
    box-shadow .38s ease,
    border-color .38s ease;
}

body:has(.hero-no-animation) .card:hover,
body:has(.hero-no-animation) .service-card:hover,
body:has(.hero-no-animation) .pricing-card:hover,
body:has(.hero-no-animation) .trust-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 55px rgba(22, 41, 70, .10);
}

/* Buttons gain a restrained premium light pass. */
body:has(.hero-no-animation) .btn,
body:has(.hero-no-animation) button[type="submit"] {
  position: relative;
  overflow: hidden;
}

body:has(.hero-no-animation) .btn::after,
body:has(.hero-no-animation) button[type="submit"]::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 38%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.30), transparent);
  transform: translateX(-180%) skewX(-20deg);
  transition: transform .7s ease;
}

body:has(.hero-no-animation) .btn:hover::after,
body:has(.hero-no-animation) button[type="submit"]:hover::after {
  transform: translateX(430%) skewX(-20deg);
}

@keyframes premiumDriftOne {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to { transform: translate3d(-55px, 40px, 0) scale(1.12); }
}

@keyframes premiumDriftTwo {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to { transform: translate3d(65px, -35px, 0) scale(1.08); }
}

@keyframes premiumSheen {
  0%, 72% { transform: skewX(-18deg) translateX(-220%); }
  100% { transform: skewX(-18deg) translateX(520%); }
}

@media (max-width: 768px) {
  body:has(.hero-no-animation)::before { background-size: 48px 48px; opacity: .22; }
  .hero-no-animation::before { width: 22rem; height: 22rem; right: -12rem; }
  .hero-no-animation::after { width: 20rem; height: 20rem; left: -12rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-no-animation::before,
  .hero-no-animation::after,
  .hero-no-animation .hero-content::after {
    animation: none !important;
  }
}

/* =========================================================
   EPICHQ — PREMIUM AGENCY UPGRADE
   Refined visual hierarchy, depth, interaction and motion
   ========================================================= */
:root{
  --premium-ink:#081224;
  --premium-blue:#245fe5;
  --premium-blue-2:#4f8cff;
  --premium-glow:rgba(36,95,229,.15);
}

body{background:#fff}
.header{
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.header.scrolled{box-shadow:0 12px 40px rgba(15,23,42,.05)}
.nav-links a{position:relative}
.nav-links a:after{
  content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;
  background:var(--premium-blue);transform:scaleX(0);transform-origin:left;
  transition:transform .25s ease;border-radius:2px
}
.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}

.hero{
  min-height:720px;display:flex;align-items:center;
  background:
    radial-gradient(circle at 82% 28%,rgba(36,95,229,.12),transparent 24%),
    radial-gradient(circle at 92% 8%,rgba(20,184,212,.09),transparent 18%),
    linear-gradient(135deg,#ffffff 0%,#f7faff 52%,#eef5ff 100%);
}
.hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:linear-gradient(rgba(36,95,229,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(36,95,229,.035) 1px,transparent 1px);
  background-size:56px 56px;mask-image:linear-gradient(90deg,#000,transparent 82%)
}
.hero-content{position:relative;z-index:2}
.hero-content h1{font-size:clamp(3.1rem,6vw,6.1rem);max-width:900px;line-height:.98}
.hero-content h1:after{
  content:"";display:block;width:82px;height:4px;margin-top:30px;border-radius:4px;
  background:linear-gradient(90deg,var(--premium-blue),var(--cyan))
}
.hero-content p{max-width:650px;font-size:1.25rem;line-height:1.65}
.hero-actions .btn{min-height:54px;padding:15px 25px}
.btn.primary,.btn.blue{
  background:linear-gradient(135deg,#174fd2,#2563eb 62%,#3279f7);
  box-shadow:0 10px 28px rgba(37,99,235,.19)
}
.btn.primary:hover,.btn.blue:hover{box-shadow:0 18px 42px rgba(37,99,235,.28)}
.trust-line{
  display:inline-flex;padding:9px 14px;background:rgba(255,255,255,.68);
  border:1px solid rgba(205,216,231,.85);border-radius:999px;backdrop-filter:blur(12px)
}

/* Better section storytelling */
.section>.container>h2{max-width:900px}
.section>.container>h2:has(+.grid){margin-bottom:6px}
.card{
  position:relative;overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease
}
.card:before{
  content:"";position:absolute;left:0;top:0;width:100%;height:3px;
  background:linear-gradient(90deg,var(--premium-blue),var(--cyan));
  transform:scaleX(0);transform-origin:left;transition:transform .35s ease
}
.card:hover:before{transform:scaleX(1)}
.card:hover{transform:translateY(-8px);box-shadow:0 28px 70px rgba(15,23,42,.12)}
.service-link{font-weight:800;color:var(--premium-blue)}
.service-link:after{content:"";display:inline-block;width:0;transition:width .25s ease}
.card:hover .service-link:after{width:8px}

.panel{
  position:relative;overflow:hidden;
  background:linear-gradient(145deg,#0a1427,#13284e);
}
.panel:after{
  content:"";position:absolute;width:250px;height:250px;border-radius:50%;
  right:-90px;top:-100px;background:radial-gradient(circle,rgba(96,165,250,.25),transparent 67%)
}
.panel>*{position:relative;z-index:1}
.checklist li{margin:12px 0}

/* Pricing as a premium product surface */
.pricing{align-items:stretch}
.price-card{padding:34px 28px}
.price-card.featured{
  transform:translateY(-10px);
  background:linear-gradient(180deg,#fff,#f6f9ff);
  border:1px solid rgba(37,99,235,.45)
}
.price-card.featured:before{transform:scaleX(1)}
.badge{
  display:inline-flex;background:#e8f0ff;color:#174fd2;padding:6px 11px;
  border-radius:999px;font-size:.76rem;font-weight:800;margin-bottom:15px
}
.price{letter-spacing:-.055em}
.price small{font-size:.85rem;color:var(--muted);font-weight:600;letter-spacing:0}
.price-card .checklist{flex:1}

/* Premium CTA */
.cta{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 88% 20%,rgba(71,137,255,.28),transparent 28%),
    radial-gradient(circle at 20% 100%,rgba(20,184,212,.12),transparent 28%),
    linear-gradient(135deg,#081224,#10264d);
}
.cta:before{
  content:"";position:absolute;inset:0;opacity:.3;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:48px 48px;mask-image:linear-gradient(90deg,#000,transparent)
}
.cta>*{position:relative;z-index:1}
.cta h2{font-size:clamp(2.2rem,4vw,4rem);max-width:820px}

/* Page heroes */
.page-hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 90% 20%,rgba(37,99,235,.11),transparent 26%),
    linear-gradient(135deg,#fff,#f2f6fd)
}
.page-hero:after{
  content:"";position:absolute;right:-80px;bottom:-160px;width:360px;height:360px;border-radius:50%;
  border:1px solid rgba(37,99,235,.12);box-shadow:0 0 0 55px rgba(37,99,235,.025),0 0 0 110px rgba(37,99,235,.018)
}

/* Focus and accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid rgba(37,99,235,.35);outline-offset:3px
}

/* Scroll reveal polish */
[data-reveal]{transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
@media(min-width:981px){
  .hero-content{animation:premiumHero .85s cubic-bezier(.2,.8,.2,1) both}
  @keyframes premiumHero{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
@media(max-width:980px){
  .hero{min-height:auto}.hero-content h1{font-size:clamp(3rem,9vw,4.8rem)}
}
@media(max-width:640px){
  .hero{padding:88px 0 72px}.hero-content h1{font-size:clamp(2.8rem,14vw,4rem)}
  .trust-line{border-radius:14px}.price-card.featured{transform:none}
}


/* Live Insights / CVE intelligence */
.insights-live{background:linear-gradient(180deg,#f8fbff,#fff)}
.insights-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}
.insights-heading h2{margin:8px 0}
.insights-controls{display:grid;grid-template-columns:1fr 190px;gap:12px;margin-bottom:14px}
.insights-controls input,.insights-controls select{
  width:100%;min-height:50px;padding:12px 15px;border:1px solid #d9e2ef;border-radius:12px;
  font:inherit;background:#fff;color:#081224
}
.cve-status{font-size:.9rem;color:var(--muted);margin-bottom:18px}
.cve-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cve-card{background:#fff;border:1px solid #e2eaf4;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.04);transition:.25s ease}
.cve-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(15,23,42,.1)}
.cve-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.cve-id{font-weight:800;color:#245fe5;letter-spacing:.02em}
.cve-severity{font-size:.76rem;font-weight:800;padding:6px 10px;border-radius:999px}
.severity-critical{background:#fee2e2;color:#b91c1c}.severity-high{background:#ffedd5;color:#c2410c}
.severity-medium{background:#fef3c7;color:#a16207}.severity-low{background:#dcfce7;color:#15803d}
.severity-unknown{background:#eef2f7;color:#475569}
.cve-card h3{font-size:1.1rem;margin:0 0 10px}.cve-card p{color:#5f6f85;line-height:1.6}
.cve-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.78rem;color:#718096;margin:18px 0}
.cve-meta span{padding:5px 8px;background:#f5f8fc;border-radius:7px}
.cve-empty{grid-column:1/-1;padding:40px;border:1px dashed #cbd5e1;border-radius:16px;text-align:center;color:#64748b;background:#fff}
@media(max-width:760px){.insights-heading{align-items:start;flex-direction:column}.insights-controls,.cve-feed{grid-template-columns:1fr}}

/* EPICHQ PREMIUM INTERACTION SYSTEM */
html{scroll-behavior:smooth}body{overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(600px 420px at 8% 0%,rgba(44,105,235,.07),transparent 70%),radial-gradient(700px 500px at 92% 25%,rgba(20,184,166,.05),transparent 72%)}
.scroll-progress{position:fixed;z-index:9999;top:0;left:0;width:100%;height:3px;transform-origin:left;background:linear-gradient(90deg,#245fe5,#6d8cff 55%,#27c4b8);box-shadow:0 0 18px rgba(36,95,229,.4)}
.cursor-glow{position:fixed;width:360px;height:360px;border-radius:50%;pointer-events:none;z-index:-1;filter:blur(18px);background:radial-gradient(circle,rgba(63,118,245,.10),rgba(63,118,245,0) 68%);transition:transform .09s linear}
[data-motion="reveal"]{opacity:0;transform:translateY(22px) scale(.985);transition:opacity .8s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),transform .8s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)}
[data-motion="reveal"].is-visible{opacity:1;transform:none}
.btn,button{position:relative;isolation:isolate;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1)}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;opacity:0;transform:scale(.86);background:radial-gradient(circle,rgba(255,255,255,.35),transparent 65%);transition:.4s}
.btn:hover::after,.btn:focus-visible::after{opacity:1;transform:scale(1.35)}.btn:hover{box-shadow:0 14px 30px rgba(36,95,229,.18)}
.spotlight-card{position:relative;overflow:hidden;isolation:isolate;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1),border-color .3s}
.spotlight-card::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(420px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(63,118,245,.12),transparent 42%);transition:opacity .35s}
.spotlight-card:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(15,23,42,.12);border-color:rgba(36,95,229,.22)}.spotlight-card:hover::before{opacity:1}
.price-card{animation:premium-float 7s ease-in-out infinite}.price-card:nth-child(2){animation-delay:-1.5s}.price-card:nth-child(3){animation-delay:-3s}
@keyframes premium-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.cve-card{animation:cve-enter .6s cubic-bezier(.16,1,.3,1) both}.cve-card:nth-child(2n){animation-delay:.06s}
@keyframes cve-enter{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
.severity-critical{animation:critical-pulse 2.4s ease-in-out infinite}@keyframes critical-pulse{50%{box-shadow:0 0 0 6px rgba(220,38,38,.08)}}
.cve-feed[aria-busy="true"]{min-height:180px;position:relative}.cve-feed[aria-busy="true"]::after{content:"";position:absolute;inset:0;border-radius:18px;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.75) 50%,transparent 80%),#f5f8fc;background-size:220% 100%;animation:shimmer 1.25s linear infinite}@keyframes shimmer{to{background-position:-220% 0}}
@media(max-width:760px){.price-card{animation:none}[data-motion="reveal"]{transform:translateY(14px)}.spotlight-card:hover{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-motion="reveal"]{opacity:1!important;transform:none!important}}
