/* ============================================================
   DIGIDEN TECHNOLOGIES — Light Theme
   Logo palette: Teal #3ec6b0 → Purple #9b59b6 → Orange #e8652a
   Fonts: Outfit (headings) + Nunito Sans (body)
   NO dark backgrounds anywhere. White/light grey surfaces only.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=Nunito+Sans:wght@400;500;600;700&display=swap');

:root {
    --bg:       #f5f7fa;
    --bg2:      #ffffff;
    --bg3:      #eef1f7;
    --panel:    #ffffff;
    --border:   #dde2ee;
    --teal:     #3ec6b0;
    --purple:   #9b59b6;
    --orange:   #e8652a;
    --accent:   #3ec6b0;
    --accent2:  #e8652a;
    --grad:     linear-gradient(135deg, #3ec6b0 0%, #9b59b6 55%, #e8652a 100%);
    --grad-h:   linear-gradient(135deg, #2daa96 0%, #7c4daa 55%, #c84e18 100%);
    --text:     #1c2340;
    --text-mid: #4d5575;
    --text-dim: #8b93b5;
    --font-head: 'Outfit', sans-serif;
    --font-body: 'Nunito Sans', sans-serif;
    --radius:   10px;
    --trans:    0.28s cubic-bezier(0.4,0,0.2,1);
    --shadow:   0 4px 24px rgba(62,198,176,.10);
    --shadow-lg:0 12px 48px rgba(28,35,64,.12);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.65;overflow-x:hidden;}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}
address{font-style:normal}

.container{max-width:1200px;margin:0 auto;padding:0 2rem}
.section{padding:5rem 0}

.section-label{
    display:inline-flex;align-items:center;gap:.5rem;
    font-family:var(--font-head);font-size:.72rem;font-weight:700;
    letter-spacing:.22em;text-transform:uppercase;
    background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    margin-bottom:.75rem;
}
.section-label::before{content:'';display:inline-block;width:22px;height:2px;background:var(--grad);border-radius:2px;flex-shrink:0;}

.section-title{font-family:var(--font-head);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;color:var(--text);line-height:1.18;letter-spacing:-.02em;margin-bottom:1.1rem;}
.section-subtitle{font-size:1rem;color:var(--text-mid);max-width:560px;line-height:1.8;}

.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 2rem;font-family:var(--font-head);font-size:.86rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border:none;cursor:pointer;border-radius:50px;transition:var(--trans);}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 6px 22px rgba(62,198,176,.35);}
.btn-primary:hover{background:var(--grad-h);transform:translateY(-2px);box-shadow:0 12px 32px rgba(62,198,176,.42);}
.btn-outline{background:transparent;color:var(--teal);border:2px solid var(--teal);}
.btn-outline:hover{background:var(--grad);color:#fff;border-color:transparent;box-shadow:var(--shadow);transform:translateY(-2px);}

/* Topbar */
.topbar{background:var(--grad);color:#fff;font-size:.78rem;font-family:var(--font-head);font-weight:500;letter-spacing:.04em;padding:.42rem 0;}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;}
.topbar-contact{display:flex;gap:2rem;}
.topbar a{color:rgba(255,255,255,.9);}
.topbar a:hover{color:#fff;}

/* Header */
.header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:0 2px 16px rgba(28,35,64,.06);transition:var(--trans);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:70px;}
.logo{display:flex;align-items:center;gap:.6rem;}
.logo img{height:46px;width:auto;}
.logo-text{font-family:var(--font-head);font-size:1.5rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

.nav ul{display:flex;align-items:center;gap:.1rem;}
.nav a{font-family:var(--font-head);font-size:.84rem;font-weight:600;letter-spacing:.04em;color:var(--text-mid);padding:.48rem .88rem;border-radius:6px;transition:color var(--trans),background var(--trans);}
.nav a:hover,.nav a.active{color:var(--teal);background:rgba(62,198,176,.08);}
.nav a.nav-cta{background:var(--grad);color:#fff;padding:.48rem 1.3rem;border-radius:50px;box-shadow:0 4px 16px rgba(62,198,176,.3);margin-left:.5rem;}
.nav a.nav-cta:hover{background:var(--grad-h);transform:translateY(-1px);box-shadow:0 8px 24px rgba(62,198,176,.42);color:#fff;}
.has-dropdown{position:relative;}
.dropdown{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid var(--border);border-top:3px solid var(--teal);border-radius:var(--radius);min-width:185px;padding:.5rem;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(8px);transition:var(--trans);z-index:50;}
.has-dropdown:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown li a{display:block;padding:.52rem 1rem;font-size:.84rem;border-radius:6px;color:var(--text-mid);background:none;}
.dropdown li a:hover{color:var(--teal);background:rgba(62,198,176,.07);}
.arrow{font-size:.62rem;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:5px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--text);border-radius:2px;transition:var(--trans);}

/* Hero — LIGHT background */
.hero{min-height:88vh;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(150deg,#edfaf8 0%,#f5f7fa 45%,#fdf2ec 100%);}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 65% 70% at 90% 15%,rgba(62,198,176,.13) 0%,transparent 65%),radial-gradient(ellipse 45% 55% at 5% 85%,rgba(155,89,182,.08) 0%,transparent 60%),radial-gradient(ellipse 40% 50% at 65% 85%,rgba(232,101,42,.07) 0%,transparent 55%);}
.hero-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(62,198,176,.18) 1px,transparent 1px);background-size:36px 36px;opacity:.6;}
.hero-slides{position:absolute;inset:0;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;}
.hero-slide.active{opacity:1;}
.hero-slide img{width:100%;height:100%;object-fit:cover;opacity:.06;}
.hero-content{position:relative;z-index:2;max-width:660px;animation:fadeUp .85s ease forwards;}
.hero-badge{display:inline-flex;align-items:center;gap:.55rem;background:rgba(62,198,176,.1);border:1px solid rgba(62,198,176,.3);padding:.38rem 1.1rem;border-radius:50px;font-family:var(--font-head);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:1.75rem;}
.hero-badge::before{content:'';width:7px;height:7px;background:var(--grad);border-radius:50%;animation:pulse 2s infinite;}
.hero-title{font-family:var(--font-head);font-size:clamp(2.6rem,6vw,4.8rem);font-weight:900;line-height:1.08;color:var(--text);letter-spacing:-.03em;margin-bottom:1.4rem;}
.hero-title .gt{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-desc{font-size:1.05rem;color:var(--text-mid);margin-bottom:2.4rem;line-height:1.78;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;}

.hero-stats{position:absolute;bottom:2.5rem;right:0;z-index:2;display:flex;gap:12px;}
.stat-box{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.6rem;text-align:center;box-shadow:var(--shadow);min-width:128px;position:relative;overflow:hidden;}
.stat-box::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);}
.stat-num{font-family:var(--font-head);font-size:2rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;}
.stat-label{font-size:.68rem;font-weight:600;color:var(--text-dim);margin-top:.3rem;letter-spacing:.04em;}
.hero-nav{position:absolute;bottom:2.5rem;left:0;z-index:2;display:flex;gap:.5rem;}
.hero-dot{width:22px;height:3px;background:var(--border);border-radius:2px;cursor:pointer;transition:var(--trans);}
.hero-dot.active{width:42px;background:var(--grad);}

/* Trust / Clients — light bg, colored logos */
.trust-band{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.6rem 0;overflow:hidden;}
.trust-inner{display:flex;gap:3.5rem;align-items:center;animation:marquee 26s linear infinite;white-space:nowrap;}
.trust-inner img{height:42px;width:auto;object-fit:contain;opacity:.7;filter:none;transition:opacity var(--trans);flex-shrink:0;}
.trust-inner img:hover{opacity:1;}

/* About */
.about-section{background:var(--bg2);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.about-img-wrap{position:relative;border-radius:16px;overflow:visible;}
.about-img-wrap img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;box-shadow:var(--shadow-lg);}
.about-img-wrap::before{content:'';position:absolute;top:-12px;left:-12px;right:40px;bottom:40px;border-radius:20px;border:2px solid rgba(62,198,176,.25);z-index:-1;}
.about-img-wrap::after{content:'';position:absolute;bottom:-12px;right:-12px;top:40px;left:40px;border-radius:20px;border:2px solid rgba(232,101,42,.18);z-index:-1;}
.exp-badge{position:absolute;bottom:2rem;left:-1.5rem;background:var(--grad);color:#fff;padding:1rem 1.5rem;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-lg);}
.exp-badge .num{font-family:var(--font-head);font-size:2rem;font-weight:800;line-height:1;}
.exp-badge .lbl{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.9;}
.mission-vision{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;}
.mv-card{background:var(--bg3);border-radius:var(--radius);border-left:4px solid var(--teal);padding:1.15rem 1.4rem;}
.mv-card:nth-child(2){border-left-color:var(--orange);}
.mv-card h4{font-family:var(--font-head);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:.45rem;}
.mv-card:nth-child(2) h4{color:var(--orange);}
.mv-card p{font-size:.87rem;color:var(--text-mid);line-height:1.6;}

/* Services */
.services-section{background:var(--bg);}
.services-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem;}
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.2rem;}
.service-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem 1.25rem;text-align:center;transition:var(--trans);box-shadow:0 2px 10px rgba(28,35,64,.05);position:relative;overflow:hidden;}
.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--grad);transform:scaleX(0);transition:transform var(--trans);}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(62,198,176,.3);}
.service-card:hover::after{transform:scaleX(1);}
.service-card img{width:60px;height:60px;object-fit:contain;margin:0 auto 1rem;transition:transform var(--trans);}
.service-card:hover img{transform:scale(1.1);}
.service-card h3{font-family:var(--font-head);font-size:.84rem;font-weight:700;color:var(--text);line-height:1.35;}

/* Software */
.software-section{background:var(--bg2);}
.software-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2.5rem;}
.sw-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.6rem 1.8rem;transition:var(--trans);position:relative;overflow:hidden;}
.sw-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--grad);border-radius:4px 0 0 4px;transform:scaleY(0);transition:transform var(--trans);}
.sw-card:hover{box-shadow:var(--shadow);border-color:rgba(62,198,176,.25);transform:translateX(4px);}
.sw-card:hover::before{transform:scaleY(1);}
.sw-icon{font-size:1.5rem;margin-bottom:.7rem;}
.sw-card h3{font-family:var(--font-head);font-size:.93rem;font-weight:700;color:var(--text);margin-bottom:.45rem;}
.sw-card p{font-size:.86rem;color:var(--text-mid);line-height:1.65;}

/* Projects */
.projects-section{background:var(--bg3);}
.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:2.5rem;}
.project-card{position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:14px;background:var(--panel);box-shadow:var(--shadow);}
.project-card:first-child{grid-column:span 1;}
.project-card img{width:100%;height:100%;transition:transform .6s ease;}
.project-card:hover img{transform:scale(1.05);}
.project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,35,64,.85) 0%,transparent 55%);display:flex;align-items:flex-end;padding:2rem;border-radius:14px;}
.project-overlay h3{font-family:var(--font-head);font-size:1.35rem;font-weight:800;color:#fff;}
.project-overlay p{font-size:.82rem;color:rgba(255,255,255,.72);margin-top:.2rem;}

/* Stats band — gradient bg (only intentionally colored section) */
.stats-band{background:var(--grad);padding:4rem 0;}
.stats-inner{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;}
.stat-item{padding:1rem;border-right:1px solid rgba(255,255,255,.22);}
.stat-item:last-child{border-right:none;}
.stat-item .num{font-family:var(--font-head);font-size:3.2rem;font-weight:800;color:#fff;line-height:1;}
.stat-item .plus{font-family:var(--font-head);font-size:1.8rem;color:rgba(255,255,255,.65);}
.stat-item .label{font-family:var(--font-head);font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.78);margin-top:.3rem;}

/* Partners */
.partners-section{background:var(--bg2);}
.partners-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--border);border-radius:var(--radius);overflow:hidden;margin-top:2.5rem;}
.partner-logo{background:#fff;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;transition:background var(--trans);}
.partner-logo:hover{background:var(--bg3);}
.partner-logo img{max-height:36px;width:auto;transition:var(--trans);}
.partner-logo:hover img{filter:none;opacity:.85;}

/* Contact CTA strip */
.contact-cta{background:var(--bg3);padding:5.5rem 0;text-align:center;}
.contact-details{display:flex;justify-content:center;gap:3rem;margin:2.5rem 0;flex-wrap:wrap;}
.contact-item{display:flex;flex-direction:column;align-items:center;gap:.4rem;}
.contact-item .ci-icon{font-size:1.6rem;}
.contact-item .ci-label{font-family:var(--font-head);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);}
.contact-item .ci-value{font-size:.94rem;font-weight:600;color:var(--text);}

/* Page banner */
.page-banner{background:#fff;border-bottom:1px solid var(--border);padding:3.5rem 0;position:relative;overflow:hidden;}
.page-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 100% at 95% 50%,rgba(62,198,176,.08) 0%,transparent 60%),radial-gradient(ellipse 35% 80% at 0% 50%,rgba(155,89,182,.05) 0%,transparent 60%);}
.page-banner .container{position:relative;z-index:1;}
.page-banner h1{font-family:var(--font-head);font-size:clamp(2rem,5vw,3.5rem);font-weight:800;color:var(--text);letter-spacing:-.02em;margin-top:.4rem;}
.breadcrumb{font-family:var(--font-head);font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-top:.4rem;}
.breadcrumb a{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* About page */
.about-body{padding:5rem 0;}
.about-body-grid{display:grid;grid-template-columns:2fr 1fr;gap:4rem;}
.about-main p{color:var(--text-mid);line-height:1.82;margin-bottom:1.4rem;}
.about-main strong{color:var(--text);}
.skills-bars{margin-top:2rem;}
.skill-bar-item{margin-bottom:1.4rem;}
.skill-bar-label{display:flex;justify-content:space-between;font-family:var(--font-head);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem;color:var(--text);}
.skill-bar-track{height:6px;background:var(--border);border-radius:3px;position:relative;}
.skill-bar-fill{height:100%;background:var(--grad);border-radius:3px;position:absolute;top:0;left:0;transition:width 1.5s ease;width:0;}
.info-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem;margin-bottom:1.4rem;box-shadow:0 2px 12px rgba(28,35,64,.05);position:relative;overflow:hidden;}
.info-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);}
.info-card h3{font-family:var(--font-head);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.9rem;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.info-card p,.info-card a{font-size:.9rem;color:var(--text-mid);line-height:1.72;display:block;margin-bottom:.22rem;}
.info-card a:hover{color:var(--teal);}

/* Services full page */
.services-full{padding:5rem 0;background:var(--bg);}
.services-full-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:1.2rem;}
.service-full-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem 1.4rem;text-align:center;transition:var(--trans);box-shadow:0 2px 10px rgba(28,35,64,.05);position:relative;overflow:hidden;}
.service-full-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--grad);transform:scaleX(0);transition:transform var(--trans);}
.service-full-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(62,198,176,.3);}
.service-full-card:hover::after{transform:scaleX(1);}
.service-full-card img{width:70px;height:70px;object-fit:contain;margin:0 auto 1.15rem;transition:transform var(--trans);}
.service-full-card:hover img{transform:scale(1.08);}
.service-full-card h3{font-family:var(--font-head);font-size:.86rem;font-weight:700;color:var(--text);line-height:1.3;}

/* Contact page */
.contact-page{padding:5rem 0;}
.contact-page-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;}
.contact-form-wrap{background:#fff;border:1px solid var(--border);border-radius:16px;padding:2.5rem;box-shadow:var(--shadow);position:relative;overflow:hidden;}
.contact-form-wrap::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad);}
.contact-form-wrap h2{font-family:var(--font-head);font-size:1.6rem;font-weight:800;color:var(--text);margin-bottom:1.5rem;}
.form-group{margin-bottom:1.2rem;}
.form-group label{display:block;font-family:var(--font-head);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.38rem;}
.form-group input,.form-group textarea{width:100%;background:var(--bg);border:1.5px solid var(--border);color:var(--text);padding:.76rem 1rem;font-family:var(--font-body);font-size:.92rem;border-radius:8px;transition:border-color var(--trans),box-shadow var(--trans);}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(62,198,176,.12);}
.form-group textarea{min-height:120px;resize:vertical;}
.contact-info-panel{padding:.5rem 0;}
.contact-info-panel h2{font-family:var(--font-head);font-size:1.6rem;font-weight:800;color:var(--text);margin-bottom:.5rem;}
.contact-info-panel>p{color:var(--text-mid);margin-bottom:2.5rem;}
.c-info-block{display:flex;gap:1rem;margin-bottom:1.8rem;align-items:flex-start;}
.c-info-icon{width:44px;height:44px;background:linear-gradient(135deg,rgba(62,198,176,.12),rgba(155,89,182,.12));border:1px solid rgba(62,198,176,.22);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.c-info-block h4{font-family:var(--font-head);font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.25rem;}
.c-info-block p,.c-info-block a{font-size:.91rem;color:var(--text-mid);display:block;}
.c-info-block a:hover{color:var(--teal);}
.social-row{display:flex;gap:.7rem;margin-top:2rem;}
.social-btn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--border);border-radius:10px;font-size:.9rem;color:var(--text-dim);transition:var(--trans);}
.social-btn:hover{border-color:var(--teal);color:var(--teal);background:rgba(62,198,176,.08);}
.map-embed{margin-top:2.5rem;border-radius:12px;overflow:hidden;border:1px solid var(--border);}
.map-embed iframe{width:100%;height:240px;display:block;}

/* Blog */
.blog-page{padding:5rem 0;}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.5rem;}
.blog-card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:var(--trans);box-shadow:0 2px 10px rgba(28,35,64,.05);}
.blog-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);border-color:rgba(62,198,176,.25);}
.blog-card-img{aspect-ratio:16/9;background:var(--bg3);display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:.8rem;font-weight:600;letter-spacing:.1em;}
.blog-card-img img{width:100%;height:100%;object-fit:cover;}
.blog-card-body{padding:1.4rem;}
.blog-meta{font-family:var(--font-head);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.7rem;}
.blog-card-body h3{font-family:var(--font-head);font-size:1.02rem;font-weight:800;color:var(--text);margin-bottom:.7rem;line-height:1.4;}
.blog-card-body p{font-size:.87rem;color:var(--text-mid);line-height:1.65;}
.blog-empty{text-align:center;padding:5rem 0;color:var(--text-dim);}
.blog-empty .icon{font-size:3rem;margin-bottom:1rem;}

/* Products */
.products-page{padding:5rem 0;}
.products-intro{max-width:680px;margin-bottom:3rem;}
.products-intro p{color:var(--text-mid);}

/* Gallery */
.gallery-page{padding:5rem 0;}
.gallery-grid{columns:3;gap:1.2rem;}
.gallery-item{break-inside:avoid;margin-bottom:1.2rem;overflow:hidden;border-radius:10px;box-shadow:0 2px 12px rgba(28,35,64,.08);}
.gallery-item img{width:100%;display:block;transition:transform .5s ease;}
.gallery-item:hover img{transform:scale(1.04);}

/* Footer — dark bg intentionally for contrast */
.footer{background:var(--text);}
.footer-top{padding:4rem 0;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;}
.footer-brand .footer-logo{height:42px;margin-bottom:1rem;filter:brightness(0) invert(1);}
.footer-brand p{font-size:.87rem;color:rgba(255,255,255,.5);margin-bottom:1.4rem;max-width:275px;line-height:1.75;}
.social-links{display:flex;gap:.7rem;}
.social-links a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);border-radius:8px;font-size:.8rem;color:rgba(255,255,255,.45);transition:var(--trans);}
.social-links a:hover{border-color:var(--teal);color:var(--teal);background:rgba(62,198,176,.1);}
.footer-col h4{font-family:var(--font-head);font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1.2rem;}
.footer-col ul li{margin-bottom:.6rem;}
.footer-col ul a{font-size:.87rem;color:rgba(255,255,255,.48);transition:color var(--trans);}
.footer-col ul a:hover{color:var(--teal);}
address p{font-size:.87rem;color:rgba(255,255,255,.48);margin-bottom:.45rem;}
address a{color:rgba(255,255,255,.48);transition:color var(--trans);}
address a:hover{color:var(--teal);}
.working-hours{font-size:.84rem;color:rgba(255,255,255,.38);margin-top:.9rem;}
.footer-bottom{background:rgba(0,0,0,.22);border-top:1px solid rgba(255,255,255,.07);padding:1.2rem 0;text-align:center;font-family:var(--font-head);font-size:.76rem;font-weight:500;letter-spacing:.06em;color:rgba(255,255,255,.32);}

.newsletter-form{display:flex;gap:.5rem;max-width:400px;margin:0 auto;}
.newsletter-form input{flex:1;background:var(--bg);border:1.5px solid var(--border);color:var(--text);padding:.72rem 1rem;border-radius:50px;font-family:var(--font-body);font-size:.9rem;transition:border-color var(--trans);}
.newsletter-form input:focus{outline:none;border-color:var(--teal);}

/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* Responsive */
@media(max-width:900px){
    .hero-stats{position:static;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem;}
    .about-grid,.about-body-grid,.contact-page-grid{grid-template-columns:1fr;}
    .exp-badge{left:0;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .footer-brand{grid-column:span 2;}
    .projects-grid{grid-template-columns:1fr;}
    .project-card:first-child{grid-column:auto;aspect-ratio:4/3;}
    .software-grid{grid-template-columns:1fr;}
    .stats-inner{grid-template-columns:1fr;}
    .stat-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.18);padding:1.5rem;}
    .stat-item:last-child{border-bottom:none;}
    .gallery-grid{columns:2;}
    .services-header{flex-direction:column;align-items:flex-start;gap:1rem;}
    .mission-vision{grid-template-columns:1fr;}
}
@media(max-width:640px){
    .topbar-inner{flex-direction:column;gap:.2rem;text-align:center;}
    .topbar-contact{gap:1rem;}
    .hamburger{display:flex;}
    .nav{display:none;position:fixed;inset:0;top:0;background:rgba(255,255,255,.98);padding:6rem 2rem 2rem;overflow-y:auto;z-index:90;flex-direction:column;}
    .nav.open{display:flex;}
    .nav ul{flex-direction:column;gap:0;}
    .nav a{font-size:1rem;padding:.88rem 0;border-bottom:1px solid var(--border);display:block;color:var(--text);}
    .nav a.nav-cta{border-radius:50px;text-align:center;margin-top:.75rem;border-bottom:none;}
    .dropdown{position:static;opacity:1;visibility:visible;transform:none;background:var(--bg3);border:none;box-shadow:none;padding-left:1rem;border-radius:var(--radius);margin-top:.4rem;}
    .hero-stats{grid-template-columns:1fr 1fr;}
    .hero-title{font-size:2.4rem;}
    .footer-grid{grid-template-columns:1fr;}
    .footer-brand{grid-column:auto;}
    .gallery-grid{columns:1;}
    .contact-details{flex-direction:column;align-items:center;gap:1.5rem;}
    .newsletter-form{flex-direction:column;}
    .section-title{font-size:1.7rem;}
}
/* ── Hero Slider ─────────────────────────────────────── */
.hero-slider {
    position: relative;
    width: 100%;
    height: 92vh;
    min-height: 560px;
    max-height: 900px;
    overflow: hidden;
    background: #111;
}

/* Track holds all slides stacked */
.hs-track { position: relative; width: 100%; height: 100%; }

/* Each slide */
.hs-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.9s ease;
    z-index: 1;
}
.hs-slide.active { opacity: 1; z-index: 2; }

/* Full-cover image */
.hs-slide img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    /* Ken Burns subtle zoom */
    transform: scale(1.04);
    transition: transform 6s ease;
}
.hs-slide.active img { transform: scale(1); }

/* Dark gradient overlay so text is always readable */
.hs-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        105deg,
        rgba(10,15,30,0.78) 0%,
        rgba(10,15,30,0.45) 55%,
        rgba(10,15,30,0.18) 100%
    );
    z-index: 3;
}

/* Text content */
.hs-content {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 8% 120px;
    max-width: 760px;
    /* Animate in when slide becomes active */
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.7s ease 0.35s, transform 0.7s ease 0.35s;
}
.hs-slide.active .hs-content {
    opacity: 1;
    transform: translateY(0);
}

/* Badge pill */
.hs-badge {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: rgba(62,198,176,.18);
    border: 1px solid rgba(62,198,176,.5);
    color: #3ec6b0;
    font-family: 'Outfit', sans-serif;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    padding: .38rem 1.1rem;
    border-radius: 50px;
    margin-bottom: 1.4rem;
    width: fit-content;
}
.hs-badge::before {
    content: '';
    width: 7px; height: 7px;
    background: #3ec6b0;
    border-radius: 50%;
    animation: hsPulse 2s infinite;
}

/* Headline */
.hs-title {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(2.4rem, 6vw, 5rem);
    font-weight: 900;
    line-height: 1.06;
    letter-spacing: -.03em;
    color: #ffffff;
    margin-bottom: 1.3rem;
    text-shadow: 0 2px 24px rgba(0,0,0,.4);
}
.hs-grad {
    background: linear-gradient(135deg,#3ec6b0,#9b59b6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.hs-orange { color: #e8652a; }

/* Description */
.hs-desc {
    font-family: 'Nunito Sans', sans-serif;
    font-size: clamp(.95rem, 1.8vw, 1.1rem);
    color: rgba(255,255,255,.82);
    line-height: 1.75;
    margin-bottom: 2.2rem;
    max-width: 520px;
}

/* CTA buttons */
.hs-actions { display: flex; gap: 1rem; flex-wrap: wrap; }

/* White outline button (for use on dark slider bg) */
.btn-white {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .78rem 2rem;
    font-family: 'Outfit', sans-serif;
    font-size: .86rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    border: 2px solid rgba(255,255,255,.7);
    color: #fff;
    background: transparent;
    border-radius: 50px;
    cursor: pointer;
    transition: .28s cubic-bezier(.4,0,.2,1);
}
.btn-white:hover {
    background: #fff;
    color: #1c2340;
    border-color: #fff;
    transform: translateY(-2px);
}

/* ── Arrows ── */
.hs-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 50px; height: 50px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.35);
    background: rgba(255,255,255,.1);
    color: #fff;
    font-size: 1.2rem;
    cursor: pointer;
    backdrop-filter: blur(6px);
    transition: .25s ease;
    display: flex; align-items: center; justify-content: center;
}
.hs-arrow:hover {
    background: rgba(62,198,176,.7);
    border-color: #3ec6b0;
    transform: translateY(-50%) scale(1.08);
}
.hs-prev { left: 1.5rem; }
.hs-next { right: 1.5rem; }

/* ── Dots ── */
.hs-dots {
    position: absolute;
    bottom: 90px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: .5rem;
}
.hs-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,.4);
    cursor: pointer;
    transition: .3s ease;
    padding: 0;
}
.hs-dot.active {
    background: #3ec6b0;
    width: 28px;
    border-radius: 5px;
}

/* ── Stats bar pinned at very bottom ── */
.hs-stats {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    z-index: 10;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(10px);
    border-top: 3px solid transparent;
    border-image: linear-gradient(135deg,#3ec6b0,#9b59b6,#e8652a) 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 1rem 2rem;
}
.hs-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: .5rem 3rem;
    text-align: center;
}
.hs-stat-num {
    font-family: 'Outfit', sans-serif;
    font-size: 2rem;
    font-weight: 800;
    background: linear-gradient(135deg,#3ec6b0,#9b59b6,#e8652a);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
}
.hs-stat-label {
    font-family: 'Outfit', sans-serif;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #8b93b5;
    margin-top: .3rem;
}
.hs-stat-divider {
    width: 1px;
    height: 44px;
    background: #dde2ee;
    flex-shrink: 0;
}

@keyframes hsPulse {
    0%,100% { opacity:1; transform:scale(1); }
    50% { opacity:.4; transform:scale(1.5); }
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .hero-slider { height: 100svh; min-height: 500px; max-height: none; }
    .hs-content { padding: 0 6% 140px; }
    .hs-title { font-size: clamp(2rem, 8vw, 3rem); }
    .hs-arrow { width: 40px; height: 40px; font-size: 1rem; }
    .hs-prev { left: .75rem; }
    .hs-next { right: .75rem; }
    .hs-stats { padding: .75rem 1rem; }
    .hs-stat { padding: .4rem 1.2rem; }
    .hs-stat-num { font-size: 1.5rem; }
    .hs-stat-label { font-size: .6rem; }
}
@media (max-width: 480px) {
    .hs-content { padding: 0 5% 160px; }
    .hs-actions { flex-direction: column; }
    .hs-actions .btn, .hs-actions .btn-white { width: 100%; justify-content: center; }
    .hs-stat { padding: .4rem .8rem; }
}

.service-icon {
    width: 70px;
    height: 70px;
    background: #53d7e3;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}


.service-icon-box svg {
    width: 26px;
    height: 26px;
    stroke: #6a7080;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke 0.2s;
}

.service-full-card h3 {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #9aa0ae;
    text-align: center;
    margin: 0;
    line-height: 1.35;
}
