:root {
            --site-navy: #09295b;
            --site-blue: #096bd7;
            --site-sky: #eaf5ff;
            --site-text: #13233a;
            --site-muted: #64748b;
            --site-border: #dfe8f3
        }

        * {
            box-sizing: border-box
        }

        html, body {
            max-width: 100%;
            overflow-x: hidden
        }

        body {
            margin: 0;
            background: #f7f9fc;
            color: var(--site-text);
            font-family: 'Segoe UI',Tahoma,Arial,sans-serif
        }

        a {
            text-decoration: none
        }

        .public-nav {
            background: rgba(255,255,255,.98);
            box-shadow: 0 5px 20px rgba(15,23,42,.11);
            position: sticky;
            top: 0;
            z-index: 1000
        }

        .public-nav-inner {
            max-width: 1200px;
            margin: 0 auto;
            padding: 8px 22px;
            min-height: 84px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px
        }

        .public-brand {
            display: flex;
            align-items: center;
            color: #fff !important;
            min-width: 0
        }

        .site-logo {
            display: block;
            height: 68px;
            width: auto;
            max-width: 245px;
            object-fit: contain
        }

        .nav-toggle {
            display: none;
            border: 1px solid #cbd5e1;
            background: #fff;
            color: var(--site-navy);
            border-radius: 9px;
            width: 42px;
            height: 40px;
            font-size: 19px
        }

        .public-links {
            display: flex;
            align-items: center;
            gap: 4px
        }

            .public-links > a, .nav-dropdown > a {
                color: #213451 !important;
                padding: 10px 10px;
                border-radius: 9px;
                font-weight: 650;
                display: flex;
                align-items: center;
                gap: 7px;
                white-space: nowrap
            }

                .public-links > a:hover, .public-links > a.active, .nav-dropdown > a:hover, .nav-dropdown > a.active {
                    color: #075ebd !important;
                    background: #edf6ff
                }

            .public-links .admin-link {
                background: var(--site-navy);
                color: #fff !important
            }

                .public-links .admin-link:hover {
                    background: #0d4c95;
                    color: #fff !important
                }

        .nav-dropdown {
            position: relative
        }

        .dropdown-panel {
            display: none;
            position: absolute;
            top: calc(100% + 6px);
            right: 0;
            min-width: 220px;
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            box-shadow: 0 14px 34px rgba(15,23,42,.18);
            padding: 7px;
            z-index: 1200
        }

        .nav-dropdown:hover .dropdown-panel, .nav-dropdown:focus-within .dropdown-panel, .nav-dropdown.open .dropdown-panel {
            display: block
        }

        .dropdown-panel a {
            display: block;
            color: #27364f !important;
            padding: 10px 12px;
            border-radius: 7px;
            font-weight: 600
        }

            .dropdown-panel a:hover, .dropdown-panel a.active {
                background: #eef4ff;
                color: #096bd7 !important
            }

        .site-container {
            max-width: 1180px;
            margin: 0 auto;
            padding-left: 22px;
            padding-right: 22px
        }

        .site-hero {
            position: relative;
            overflow: hidden;
            background: linear-gradient(120deg,#09295b 0%,#0755a9 55%,#0c7adf 100%);
            color: #fff;
            padding: 68px 0
        }

            .site-hero:after {
                content: "";
                position: absolute;
                width: 360px;
                height: 360px;
                border: 55px solid rgba(255,255,255,.08);
                border-radius: 50%;
                right: -80px;
                top: -120px
            }

            .site-hero h1 {
                font-size: clamp(32px,5vw,52px);
                line-height: 1.08;
                margin: 0 0 14px;
                font-weight: 800;
                max-width: 880px
            }

            .site-hero p {
                font-size: 18px;
                line-height: 1.7;
                max-width: 780px;
                margin: 0;
                color: #e5f1ff
            }

        .hero-actions {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
            margin-top: 24px
        }

        .hero-btn {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            padding: 12px 18px;
            border-radius: 10px;
            font-weight: 700
        }

            .hero-btn.primary {
                background: #fff;
                color: #0a4f9c !important
            }

            .hero-btn.secondary {
                border: 1px solid rgba(255,255,255,.55);
                color: #fff !important;
                background: rgba(255,255,255,.08)
            }

        .section-wrap {
            padding: 62px 0
        }

        .section-white {
            background: #fff
        }

        .section-soft {
            background: #eef6ff
        }

        .section-head {
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 16px;
            margin-bottom: 28px
        }

        .eyebrow {
            color: #0871d7;
            text-transform: uppercase;
            letter-spacing: .12em;
            font-size: 12px;
            font-weight: 800
        }

        .section-title {
            margin: 5px 0 0;
            font-size: 31px;
            font-weight: 800
        }

        .section-subtitle {
            margin: 8px 0 0;
            color: var(--site-muted);
            max-width: 730px
        }

        .view-all {
            font-weight: 700;
            color: #096bd7 !important
        }

        .capability-grid, .project-grid, .service-grid, .gallery-grid, .certificate-grid, .about-grid, .product-grid {
            display: grid;
            grid-template-columns: repeat(3,minmax(0,1fr));
            gap: 22px
        }

        .capability-card, .project-card-modern, .service-card, .info-card, .gallery-card, .certificate-card, .product-card, .service-detail-card {
            background: #fff;
            border: 1px solid var(--site-border);
            border-radius: 18px;
            box-shadow: 0 10px 28px rgba(15,23,42,.06);
            transition: transform .2s ease,box-shadow .2s ease
        }

            .capability-card:hover, .project-card-modern:hover, .service-card:hover, .info-card:hover, .gallery-card:hover, .certificate-card:hover, .product-card:hover {
                transform: translateY(-3px);
                box-shadow: 0 15px 34px rgba(15,23,42,.1)
            }

        .capability-card {
            padding: 25px
        }

        .capability-icon, .service-icon, .info-icon {
            width: 52px;
            height: 52px;
            border-radius: 14px;
            background: #e9f4ff;
            color: #0871d7;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 23px
        }

        .capability-card h3 {
            font-size: 20px;
            margin: 16px 0 9px
        }

        .capability-card p {
            margin: 0;
            color: #536176;
            line-height: 1.7
        }

        .project-card-modern, .gallery-card, .certificate-card, .product-card {
            overflow: hidden;
            display: flex;
            flex-direction: column
        }

        .project-media, .gallery-media, .certificate-media, .product-media {
            height: 225px;
            background: linear-gradient(135deg,#e8f0ff,#f7fbff);
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden
        }

            .project-media img, .gallery-media img, .certificate-media img, .product-media img {
                width: 100%;
                height: 100%;
                object-fit: cover
            }

            .product-media img {
                object-fit: contain;
                background: #fff;
                padding: 8px
            }

            .project-media i, .gallery-media i, .certificate-media i, .product-media i {
                font-size: 48px;
                color: #4b72c8
            }

        .project-body, .gallery-body, .certificate-body, .product-body {
            padding: 20px;
            display: flex;
            flex-direction: column;
            flex: 1
        }

        .project-badge {
            display: inline-flex;
            align-self: flex-start;
            padding: 5px 9px;
            border-radius: 999px;
            background: #eef4ff;
            color: #315bb2;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .04em;
            margin-bottom: 12px
        }

        .project-description, .product-description {
            color: #4b5565;
            line-height: 1.65;
            word-break: break-word;
            flex: 1;
            margin-bottom: 17px;
            max-height: 105px;
            overflow: hidden
        }

        .project-action {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            border-radius: 10px;
            padding: 10px 14px;
            background: #096bd7;
            color: #fff !important;
            font-weight: 700;
            border: 0
        }

        .empty-state {
            border: 1px dashed #bfcde0;
            background: #fff;
            border-radius: 18px;
            padding: 34px;
            text-align: center;
            color: #6f7e94;
            grid-column: 1/-1
        }

        .service-card, .info-card {
            padding: 24px
        }

            .service-card h3, .info-card h3, .gallery-card h3, .certificate-card h3, .product-card h3 {
                margin: 15px 0 10px
            }

            .service-preview, .info-card p, .gallery-body p, .certificate-body p {
                color: #4b5565;
                line-height: 1.65
            }

        .service-preview {
            max-height: 120px;
            overflow: hidden;
            margin-bottom: 18px
        }

        .service-detail-card {
            padding: 30px;
            line-height: 1.75
        }

        .site-slider {
            position: relative;
            background: #0d1b34;
            overflow: hidden
        }

        .slider-track {
            position: relative;
            height: min(58vw,620px);
            min-height: 330px
        }

        .slider-item {
            position: absolute;
            inset: 0;
            opacity: 0;
            transition: opacity .7s ease;
            pointer-events: none
        }

            .slider-item.active {
                opacity: 1;
                pointer-events: auto
            }

            .slider-item img {
                width: 100%;
                height: 100%;
                object-fit: cover
            }

            .slider-item:after {
                content: "";
                position: absolute;
                inset: 0;
                background: linear-gradient(90deg,rgba(4,20,48,.66),rgba(4,20,48,.12))
            }

        .slider-caption {
            position: absolute;
            left: max(22px,calc((100% - 1136px)/2));
            bottom: 52px;
            right: 22px;
            z-index: 2;
            color: #fff;
            max-width: 720px;
            font-size: 22px;
            font-weight: 650;
            text-shadow: 0 2px 10px rgba(0,0,0,.4)
        }

        .slider-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            z-index: 3;
            width: 44px;
            height: 44px;
            border: 0;
            border-radius: 50%;
            background: rgba(255,255,255,.86);
            color: #173c88
        }

        .slider-prev {
            left: 18px
        }

        .slider-next {
            right: 18px
        }

        .intro-grid, .contact-grid, .detail-grid {
            display: grid;
            grid-template-columns: 1.1fr .9fr;
            gap: 30px;
            align-items: center
        }

        .intro-panel {
            background: #fff;
            border: 1px solid var(--site-border);
            border-radius: 20px;
            padding: 30px;
            box-shadow: 0 10px 28px rgba(15,23,42,.05)
        }

            .intro-panel p {
                color: #536176;
                line-height: 1.8
            }

        .mini-points {
            display: grid;
            grid-template-columns: repeat(2,minmax(0,1fr));
            gap: 12px;
            margin-top: 22px
        }

        .mini-point {
            display: flex;
            align-items: center;
            gap: 10px;
            font-weight: 700;
            color: #27364f
        }

            .mini-point i {
                color: #0871d7
            }

        .cta-band {
            background: linear-gradient(120deg,#082550,#0b65c7);
            color: #fff;
            border-radius: 22px;
            padding: 34px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 25px
        }

            .cta-band h2 {
                margin: 0 0 8px
            }

            .cta-band p {
                margin: 0;
                color: #dbeafe
            }

        .contact-card {
            background: #fff;
            border: 1px solid var(--site-border);
            border-radius: 18px;
            padding: 26px;
            box-shadow: 0 10px 28px rgba(15,23,42,.06);
            height: 100%
        }

        .contact-item {
            display: flex;
            gap: 13px;
            margin: 18px 0
        }

            .contact-item i {
                width: 38px;
                height: 38px;
                border-radius: 10px;
                background: #e9f4ff;
                color: #0871d7;
                display: flex;
                align-items: center;
                justify-content: center;
                flex: 0 0 auto
            }

            .contact-item a {
                color: #0a5fb8
            }

        .detail-image {
            background: #fff;
            border: 1px solid var(--site-border);
            border-radius: 20px;
            padding: 16px;
            box-shadow: 0 10px 28px rgba(15,23,42,.06)
        }

            .detail-image img {
                width: 100%;
                max-height: 520px;
                object-fit: contain;
                display: block;
                border-radius: 12px
            }

        .site-footer {
            background: #071d3d;
            color: #c7d5e8;
            padding: 28px 0
        }

        .site-footer-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            font-size: 14px
        }

        .footer-brand {
            display: flex;
            align-items: center;
            gap: 10px
        }

            .footer-brand img {
                height: 46px;
                width: auto;
                object-fit: contain;
                background: #fff;
                border-radius: 8px;
                padding: 3px
            }

        @media(max-width:1050px) {
            .site-logo {
                height: 60px;
                max-width: 210px
            }

            .public-links > a, .nav-dropdown > a {
                padding: 9px 7px;
                font-size: 14px
            }
        }

        @media(max-width:980px) {
            .nav-toggle {
                display: inline-flex;
                align-items: center;
                justify-content: center
            }

            .public-nav-inner {
                flex-wrap: wrap;
                padding-top: 9px;
                padding-bottom: 9px
            }

            .site-logo {
                height: 58px
            }

            .public-links {
                display: none;
                width: 100%;
                align-items: stretch;
                flex-direction: column;
                padding-top: 7px
            }

                .public-links.open {
                    display: flex
                }

                .public-links > a, .nav-dropdown > a {
                    width: 100%;
                    padding: 11px 12px;
                    font-size: 15px
                }

            .nav-dropdown {
                width: 100%
            }

            .dropdown-panel {
                position: static;
                box-shadow: none;
                border: 0;
                border-left: 2px solid #d9e5f3;
                background: #f5f9fe;
                border-radius: 0;
                margin: 3px 0 5px 13px;
                padding: 3px 0 3px 8px;
                width: calc(100% - 13px)
            }

            .public-links .admin-link {
                align-self: flex-start;
                width: auto;
                margin-top: 4px
            }

            .capability-grid, .project-grid, .service-grid, .gallery-grid, .certificate-grid, .about-grid, .product-grid {
                grid-template-columns: repeat(2,minmax(0,1fr))
            }

            .intro-grid, .contact-grid, .detail-grid {
                grid-template-columns: 1fr
            }

            .section-wrap {
                padding: 50px 0
            }
        }

        @media(max-width:650px) {
            .public-nav-inner {
                padding-left: 16px;
                padding-right: 16px
            }

            .site-logo {
                height: 52px;
                max-width: 185px
            }

            .site-container {
                padding-left: 16px;
                padding-right: 16px
            }

            .site-hero {
                padding: 52px 0
            }

                .site-hero p {
                    font-size: 16px
                }

            .section-head {
                align-items: flex-start;
                flex-direction: column
            }

            .capability-grid, .project-grid, .service-grid, .gallery-grid, .certificate-grid, .about-grid, .product-grid {
                grid-template-columns: 1fr
            }

            .site-footer-inner, .cta-band {
                align-items: flex-start;
                flex-direction: column
            }

            .slider-track {
                height: 380px
            }

            .slider-caption {
                font-size: 17px;
                bottom: 30px
            }

            .project-media, .gallery-media, .certificate-media, .product-media {
                height: 210px
            }

            .mini-points {
                grid-template-columns: 1fr
            }
        }

/* =========================================================
   Deshan Engineering LLP - Premium Public Theme
   ========================================================= */
:root {
    --site-navy: #062B55;
    --site-blue: #0866C6;
    --site-bright-blue: #1689EF;
    --site-sky: #EAF5FF;
    --site-steel: #3F6F96;
    --site-orange: #F7931E;
    --site-amber: #FFB020;
    --site-white: #FFFFFF;
    --site-light: #F5F8FC;
    --site-text: #0B1F35;
    --site-muted: #60758A;
    --site-border: #DFEAF4;
    --shadow-sm: 0 4px 16px rgba(4,48,90,.06);
    --shadow-md: 0 12px 30px rgba(4,48,90,.10);
    --shadow-hover: 0 20px 45px rgba(4,48,90,.15);
}
html { scroll-behavior: smooth; }
body { background: var(--site-light); color: var(--site-text); font-family: Inter, Poppins, Manrope, "Segoe UI", Tahoma, Arial, sans-serif; }
a, button { transition: all .25s ease; }
a:focus-visible, button:focus-visible { outline: 3px solid rgba(247,147,30,.40); outline-offset: 3px; }

/* Navbar */
.public-nav { min-height: 76px; background: rgba(255,255,255,.985); box-shadow: 0 5px 25px rgba(0,45,90,.08); position: sticky; top: 0; z-index: 1000; }
.public-nav:after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:linear-gradient(90deg,#0866C6 0%,#1689EF 72%,#F7931E 72%,#FFB020 100%); opacity:.9; }
.public-nav-inner { min-height: 80px; max-width: 1240px; padding: 8px 24px; }
.site-logo { height: 56px; width:auto; max-width:235px; object-fit:contain; }
.public-links { gap: 3px; }
.public-links > a, .nav-dropdown > a { position:relative; padding:10px 11px; font-weight:650; color:#203A56 !important; border-radius:10px; }
.public-links > a:not(.contact-nav):after, .nav-dropdown > a:after { content:""; position:absolute; left:12px; right:12px; bottom:4px; height:2px; transform:scaleX(0); transform-origin:left; border-radius:2px; background:linear-gradient(90deg,var(--site-blue),var(--site-orange)); transition:transform .25s ease; }
.public-links > a:hover, .nav-dropdown > a:hover { color:var(--site-blue)!important; background:#F3F9FF; }
.public-links > a:hover:after, .nav-dropdown > a:hover:after, .public-links > a.active:after, .nav-dropdown > a.active:after { transform:scaleX(1); }
.public-links > a.active, .nav-dropdown > a.active { color:var(--site-blue)!important; background:linear-gradient(135deg,#E9F5FF,#F7FBFF); }
.public-links .contact-nav { color:#fff!important; margin-left:6px; padding:11px 16px; background:linear-gradient(135deg,#0875DB,#0456A9); box-shadow:0 8px 18px rgba(8,102,198,.18); }
.public-links .contact-nav:hover, .public-links .contact-nav.active { color:#fff!important; background:linear-gradient(135deg,#075EAE,#032F65); transform:translateY(-1px); }
.nav-toggle { border:1px solid #D7E4F0; box-shadow:var(--shadow-sm); }
.dropdown-panel { min-width:235px; padding:9px; border:1px solid #E3EDF6; border-radius:12px; box-shadow:0 16px 38px rgba(4,48,90,.14); }
.dropdown-panel a { padding:11px 13px; border-radius:9px; }
.dropdown-panel a:before { font-family:"Font Awesome 6 Free"; font-weight:900; content:"\f0a9"; color:var(--site-blue); margin-right:9px; font-size:12px; }
.dropdown-panel a:hover, .dropdown-panel a.active { background:#EDF7FF; color:var(--site-blue)!important; }

/* Hero / Slider */
.site-slider { min-height:420px; }
.slider-track { height:min(56vw,640px); min-height:420px; }
.slider-item:after { background:linear-gradient(90deg,rgba(3,28,56,.78) 0%,rgba(3,28,56,.40) 46%,rgba(3,28,56,.10) 100%); }
.slider-caption { display:none; }
.slider-content { position:absolute; z-index:3; left:max(22px,calc((100% - 1180px)/2)); right:24px; top:50%; transform:translateY(-50%); max-width:760px; color:#fff; }
.slider-kicker { display:inline-flex; align-items:center; gap:10px; margin-bottom:13px; text-transform:uppercase; letter-spacing:1.7px; font-size:12px; font-weight:800; color:#C8E6FF; }
.slider-kicker:before { content:""; width:34px; height:3px; border-radius:3px; background:var(--site-orange); }
.slider-content h1 { margin:0; max-width:760px; font-size:clamp(34px,4.6vw,58px); line-height:1.06; letter-spacing:-.03em; font-weight:800; text-shadow:0 3px 22px rgba(0,0,0,.24); }
.slider-content p { max-width:690px; margin:18px 0 0; font-size:clamp(16px,1.55vw,19px); line-height:1.75; color:#E5F2FF; }
.slider-content .hero-actions { margin-top:25px; }
.slider-btn { width:46px; height:46px; background:rgba(255,255,255,.92); box-shadow:0 8px 20px rgba(0,0,0,.15); color:var(--site-navy); }
.slider-btn:hover { background:#fff; color:var(--site-blue); transform:translateY(-50%) scale(1.05); }
.site-hero { background:linear-gradient(120deg,#062B55 0%,#075FAF 55%,#1689EF 100%); padding:80px 0; }
.site-hero:before { content:""; position:absolute; inset:0; background-image:linear-gradient(30deg,rgba(255,255,255,.035) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.035) 87.5%),linear-gradient(150deg,rgba(255,255,255,.035) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.035) 87.5%); background-size:64px 112px; opacity:.7; }
.site-hero .site-container { position:relative; z-index:2; }
.site-hero .eyebrow { color:#C9E7FF; }
.hero-btn { border-radius:9px; padding:11px 19px; font-weight:700; }
.hero-btn.primary, .btn-primary-site { background:linear-gradient(135deg,#0875DB,#0456A9); color:#fff!important; border:0; box-shadow:0 9px 20px rgba(2,46,99,.20); }
.site-hero .hero-btn.primary, .slider-content .hero-btn.primary { background:#fff; color:#075DB0!important; }
.hero-btn.primary:hover, .btn-primary-site:hover { background:linear-gradient(135deg,#075EAE,#032F65); color:#fff!important; transform:translateY(-2px); }
.site-hero .hero-btn.primary:hover, .slider-content .hero-btn.primary:hover { background:var(--site-orange); color:var(--site-navy)!important; }
.hero-btn.secondary:hover { background:rgba(255,255,255,.18); border-color:#fff; }

/* Sections */
.section-wrap { padding:82px 0; position:relative; }
.section-white { background:#fff; }
.section-soft { background:linear-gradient(135deg,#EFF8FF 0%,#E6F3FF 50%,#F7FBFF 100%); overflow:hidden; }
.section-soft:before, .section-soft:after { content:""; position:absolute; pointer-events:none; border-radius:50%; border:1px solid rgba(22,137,239,.10); }
.section-soft:before { width:320px; height:320px; left:-135px; top:-80px; box-shadow:0 0 0 30px rgba(22,137,239,.025),0 0 0 70px rgba(22,137,239,.018); }
.section-soft:after { width:250px; height:250px; right:-100px; bottom:-90px; box-shadow:0 0 0 40px rgba(247,147,30,.025); border-color:rgba(247,147,30,.10); }
.section-soft .site-container { position:relative; z-index:2; }
.section-product { background:#F7FAFD; }
.section-head { margin-bottom:34px; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; color:#0875DB; letter-spacing:1.5px; font-size:12px; font-weight:800; }
.eyebrow:before { content:""; width:30px; height:3px; background:var(--site-orange); border-radius:3px; }
.section-title { margin:7px 0 0; font-size:clamp(30px,3.2vw,40px); line-height:1.15; color:#082745; letter-spacing:-.025em; }
.section-subtitle { margin-top:10px; font-size:16px; line-height:1.75; color:var(--site-muted); }
.view-all { display:inline-flex; align-items:center; gap:8px; font-weight:700; color:var(--site-blue)!important; }
.view-all:after { content:"→"; }
.view-all:hover { color:#034F99!important; transform:translateX(2px); }

/* Introduction */
.home-intro { background:linear-gradient(180deg,#fff 0%,#F5FAFF 100%); }
.intro-grid { gap:46px; }
.intro-panel { position:relative; overflow:hidden; background:linear-gradient(145deg,#fff,#EDF7FF); border:1px solid #DBEAF8; border-radius:20px; padding:34px; box-shadow:0 15px 35px rgba(0,54,105,.10); }
.intro-panel:before { content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:linear-gradient(180deg,var(--site-orange),var(--site-blue)); }
.intro-panel .intro-panel-icon { width:58px; height:58px; display:flex; align-items:center; justify-content:center; border-radius:16px; background:linear-gradient(135deg,#DCEEFF,#C7E4FF); color:var(--site-blue); font-size:25px; margin-bottom:18px; }
.intro-panel h3 { margin:0 0 10px; color:#082745; font-size:24px; }
.mini-points { gap:13px 20px; }
.mini-point { padding:10px 0; }
.mini-point i { width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#E4F3FF; color:var(--site-blue); }

/* Capability Cards */
.capability-grid { gap:24px; }
.capability-card { position:relative; overflow:hidden; padding:28px; border:1px solid rgba(17,105,180,.10); border-radius:16px; box-shadow:0 12px 28px rgba(17,65,105,.08); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.capability-card:before { content:""; position:absolute; left:0; right:0; top:0; height:4px; background:var(--card-accent,var(--site-blue)); }
.capability-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-hover); border-color:rgba(8,102,198,.35); }
.capability-card .capability-icon { width:54px; height:54px; background:linear-gradient(135deg,#E4F3FF,#D7ECFF); color:var(--card-accent,var(--site-blue)); border-radius:14px; transition:all .25s ease; }
.capability-card:hover .capability-icon { transform:scale(1.05); background:#D9EEFF; }
.capability-card h3 { margin-top:17px; color:#0B2B4A; }
.capability-card p { color:#60758A; }
.capability-card.accent-orange { --card-accent:#F7931E; }
.capability-card.accent-blue { --card-accent:#1689EF; }
.capability-card.accent-steel { --card-accent:#3F6F96; }
.capability-card.accent-cyan { --card-accent:#10A6C8; }
.capability-card.accent-royal { --card-accent:#0866C6; }
.capability-card.accent-navy { --card-accent:#062B55; }

/* Industrial Support */
.support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.support-card { position:relative; padding:30px; background:#fff; border:1px solid #E1EBF4; border-radius:16px; box-shadow:var(--shadow-sm); overflow:hidden; transition:all .25s ease; }
.support-card:before { content:""; position:absolute; left:0; right:0; top:0; height:4px; background:var(--support-accent,var(--site-blue)); }
.support-card:nth-child(2) { --support-accent:var(--site-orange); }
.support-card:nth-child(3) { --support-accent:var(--site-navy); }
.support-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.support-icon { width:62px; height:62px; border-radius:17px; display:flex; align-items:center; justify-content:center; font-size:26px; color:var(--support-accent,var(--site-blue)); background:#EDF7FF; margin-bottom:18px; }
.support-card:nth-child(2) .support-icon { background:#FFF3E5; }
.support-card:nth-child(3) .support-icon { background:#EAF0F7; }
.support-card h3 { margin:0 0 10px; color:#0B2B4A; font-size:21px; }
.support-card p { margin:0; color:var(--site-muted); line-height:1.75; }
.support-mark { display:inline-block; margin-top:18px; font-weight:700; font-size:13px; color:var(--support-accent,var(--site-blue)); }

/* Product Cards */
.product-grid { gap:24px; }
.product-card { border:1px solid #E1EBF4; border-radius:18px; overflow:hidden; box-shadow:0 12px 28px rgba(0,43,86,.09); }
.product-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-hover); }
.product-media { height:auto; aspect-ratio:4/3; background:#fff; overflow:hidden; }
.product-media img { width:100%; height:100%; object-fit:cover; padding:0; transition:transform .3s ease; }
.product-card:hover .product-media img { transform:scale(1.04); }
.product-body { padding:22px; }
.product-body h3 { margin:0 0 10px; color:#0B2B4A; font-size:21px; }
.product-description { color:var(--site-muted); line-height:1.65; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; min-height:79px; }
.project-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; align-self:flex-start; margin-top:18px; padding:10px 18px; border-radius:9px; background:linear-gradient(135deg,#0875DB,#0456A9); color:#fff!important; font-weight:700; box-shadow:0 8px 18px rgba(8,102,198,.13); }
.project-action:after { content:"→"; }
.project-action:hover { background:linear-gradient(135deg,#075EAE,#032F65); transform:translateY(-1px); }

/* About */
.about-hero { padding:86px 0 78px; }
.breadcrumbs { display:flex; align-items:center; gap:8px; margin-bottom:16px; font-size:13px; font-weight:650; color:#CFE7FF; }
.breadcrumbs a { color:#fff!important; }
.about-intro { text-align:center; max-width:830px; margin:0 auto 38px; }
.about-grid { gap:24px; }
.info-card { position:relative; padding:28px; border-radius:18px; border:1px solid #E0EBF5; box-shadow:0 12px 30px rgba(0,45,85,.07); overflow:hidden; transition:all .25s ease; --info-accent:#1689EF; }
.info-card:before { content:""; position:absolute; left:0; right:0; top:0; height:4px; background:var(--info-accent); }
.info-card:nth-child(2) { --info-accent:#F7931E; }
.info-card:nth-child(3) { --info-accent:#6F42C1; }
.about-grid + .about-grid .info-card:nth-child(1) { --info-accent:#13A269; }
.about-grid + .about-grid .info-card:nth-child(2) { --info-accent:#0D6EFD; }
.about-grid + .about-grid .info-card:nth-child(3) { --info-accent:#E4572E; }
.info-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-hover); }
.info-icon { width:56px; height:56px; border-radius:16px; color:var(--info-accent); background:color-mix(in srgb,var(--info-accent) 11%,white); }
@supports not (background: color-mix(in srgb, red 10%, white)) { .info-icon { background:#EDF7FF; } }
.info-card h3 { color:#0B2B4A; font-size:21px; margin:17px 0 9px; }
.info-card p { color:var(--site-muted); line-height:1.75; }
.why-deshan { background:linear-gradient(135deg,#F0F8FF,#EAF5FF); }
.why-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.why-card { display:flex; align-items:center; gap:15px; background:#fff; padding:20px 22px; border:1px solid #DDEAF5; border-radius:15px; box-shadow:var(--shadow-sm); font-weight:700; color:#163A5C; }
.why-card i { width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--site-blue),var(--site-bright-blue)); flex:0 0 auto; }
.capability-strip { background:linear-gradient(135deg,#041E3B,#063568); color:#fff; padding:32px 0; }
.capability-strip-inner { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.capability-strip h3 { margin:0; font-size:19px; }
.capability-tags { display:flex; gap:9px; flex-wrap:wrap; }
.capability-tag { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border-radius:999px; border:1px solid rgba(255,255,255,.17); background:rgba(255,255,255,.07); color:#E6F3FF; font-size:13px; font-weight:650; }
.capability-tag i { color:var(--site-orange); }

/* CTA */
.cta-band { position:relative; overflow:hidden; background:linear-gradient(120deg,#052C59 0%,#075AAE 55%,#1689EF 100%); border-radius:18px; padding:38px 40px; box-shadow:0 18px 40px rgba(5,60,117,.18); }
.cta-band:before { content:""; position:absolute; right:-80px; top:-120px; width:280px; height:280px; border:42px solid rgba(255,176,32,.16); border-radius:50%; }
.cta-band > * { position:relative; z-index:2; }
.cta-band h2 { font-size:clamp(25px,3vw,34px); }
.cta-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cta-band .hero-btn.primary { background:#fff; color:#075DB0!important; }
.cta-band .hero-btn.primary:hover { background:var(--site-orange); color:var(--site-navy)!important; }
.cta-band .hero-btn.secondary { background:transparent; }

/* Footer */
.site-footer { background:linear-gradient(135deg,#041E3B,#063568); color:#C7D9EB; padding:58px 0 0; }
.site-footer-grid { display:grid; grid-template-columns:1.45fr .8fr 1fr 1.25fr; gap:34px; padding-bottom:40px; }
.footer-brand { display:block; }
.footer-brand img { height:58px; max-width:220px; width:auto; background:#fff; border-radius:10px; padding:4px; margin-bottom:16px; object-fit:contain; }
.footer-brand p { margin:0; max-width:320px; color:#BFD2E5; line-height:1.7; }
.footer-title { margin:2px 0 15px; color:#fff; font-size:14px; text-transform:uppercase; letter-spacing:1.2px; font-weight:800; }
.footer-title:after { content:""; display:block; width:30px; height:3px; margin-top:8px; background:var(--site-orange); border-radius:3px; }
.footer-links { display:grid; gap:10px; }
.footer-links a { color:#C7D9EB!important; }
.footer-links a:hover { color:#fff!important; transform:translateX(3px); }
.footer-contact { display:grid; gap:11px; }
.footer-contact span, .footer-contact a { display:flex; align-items:flex-start; gap:10px; color:#C7D9EB!important; }
.footer-contact i { margin-top:3px; color:var(--site-orange); width:16px; text-align:center; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding:18px 0; font-size:13px; color:#AFC6DC; }
.footer-bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:15px; }

/* Shared public cards */
.service-card, .project-card-modern, .gallery-card, .certificate-card, .service-detail-card, .contact-card, .detail-image { border-color:#E1EBF4; box-shadow:var(--shadow-sm); }
.service-card:hover, .project-card-modern:hover, .gallery-card:hover, .certificate-card:hover { box-shadow:var(--shadow-md); transform:translateY(-4px); }

/* Responsive */
@media(max-width:1100px) {
    .site-logo { height:52px; max-width:205px; }
    .public-links > a, .nav-dropdown > a { padding:9px 8px; font-size:14px; }
    .public-links .contact-nav { padding:10px 12px; }
    .site-footer-grid { grid-template-columns:1.25fr .8fr 1fr 1.1fr; gap:24px; }
}
@media(max-width:980px) {
    .public-nav-inner { min-height:74px; }
    .site-logo { height:50px; max-width:190px; }
    .public-links { padding:10px 0 6px; border-top:1px solid #EEF3F8; }
    .public-links > a, .nav-dropdown > a { padding:12px 14px; border-radius:10px; }
    .public-links .contact-nav { width:100%; margin:5px 0 2px; justify-content:center; }
    .dropdown-panel { margin-left:14px; width:calc(100% - 14px); border-left:3px solid #D6E9FA; background:#F7FBFF; border-radius:0 10px 10px 0; }
    .slider-track { height:540px; }
    .support-grid { grid-template-columns:1fr 1fr; }
    .site-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:650px) {
    .section-wrap { padding:54px 0; }
    .site-logo { height:46px; max-width:174px; }
    .slider-track { height:520px; min-height:520px; }
    .slider-content { left:18px; right:18px; }
    .slider-content h1 { font-size:32px; }
    .slider-content p { font-size:16px; line-height:1.65; }
    .slider-btn { width:40px; height:40px; opacity:.9; }
    .slider-prev { left:10px; }
    .slider-next { right:10px; }
    .slider-content { padding-left:36px; padding-right:36px; }
    .support-grid, .why-grid, .site-footer-grid { grid-template-columns:1fr; }
    .cta-band { padding:30px 24px; }
    .cta-actions { width:100%; }
    .cta-actions .hero-btn { width:100%; justify-content:center; }
    .capability-strip-inner { align-items:flex-start; flex-direction:column; }
    .footer-bottom-inner { align-items:flex-start; flex-direction:column; }
}
@media(max-width:420px) {
    .site-logo { height:42px; max-width:158px; }
    .public-nav-inner { padding-left:14px; padding-right:14px; }
    .slider-content { padding-left:30px; padding-right:30px; }
    .slider-content h1 { font-size:29px; }
}
