/* =====================================================
   LUFO Digital Solutions — Custom Stylesheet
   Built on top of Bootstrap 5.3 (grid, navbar, utilities)
   ===================================================== */

:root{
  --ink:#0B1F3A;
  --ink-2:#0F2540;
  --ink-3:#15304F;
  --teal:#0EA98B;
  --teal-dark:#087A63;
  --teal-light:#E6F7F3;
  --gold:#F2A93B;
  --gold-light:#FDF1DD;
  --bg:#F6F8FA;
  --surface:#FFFFFF;
  --line:#E4E9F0;
  --text:#152238;
  --text-muted:#5C6B82;
}

html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  padding-top:86px; /* fixed navbar offset */
}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;color:var(--ink);letter-spacing:-0.01em;}
.mono{font-family:'JetBrains Mono',monospace;}
a{text-decoration:none;color:inherit;}
section{scroll-margin-top:90px;}
.container-xl-custom{max-width:1240px;}


.card,
.solution-card,
.feat-card,
.ind-card{
    will-change:transform;
}
img{
    transition:.45s ease;
}

a{
    transition:.3s;
}

button{
    transition:.3s;
}

.btn:hover{
    transform:translateY(-3px);
}

.section-title{
    position:relative;
}

.section-title::after{
    content:"";
    width:70px;
    height:3px;
    background:linear-gradient(to right,var(--teal),var(--teal-dark));
    display:block;
    margin-top:12px;
    border-radius:20px;
}

/* ---------- Eyebrow ---------- */
.eyebrow{
  display:flex;align-items:center;gap:10px;
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--teal-dark);margin-bottom:14px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:linear-gradient(90deg,var(--teal),var(--gold));border-radius:2px;flex-shrink:0;}
.eyebrow.on-dark{color:#7FE3C9;}

.icon{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}

/* ---------- Navbar ---------- */
.navbar-lufo{
  background:#fff;border-bottom:1px solid var(--line);
  position:fixed;top:0;left:0;right:0;z-index:1030;
  transition:box-shadow .25s ease;
  padding-top:18px;padding-bottom:18px;
}
.navbar-lufo.scrolled{box-shadow:0 8px 24px -12px rgba(10,26,46,0.15);}

.navbar-brand{
    display:flex;
    align-items:center;
    text-decoration:none;
}

.brand-logo{
    width:48px;
    height:48px;
    object-fit:contain;
    flex-shrink:0;
    transition:0.3s ease;
}

.brand-text{
    display:flex;
    flex-direction:column;
    justify-content:center;
    line-height:1;
}

.brand-text .name{
    font-family:'Space Grotesk',sans-serif;
    font-size:32px;
    font-weight:700;
    color:var(--ink);
    letter-spacing:-0.5px;
    margin-bottom:3px;
}

.brand-text .tag{
    font-family:'JetBrains Mono',monospace;
    font-size:10px;
    letter-spacing:0.35em;
    color:var(--teal-dark);
    text-transform:uppercase;
}
.navbar-lufo .nav-link{
    font-size:15px;
    font-weight:500;
    color:var(--text);
    padding:8px 14px;
}

.navbar-lufo .nav-link.active{
    color:var(--teal-dark);
    font-weight:600;
}

/* Small animation */

.navbar-brand:hover .brand-logo{
    transform:scale(1.05);
}

/* Scroll Effect */

.navbar-lufo.scrolled .brand-logo{
    width:44px;
    height:44px;
}

.navbar-lufo.scrolled .brand-text .name{
    font-size:30px;
}

/* ---------- Buttons ---------- */
.btn-lufo-primary{
  background:var(--teal);color:#fff;border:1px solid var(--teal);
  padding:12px 24px;border-radius:11px;font-weight:600;font-size:14.5px;
  box-shadow:0 10px 24px -8px rgba(14,169,139,0.45);
}
.btn-lufo-primary:hover{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff;}
.btn-lufo-outline{
  background:#fff;border:1.5px solid var(--ink);color:var(--ink);
  padding:11px 24px;border-radius:11px;font-weight:600;font-size:14.5px;
}
.btn-lufo-outline:hover{background:var(--ink);color:#fff;}
.btn-lufo-outline.on-dark{background:transparent;border:1.5px solid rgba(255,255,255,0.35);color:#fff;}
.btn-lufo-outline.on-dark:hover{background:rgba(255,255,255,0.1);color:#fff;}
.btn-lufo-white{background:#fff;color:var(--ink);padding:13px 26px;border-radius:11px;font-weight:600;font-size:14.5px;border:none;}
.btn-lufo-white:hover{background:var(--gold-light);color:var(--ink);}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(700px 500px at 82% 18%, rgba(14,169,139,0.13), transparent 60%),
    radial-gradient(500px 400px at 95% 60%, rgba(242,169,59,0.10), transparent 60%),
    var(--bg);
  padding:72px 0 90px;
}
.hero h1{font-size:42px;line-height:1.00;font-weight:700;margin-bottom:22px; max-width:620px;}
.hero h1 .hl{color:var(--teal-dark);}
.hero p.lead-custom{font-size:16.5px;line-height:1.65;color:var(--text-muted);margin-bottom:28px;max-width:460px;}
.badges-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:32px;max-width:460px;}
.badge-item{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:var(--text);}
.badge-item .ic{
  width:36px;height:36px;border-radius:9px;flex-shrink:0;
  background:var(--ink);color:var(--teal);
  display:flex;align-items:center;justify-content:center;
}
.badge-item .ic svg{width:18px;height:18px;}

/* hero visual panel */
.hero-visual{position:relative;padding-bottom:40px;}
.glow{position:absolute;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(14,169,139,0.28),transparent 70%);
  top:-30px;right:-40px;filter:blur(10px);pointer-events:none;z-index:0;}
.glow-2{position:absolute;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,169,59,0.16),transparent 70%);
  bottom:0;left:-30px;filter:blur(10px);pointer-events:none;z-index:0;}
.console{
  position:relative;z-index:1;width:100%;max-width:600px;margin:0 auto;
  background:linear-gradient(165deg,var(--ink-3),var(--ink) 55%);
  border-radius:24px;padding:26px 26px 28px;
  box-shadow:0 44px 80px -30px rgba(10,26,46,0.5);
  border:1px solid rgba(255,255,255,0.07);
}
.console-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:8px;}
.dots-row{display:flex;gap:6px;}
.dots-row span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.18);}
.console-top .lbl{font-family:'JetBrains Mono',monospace;font-size:11px;color:rgba(255,255,255,0.45);letter-spacing:0.08em;}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;}
.stat-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:12px 12px;}
.stat-card .l{font-size:10px;color:rgba(255,255,255,0.45);font-family:'JetBrains Mono',monospace;letter-spacing:0.03em;margin-bottom:6px;}
.stat-card .v{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;color:#fff;}
.stat-card .v.up{color:var(--teal);}
.chart-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:16px 18px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.chart-card svg{max-width:100%;height:auto;flex:1;min-width:140px;}
.chart-l{font-size:10.5px;color:rgba(255,255,255,0.5);font-family:'JetBrains Mono',monospace;margin-bottom:8px;letter-spacing:0.03em;}
.ring{width:76px;height:76px;border-radius:50%;flex-shrink:0;
  background:conic-gradient(var(--teal) 0% 78%, rgba(255,255,255,0.10) 78% 100%);
  display:flex;align-items:center;justify-content:center;}
.ring-in{width:56px;height:56px;border-radius:50%;background:var(--ink-3);display:flex;flex-direction:column;align-items:center;justify-content:center;}
.ring-in b{font-family:'Space Grotesk',sans-serif;color:#fff;font-size:16px;}
.ring-in i{font-style:normal;font-size:8px;color:rgba(255,255,255,0.4);font-family:'JetBrains Mono',monospace;}

.panel-divider{height:1px;background:rgba(255,255,255,0.09);margin:18px 0 16px;}
.strip-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px;}
.strip-label{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:rgba(255,255,255,0.45);letter-spacing:0.06em;}
.strip-count{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:11.5px;color:var(--teal);background:rgba(14,169,139,0.14);padding:4px 10px;border-radius:20px;white-space:nowrap;}
.strip-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.strip-tile{background:rgba(255,255,255,0.045);border:1px solid rgba(255,255,255,0.08);border-radius:12px;
  padding:12px 6px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;}
.strip-tile .ic{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,0.07);color:var(--teal);display:flex;align-items:center;justify-content:center;}
.strip-tile span{font-size:10px;font-weight:600;color:rgba(255,255,255,0.8);line-height:1.2;}
.strip-tile.more{background:rgba(242,169,59,0.08);border-color:rgba(242,169,59,0.18);}
.strip-tile.more .ic{background:rgba(242,169,59,0.16);color:var(--gold);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:11px;}
.strip-tile.more span{color:var(--gold);}

.badge-float{
  position:relative;z-index:1;margin-top:-24px;margin-left:16px;
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  color:#fff;padding:13px 18px;border-radius:14px;
  box-shadow:0 22px 40px -14px rgba(14,169,139,0.5);
  max-width:calc(100% - 32px);
}
.badge-float svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.8;flex-shrink:0;}
.badge-float b{font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;display:block;line-height:1.2;}
.badge-float i{font-style:normal;font-size:10px;color:rgba(255,255,255,0.75);}

/* ---------- Section heads ---------- */
.section-head h2{font-size:32px;font-weight:700;line-height:1.2;margin-bottom:14px;}
.section-head p{color:var(--text-muted);font-size:15px;line-height:1.6;margin-bottom:0;}
.viewall-link{font-size:14px;font-weight:600;color:var(--teal-dark);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.viewall-link svg{width:14px;height:14px;}

/* ---------- Solution / feature cards ---------- */
/* ==========================================================
   SOLUTION CARDS
========================================================== */
.solution-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:18px;
    padding:26px 22px 24px;
    height:100%;
    transition:all .35s ease;
    position:relative;
    overflow:hidden;
}

.solution-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:4px;
    height:0;
    background:linear-gradient(to bottom,var(--teal),var(--teal-dark));
    transition:.35s;
}

.solution-card:hover{
    transform:translateY(-10px);
    box-shadow:0 18px 40px rgba(13,110,253,.08);
    border-color:#bfe9e4;
}

.solution-card:hover::before{
    height:100%;
}

.solution-card .tile{
    width:52px;
    height:52px;
    border-radius:14px;
    margin-bottom:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.35s;
}

.solution-card:hover .tile{
    transform:rotate(-8deg) scale(1.1);
}

.solution-card h4{
    font-size:16px;
    font-weight:700;
    margin-bottom:10px;
    transition:.3s;
}

.solution-card:hover h4{
    color:var(--teal-dark);
}

.solution-card p{
    font-size:13px;
    color:var(--text-muted);
    line-height:1.6;
    margin-bottom:18px;
}

.solution-card .go{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    font-weight:600;
    color:var(--teal-dark);
    transition:.3s;
}

.solution-card:hover .go{
    gap:10px;
}

/* icon colours */

.tile.t1{background:var(--ink);color:var(--teal);}
.tile.t2{background:var(--teal-light);color:var(--teal-dark);}
.tile.t3{background:var(--gold-light);color:#B9791F;}
.tile.t4{background:var(--ink);color:var(--gold);}
.tile.t5{background:var(--teal-light);color:var(--teal-dark);}


/* ==========================================================
   INDUSTRIES
========================================================== */

.ind-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:16px;
    padding:22px 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    text-align:center;
    height:100%;
    transition:.35s;
}

.ind-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    border-color:#c7ebe6;
}

.ind-card .ic{
    width:46px;
    height:46px;
    border-radius:13px;
    background:var(--bg);
    color:var(--teal-dark);
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line);
    transition:.35s;
}

.ind-card:hover .ic{
    background:linear-gradient(135deg,var(--teal-dark),var(--teal));
    color:#fff;
    transform:rotate(8deg) scale(1.12);
}

.ind-card span{
    font-size:13px;
    font-weight:600;
    transition:.3s;
}

.ind-card:hover span{
    color:var(--teal-dark);
}


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

.feat-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:18px;
    overflow:hidden;
    height:100%;
    transition:.4s;
}

.feat-card:hover{
    transform:translateY(-10px);
    box-shadow:0 22px 45px rgba(0,0,0,.10);
    border-color:#bde8e3;
}

.feat-thumb{
    height:140px;
    position:relative;
    overflow:hidden;
    padding:16px;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.feat-thumb::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,
    rgba(0,0,0,.25),
    transparent);
    opacity:0;
    transition:.4s;
}

.feat-card:hover .feat-thumb::after{
    opacity:1;
}

.feat-card:hover .feat-thumb img{
    transform:scale(1.08);
}

.feat-thumb img{
    transition:.6s;
}

.feat-thumb .fb{
    display:flex;
    gap:6px;
    align-items:center;
    margin-bottom:6px;
}

.feat-thumb .fb i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:rgba(255,255,255,.35);
}

.feat-thumb .barline{
    height:7px;
    border-radius:4px;
    background:rgba(255,255,255,.28);
}

.feat-thumb .barline.short{
    width:55%;
}

.feat-thumb .chip-row{
    display:flex;
    gap:6px;
    margin-top:auto;
}

.feat-thumb .chip{
    width:26px;
    height:26px;
    border-radius:7px;
    background:rgba(255,255,255,.22);
}

.feat-thumb.m1{background:linear-gradient(135deg,var(--ink),var(--ink-3));}
.feat-thumb.m2{background:linear-gradient(135deg,var(--teal-dark),var(--teal));}
.feat-thumb.m3{background:linear-gradient(135deg,#8a5a12,var(--gold));}
.feat-thumb.m4{background:linear-gradient(135deg,var(--ink-3),#1c4570);}
.feat-thumb.m5{background:linear-gradient(135deg,var(--teal-dark),#0b5c4a);}

.feat-body{
    padding:18px;
}

.feat-body h4{
    font-size:15px;
    font-weight:700;
    margin-bottom:8px;
    transition:.3s;
}

.feat-card:hover h4{
    color:var(--teal-dark);
}

.feat-body p{
    font-size:12.5px;
    color:var(--text-muted);
    line-height:1.6;
}


/* ==========================================================
   DOT NAVIGATION
========================================================== */

.dotsnav{
    display:flex;
    justify-content:center;
    gap:8px;
    list-style:none;
    padding:0;
    margin:0;
}

.dotsnav li{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#d8e3e8;
    cursor:pointer;
    transition:.35s;
}

.dotsnav li:hover{
    transform:scale(1.4);
    background:var(--teal);
}

.dotsnav li.active{
    width:24px;
    border-radius:10px;
    background:linear-gradient(90deg,var(--teal-dark),var(--teal));
}

/* ---------- Process + tech (dark band) ---------- */
.dark-band{background:var(--ink);color:#fff;padding:88px 0;}
.dark-band .section-head h2{color:#fff;}
.dark-band .section-head p{color:rgba(255,255,255,0.55);}
.timeline{margin-top:40px;}
.tstep{display:flex;gap:18px;position:relative;padding-bottom:32px;}
.tstep:last-child{padding-bottom:0;}
.tstep::before{content:"";position:absolute;left:23px;top:48px;bottom:0;width:1px;background:rgba(255,255,255,0.14);}
.tstep:last-child::before{display:none;}
.tstep .num{
  width:48px;height:48px;border-radius:13px;flex-shrink:0;
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);
  display:flex;align-items:center;justify-content:center;color:var(--teal);z-index:1;
}
.tstep .tx{padding-top:6px;}
.tstep .tx .k{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gold);letter-spacing:0.08em;margin-bottom:4px;}
.tstep .tx h4{color:#fff;font-size:16.5px;font-weight:700;margin:0;}

.tech-grid-wrap{margin-top:40px;}
.tech-chip{
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:13px;
  padding:15px 12px;display:flex;align-items:center;gap:10px;height:100%;
}
.tech-chip .m{
  width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,0.08);color:var(--teal);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.tech-chip span{font-size:13px;font-weight:600;color:#fff;}

/* ---------- Why choose ---------- */
/* ==========================================================
   WHY CHOOSE LUFO
========================================================== */

.why-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:16px;
    padding:30px 26px;
    display:flex;
    gap:16px;
    height:100%;
    position:relative;
    overflow:hidden;
    transition:all .35s ease;
}

/* Top gradient border animation */
.why-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:0;
    height:3px;
    background:linear-gradient(90deg,var(--teal),var(--teal-dark));
    transition:.35s ease;
}

.why-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(13,110,253,.08);
    border-color:#bfe9e4;
}

.why-card:hover::before{
    width:100%;
}

/* Icon */

.why-card .ic{
    width:52px;
    height:52px;
    border-radius:14px;
    background:var(--teal-light);
    color:var(--teal-dark);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    transition:all .35s ease;
}

.why-card:hover .ic{
    background:linear-gradient(135deg,var(--teal-dark),var(--teal));
    color:#fff;
    transform:rotate(-8deg) scale(1.12);
    box-shadow:0 10px 20px rgba(0,170,150,.25);
}

/* Title */

.why-card h4{
    font-size:15.5px;
    font-weight:700;
    margin-bottom:7px;
    transition:.3s;
}

.why-card:hover h4{
    color:var(--teal-dark);
}

/* Description */

.why-card p{
    font-size:12.8px;
    color:var(--text-muted);
    line-height:1.6;
    margin-bottom:0;
}

/* Slight text movement */

.why-card:hover .content{
    transform:translateX(3px);
}

.why-card .content{
    transition:.35s ease;
}

/* ---------- CTA banner ---------- */
.cta-inner{
  border-radius:26px;overflow:hidden;position:relative;
  background:linear-gradient(120deg,var(--ink) 0%, var(--ink-3) 45%, var(--teal-dark) 100%);
  padding:56px 44px;
}
.cta-inner::before{content:"";position:absolute;right:-80px;top:-100px;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,169,59,0.25),transparent 70%);pointer-events:none;}
.cta-inner .eyebrow{color:#7FE3C9;}
.cta-inner h2{color:#fff;font-size:30px;margin-bottom:14px;}
.cta-inner p{color:rgba(255,255,255,0.65);font-size:14.5px;line-height:1.6;margin-bottom:0;}

/* ---------- Footer ---------- */
footer{background:var(--ink);color:rgba(255,255,255,0.65);padding:72px 0 0;margin-top:90px;}
.foot-brand .brand-text .name{color:#fff;}
.foot-brand p{font-size:13px;line-height:1.65;color:rgba(255,255,255,0.5);margin:18px 0 22px;max-width:270px;}
.social-row{display:flex;gap:10px;}
.social-row a{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,0.07);display:flex;align-items:center;justify-content:center;}
.social-row a:hover{background:var(--teal);}
.social-row svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:1.7;}
.foot-col h5{font-family:'Space Grotesk',sans-serif;color:#fff;font-size:14.5px;font-weight:600;margin-bottom:18px;}
.foot-col ul{list-style:none;padding:0;margin:0;}
.foot-col ul li{margin-bottom:12px;}
.foot-col a{font-size:13.5px;color:rgba(255,255,255,0.55);}
.foot-col a:hover{color:var(--teal);}
.foot-contact li{display:flex;gap:10px;font-size:13.3px;color:rgba(255,255,255,0.55);margin-bottom:15px;align-items:flex-start;line-height:1.5;}
.foot-contact svg{width:16px;height:16px;stroke:var(--teal);fill:none;stroke-width:1.7;flex-shrink:0;margin-top:1px;}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.08);padding:22px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.foot-bottom p{font-size:12.5px;color:rgba(255,255,255,0.4);margin:0;}
.foot-bottom .links a{font-size:12.5px;color:rgba(255,255,255,0.4);margin-left:22px;}
.foot-bottom .links a:hover{color:var(--teal);}

/* ---------- Back to top ---------- */
#backToTop{
  position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;
  background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 28px -10px rgba(14,169,139,0.55);border:none;
  opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s ease;z-index:1040;
}
#backToTop.show{opacity:1;visibility:visible;transform:translateY(0);}
#backToTop svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2;}

/* ---------- Responsive ---------- */
@media (max-width: 991.98px){
  body{padding-top:76px;}
  .hero{padding:48px 0 60px;text-align:left;}
  .hero h1{font-size:36px;}
  .hero-visual{margin-top:44px;}
  .section-head h2{font-size:26px;}
  .why-card{padding:24px 20px;}
  .cta-inner{padding:44px 28px;text-align:center;}
  .cta-inner .eyebrow{justify-content:center;}
  .cta-inner .btn-lufo-white{margin-top:20px;}
}
@media (max-width: 575.98px){
  .hero h1{font-size:30px;}
  .badges-grid{grid-template-columns:1fr;}
  .strip-icons{grid-template-columns:repeat(2,1fr);}
  .stat-row{grid-template-columns:1fr;}
  .foot-bottom{flex-direction:column;text-align:center;}
  .foot-bottom .links a{margin:0 10px;}
}

/*=============================
 Trusted By Section
==============================*/

.trusted-section{
    background:#fff;
    border-top:1px solid #f3f3f3;
    border-bottom:1px solid #f3f3f3;
}

.trusted-title{
    font-size:13px;
    font-weight:700;
    line-height:22px;
    color:#0F172A;
    letter-spacing:1px;
    text-transform:uppercase;
}

.client-logo{
    max-height:55px;
    width:auto;
    transition:.35s;
    filter:grayscale(100%);
    opacity:.75;
}

.client-logo:hover{
    filter:none;
    opacity:1;
    transform:scale(1.05);
}
@media (max-width:991px){

.trusted-title{
    text-align:center;
    margin-bottom:20px;
}

.client-logo{
    max-height:45px;
}

}

@media (max-width:576px){

.client-logo{
    max-height:38px;
}

}


/*==========================
CASE STUDY
===========================*/

.case-study-section{

    background:#fff;

}

.section-label{

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    color:#16a085;

}

.view-all{

    text-decoration:none;

    color:#0F172A;

    font-weight:600;

}

.case-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 8px 30px rgba(0,0,0,.06);

    transition:.45s;

    height:100%;

    border:1px solid #eef3f7;

}


.case-image{

    position:relative;

    overflow:hidden;

}

.case-image img{

    width:100%;

    height:220px;

    object-fit:cover;

    transition:.6s;

}

.industry-tag{

    position:absolute;

    left:20px;

    bottom:15px;

    background:#CFF9E5;

    color:#0F766E;

    padding:6px 15px;

    border-radius:30px;

    font-size:13px;

    font-weight:600;

}

.case-content{

    padding:25px;

}

.case-content h4{

    font-size:24px;

    font-weight:700;

    margin-bottom:25px;

    color:#0F172A;

}

.case-item p{

    margin-bottom:18px;
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.55 !important;

}

.case-item strong{

    display:block;

    margin-bottom:6px;

    color:#111827;

}

.case-item p{

    color:#6b7280;

    line-height:28px;

}

.read-btn{

    display:inline-block;

    margin-top:15px;

    text-decoration:none;

    color:#0F9D74;

    font-weight:700;

}

.read-btn::after{

    content:" →";

    transition:.3s;

}
.case-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 70px rgba(0,0,0,.12);

}

.case-card:hover img{

    transform:scale(1.08);

}

.case-card:hover .read-btn{

    letter-spacing:.5px;

}

.case-card:hover .read-btn::after{

    margin-left:8px;

}

.case-card:hover .industry-tag{

    background:#10B981;

    color:#fff;

}
.case-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
    180deg,
    rgba(16,185,129,0),
    rgba(16,185,129,.05));

    opacity:0;

    transition:.4s;

    pointer-events:none;

}

.case-card{

    position:relative;

}

.case-card:hover::before{

    opacity:1;

}

/*=====================================
TECHNOLOGY SECTION
=====================================*/

.technology-section{

    background:#fff;

}

.section-title span{

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    color:#16a085;

}

.tech-wrapper{

    background:#fff;

    border:1px solid #E8EEF3;

    border-radius:18px;

    padding:18px;

    box-shadow:0 8px 30px rgba(0,0,0,.04);

}

.tech-card{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:16px;

    border-radius:12px;

    text-decoration:none;

    transition:.35s;

    color:#0F172A;

    overflow:hidden;

}

.tech-card img{

    width:80px;

    height:42px;

    object-fit:contain;

    transition:.35s;

}

.tech-card span{

    font-weight:600;

    font-size:15px;

}

.tech-card:hover{

    background:#F6FFFC;

    transform:translateY(-5px);

}

.tech-card:hover img{

    transform:scale(1.15) rotate(-5deg);

}

.tech-card::before{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:0;

    height:3px;

    background:#10B981;

    transition:.35s;

}

.tech-card:hover::before{

    width:100%;

}

.tech-card:hover span{

    color:#10B981;

}

@media(max-width:991px){

.tech-card{

    justify-content:flex-start;

}

}

@media(max-width:767px){

.tech-wrapper{

    padding:15px;

}

.tech-card{

    justify-content:center;

}

.tech-card img{

    width:28px;

    height:28px;

}

.tech-card span{

    font-size:14px;

}

}
/*===================================
Testimonials
===================================*/

.small-title{

    color:#10B981;

    font-size:13px;

    letter-spacing:2px;

    font-weight:700;

}

.testimonial-card{

    background:#fff;

    border-radius:18px;

    padding:30px;

    border:1px solid #ECF2F5;

    box-shadow:0 8px 25px rgba(0,0,0,.05);

    height:100%;

    transition:.4s;

}

.testimonial-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 45px rgba(0,0,0,.10);

}

.stars{

    color:#FFC107;

    font-size:18px;

    margin-bottom:18px;

}

.testimonial-card p{

    color:#64748B;

    line-height:28px;

    /* min-height:120px; */

}

.client{

    display:flex;

    align-items:center;

    margin-top:20px;

}

.client img{

    width:55px;

    height:55px;

    border-radius:50%;

    margin-right:15px;

}

.client h6{

    margin:0;

    font-weight:700;

}

.client small{

    color:#94A3B8;

}

/*=========================
Counter
==========================*/

.counter-card{

    background:#fff;

    border-radius:18px;

    border:1px solid #ECF2F5;

    text-align:center;

    padding:35px 20px;

    transition:.35s;

    height:100%;

}

.counter-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.08);

}

.icon-circle{

    width:70px;

    height:70px;

    background:#ECFDF5;

    color:#10B981;

    margin:auto;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

    margin-bottom:20px;

    transition:.35s;

}

.counter-card:hover .icon-circle{

    background:#10B981;

    color:#fff;

    transform:rotate(10deg);

}

.counter-card h2{

    font-size:42px;

    font-weight:800;

    color:#0F172A;

}

.counter-card p{

    color:#64748B;

    margin:0;

}

/*=====================================
FAQ
======================================*/

.faq-section{

    background:#fff;

}

.section-label{

    color:#10B981;

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

}

.section-title{

    font-size:40px;

    font-weight:700;

    color:#0F172A;

}

.section-description{

    color:#64748B;

    max-width:650px;

    margin-top:15px;

}

.custom-faq .accordion-item{

    border:1px solid #E8EEF3;

    border-radius:16px;

    overflow:hidden;

    margin-bottom:18px;

    box-shadow:0 5px 20px rgba(0,0,0,.04);

    transition:.35s;

}

.custom-faq .accordion-item:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 30px rgba(0,0,0,.08);

}

.custom-faq .accordion-button{

    background:#fff;

    font-size:18px;

    font-weight:600;

    padding:22px 28px;

    color:#0F172A;

    box-shadow:none;

}

.custom-faq .accordion-button:not(.collapsed){

    background:#ECFDF5;

    color:#10B981;

}

.custom-faq .accordion-button:focus{

    box-shadow:none;

}

.custom-faq .accordion-body{

    padding:25px 28px;

    color:#64748B;

    line-height:30px;

}
.custom-faq .accordion-button::after{

    background-image:none !important;

    content:"+";

    font-size:28px;

    font-weight:300;

    width:auto;

    height:auto;

    transform:none;

    color:#0F172A;

}

.custom-faq .accordion-button:not(.collapsed)::after{

    content:"−";

    color:#10B981;

}


.hero-visual{
    display:flex;
    justify-content:center;
    align-items:center;
}

.hero-visual img{
    width:100%;
    max-width:640px;   /* Change this value */
    height:auto;
    display:block;
    object-fit:contain;
}
.hero-visual img{
    width:90%;
    max-width:480px;
    height:auto;
    margin:0 auto;
    display:block;
}

.hero-visual img{
    width:100%;
    max-width:620px;
    height:auto;
    object-fit:contain;
}

@media (max-width:991px){

    .hero-visual{
        margin-top:40px;
        justify-content:center;
    }

    .hero-visual img{
        max-width:420px;
    }

}

@media (max-width:767px){

    .hero-visual img{
        max-width:320px;
    }

}

.pricing-card{
    border:none;
    border-radius:18px;
    transition:.3s;
    box-shadow:0 5px 18px rgba(0,0,0,.06);
}

.pricing-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.12);
}

.pricing-list{
    list-style:none;
    padding:0;
    margin:25px 0;
}

.pricing-list li{
    padding:7px 0;
    border-bottom:1px solid #eee;
}

.pricing-list li:before{
    content:"✔";
    color:#18b58b;
    font-weight:bold;
    margin-right:10px;
}

.badge-recommended{
    position:absolute;
    top:-12px;
    left:50%;
    transform:translateX(-50%);
    background:#18b58b;
    color:#fff;
    padding:6px 18px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
}

.recommended{
    border:2px solid #18b58b;
}

.nav-pills .nav-link{
    border-radius:30px;
    color:#333;
}

.nav-pills .nav-link.active{
    background:#18b58b;
}

.section-subtitle{
    color:#18b58b;
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
}

.btn-success{
    background:#18b58b;
    border:none;
    border-radius:30px;
    padding:12px;
}

.btn-success:hover{
    background:#139b77;
}


/* menu */
/* Dropdown Menu */
.navbar .dropdown-menu{
    margin-top:0;
    border:none;
    border-radius:12px;
    min-width:260px;
    box-shadow:0 12px 35px rgba(0,0,0,.12);
}

.navbar .dropdown-item{
    padding:12px 18px;
    font-size:15px;
    transition:.25s;
}

.navbar .dropdown-item:hover{
    background:#12c2a9;
    color:#fff;
}

/* Desktop Hover */
@media (min-width:992px){

    .navbar .dropdown:hover>.dropdown-menu{
        display:block;
        animation:fadeDown .25s ease;
    }

    .navbar .dropdown-toggle::after{
        vertical-align:.15em;
    }

}

/* Desktop Only */
@media (min-width:992px){

    .navbar .dropdown:hover>.dropdown-menu{
        display:block;
        margin-top:0;
        animation:fadeDown .25s ease;
    }

}

/* Mobile */
@media (max-width:991.98px){

    .navbar .dropdown-menu{
        position:static;
        float:none;
        width:100%;
        box-shadow:none;
        border:none;
        background:#f8f9fa;
        margin-top:8px;
    }

}

/* Animation */
@keyframes fadeDown{

    from{
        opacity:0;
        transform:translateY(8px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

.page-banner{
    background: linear-gradient(135deg,#f8fbff 0%,#eef8ff 100%);
    padding:90px 0;
}

/* =====================================================
Website Development Page
===================================================== */

.service-card,
.process-card,
.tech-box{
    background:#fff;
    border-radius:18px;
    padding:30px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s ease;
}

.service-card:hover,
.process-card:hover,
.tech-box:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 40px rgba(0,0,0,.12);
}

/* Feature List */

.feature-list{
    list-style:none;
    padding:0;
    margin:0;
}

.feature-list li{
    padding:10px 0;
    border-bottom:1px solid #eee;
}

.feature-list li:last-child{
    border-bottom:none;
}

/* Process */

.process-card{
    text-align:center;
    height:100%;
}

.process-card .number{

    width:70px;
    height:70px;

    margin:0 auto 20px;

    background:#14c4a3;
    color:#fff;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:26px;
    font-weight:700;

}

/* Technologies */

.tech-box{

    text-align:center;
    font-weight:600;
    font-size:17px;

    cursor:pointer;

}

.tech-box:hover{

    background:#14c4a3;
    color:#fff;

}

/* CTA */

.cta-section{

    background:linear-gradient(135deg,#0f2746,#15c5a5);

    color:#fff;

    border-radius:20px;

    padding:70px;

}

.cta-section h2{
    color:#fff;
}

.cta-section p{
    color:#fff;
    opacity:.9;
}

/* Mobile */

@media(max-width:991px){

.process-card{

    margin-bottom:20px;

}

.cta-section{

    text-align:center;
    padding:45px 25px;

}

}
.hero-img{
    max-width:100%;
    width:520px;
    animation:float 5s ease-in-out infinite;
}

@keyframes float{

    0%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-12px);
    }

    100%{
        transform:translateY(0);
    }

}

.startfrom 
{
    font-size: 18px; color: #087A63;
}