:root{
    --blue:#1769ff;
    --blue2:#3f8cff;
    --blue3:#0b4fd6;

    --green:#16c98d;
    --green2:#37dfaa;

    --cyan:#24c9ff;

    --bg:#f4f8ff;
    --bg2:#edf5ff;
    --surface:#ffffff;

    --border:rgba(8,55,110,.10);
    --shadow:0 20px 60px rgba(11,71,150,.10);
    --shadow-lg:0 35px 90px rgba(8,78,165,.16);

    --text:#10213d;
    --text2:#263b5c;
    --muted:#6d7e99;

    --line:#dfe9f7;

    --shadow:0 25px 70px rgba(30,86,170,.11);
    --shadow2:0 18px 45px rgba(20,88,190,.14);

    --radius:26px;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:
        radial-gradient(circle at 10% 10%,rgba(23,105,255,.08),transparent 28%),
        radial-gradient(circle at 90% 30%,rgba(22,201,141,.07),transparent 25%),
        var(--bg);
    color:var(--text);
    font-family:Vazirmatn,system-ui,sans-serif;
    line-height:1.9;
    overflow-x:hidden;
}

body:before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(23,105,255,.025) 1px,transparent 1px),
        linear-gradient(90deg,rgba(23,105,255,.025) 1px,transparent 1px);
    background-size:60px 60px;
    mask-image:linear-gradient(to bottom,#000,transparent 70%);
    z-index:-1;
}

a{
    color:inherit;
    text-decoration:none;
}

button,
input,
textarea{
    font:inherit;
}

.wrap{
    width:min(1180px,calc(100% - 40px));
    margin:auto;
}

::selection{
    background:rgba(23,105,255,.18);
    color:var(--blue3);
}

/* =========================================================
   HEADER
========================================================= */
article[id], div[id] {
    scroll-margin-top: 100px;
}

.header{
  position:fixed;
  top:18px;
  left:0;
  right:0;
  z-index:1000;
}

.navbar{
  width:min(1180px,calc(100% - 28px));
  margin:auto;

  height:76px;
  padding:0 18px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  background:rgba(255,255,255,.82);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);

  border:1px solid rgba(255,255,255,.8);
  box-shadow:
    0 12px 45px rgba(4,65,140,.12),
    inset 0 1px 0 rgba(255,255,255,.9);

  border-radius:24px;
}

.logo{
  display:flex;
  align-items:center;
  gap:11px;
  flex-shrink:0;
}

.logo-mark{
  width:80px;
  height:40px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#fff;
  position:relative;
  overflow:hidden;
}

.logo-mark img{
  width:100%;
  height:100%;
}

.logo-mark span{
  position:relative;
  z-index:1;
  font-size:19px;
  font-weight:900;
}


.nav{
  display:flex;
  align-items:center;
  gap:3px;
}

.nav > a,
.nav-dropdown > button{
  border:0;
  background:none;
  color:#334663;
  font-weight:600;
  padding:11px 13px;
  border-radius:12px;
  transition:.25s;
}

.nav > a:hover,
.nav-dropdown > button:hover{
  color:var(--blue);
  background:#edf6ff;
}

.nav-dropdown{
  position:relative;
}

.nav-dropdown > button{
  display:flex;
  align-items:center;
  gap:5px;
}

.nav-dropdown > button svg{
  width:14px;
  transition:.25s;
}

.nav-dropdown:hover > button svg{
  transform:rotate(180deg);
}

.dropdown{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:300px;

  padding:10px;

  background:rgba(255,255,255,.96);
  backdrop-filter:blur(20px);

  border:1px solid var(--border);
  border-radius:20px;
  box-shadow:var(--shadow-lg);

  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.25s;
}

.nav-dropdown:hover .dropdown,
.nav-dropdown.open .dropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.dropdown a{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 13px;
  border-radius:14px;
  transition:.2s;
}

.dropdown a:hover{
  background:#eef7ff;
  color:var(--blue);
}

.dropdown-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:11px;

  display:grid;
  place-items:center;

  color:var(--blue);
  background:#edf7ff;
}

.dropdown-icon svg{
  width:18px;
}

.dropdown-title{
  font-size:13px;
  font-weight:800;
}

.dropdown-desc{
  display:block;
  font-size:10px;
  color:#8391a7;
  font-weight:500;
}

.dropdown-all{
  margin-top:6px;
  background:linear-gradient(135deg,#edf7ff,#f0fff9);
  color:var(--blue)!important;
  font-weight:800;
}

.nav-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.btn{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  padding:0 18px;
  border-radius:13px;

  font-size:12px;
  font-weight:800;

  transition:.3s;
}

.btn-outline{
  color:var(--blue);
  border:1px solid rgba(8,120,249,.18);
  background:#fff;
}

.btn-outline:hover{
  background:#edf7ff;
  transform:translateY(-2px);
}

.btn-primary{
  color:#fff;
  border:0;
  background:linear-gradient(135deg,var(--blue),#0b91f5);
  box-shadow:0 10px 24px rgba(8,120,249,.22);
}

.btn-primary:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 30px rgba(8,120,249,.3);
}

.btn-green{
  background:linear-gradient(135deg,var(--green),#0da878);
  color:#fff;
  box-shadow:0 10px 24px rgba(22,199,132,.2);
}

.burger{
  display:none;
  width:45px;
  height:45px;
  border:0;
  border-radius:13px;
  background:#eef6ff;
  color:var(--blue);
}


/* =========================
   HERO
========================= */

.hero{
    position:relative;

    min-height:850px;

    padding:180px 0 110px;

    overflow:hidden;
}

.hero:before{
    content:"";

    position:absolute;

    width:650px;
    height:650px;

    right:-250px;
    top:30px;

    background:
        radial-gradient(circle,
        rgba(23,105,255,.15),
        rgba(23,105,255,.04) 45%,
        transparent 70%);

    pointer-events:none;
}

.hero:after{
    content:"";

    position:absolute;

    width:500px;
    height:500px;

    left:-250px;
    bottom:-250px;

    background:
        radial-gradient(circle,
        rgba(22,201,141,.12),
        transparent 65%);

    pointer-events:none;
}

.hero-grid{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:1.05fr .95fr;

    gap:70px;

    align-items:center;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;

    padding:7px 12px;

    border-radius:999px;

    color:#1262dc;

    font-size:11px;
    font-weight:800;

    background:
        linear-gradient(135deg,#eaf3ff,#f0fbf7);

    border:1px solid #d5e6fb;
}

.eyebrow i{
    width:7px;
    height:7px;

    border-radius:50%;

    background:var(--green);

    box-shadow:
        0 0 0 4px rgba(22,201,141,.12),
        0 0 15px rgba(22,201,141,.5);
}

h1{
    margin:22px 0 20px;



    font-size:clamp(44px,6vw,75px);
    line-height:1.15;

    letter-spacing:-2.7px;

    font-weight:900;

    color:#102b55;
}

.gradient{
    background:
        linear-gradient(
            100deg,
            #1262dc 10%,
            #1769ff 48%,
            #13b982 100%
        );

    -webkit-background-clip:text;
    background-clip:text;

    color:transparent;
}

.hero p{
    max-width:650px;

    color:var(--muted);

    font-size:17px;
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;

    margin-top:30px;
}

.trust{
    display:flex;
    flex-wrap:wrap;
    gap:22px;

    margin-top:34px;

    color:#70829c;
    font-size:11px;
}

.trust span{
    display:flex;
    align-items:center;
    gap:7px;
}

.trust b{
    color:#38536f;
}

/* =========================
   DASHBOARD
========================= */

.dashboard{
    position:relative;
}

.dashboard:before{
    content:"";

    position:absolute;

    width:180px;
    height:180px;

    top:-70px;
    left:-70px;

    border-radius:50%;

    background:rgba(22,201,141,.14);

    filter:blur(30px);
}

.dash{
    position:relative;

    padding:19px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #eef6ff
        );

    border:1px solid #d9e7f8;

    border-radius:32px;

    box-shadow:
        0 35px 90px rgba(32,92,170,.15);

    transform:rotate(1.5deg);

    transition:.4s;
}

.dashboard:hover .dash{
    transform:rotate(0) translateY(-6px);
}

.dash:before{
    content:"";

    position:absolute;
    inset:-1px;

    border-radius:32px;

    background:
        linear-gradient(
            135deg,
            rgba(23,105,255,.3),
            transparent 35%,
            rgba(22,201,141,.25)
        );

    z-index:-1;
}

.dtop{
    display:flex;
    justify-content:space-between;
    align-items:center;

    margin-bottom:16px;
}

.dtop strong{
    color:#18345b;
}

.dots{
    display:flex;
    gap:5px;
}

.dots i{
    width:8px;
    height:8px;

    border-radius:50%;

    background:#bfd0e6;
}

.status{
    font-size:9px;

    color:#0c9b68;

    background:#e9fbf4;

    border:1px solid #c9f3e3;

    padding:5px 9px;

    border-radius:999px;
}

.chart{
    height:200px;

    border-radius:21px;

    background:
        linear-gradient(
            180deg,
            #e9f3ff,
            #f7fbff
        );

    border:1px solid #dce9f8;

    overflow:hidden;

    padding:18px;
}

.chart svg{
    width:100%;
    height:100%;
}

.dcards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;

    margin-top:10px;
}

.dc{
    padding:14px;

    border-radius:16px;

    background:#fff;

    border:1px solid #e1eaf5;
}

.dc small{
    color:#8192aa;
    font-size:9px;
}

.dc strong{
    display:block;

    margin-top:3px;

    color:#16345c;

    font-size:20px;
}

.dc.green strong{
    color:#0ba873;
}

/* =========================
   FEATURES
========================= */

.features{
    position:relative;
    z-index:4;

    margin-top:-65px;
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:13px;
}

.feature{
    position:relative;

    padding:21px;

    border:1px solid #dbe7f5;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.97),
            rgba(243,248,255,.95)
        );

    border-radius:20px;

    box-shadow:
        0 15px 45px rgba(37,91,155,.08);

    overflow:hidden;

    transition:.3s;
}

.feature:before{
    content:"";

    position:absolute;

    width:90px;
    height:90px;

    left:-35px;
    bottom:-45px;

    border-radius:50%;

    background:rgba(23,105,255,.08);
}

.feature:hover{
    transform:translateY(-7px);

    border-color:#bdd6f5;

    box-shadow:
        0 22px 50px rgba(23,105,255,.13);
}

.feature .ico{
    width:43px;
    height:43px;

    display:grid;
    place-items:center;

    border-radius:14px;

    color:var(--blue);

    background:
        linear-gradient(
            135deg,
            #e7f1ff,
            #eafff7
        );

    margin-bottom:13px;
}

.feature .ico svg{
    width:22px;
}

.feature h3{
    margin:0 0 4px;

    font-size:14px;

    color:#17365f;
}

.feature p{
    margin:0;

    color:#7a8ca5;

    font-size:10px;
}

/* =========================
   SECTIONS
========================= */

.section{
    padding:120px 0;
}

.section-head{

    margin-bottom:45px;
}

.section-head.center{
    margin-inline:auto;
    text-align:center;
}

.section-head .eyebrow{
    margin-bottom:14px;
}

h2{
    margin:0 0 13px;

    font-size:clamp(31px,4vw,49px);

    line-height:1.3;

    letter-spacing:-1.2px;

    color:#102b55;
}

.section-head p{
    margin:0;

    color:var(--muted);

    font-size:14px;
}

/* =========================
   SOLUTIONS
========================= */

.solutions{
    background:
        linear-gradient(
            180deg,
            rgba(234,243,255,.75),
            rgba(245,250,255,.92)
        );

    border-block:1px solid #e2edf9;
}

.sol-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.card{
    position:relative;

    padding:29px;

    border:1px solid #dce8f6;

    border-radius:25px;

    background:
        linear-gradient(
            150deg,
            #fff,
            #f6faff
        );

    overflow:hidden;

    transition:.35s;

    box-shadow:
        0 12px 35px rgba(35,91,153,.055);
}

.card:before{
    content:"";

    position:absolute;

    width:170px;
    height:170px;

    left:-90px;
    bottom:-90px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(23,105,255,.12),
            transparent 65%
        );

    transition:.35s;
}

.card:after{
    content:"";

    position:absolute;

    top:0;
    right:0;

    width:100%;
    height:3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(23,105,255,.5),
            rgba(22,201,141,.5),
            transparent
        );

    opacity:0;

    transition:.3s;
}

.card:hover{
    transform:translateY(-8px);

    border-color:#bcd5f2;

    box-shadow:
        0 25px 60px rgba(24,88,160,.13);
}

.card:hover:after{
    opacity:1;
}

.card:hover:before{
    transform:scale(1.35);
}

.card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.num{
    color:#9aaac0;

    font:700 11px monospace;
}

.icon{
    width:55px;
    height:55px;

    display:grid;
    place-items:center;

    border-radius:17px;

    color:var(--blue);

    background:
        linear-gradient(
            135deg,
            #e8f2ff,
            #edfff8
        );

    border:1px solid #d6e6f7;

    transition:.3s;
}

.card:hover .icon{
    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--blue),
            var(--green)
        );

    transform:rotate(-5deg) scale(1.05);
}

.icon svg{
    width:26px;
}

.card h3{
    margin:22px 0 2px;

    font-size:18px;

    color:#16345c;
}

.en{
    color:var(--blue);

    font-size:9px;
    font-weight:800;

    letter-spacing:.5px;
}

.card p{
    margin:13px 0 0;

    color:#7a8ca5;

    font-size:12px;
}

.more{
    display:inline-flex;
    align-items:center;
    gap:6px;

    margin-top:20px;

    color:#356087;

    font-size:11px;
    font-weight:800;
}

.more span{
    color:var(--green);
    transition:.25s;
}

.card:hover .more span{
    transform:translateX(-5px);
}

/* =========================
   MARQUEE
========================= */

.marquee{
    border-block:1px solid #dce9f7;

    padding:19px 0;

    overflow:hidden;

    background:
        linear-gradient(
            90deg,
            #edf5ff,
            #f5fbff,
            #eefaf6
        );
}

.marquee-track{
    display:flex;
    gap:48px;

    width:max-content;

    white-space:nowrap;

    animation:move 30s linear infinite;

    color:#7790ad;

    font-size:10px;
    font-weight:800;
}

.marquee-track b{
    color:var(--green);
}

@keyframes move{
    to{
        transform:translateX(50%);
    }
}

/* =========================
   ABOUT
========================= */

.story{
    display:grid;

    grid-template-columns:.85fr 1.15fr;

    gap:75px;

    align-items:center;
}

.story-panel{
    position:relative;

    padding:34px;

    border:1px solid #dce8f6;

    border-radius:30px;

    background:
        radial-gradient(
            circle at 20% 20%,
            rgba(23,105,255,.10),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #ffffff,
            #eef7ff
        );

    box-shadow:var(--shadow);
}

.steps{
    display:grid;
    gap:14px;

    margin-top:25px;
}

.step{
    display:flex;
    align-items:flex-start;
    gap:15px;

    padding:15px;

    border-radius:16px;

    background:rgba(255,255,255,.65);

    border:1px solid rgba(217,231,246,.8);

    transition:.25s;
}

.step:hover{
    transform:translateX(-5px);

    background:#fff;

    box-shadow:0 10px 30px rgba(23,105,255,.08);
}

.step b{
    min-width:34px;
    height:34px;

    display:grid;
    place-items:center;

    border-radius:10px;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--blue),
            var(--cyan)
        );

    font:800 10px monospace;
}

.step h4{
    margin:0;

    font-size:13px;

    color:#1c3a61;
}

.step p{
    margin:2px 0 0;

    color:#7d8ea7;

    font-size:10px;
}

.stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:10px;

    margin-top:22px;
}

.stat{
    padding:17px;

    border:1px solid #dce8f6;

    border-radius:17px;

    background:#f7fbff;
}

.stat strong{
    color:var(--blue);

    font-size:25px;
}

.stat span{
    display:block;

    color:#7c8fa9;

    font-size:10px;
}

/* =========================
   SMALL BUSINESS
========================= */

.small-business{
    position:relative;

    padding:110px 0;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            #0e5eea,
            #1769ff 55%,
            #0c9f73
        );

    color:#fff;
}

.small-business:before{
    content:"";

    position:absolute;

    width:500px;
    height:500px;

    left:-200px;
    top:-250px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    filter:blur(5px);
}

.business-grid{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:60px;

    align-items:center;
}

.small-business h2{
    color:#fff;
}

.small-business p{
    color:rgba(255,255,255,.78);
}

.business-list{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:12px;

    margin-top:25px;
}

.business-item{
    display:flex;
    align-items:center;
    gap:9px;

    color:#fff;

    font-size:11px;
}

.business-item i{
    width:26px;
    height:26px;

    display:grid;
    place-items:center;

    border-radius:8px;

    background:rgba(255,255,255,.15);
}

.business-card{
    padding:28px;

    border-radius:27px;

    background:rgba(255,255,255,.11);

    border:1px solid rgba(255,255,255,.2);

    backdrop-filter:blur(15px);

    box-shadow:0 25px 70px rgba(0,0,0,.13);
}

.business-card h3{
    margin-top:0;

    font-size:18px;
}

.business-card p{
    font-size:11px;
}

.business-card .mini{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:8px;

    margin-top:20px;
}

.mini div{
    padding:15px 10px;

    text-align:center;

    border-radius:14px;

    background:rgba(255,255,255,.1);
}

.mini strong{
    display:block;

    font-size:18px;
}

.mini span{
    color:rgba(255,255,255,.7);

    font-size:8px;
}

/* =========================
   INFRASTRUCTURE
========================= */

.infrastructure{
    padding:120px 0;

    background:#f7fbff;
}

.infrastructure-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:14px;
}

.infra-card{
    padding:25px;

    border-radius:22px;

    background:#fff;

    border:1px solid #dce8f6;

    transition:.3s;
}

.infra-card:hover{
    transform:translateY(-6px);

    box-shadow:var(--shadow2);
}

.infra-icon{
    width:50px;
    height:50px;

    display:grid;
    place-items:center;

    border-radius:15px;

    color:var(--green);

    background:#eafaf4;

    margin-bottom:18px;
}

.infra-icon svg{
    width:25px;
}

.infra-card h3{
    margin:0;

    color:#19395f;

    font-size:15px;
}

.infra-card p{
    color:#7b8da6;

    font-size:10px;
}

/* =========================
   PROCESS
========================= */

.process{
    background:
        linear-gradient(
            180deg,
            #edf5ff,
            #f7fbff
        );
}

.process-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:13px;
}

.process .card{
    background:#fff;
}

.process .num{
    color:var(--blue);
}

/* =========================
   PRICING
========================= */

.pricing{
    background:#f7fbff;
}

.price-grid{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:15px;

    align-items:stretch;
}

.price{
    position:relative;

    padding:30px;

    border:1px solid #dce8f6;

    border-radius:26px;

    background:#fff;

    box-shadow:
        0 10px 35px rgba(34,87,150,.05);
}

.price.featured{
    border-color:#94bdf5;

    background:
        linear-gradient(
            160deg,
            #edf5ff,
            #ffffff
        );

    box-shadow:
        0 25px 70px rgba(23,105,255,.13);

    transform:translateY(-10px);
}

.tag{
    position:absolute;

    left:22px;
    top:20px;

    padding:5px 10px;

    border-radius:999px;

    color:#0b9a68;

    background:#e9fbf4;

    border:1px solid #c9f2e1;

    font-size:9px;

    font-weight:800;
}

.price h3{
    margin:0 0 12px;

    color:#18385e;
}

.amount{
    color:var(--blue);

    font-size:36px;

    font-weight:900;
}

.unit{
    color:#8091a8;

    font-size:10px;
}

.price ul{
    list-style:none;

    padding:0;

    margin:24px 0;

    display:grid;

    gap:11px;

    color:#7386a0;

    font-size:11px;
}

.price li:before{
    content:"✓";

    color:var(--green);

    font-weight:900;

    margin-left:8px;
}

/* =========================
   CTA
========================= */

.cta{
    padding:90px 0;
}

.cta-box{
    position:relative;

    overflow:hidden;

    padding:60px;

    text-align:center;

    border-radius:34px;

    border:1px solid #cbdff6;

    background:
        radial-gradient(
            circle at 80% 0%,
            rgba(23,105,255,.16),
            transparent 35%
        ),
        radial-gradient(
            circle at 10% 100%,
            rgba(22,201,141,.14),
            transparent 35%
        ),
        #edf6ff;

    box-shadow:
        0 25px 70px rgba(32,91,160,.10);
}

.cta-box h2{


    margin:0 auto 12px;
}

.cta-box p{
    max-width:620px;

    margin:0 auto 25px;

    color:#72859f;

    font-size:13px;
}

/* =========================
   CONTACT
========================= */

.contact{
    background:
        linear-gradient(
            180deg,
            #f0f7ff,
            #eaf4ff
        );

    border-top:1px solid #dce9f7;
}

.contact-grid{
    display:grid;

    grid-template-columns:1.15fr .85fr;

    gap:18px;
}

.form,
.contact-card{
    padding:30px;

    border:1px solid #d8e6f6;

    border-radius:27px;

    background:#fff;

    box-shadow:
        0 18px 50px rgba(35,90,150,.07);
}

.form-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:12px;
}

.field{
    display:grid;

    gap:6px;

    margin-bottom:12px;
}

.field.full{
    grid-column:1/-1;
}

label{
    color:#6f829d;

    font-size:10px;
    font-weight:600;
}

input,
textarea{
    width:100%;

    border:1px solid #dce7f4;

    outline:0;

    background:#f8fbff;

    color:#18365c;

    border-radius:13px;

    padding:13px 14px;

    font-size:12px;

    transition:.25s;
}

input::placeholder,
textarea::placeholder{
    color:#a3b1c2;
}

input:focus,
textarea:focus{
    border-color:#78aaf1;

    background:#fff;

    box-shadow:
        0 0 0 4px rgba(23,105,255,.08);
}

textarea{
    min-height:140px;

    resize:none;
}

.contact-card{
    position:relative;

    overflow:hidden;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #edf6ff
        );
}

.contact-card:before{
    content:"";

    position:absolute;

    width:200px;
    height:200px;

    left:-100px;
    bottom:-100px;

    border-radius:50%;

    background:rgba(22,201,141,.10);
}

.contact-card h3{
    margin-top:0;

    color:#18365d;
}

.contact-card>p{
    color:#7a8da6;

    font-size:11px;
}

.contact-list{
    display:grid;

    gap:13px;

    margin-top:25px;
}

.contact-item{
    display:flex;

    gap:12px;

    align-items:center;

    color:#637994;

    font-size:11px;
}

.contact-item i{
    min-width:40px;
    height:40px;

    display:grid;
    place-items:center;

    border-radius:12px;

    color:var(--blue);

    background:#eaf3ff;

    font-style:normal;
}

.contact-item strong{
    display:block;

    color:#234365;

    font-size:11px;
}

.contact-item span{
    display:block;

    color:#7d8fa6;

    font-size:10px;
}

/* =========================
   FOOTER
========================= */

footer{
    position:relative;

    padding:70px 0 25px;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            #0a2f69,
            #0b3d7f 55%,
            #087457
        );

    color:#fff;
}

footer:before{
    content:"";

    position:absolute;

    width:500px;
    height:500px;

    left:-200px;
    top:-300px;

    border-radius:50%;

    background:rgba(255,255,255,.07);

    filter:blur(20px);
}

footer:after{
    content:"";

    position:absolute;

    width:400px;
    height:400px;

    right:-200px;
    bottom:-250px;

    border-radius:50%;

    background:rgba(22,201,141,.08);

    filter:blur(20px);
}

.footer-grid{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:1.5fr 1fr 1fr 1.2fr;

    gap:40px;
}

.footer-grid h4{
    margin-top:0;

    color:#fff;

    font-size:20px;
}

.footer-grid p,
.footer-grid a{
    color:rgba(255,255,255,.68);

    font-size:12px;
}

.footer-grid a{
    display:block;

    margin:8px 0;

    transition:.2s;
}

.footer-grid a:hover{
    color:#fff;

    transform:translateX(-3px);
}

.foot-logo{
    display:flex;
    align-items:center;
    gap:11px;
}

.foot-logo .logo-mark{
    width:80px;
    height:40px;
}


.footer-about{
    margin-top:18px;

    max-width:310px;

    color:rgba(255,255,255,.65);

    font-size:10px;

    line-height:2;
}

.footer-contact{
    display:grid;

    gap:12px;

    margin-top:15px;
}

.footer-contact-item{
    display:flex;

    gap:9px;

    align-items:flex-start;

    color:rgba(255,255,255,.72);

    font-size:12px;
}

.footer-contact-item i{
    width:30px;
    height:30px;

    flex:none;

    display:grid;
    place-items:center;

    border-radius:9px;

    color:#fff;

    background:rgba(255,255,255,.11);

    font-style:normal;
}

.footer-contact-item div{
    padding-top:3px;
}

.copyright{
    position:relative;
    z-index:2;

    display:flex;

    justify-content:space-between;

    gap:15px;

    border-top:1px solid rgba(255,255,255,.12);

    margin-top:45px;

    padding-top:20px;

    color:rgba(255,255,255,.42);

    font-size:9px;
}

/* =========================
   REVEAL
========================= */

.reveal{
    opacity:0;

    transform:translateY(22px);

    transition:
        opacity .7s ease,
        transform .7s ease;
}

.reveal.show{
    opacity:1;

    transform:none;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1050px){

    .nav{
        display:none;
    }

    .burger{
        display:grid;
        place-items:center;
    }

    .navbar.mobile-open{
        height:auto;
        align-items:flex-start;
        flex-wrap:wrap;
        padding:15px;
    }

    .navbar.mobile-open .nav{
        display:flex;
        width:100%;
        flex-direction:column;
        align-items:stretch;
        order:5;
        padding-top:8px;
    }

    .navbar.mobile-open .nav > a,
    .navbar.mobile-open .nav-dropdown > button{
        width:100%;
        text-align:right;
    }

    .navbar.mobile-open .dropdown{
        position:static;
        width:100%;
        margin-top:5px;
        display:none;
        opacity:1;
        visibility:visible;
        transform:none;
        box-shadow:none;
    }

    .navbar.mobile-open .nav-dropdown.open .dropdown{
        display:block;
    }

    .hero{
        padding-top:150px;
    }

    .hero-grid{
        grid-template-columns:1fr;

        gap:55px;
    }

    .dashboard{
        max-width:700px;

        width:100%;

        margin:auto;
    }

    .feature-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .sol-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .story{
        grid-template-columns:1fr;
    }

    .business-grid{
        grid-template-columns:1fr;
    }

    .infrastructure-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .process-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .price-grid{
        grid-template-columns:1fr;
    }

    .price.featured{
        transform:none;
    }

    .contact-grid{
        grid-template-columns:1fr;
    }

    .footer-grid{
        grid-template-columns:1.5fr 1fr 1fr;
    }

}


@media(max-width:720px){

    .header{
        top:10px;
    }

    .navbar{
        width:calc(100% - 18px);
        height:65px;
        border-radius:19px;
    }

    .nav-actions .btn-outline{
        display:none;
    }

}
@media(max-width:650px){

    .wrap{
        width:min(100% - 24px,1180px);
    }

    .hero{
        min-height:auto;

        padding:
            125px
            0
            70px;
    }

    h1{
        font-size:43px;

        letter-spacing:-1.7px;
    }

    .hero p{
        font-size:14px;
    }

    .hero-actions{
        flex-direction:column;
    }

    .hero-actions .btn{
        width:100%;
    }

    .trust{
        gap:12px;
    }

    .dash{
        transform:none;

        padding:12px;

        border-radius:23px;
    }

    .chart{
        height:145px;
    }

    .dcards{
        grid-template-columns:1fr 1fr;
    }

    .dc:last-child{
        display:none;
    }

    .features{
        margin-top:0;
    }

    .feature-grid,
    .sol-grid,
    .process-grid,
    .infrastructure-grid{
        grid-template-columns:1fr;
    }

    .section{
        padding:80px 0;
    }

    .section-head{
        margin-bottom:30px;
    }

    h2{
        font-size:31px;
    }

    .story-panel{
        padding:22px;
    }

    .stats{
        grid-template-columns:1fr 1fr;
    }

    .stat:last-child{
        grid-column:1/-1;
    }

    .small-business{
        padding:80px 0;
    }

    .business-list{
        grid-template-columns:1fr;
    }

    .business-card{
        padding:22px;
    }

    .form-grid{
        grid-template-columns:1fr;
    }

    .field.full{
        grid-column:auto;
    }

    .cta{
        padding:55px 0;
    }

    .cta-box{
        padding:40px 20px;

        border-radius:25px;
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;

        gap:25px;
    }

    .footer-grid>div:first-child{
        grid-column:1/-1;
    }

    .copyright{
        flex-direction:column;

        gap:7px;
    }

}

@media(max-width:470px){
    .nav-actions .btn-primary{
        display:none;
    }
}

@media(max-width:420px){

    h1{
        font-size:38px;
    }

    .nav-actions .btn-primary{
        padding-inline:12px;
    }

    .dcards{
        grid-template-columns:1fr 1fr;
    }

    .mini{
        grid-template-columns:1fr !important;
    }

    .footer-grid{
        grid-template-columns:1fr;
    }

    .footer-grid>div:first-child{
        grid-column:auto;
    }

}

/* =========================
   REDUCED MOTION
========================= */

@media(prefers-reduced-motion:reduce){

    *,
    *:before,
    *:after{
        scroll-behavior:auto!important;
        animation:none!important;
        transition:none!important;
    }

}
