/* ==========================================
   TITANNO WEBSITE
   STYLE.CSS
========================================== */

/* Google Font */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*==========================
ROOT
   Premium dark / gold theme
==========================*/

:root{

    --primary:#141a26;
    --secondary:#d4af37;
    --secondary-light:#e8c96b;
    --white:#ffffff;
    --light:#1c2942;
    --panel-light:#eef0f4;
    --dark:#0e1117;
    --page-bg:#1f232b;
    --text-muted:#b7bec9;
    --border-glow:rgba(212,175,55,.35);
    --transition:.4s ease;
    --shadow:0 15px 40px rgba(0,0,0,.35);

}

/*==========================
RESET
==========================*/

*{

    margin:0;
    padding:0;
    box-sizing:border-box;
    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;
    background:var(--page-bg);
    overflow-x:hidden;
    color:var(--text-muted);

}

img{

    width:100%;
    display:block;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

.container{

    width:90%;
    max-width:1300px;
    margin:auto;

}

/*==========================
NAVBAR
==========================*/

header{

    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    background:linear-gradient(to bottom, rgba(10,12,16,.55), rgba(10,12,16,0));
    backdrop-filter:blur(2px);
    transition:background .4s ease, box-shadow .4s ease, padding .4s ease;

}

header.scrolled{

    background:rgba(20,26,38,.92);
    backdrop-filter:blur(10px);
    box-shadow:0 6px 25px rgba(0,0,0,.35);

}

header.scrolled .nav-links li a{

    color:var(--white);

}

header.scrolled .menu-btn{

    color:var(--white);

}

.navbar{

    width:90%;
    max-width:1400px;
    margin:auto;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:18px 0;

}

.logo img{

    height:52px;
    width:auto;
    transition:.4s;

}

.logo img:hover{

    transform:scale(1.08);

}

/*==========================
LOGO TEXT (TITANNO)
==========================*/

.logo-text{

    display:inline-block;
    font-family:'Poppins',sans-serif;
    font-size:30px;
    font-weight:800;
    letter-spacing:1px;
    color:#3b82f6;
    transition:.4s;

}

.logo-text:hover{

    transform:scale(1.06);
    color:#5b9dff;

}

.footer-logo .logo-text{

    font-size:34px;
    margin-bottom:20px;

}

.nav-links{

    display:flex;
    gap:35px;

}

.nav-links li a{

    position:relative;
    display:inline-block;
    color:white;
    font-size:15px;
    font-weight:600;
    padding-bottom:6px;
    transition:color .3s ease;

}

.nav-links li a::after{

    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:2px;
    border-radius:2px;
    background:var(--secondary);
    transition:width .3s ease;

}

.nav-links li a:hover{

    color:var(--secondary);

}

.nav-links li a:hover::after,
.nav-links li a.current::after{

    width:100%;

}

.nav-links li a.current{

    color:var(--secondary);

}

.touch-btn{

    background:var(--secondary);
    color:#222;
    padding:14px 28px;
    border-radius:40px;
    font-weight:700;
    transition:.35s;

}

.touch-btn:hover{

    transform:translateY(-4px);
    box-shadow:var(--shadow);

}

.menu-btn{

    display:none;
    color:white;
    font-size:28px;
    cursor:pointer;
    z-index:1001;
    margin-left:auto;
    min-width:28px;
    min-height:28px;
    line-height:28px;
    text-align:center;

}

/*==========================
HERO SECTION
==========================*/

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    position:relative;

    overflow:hidden;

    padding:150px 0 80px;

    background:linear-gradient(120deg,#0c0e13 0%,#1a2233 35%,#233251 65%,#0c0e13 100%);
    background-size:300% 300%;

    animation:gradientShift 16s ease infinite;

}

@keyframes gradientShift{

    0%{background-position:0% 50%;}
    50%{background-position:100% 50%;}
    100%{background-position:0% 50%;}

}

.hero-particles{

    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;

    background-image:
        radial-gradient(2px 2px at 10% 20%, rgba(212,175,55,.55) 0, transparent 60%),
        radial-gradient(2px 2px at 80% 30%, rgba(255,255,255,.4) 0, transparent 60%),
        radial-gradient(3px 3px at 30% 70%, rgba(212,175,55,.35) 0, transparent 60%),
        radial-gradient(2px 2px at 60% 80%, rgba(255,255,255,.3) 0, transparent 60%),
        radial-gradient(2px 2px at 90% 65%, rgba(212,175,55,.4) 0, transparent 60%),
        radial-gradient(2px 2px at 45% 15%, rgba(255,255,255,.35) 0, transparent 60%);

    animation:particleDrift 12s ease-in-out infinite alternate;

}

@keyframes particleDrift{

    from{transform:translateY(0);}
    to{transform:translateY(-25px);}

}

.hero-shape{

    position:absolute;
    border-radius:50%;
    filter:blur(60px);
    z-index:0;
    opacity:.35;

}

.hero-shape-1{

    width:420px;
    height:420px;
    top:-100px;
    left:-120px;
    background:#3b82f6;
    animation:shapeFloat1 10s ease-in-out infinite;

}

.hero-shape-2{

    width:350px;
    height:350px;
    bottom:-80px;
    right:-80px;
    background:var(--secondary);
    animation:shapeFloat2 12s ease-in-out infinite;

}

@keyframes shapeFloat1{

    0%,100%{transform:translate(0,0);}
    50%{transform:translate(40px,30px);}

}

@keyframes shapeFloat2{

    0%,100%{transform:translate(0,0);}
    50%{transform:translate(-35px,-25px);}

}

.overlay{

    display:none;

}

.hero-flex{

    width:90%;
    max-width:1320px;
    margin:auto;

    display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:55px;

    position:relative;
    z-index:2;

}

.hero-content{

    position:relative;
    z-index:2;
    text-align:left;
    color:white;

}

.hero-content h1{

    font-size:64px;
    line-height:1.15;
    font-weight:800;
    letter-spacing:1px;

    margin-bottom:22px;

    animation:fadeDown 1.3s;

}

.hero-content p{

    font-size:19px;
    line-height:32px;

    max-width:520px;

    margin-bottom:40px;

    color:#d6d6d6;

    animation:fadeUp 1.4s;

}

.hero-buttons{

    display:flex;
    flex-wrap:wrap;
    gap:20px;

    animation:fadeUp 1.5s;

}

.hero-btn{

    display:inline-block;

    padding:18px 40px;

    background:var(--secondary);

    color:#222;

    border-radius:45px;

    font-weight:700;

    transition:.4s;

}

.hero-btn:hover{

    transform:translateY(-5px);

    box-shadow:var(--shadow);

}

.hero-btn-outline{

    display:inline-block;

    padding:18px 40px;

    background:transparent;

    color:var(--secondary);

    border:2px solid rgba(212,175,55,.6);

    border-radius:45px;

    font-weight:700;

    transition:.4s;

}

.hero-btn-outline:hover{

    transform:translateY(-5px);
    background:var(--secondary);
    border-color:var(--secondary);
    color:#222;

}

.hero-right{

    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:2;

}

.hero-drone{

    width:100%;
    max-width:460px;
    animation:floatDrone 4.5s ease-in-out infinite;
    filter:drop-shadow(0 30px 40px rgba(0,0,0,.45));

}

@keyframes floatDrone{

    0%,100%{transform:translateY(0) rotate(0deg);}
    50%{transform:translateY(-22px) rotate(1deg);}

}

.hero-ring{

    position:absolute;
    border:1px solid rgba(212,175,55,.25);
    border-radius:50%;

}

.hero-ring-1{

    width:340px;
    height:340px;
    animation:ringSpin 30s linear infinite;

}

.hero-ring-2{

    width:430px;
    height:430px;
    border-style:dashed;
    animation:ringSpin 45s linear infinite reverse;

}

@keyframes ringSpin{

    from{transform:rotate(0deg);}
    to{transform:rotate(360deg);}

}

/*==========================
IMAGE SLIDER
==========================*/

@keyframes slider{

0%{

background:url("https://images.pexels.com/photos/34207359/pexels-photo-34207359.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover;

}

25%{

background:url("https://images.pexels.com/photos/4058939/pexels-photo-4058939.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover;

}

50%{

background:url("https://images.pexels.com/photos/19233057/pexels-photo-19233057.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover;

}

75%{

background:url("https://images.pexels.com/photos/34222005/pexels-photo-34222005.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover;

}

100%{

background:url("https://images.pexels.com/photos/34207359/pexels-photo-34207359.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover;

}

}

/*==========================
SECTION TITLE
==========================*/

.section-title{

    text-align:center;

    padding:90px 0 50px;

}

.section-title h2{

    font-size:45px;

    color:var(--white);

    margin-bottom:20px;

}

.section-title p{

    width:70%;

    margin:auto;

    color:var(--text-muted);

    line-height:32px;

    font-size:18px;

}
/*=========================================
PARTNERS IN COLLABORATION (LOGO SLIDER)
=========================================*/

.partners-collab{

    background:var(--page-bg);
    position:relative;
    overflow:hidden;
    padding-bottom:100px;

}

.partners-collab .section-title{

    padding-bottom:20px;

}

/* Slider viewport */

.partners-slider{

    position:relative;
    display:flex;
    width:100%;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
    mask-image:linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);

}

/* Each track holds one full copy of the logos; two tracks placed
   side by side and animated together create the seamless infinite loop */

.partners-track{

    display:flex;
    align-items:center;
    flex-shrink:0;
    min-width:100%;
    animation:partners-scroll 28s linear infinite;

}

.partners-slider:hover .partners-track{

    animation-play-state:paused;

}

@keyframes partners-scroll{

    from{ transform:translateX(0); }
    to{ transform:translateX(-100%); }

}

/* Individual logo item */

.partner-logo{

    flex:0 0 auto;
    width:200px;
    margin:0 25px;
    padding:22px 25px;
    background:var(--panel-light);
    border-radius:14px;
    box-shadow:0 10px 25px rgba(0,0,0,.25);
    border:1px solid transparent;
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;

}

.partner-logo a{

    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;

}

.partner-logo img{

    width:100%;
    height:70px;
    object-fit:contain;
    filter:grayscale(0%) brightness(1);
    transition:transform .35s ease, filter .35s ease;

}

.partner-logo:hover{

    transform:translateY(-6px);
    box-shadow:0 16px 34px rgba(0,0,0,.3), 0 0 0 3px var(--border-glow);
    border-color:var(--secondary);

}

.partner-logo:hover img{

    transform:scale(1.12);
    filter:brightness(1.15);

}

/* Tablet */

@media(max-width:991px){

    .partner-logo{

        width:160px;
        margin:0 18px;
        padding:18px 20px;

    }

    .partner-logo img{

        height:55px;

    }

    .partners-track{

        animation-duration:22s;

    }

}

/* Mobile */

@media(max-width:600px){

    .partner-logo{

        width:130px;
        margin:0 12px;
        padding:14px 16px;

    }

    .partner-logo img{

        height:42px;

    }

    .partners-track{

        animation-duration:16s;

    }

}

/* Respect users who prefer reduced motion */

@media(prefers-reduced-motion:reduce){

    .partners-track{

        animation:none;

    }

}

/*=========================================
COMPANY SECTION
=========================================*/

.company{

    background:var(--page-bg);
    position:relative;
    overflow:hidden;
    padding-bottom:100px;

}

.company::before{

    content:"";
    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:100%;

    background:url("../images/company-bg.jpg") center center/cover;

    opacity:.05;

    z-index:0;

}

.company .container{

    position:relative;
    z-index:2;

}

/*=========================================
SERVICES
=========================================*/

.services{

    padding:100px 0;
    background:var(--page-bg);
    position:relative;

}

.services::before{

    content:"";
    position:absolute;

    width:100%;
    height:100%;

    top:0;
    left:0;

    background:url("../images/robot-bg.jpg") center/cover;

    opacity:.04;

}

.services .container{

    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:35px;

}

.card{

    background:var(--light);

    border-radius:18px;

    padding:45px 35px;

    text-align:center;

    transition:.4s;

    border:1px solid rgba(255,255,255,.06);

    box-shadow:0 10px 30px rgba(0,0,0,.3);

}

.card:hover{

    transform:translateY(-10px);

    box-shadow:0 22px 45px rgba(0,0,0,.4), 0 0 0 1px var(--border-glow), 0 0 30px rgba(212,175,55,.15);

    border-color:var(--border-glow);

}

.card-img{

    width:calc(100% + 70px);
    height:210px;

    object-fit:cover;

    margin:-45px -35px 30px -35px;

    border-radius:18px 18px 0 0;

}

.card i{

    font-size:50px;

    color:var(--secondary);

    margin-bottom:25px;

}

.card h3{

    font-size:28px;

    color:var(--white);

    margin-bottom:18px;

}

.card p{

    color:var(--text-muted);

    line-height:30px;

    font-size:16px;

}

/*=========================================
WHY TITANNO
=========================================*/

.why{

    position:relative;

    padding:100px 0;

    background:url("../images/factory.jpg") center center/cover;

}

.overlay2{

    position:absolute;

    inset:0;

    background:rgba(25,25,25,.82);

}

.why .container{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:70px;

}

.why-left h2{

    font-size:48px;

    color:white;

    margin-bottom:25px;

}

.why-left p{

    color:#ddd;

    font-size:18px;

    line-height:34px;

}

.why-right{

    display:grid;

    gap:30px;

}

.feature{

    background:rgba(255,255,255,.08);

    border-left:5px solid var(--secondary);

    padding:28px;

    border-radius:15px;

    transition:.35s;

    backdrop-filter:blur(4px);

}

.feature:hover{

    transform:translateX(10px);

    background:rgba(255,255,255,.12);

}

.feature i{

    font-size:34px;

    color:var(--secondary);

    margin-bottom:15px;

}

.feature h4{

    color:white;

    font-size:24px;

}

/*=========================================
CALL TO ACTION
=========================================*/

.cta{

    padding:100px 20px;

    text-align:center;

    background:linear-gradient(135deg,#1c2942,#0e1117);

    position:relative;

    overflow:hidden;

}

.cta::before{

    content:"";

    position:absolute;

    inset:0;

    background:url("../images/drone-bg.jpg") center center/cover;

    opacity:.08;

}

.cta h2{

    position:relative;

    z-index:2;

    color:white;

    font-size:46px;

    margin-bottom:35px;

}

.cta a{

    position:relative;

    z-index:2;

    display:inline-block;

    padding:18px 45px;

    background:var(--secondary);

    color:#222;

    border-radius:40px;

    font-weight:700;

    transition:.35s;

}

.cta a:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 35px rgba(0,0,0,.25);

}

/*=========================================
COMMON PAGE BANNER
=========================================*/

.page-banner{

    height:55vh;

    display:flex;

    justify-content:center;

    align-items:center;

    position:relative;

    background-size:cover;

    background-position:center;

}

.page-banner::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.65);

}

.page-banner h1{

    position:relative;

    z-index:2;

    color:white;

    font-size:58px;

    font-weight:800;

    letter-spacing:2px;

}

/*=========================================
GENERAL CONTENT SECTION
=========================================*/

.content-section{

    padding:100px 0;

    position:relative;

    background:var(--page-bg);

}

.content-section::before{

    content:"";

    position:absolute;

    inset:0;

    background-size:cover;

    background-position:center;

    opacity:.04;

}

.content-section .container{

    position:relative;

    z-index:2;

}

.content-section h2{

    font-size:40px;

    color:var(--white);

    margin-bottom:25px;

}

.content-section p{

    font-size:18px;

    line-height:34px;

    color:#e4e4e4;

    margin-bottom:20px;

}

.content-section .section-title h2{

    color:var(--white);

}

.content-section .section-title p{

    color:var(--text-muted);

}
/*=========================================
FOOTER
=========================================*/

footer{

    background:var(--dark);
    color:white;
    padding:70px 0 25px;
    border-top:1px solid rgba(212,175,55,.12);

}

.footer-container{

    width:90%;
    max-width:1300px;
    margin:auto;

    display:grid;
    grid-template-columns:2fr 1fr 1fr;

    gap:60px;

}

.footer-logo img{

    height:60px;
    width:auto;
    margin-bottom:20px;

}

.footer-logo p{

    color:#cfcfcf;
    line-height:30px;

}

.footer-links h3,
.footer-social h3{

    margin-bottom:25px;
    color:var(--secondary);

}

.footer-links a{

    display:block;
    color:#d6d6d6;
    margin-bottom:14px;
    transition:.3s;

}

.footer-links a:hover{

    color:var(--secondary);
    transform:translateX(6px);

}

.icons{

    display:flex;
    gap:18px;
    margin-top:10px;

}

.icons i{

    width:50px;
    height:50px;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    background:var(--light);
    border:1px solid rgba(212,175,55,.2);

    color:white;

    font-size:20px;

    transition:.35s;
    cursor:pointer;

}

.icons i:hover{

    background:var(--secondary);
    color:#222;
    transform:translateY(-5px);

}

.copyright{

    border-top:1px solid rgba(255,255,255,.08);

    margin-top:55px;

    padding-top:20px;

    text-align:center;

    color:#bbbbbb;

}

/*=========================================
BUTTONS
=========================================*/

button,
.hero-btn,
.touch-btn,
.cta a{

    cursor:pointer;

}

button:hover,
.hero-btn:hover,
.touch-btn:hover,
.cta a:hover{

    opacity:.95;

}

/*=========================================
BACK BUTTON
=========================================*/

.back-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    background:var(--secondary);

    color:#222;

    padding:14px 26px;

    border-radius:40px;

    font-weight:700;

    transition:.35s;

}

.back-btn:hover{

    transform:translateX(-6px);

}

/*=========================================
PARTNER CARDS
=========================================*/

.partner-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:35px;

    margin-top:50px;

}

.partner-card{

    background:var(--panel-light);

    border-radius:18px;

    text-align:center;

    padding:35px;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

    border:1px solid transparent;

    transition:.35s;

}

.partner-card:hover{

    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,0,0,.3), 0 0 0 3px var(--border-glow);
    border-color:var(--secondary);

}

.partner-card img{

    width:140px;
    height:100px;
    object-fit:contain;

    margin:auto auto 20px;

}

.partner-card p{

    color:#5a5f6a;

}

.partner-card a{

    color:var(--primary);

    font-size:20px;

    font-weight:700;

}

.partner-card a:hover{

    color:var(--secondary);

}

.partner-card a.view-page-btn{

    color:#fff;

}

.partner-card a.view-page-btn:hover{

    color:#222;

}

/*=========================================
PRODUCT CARDS
=========================================*/

.product-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:40px;

    margin-top:50px;

}

.product-card{

    background:var(--light);

    border-radius:18px;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.06);

    box-shadow:0 15px 35px rgba(0,0,0,.3);

    transition:.35s;

}

.product-card:hover{

    transform:translateY(-10px);

    box-shadow:0 22px 50px rgba(0,0,0,.4), 0 0 0 1px var(--border-glow), 0 0 30px rgba(212,175,55,.15);

    border-color:var(--border-glow);

}

.product-card img{

    width:100%;
    height:260px;

    object-fit:cover;

}

.product-card.has-bg{

    position:relative;
    min-height:380px;
    display:flex;
    align-items:flex-end;

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

}

.product-card.has-bg::before{

    content:"";
    position:absolute;
    inset:0;

    background:linear-gradient(to top, rgba(0,0,0,.85) 10%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.1) 100%);

}

.product-card.has-bg .content{

    position:relative;
    z-index:2;

}

.product-card.has-bg h3{

    color:#fff;

}

.product-card.has-bg p{

    color:#eee;

}

.product-card .content{

    padding:25px;

}

.product-card h3{

    margin-bottom:15px;

    font-size:24px;

    color:var(--white);

}

.product-card p{

    color:var(--text-muted);

}

.product-card button{

    margin-top:20px;

    background:var(--secondary);

    color:#222;

    border:none;

    padding:14px 30px;

    border-radius:35px;

    font-weight:700;

    transition:.3s;

}

.product-card button:hover{

    background:var(--secondary-light);
    transform:translateY(-3px);

}

/*=========================================
PRODUCT CATEGORY FILTER TABS
=========================================*/

.filter-tabs{

    display:flex;
    flex-wrap:wrap;
    gap:15px;

    justify-content:center;

    margin:45px 0 10px;

}

.filter-btn{

    padding:12px 30px;

    border:2px solid var(--secondary);
    background:transparent;

    color:var(--secondary);

    border-radius:30px;

    font-weight:600;
    font-size:15px;
    font-family:'Poppins',sans-serif;

    cursor:pointer;

    transition:.35s;

}

.filter-btn:hover{

    background:var(--secondary);
    border-color:var(--secondary);
    color:#222;
    transform:translateY(-3px);

}

.filter-btn.active{

    background:var(--secondary);
    border-color:var(--secondary);
    color:#222;

}

/*=========================================
MODAL
=========================================*/

.modal{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.7);

    display:none;

    justify-content:center;

    align-items:center;

    z-index:9999;

}

.modal-content{

    width:90%;
    max-width:750px;

    background:var(--light);

    border-radius:20px;

    padding:35px;

    position:relative;

    border:1px solid rgba(212,175,55,.15);
    box-shadow:0 25px 60px rgba(0,0,0,.5);

    animation:fadeUp .5s;

}

.modal-content h2{

    color:var(--white);
    margin-bottom:12px;

}

.modal-content hr{

    border:none;
    border-top:1px solid rgba(212,175,55,.2);

}

.modal-content h3{

    color:var(--white);
    margin-bottom:12px;

}

.modal-content p{

    color:var(--text-muted);
    line-height:28px;

}

.modal-content ul{

    color:var(--text-muted);

}

.modal-content ul li{

    margin-bottom:8px;

}

.close-modal{

    position:absolute;

    right:20px;

    top:15px;

    font-size:30px;

    color:var(--text-muted);

    cursor:pointer;
    transition:color .3s;

}

.close-modal:hover{

    color:var(--secondary);

}

/*=========================================
FORM FIELDS (Contact page etc.)
=========================================*/

.card form input,
.card form textarea{

    width:100%;
    padding:15px 18px;
    margin-bottom:2px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    color:var(--white);
    font-family:'Poppins',sans-serif;
    font-size:15px;
    transition:border-color .3s ease, box-shadow .3s ease, background .3s ease;

}

.card form input::placeholder,
.card form textarea::placeholder{

    color:rgba(255,255,255,.4);

}

.card form input:focus,
.card form textarea:focus{

    outline:none;
    border-color:var(--secondary);
    background:rgba(255,255,255,.06);
    box-shadow:0 0 0 3px rgba(212,175,55,.15);

}

.card form textarea{

    resize:vertical;
    min-height:140px;
    font-family:'Poppins',sans-serif;

}

/*=========================================
SCROLLBAR
=========================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-thumb{

    background:var(--secondary);

}

::-webkit-scrollbar-track{

    background:#1e1e1e;

}

/*=========================================
ANIMATIONS
=========================================*/

@keyframes fadeDown{

    from{

        opacity:0;
        transform:translateY(-40px);

    }

    to{

        opacity:1;
        transform:translateY(0);

    }

}

@keyframes fadeUp{

    from{

        opacity:0;
        transform:translateY(50px);

    }

    to{

        opacity:1;
        transform:translateY(0);

    }

}

@keyframes zoomIn{

    from{

        transform:scale(.9);
        opacity:0;

    }

    to{

        transform:scale(1);
        opacity:1;

    }

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:992px){

.nav-links{

display:none;

}

.nav-links.active{

display:flex;
flex-direction:column;
position:absolute;
top:100%;
left:0;
width:100%;
background:rgba(20,26,38,.97);
backdrop-filter:blur(10px);
padding:20px 0;
gap:0;
box-shadow:0 15px 30px rgba(0,0,0,.4);

}

.nav-links.active li{

width:100%;
text-align:center;

}

.nav-links.active li a{

display:block;
padding:14px 20px;
color:white;

}

.menu-btn{

display:block;

}

.navbar{

position:relative;

}

.touch-btn{

display:none;

}

.hero-flex{

grid-template-columns:1fr;
text-align:center;

}

.hero-content{

text-align:center;

}

.hero-content p{

margin-left:auto;
margin-right:auto;

}

.hero-buttons{

justify-content:center;

}

.hero-right{

margin-top:50px;

}

.hero-content h1{

font-size:52px;
line-height:65px;

}

.footer-container{

grid-template-columns:1fr;
text-align:center;

}

.icons{

justify-content:center;

}

.why .container{

grid-template-columns:1fr;

}

.section-title p{

width:100%;

}

}

@media(max-width:768px){

.hero{

min-height:90vh;
padding:130px 0 60px;

}

.hero-drone{

max-width:320px;

}

.hero-content h1{

font-size:40px;
line-height:50px;

}

.hero-content p{

font-size:18px;

}

.section-title h2{

font-size:34px;

}

.page-banner h1{

font-size:42px;

}

.cta h2{

font-size:34px;

}

}

@media(max-width:500px){

.touch-btn{

display:none;

}

.logo img{

height:40px;
width:auto;

}

.hero-content h1{

font-size:32px;
line-height:42px;

}

.hero-btn{

padding:15px 28px;

}

.card{

padding:30px 20px;

}

}

/*=========================================
VIEW PAGE BUTTON (Partners / Industries)
=========================================*/

.view-page-btn{

    display:inline-block;

    margin-top:20px;

    padding:11px 26px;

    background:var(--primary);

    border:2px solid rgba(212,175,55,.3);

    color:#fff;

    border-radius:30px;

    font-weight:600;

    font-size:14px;

    transition:.35s;

}

.view-page-btn:hover{

    background:var(--secondary);

    border-color:var(--secondary);

    color:#222;

    transform:translateY(-4px);

}

.partner-btn-row{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-top:20px;

}

.partner-btn-row .view-page-btn{

    margin-top:0;

}

.visit-btn{

    display:inline-block;

    padding:11px 26px;

    background:transparent;

    color:var(--secondary);

    border:2px solid var(--secondary);

    border-radius:30px;

    font-weight:600;

    font-size:14px;

    transition:.35s;

}

.visit-btn:hover{

    background:var(--secondary);

    color:#222;

    transform:translateY(-4px);

}

.domain-card .view-page-btn{

    background:var(--secondary);

    border-color:var(--secondary);

    color:#222;

}

.domain-card .view-page-btn:hover{

    background:var(--secondary-light);

    border-color:var(--secondary-light);

    color:#222;

}

/*=========================================
ABOUT PAGE - INFO GRID
=========================================*/

.about-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:40px;

    margin-top:20px;

}

.info-card{

    background:var(--light);

    border-radius:18px;

    padding:45px 40px;

    text-align:left;

    border:1px solid rgba(255,255,255,.06);

    box-shadow:0 10px 30px rgba(0,0,0,.3);

    transition:.4s;

}

.info-card:hover{

    transform:translateY(-8px);

    box-shadow:0 22px 45px rgba(0,0,0,.4), 0 0 0 1px var(--border-glow), 0 0 30px rgba(212,175,55,.15);

    border-color:var(--border-glow);

}

.info-card h3{

    font-size:26px;

    color:var(--white);

    margin-bottom:20px;

    position:relative;

    padding-bottom:16px;

}

.info-card h3::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:50px;

    height:3px;

    background:var(--secondary);

}

.info-card p{

    color:var(--text-muted);

    line-height:31px;

    font-size:16.5px;

}

.about-cta{

    text-align:center;

    margin-top:60px;

}

/*=========================================
INDUSTRIES / DOMAINS GRID (larger cards)
=========================================*/

.domain-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));

    gap:45px;

    position:relative;

    z-index:2;

}

.domain-card{

    position:relative;

    background-size:cover;

    background-position:center;

    border-radius:20px;

    padding:55px 45px;

    text-align:center;

    transition:.4s;

    border:1px solid rgba(255,255,255,.08);

    box-shadow:0 10px 30px rgba(0,0,0,.35);

    overflow:hidden;

    isolation:isolate;

}

.domain-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(180deg,rgba(15,17,23,.55),rgba(15,17,23,.88));

    z-index:-1;

}

.domain-card:hover{

    transform:translateY(-12px);

    box-shadow:0 22px 50px rgba(0,0,0,.45), 0 0 0 1px var(--border-glow), 0 0 35px rgba(212,175,55,.18);

    border-color:var(--border-glow);

}

.domain-card i{

    font-size:68px;

    color:var(--secondary);

    margin-bottom:26px;

}

.domain-card h3{

    font-size:26px;

    color:#ffffff;

    margin-bottom:18px;

}

.domain-card p{

    color:#eaeaea;

    line-height:29px;

    font-size:16px;

    margin-bottom:10px;

}

@media(max-width:768px){

.domain-card{

padding:40px 30px;

}

.domain-card i{

font-size:54px;

}

}

/*=========================================
DETAIL PAGE (Partner / Industry)
=========================================*/

.detail-hero{

    display:flex;

    align-items:center;

    gap:40px;

    flex-wrap:wrap;

    margin-bottom:20px;

}

.detail-hero img{

    width:130px;

    border-radius:14px;

    background:var(--panel-light);

    padding:15px;

    box-shadow:0 10px 25px rgba(0,0,0,.3);

}

.detail-hero .detail-heading h2{

    margin-bottom:8px;
    color:var(--white);

}

.detail-hero .detail-heading .tagline{

    color:var(--secondary);

    font-weight:700;

    font-size:17px;

}

.detail-list{

    margin:20px 0 10px 20px;

    color:var(--text-muted);

    line-height:32px;

    font-size:16.5px;

}

.detail-external{

    margin-top:30px;

}

/*=========================================
SCROLL REVEAL ANIMATIONS
=========================================*/

[data-animate]{

    opacity:0;
    transition:opacity .8s cubic-bezier(.2,.7,.3,1), transform .8s cubic-bezier(.2,.7,.3,1);
    will-change:opacity, transform;

}

[data-animate="fade-in"]{

    transform:translateY(35px);

}

[data-animate="slide-left"]{

    transform:translateX(-70px);

}

[data-animate="slide-right"]{

    transform:translateX(70px);

}

[data-animate="zoom"]{

    transform:scale(.85);

}

[data-animate].in-view{

    opacity:1;
    transform:translate(0,0) scale(1);

}

/* legacy .show class kept working for older reveal targets */

.card,.feature,.product-card,.partner-card,.info-card,.domain-card{

    opacity:0;
    transform:translateY(35px);
    transition:opacity .7s ease, transform .7s ease, box-shadow .35s ease, background .35s ease;

}

.card.show,.feature.show,.product-card.show,.partner-card.show,.info-card.show,.domain-card.show{

    opacity:1;
    transform:translateY(0);

}

/* Guarantee hover-lift always beats the scroll-reveal's resting transform */

.card.show:hover,
.product-card.show:hover,
.partner-card.show:hover,
.info-card.show:hover{

    transform:translateY(-10px);

}

.domain-card.show:hover{

    transform:translateY(-12px);

}

.feature.show:hover{

    transform:translateX(10px);

}

/*=========================================
FEATURED PRODUCTS (HOME PAGE)
=========================================*/

.products-home{

    padding:100px 0;
    background:var(--page-bg);
    position:relative;

}

.products-home-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:35px;
    margin-top:50px;

}

.product-mini-card{

    background:var(--light);
    border-radius:18px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.06);
    box-shadow:0 10px 30px rgba(0,0,0,.3);
    transition:transform .4s ease, box-shadow .4s ease, border-color .4s ease;

}

.product-mini-card:hover{

    transform:translateY(-10px);
    box-shadow:0 22px 50px rgba(0,0,0,.4), 0 0 0 1px var(--border-glow), 0 0 30px rgba(212,175,55,.15);
    border-color:var(--border-glow);

}

.product-mini-img{

    height:220px;
    overflow:hidden;

}

.product-mini-img img{

    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease;

}

.product-mini-card:hover .product-mini-img img{

    transform:scale(1.08);

}

.product-mini-body{

    padding:28px 30px 32px;

}

.product-mini-body h3{

    font-size:23px;
    color:var(--white);
    margin-bottom:12px;

}

.product-mini-body p{

    color:var(--text-muted);
    line-height:27px;
    font-size:15.5px;
    margin-bottom:18px;

}

.learn-more{

    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--secondary);
    font-weight:700;
    font-size:15px;
    transition:.3s;

}

.learn-more i{

    transition:transform .3s ease;

}

.learn-more:hover{

    color:var(--secondary-light);

}

.learn-more:hover i{

    transform:translateX(6px);

}

.products-home-cta{

    text-align:center;
    margin-top:55px;

}
/*=========================================
OUR OFFICES (MAP + LOCATION CARDS)
=========================================*/

.locations{

    padding:100px 0;
    background:var(--page-bg);
    position:relative;

}

.locations-layout{

    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:35px;
    margin-top:50px;
    align-items:stretch;

}

.locations-map-wrap{

    border-radius:18px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
    min-height:420px;

}

.locations-map{

    width:100%;
    height:100%;
    min-height:420px;
    background:var(--light);

}

.locations-cards{

    display:flex;
    flex-direction:column;
    gap:25px;

}

.location-card{

    background:var(--light);
    border-radius:18px;
    padding:30px;
    cursor:pointer;
    border:2px solid rgba(255,255,255,.06);
    box-shadow:0 10px 25px rgba(0,0,0,.3);
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    flex:1;

}

.location-card:hover{

    transform:translateY(-6px);
    box-shadow:0 20px 40px rgba(0,0,0,.4), 0 0 30px rgba(212,175,55,.15);
    border-color:var(--border-glow);

}

.location-card.active{

    border-color:var(--secondary);
    box-shadow:0 20px 40px rgba(0,0,0,.4), 0 0 30px rgba(212,175,55,.2);

}

.location-card-top{

    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:18px;

}

.location-card-icon{

    width:55px;
    height:55px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(212,175,55,.12);
    border:1px solid rgba(212,175,55,.3);
    color:var(--secondary);
    font-size:22px;

}

.branch-tag{

    display:inline-block;
    padding:6px 16px;
    border-radius:30px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.5px;
    text-transform:uppercase;

}

.branch-tag-hq{

    background:var(--secondary);
    color:var(--primary);

}

.branch-tag-branch{

    background:var(--primary);
    color:var(--white);
    border:1px solid rgba(212,175,55,.3);

}

.location-card h3{

    font-size:24px;
    color:var(--white);
    margin-bottom:12px;

}

.location-card p{

    color:var(--text-muted);
    line-height:26px;
    font-size:15px;

}

.location-card p i{

    color:var(--secondary);
    margin-right:6px;

}

/* Map marker */

.office-marker-pin{

    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50% 50% 50% 0;
    transform:rotate(-45deg);
    background:var(--secondary);
    box-shadow:0 4px 10px rgba(0,0,0,.35);

}

.office-marker-pin i{

    transform:rotate(45deg);
    color:var(--primary);
    font-size:15px;

}

/* Map popup */

.leaflet-popup-content-wrapper{

    background:var(--light);
    border-radius:14px;
    box-shadow:0 15px 35px rgba(0,0,0,.45);

}

.leaflet-popup-tip{

    background:var(--light);

}

.leaflet-popup-close-button{

    color:var(--text-muted) !important;

}

.office-popup h4{

    margin:0 0 8px;
    color:var(--white);
    font-size:17px;

}

.office-popup-tag{

    display:inline-block;
    margin-bottom:10px;
    padding:4px 12px;
    border-radius:20px;
    background:var(--secondary);
    color:var(--primary);
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.5px;

}

.office-popup p{

    margin:0;
    font-size:14px;
    line-height:22px;
    color:var(--text-muted);

}

.office-popup p i{

    color:var(--secondary);
    margin-right:4px;

}

/* Tablet */

@media(max-width:900px){

    .locations-layout{

        grid-template-columns:1fr;

    }

    .locations-map-wrap,
    .locations-map{

        min-height:340px;

    }

}

/* Mobile */

@media(max-width:600px){

    .location-card{

        padding:22px;

    }

    .locations-map-wrap,
    .locations-map{

        min-height:280px;

    }

}
