/* ==========================================================================
   GLOBAL DESIGN SYSTEM - PREMIUM CORPORATE (PART G-1)
   Root • Reset • Body • Container • Typography
   ========================================================================== */

/* ==========================================================
   ROOT VARIABLES
========================================================== */

:root{

    /* Brand */

    --dark-slate:#0F172A;
    --industrial-orange:#EA580C;
    --orange-hover:#C2410C;

    /* Neutral */

    --white:#FFFFFF;

    --light-bg:#F8FAFC;

    --surface:#FFFFFF;

    --surface-soft:#F1F5F9;

    --border:#E2E8F0;

    --border-light:#EDF2F7;

    /* Text */

    --text-dark:#1E293B;

    --text-light:#64748B;

    --text-muted:#94A3B8;

    /* Radius */

    --radius-sm:10px;

    --radius-md:16px;

    --radius-lg:22px;

    --radius-xl:28px;

    --radius-pill:999px;

    /* Shadow */

    --shadow-sm:
        0 4px 10px rgba(15,23,42,.04);

    --shadow-md:
        0 12px 28px rgba(15,23,42,.06);

    --shadow-lg:
        0 22px 50px rgba(15,23,42,.10);

    --shadow-orange:
        0 18px 35px rgba(234,88,12,.18);

    /* Animation */

    --transition:
        .45s cubic-bezier(.22,1,.36,1);

    /* Layout */

    --container:1280px;

}

/* ==========================================================
   RESET
========================================================== */

*,
*::before,
*::after{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

    -webkit-text-size-adjust:100%;

}

body{

    font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

    background:
        radial-gradient(circle at top right,rgba(234,88,12,.03),transparent 25%),
        var(--light-bg);

    color:var(--text-dark);

    font-size:16px;

    line-height:1.7;

    text-rendering:optimizeLegibility;

    -webkit-font-smoothing:antialiased;

    -moz-osx-font-smoothing:grayscale;

    overflow-x:hidden;

}

/* ==========================================================
   MEDIA
========================================================== */

img{

    display:block;

    max-width:100%;

    height:auto;

}

picture{

    display:block;

}

svg{

    display:block;

}

/* ==========================================================
   LINKS
========================================================== */

a{

    color:inherit;

    text-decoration:none;

    transition:var(--transition);

}

/* ==========================================================
   BUTTON RESET
========================================================== */

button{

    border:none;

    outline:none;

    background:none;

    font:inherit;

    cursor:pointer;

}

/* ==========================================================
   LIST
========================================================== */

ul,
ol{

    list-style:none;

}

/* ==========================================================
   CONTAINER
========================================================== */

.container{

    width:100%;

    max-width:var(--container);

    margin-inline:auto;

    padding-inline:40px;

}

/* ==========================================================
   TYPOGRAPHY
========================================================== */

h1,
h2,
h3,
h4,
h5,
h6{

    color:var(--dark-slate);

    line-height:1.2;

    letter-spacing:-.03em;

    font-weight:800;

}

p{

    color:var(--text-light);

    line-height:1.85;

}

strong{

    color:var(--dark-slate);

    font-weight:700;

}

::selection{

    background:var(--industrial-orange);

    color:#fff;

}

/* ==========================================================
   SCROLLBAR
========================================================== */

::-webkit-scrollbar{

    width:10px;

    height:8px;

}

::-webkit-scrollbar-track{

    background:#F1F5F9;

}

::-webkit-scrollbar-thumb{

    background:#CBD5E1;

    border-radius:999px;

}

::-webkit-scrollbar-thumb:hover{

    background:#94A3B8;

}

/* ==========================================================
   FOCUS
========================================================== */

:focus-visible{

    outline:3px solid rgba(234,88,12,.18);

    outline-offset:3px;

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:992px){

.container{

padding-inline:28px;

}

}

@media(max-width:768px){

.container{

padding-inline:20px;

}

body{

font-size:15px;

}

}

/* ==========================================================================
   GLOBAL DESIGN SYSTEM - PREMIUM CORPORATE (PART G-2)
   Button • Navbar • Logo • Navigation
   ========================================================================== */


/* ==========================================================
   BUTTON
========================================================== */

.btn{

    position:relative;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:14px 28px;

    border-radius:16px;

    font-size:.95rem;

    font-weight:700;

    letter-spacing:.2px;

    text-decoration:none;

    cursor:pointer;

    overflow:hidden;

    transition:
        transform var(--transition),
        box-shadow var(--transition),
        background var(--transition),
        color var(--transition),
        border-color var(--transition);

}

.btn::before{

    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            120deg,
            transparent,
            rgba(255,255,255,.28),
            transparent
        );

    transform:translateX(-130%);

    transition:.75s;

}

.btn:hover::before{

    transform:translateX(130%);

}

.btn:hover{

    transform:
        translateY(-3px);

}

.btn:active{

    transform:translateY(-1px);

}

/* Primary */

.btn-primary{

    background:
        linear-gradient(
            135deg,
            #EA580C,
            #F97316
        );

    color:#fff;

    border:1px solid #EA580C;

    box-shadow:

        var(--shadow-orange);

}

.btn-primary:hover{

    background:
        linear-gradient(
            135deg,
            #C2410C,
            #EA580C
        );

    box-shadow:

        0 22px 45px rgba(234,88,12,.28);

}

/* Outline */

.btn-outline{

    color:#fff;

    border:1.5px solid rgba(255,255,255,.28);

    background:

        rgba(255,255,255,.05);

    backdrop-filter:blur(12px);

    -webkit-backdrop-filter:blur(12px);

}

.btn-outline:hover{

    background:#fff;

    color:var(--dark-slate);

    border-color:#fff;

    box-shadow:

        var(--shadow-md);

}


/* ==========================================================
   NAVBAR
========================================================== */

.navbar{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:9999;

    background:

        rgba(255,255,255,.92);

    backdrop-filter:blur(16px);

    -webkit-backdrop-filter:blur(16px);

    border-bottom:1px solid rgba(226,232,240,.75);

    box-shadow:

        0 8px 25px rgba(15,23,42,.05);

    transition:

        background .35s ease,

        box-shadow .35s ease;

}

.nav-container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    height:84px;

}


/* ==========================================================
   LOGO
========================================================== */

.logo{

    display:flex;

    align-items:center;

    gap:12px;

    color:var(--dark-slate);

    text-decoration:none;

}

.logo h1{

    font-size:1.65rem;

    font-weight:800;

    letter-spacing:-.03em;

    transition:color .35s ease;

}

.logo span{

    color:var(--industrial-orange);

}

.logo:hover h1{

    color:var(--industrial-orange);

}


/* ==========================================================
   NAVIGATION
========================================================== */

.nav-menu ul{

    display:flex;

    align-items:center;

    gap:34px;

}

.nav-menu a{

    position:relative;

    display:inline-flex;

    align-items:center;

    height:84px;

    color:var(--text-dark);

    font-weight:600;

    font-size:.95rem;

    transition:

        color .35s ease;

}

/* Underline Animation */

.nav-menu a::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:20px;

    width:0;

    height:3px;

    border-radius:999px;

    background:

        linear-gradient(
            90deg,
            #EA580C,
            #FB923C
        );

    transform:translateX(-50%);

    transition:.35s ease;

}

.nav-menu a:hover{

    color:var(--industrial-orange);

}

.nav-menu a:hover::after{

    width:100%;

}

/* Active */

.nav-menu a.active{

    color:var(--industrial-orange);

}

.nav-menu a.active::after{

    width:100%;

}


/* ==========================================================
   NAV CTA
========================================================== */

.nav-menu .btn{

    margin-left:10px;

}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:992px){

.nav-container{

height:78px;

}

.nav-menu ul{

gap:22px;

}

.nav-menu a{

height:78px;

font-size:.9rem;

}

}

@media(max-width:768px){

.nav-container{

flex-direction:column;

justify-content:center;

height:auto;

padding:18px 0;

gap:18px;

}

.nav-menu ul{

flex-wrap:wrap;

justify-content:center;

gap:18px;

}

.nav-menu a{

height:auto;

padding:6px 0;

}

.nav-menu a::after{

bottom:-6px;

}

.btn{

padding:13px 24px;

}

}

/* ==========================================================================
   HERO SECTION - PREMIUM CORPORATE
   Replace seluruh CSS Hero lama
   ========================================================================== */

.hero{
    position:relative;
    display:flex;
    align-items:center;
    min-height:calc(100vh - 80px);
    padding:100px 0;
    margin-top:80px;
    overflow:hidden;

    background:
        linear-gradient(
            rgba(15,23,42,.82),
            rgba(15,23,42,.75)
        ),
        url("images/backgrounds/hero-bg.jpg");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:

        radial-gradient(circle at right top,
        rgba(234,88,12,.15),
        transparent 30%),

        radial-gradient(circle at left bottom,
        rgba(255,255,255,.05),
        transparent 40%);

    pointer-events:none;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:

    linear-gradient(
        90deg,
        rgba(15,23,42,.90) 0%,
        rgba(15,23,42,.72) 45%,
        rgba(15,23,42,.42) 100%
    );

}

.hero-content{

    position:relative;

    z-index:2;

    max-width:760px;

}

/* ==========================================================
   BADGE
========================================================== */

.hero-content .badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-bottom:24px;

    padding:10px 18px;

    border-radius:999px;

    background:

        rgba(234,88,12,.12);

    color:#FDBA74;

    border:1px solid rgba(234,88,12,.25);

    font-size:.82rem;

    font-weight:700;

    letter-spacing:.8px;

    text-transform:uppercase;

    backdrop-filter:blur(10px);

}

/* ==========================================================
   TITLE
========================================================== */

.hero-content h2{

    margin-bottom:24px;

    font-size:clamp(2.8rem,5vw,4.5rem);

    line-height:1.08;

    font-weight:800;

    letter-spacing:-.04em;

    color:#fff;

}

.hero-content .highlight{

    color:#EA580C;

}

/* ==========================================================
   PARAGRAPH
========================================================== */

.hero-content p{

    max-width:620px;

    margin-bottom:38px;

    color:#CBD5E1;

    font-size:1.1rem;

    line-height:1.9;

}

/* ==========================================================
   BUTTON
========================================================== */

.hero-buttons{

    display:flex;

    align-items:center;

    gap:16px;

    flex-wrap:wrap;

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:992px){

.hero{

padding:80px 0;

}

.hero-content{

max-width:650px;

}

}

@media(max-width:768px){

.hero{

min-height:auto;

padding:70px 0;

text-align:center;

}

.hero-content{

margin:auto;

}

.hero-content p{

margin-inline:auto;

}

.hero-buttons{

justify-content:center;

}

.hero-content h2{

font-size:2.6rem;

}

}

@media(max-width:480px){

.hero-content h2{

font-size:2.1rem;

}

.hero-content p{

font-size:1rem;

}

.hero-buttons{

flex-direction:column;

}

.hero-buttons .btn{

width:100%;

}

}









/* ==========================================================================
   PRODUCT SECTION - PREMIUM CORPORATE (PART 1A)
   Section + Title + Product Tabs
   ========================================================================== */

/* ==========================================================
   PRODUCT SECTION
========================================================== */

.product-section{
    position:relative;
    overflow:hidden;
    padding:6rem 1rem;
    background:
        radial-gradient(circle at top right,rgba(234,88,12,.05),transparent 28%),
        radial-gradient(circle at bottom left,rgba(15,23,42,.05),transparent 35%),
        #F8FAFC;
}

.product-section::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.55),
            rgba(255,255,255,0)
        );
    pointer-events:none;
}

.product-section .container{
    position:relative;
    z-index:2;
}

/* ==========================================================
   SECTION TITLE
========================================================== */

.section-title{
    max-width:820px;
    margin:0 auto 4.5rem;
    text-align:center;
}

.section-title h2{

    margin:0 0 1rem;

    font-size:clamp(2.2rem,4vw,3rem);

    font-weight:800;

    line-height:1.15;

    letter-spacing:-0.03em;

    color:var(--dark-slate);

}

.section-title .highlight{

    background:linear-gradient(
        135deg,
        #EA580C,
        #FB923C
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;

}

.section-title p{

    max-width:720px;

    margin:0 auto;

    font-size:1.05rem;

    line-height:1.9;

    color:#64748B;

}

/* ==========================================================
   PRODUCT TABS WRAPPER
========================================================== */

.product-tabs{

    position:relative;

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:3.5rem;

    padding:12px 6px 18px;

    overflow-x:auto;

    scroll-behavior:smooth;

    scrollbar-width:thin;

    scrollbar-color:#CBD5E1 transparent;

    border-bottom:1px solid rgba(226,232,240,.8);

}

/* Scrollbar */

.product-tabs::-webkit-scrollbar{

height:5px;

}

.product-tabs::-webkit-scrollbar-track{

background:transparent;

}

.product-tabs::-webkit-scrollbar-thumb{

background:#CBD5E1;

border-radius:50px;

}

.product-tabs::-webkit-scrollbar-thumb:hover{

background:#94A3B8;

}

/* ==========================================================
   TAB BUTTON
========================================================== */

.tab-btn{

    position:relative;

    overflow:hidden;

    flex-shrink:0;

    white-space:nowrap;

    padding:13px 24px;

    border-radius:999px;

    border:1px solid rgba(203,213,225,.9);

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.96),
            rgba(255,255,255,.92)
        );

    color:#334155;

    font-size:.92rem;

    font-weight:600;

    letter-spacing:.2px;

    cursor:pointer;

    box-shadow:

        0 8px 20px rgba(15,23,42,.04);

    transition:

        transform .45s cubic-bezier(.22,1,.36,1),

        box-shadow .45s cubic-bezier(.22,1,.36,1),

        border-color .35s,

        color .35s,

        background .35s;

}

/* Light Effect */

.tab-btn::before{

content:"";

position:absolute;

left:-120%;

top:0;

width:100%;

height:100%;

background:

linear-gradient(

90deg,

transparent,

rgba(255,255,255,.65),

transparent

);

transition:left .7s;

}

/* Orange line */

.tab-btn::after{

content:"";

position:absolute;

left:50%;

bottom:0;

transform:translateX(-50%) scaleX(0);

width:60%;

height:3px;

border-radius:50px;

background:#EA580C;

transition:.4s;

}

/* Hover */

.tab-btn:hover{

transform:

translateY(-2px);

border-color:rgba(234,88,12,.35);

box-shadow:

0 12px 28px rgba(15,23,42,.08),

0 6px 16px rgba(234,88,12,.08);

color:#EA580C;

}

.tab-btn:hover::before{

left:120%;

}

.tab-btn:hover::after{

transform:

translateX(-50%)

scaleX(1);

}

/* Active */

.tab-btn.active{

background:

linear-gradient(

135deg,

#EA580C,

#F97316

);

color:#fff;

border-color:#EA580C;

box-shadow:

0 16px 35px rgba(234,88,12,.25);

}

.tab-btn.active::after{

display:none;

}

.tab-btn.active:hover{

transform:

translateY(-2px)

scale(1.02);

}





/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:768px){

.product-section{

padding:4.5rem 1rem;

}

.section-title{

margin-bottom:3rem;

}

.section-title h2{

font-size:2rem;

}

.section-title p{

font-size:.98rem;

line-height:1.8;

}

.product-tabs{

gap:10px;

padding-bottom:14px;

}

.tab-btn{

padding:11px 20px;

font-size:.88rem;

}

}
/* ==========================================================
   PRODUCT GRID
   PREMIUM CORPORATE STYLE
========================================================== */

.product-grid{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(285px,1fr));

    gap:30px;

    align-items:stretch;

    min-height:520px;

}

/* ==========================================================
   PRODUCT CARD
========================================================== */

.product-card{

    position:relative;

    overflow:hidden;

    display:flex;

    flex-direction:column;

    height:100%;

    border-radius:24px;

    border:1px solid rgba(226,232,240,.9);

    background:

        linear-gradient(
            180deg,
            rgba(255,255,255,.98),
            rgba(255,255,255,.95)
        );

    box-shadow:

        0 12px 30px rgba(15,23,42,.05),
        0 4px 10px rgba(15,23,42,.03);

    transition:

        transform .45s cubic-bezier(.22,1,.36,1),

        box-shadow .45s cubic-bezier(.22,1,.36,1),

        border-color .45s,

        background .45s;

    will-change:transform;

}

/* Premium Top Highlight */

.product-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:140px;

    background:

        linear-gradient(
            180deg,
            rgba(255,255,255,.95),
            rgba(255,255,255,0)
        );

    opacity:0;

    transition:.45s;

    pointer-events:none;

}

/* Orange Accent */

.product-card::after{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:4px;

    background:

        linear-gradient(
            90deg,
            #EA580C,
            #FB923C
        );

    transform:scaleX(0);

    transform-origin:left;

    transition:.45s cubic-bezier(.22,1,.36,1);

}

/* ==========================================================
   HOVER
========================================================== */

.product-card:hover{

    transform:

        translateY(-12px)

        scale(1.015);

    border-color:

        rgba(234,88,12,.28);

    box-shadow:

        0 28px 60px rgba(15,23,42,.10),

        0 12px 28px rgba(234,88,12,.10);

}

.product-card:hover::before{

    opacity:1;

}

.product-card:hover::after{

    transform:scaleX(1);

}

/* ==========================================================
   SOFT INNER LIGHT
========================================================== */

.product-card .product-info{

    position:relative;

    z-index:2;

}

.product-card .product-image{

    position:relative;

    z-index:2;

}

/* ==========================================================
   GLASS BORDER EFFECT
========================================================== */

.product-card{

    backdrop-filter:blur(10px);

    -webkit-backdrop-filter:blur(10px);

}

/* ==========================================================
   CARD SHINE EFFECT
========================================================== */

.product-card .shine{

    display:none;

}

.product-card:hover{

    background:

        linear-gradient(

            180deg,

            rgba(255,255,255,1),

            rgba(250,250,250,.96)

        );

}

/* ==========================================================
   CARD INTERACTION
========================================================== */

.product-card:active{

    transform:

        translateY(-6px)

        scale(.99);

}

/* ==========================================================
   PRODUCT HOVER GROUP
========================================================== */

.product-card:hover h3{

    color:#EA580C;

}

.product-card h3{

    transition:

        color .35s ease;

}

/* ==========================================================
   BORDER SMOOTH
========================================================== */

.product-card{

    outline:none;

}

.product-card:focus-within{

    border-color:#EA580C;

    box-shadow:

        0 0 0 4px rgba(234,88,12,.10),

        0 25px 55px rgba(15,23,42,.08);

}

/* ==========================================================
   PRODUCT HIDE
========================================================== */

.product-card.hide{

    display:none !important;

}

/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:768px){

.product-grid{

grid-template-columns:1fr;

gap:22px;

min-height:auto;

}

.product-card{

border-radius:20px;

}

}

/* ==========================================================
   PRODUCT IMAGE
========================================================== */

.product-image{
    position:relative;
    width:100%;
    height:240px;
    overflow:hidden;
    background:linear-gradient(180deg,#F8FAFC,#EEF2F7);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.product-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(15,23,42,0),
        rgba(15,23,42,.08)
    );
    opacity:0;
    transition:opacity .45s ease;
}

.product-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:
        transform .6s cubic-bezier(.22,1,.36,1),
        filter .45s ease;
}

.product-card:hover .product-image img{
    transform:scale(1.08);
}

.product-card:hover .product-image::after{
    opacity:1;
}

/* ==========================================================
   PRODUCT BADGE
========================================================== */

.product-badge{
    position:absolute;
    top:16px;
    right:16px;
    z-index:5;

    padding:7px 14px;

    border-radius:999px;

    background:linear-gradient(
        135deg,
        #EA580C,
        #FB923C
    );

    color:#fff;

    font-size:.72rem;

    font-weight:700;

    letter-spacing:.4px;

    box-shadow:
        0 10px 25px rgba(234,88,12,.30);

    transition:all .35s ease;
}

.product-card:hover .product-badge{

    transform:
        translateY(-2px)
        scale(1.05);

}

/* ==========================================================
   PRODUCT INFO
========================================================== */

.product-info{

    display:flex;

    flex-direction:column;

    flex-grow:1;

    padding:26px;

}

.product-info h3{

    margin:0 0 12px;

    font-size:1.15rem;

    font-weight:700;

    line-height:1.45;

    color:#0F172A;

    transition:color .35s ease;

}

.product-card:hover .product-info h3{

    color:#EA580C;

}

.product-spec{

    margin:0 0 24px;

    color:#64748B;

    font-size:.95rem;

    line-height:1.75;

    flex-grow:1;

}

/* ==========================================================
   CTA BUTTON
========================================================== */

.product-info .btn{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    width:100%;

    margin-top:auto;

    padding:14px 20px;

    border-radius:14px;

    font-weight:700;

    text-decoration:none;

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}

.product-info .btn:hover{

    transform:translateY(-2px);

    box-shadow:
        0 14px 30px rgba(234,88,12,.22);

}

/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:768px){

.product-image{

height:220px;

}

.product-info{

padding:22px;

}

.product-info h3{

font-size:1.05rem;

}

.product-spec{

font-size:.9rem;

margin-bottom:20px;

}






}/* ==========================================================================
   FOOTER - PREMIUM CORPORATE
   ========================================================================== */

.footer{
    position:relative;
    overflow:hidden;
    margin-top:100px;
    padding:80px 0 25px;
    background:linear-gradient(180deg,#0F172A,#111827);
    border-top:4px solid var(--industrial-orange);
}

.footer::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at top right,rgba(234,88,12,.08),transparent 28%),
        radial-gradient(circle at bottom left,rgba(255,255,255,.03),transparent 40%);
    pointer-events:none;
}

.footer .container{
    position:relative;
    z-index:2;
}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:50px;
    margin-bottom:50px;
}

.footer-about h2{
    margin-bottom:18px;
    font-size:1.8rem;
    font-weight:800;
    color:#fff;
    letter-spacing:-.02em;
}

.footer-about h2 span{
    color:var(--industrial-orange);
}

.footer-about p{
    color:#CBD5E1;
    line-height:1.9;
    font-size:.98rem;
}

.footer-contact h3{
    margin-bottom:20px;
    font-size:1.15rem;
    font-weight:700;
    color:#fff;
}

.footer-contact ul{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-contact li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:14px;
    color:#CBD5E1;
    line-height:1.7;
    transition:.3s ease;
}

.footer-contact li:hover{
    color:#fff;
    transform:translateX(4px);
}

.footer-bottom{
    margin-top:15px;
    padding-top:24px;
    text-align:center;
    border-top:1px solid rgba(255,255,255,.08);
    color:#94A3B8;
    font-size:.9rem;
}

/* ==========================================================================
   MODAL
   ========================================================================== */

.modal{

    display:none;

    position:fixed;

    inset:0;

    z-index:9999;

    padding:24px;

    justify-content:center;
    align-items:center;

    background:rgba(15,23,42,.72);

    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);

    animation:fadeModal .3s ease;

}

@keyframes fadeModal{

from{

opacity:0;

}

to{

opacity:1;

}

}

.modal-content{

    position:relative;

    width:100%;
    max-width:720px;

    border-radius:24px;

    padding:38px;

    background:#fff;

    border:1px solid rgba(226,232,240,.8);

    box-shadow:

        0 35px 80px rgba(15,23,42,.22);

    animation:modalUp .45s cubic-bezier(.22,1,.36,1);

}

@keyframes modalUp{

from{

opacity:0;

transform:

translateY(30px)

scale(.96);

}

to{

opacity:1;

transform:

translateY(0)

scale(1);

}

}

.close-btn{

    position:absolute;

    right:18px;

    top:18px;

    width:42px;
    height:42px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F8FAFC;

    border:1px solid #E2E8F0;

    color:#64748B;

    cursor:pointer;

    font-size:22px;

    transition:.35s ease;

}

.close-btn:hover{

    background:var(--industrial-orange);

    color:#fff;

    transform:rotate(90deg);

}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media(max-width:992px){

.footer{

padding:70px 0 20px;

}

.footer-grid{

gap:35px;

}

}

@media(max-width:768px){

.footer{

margin-top:70px;

padding:60px 0 20px;

}

.footer-grid{

grid-template-columns:1fr;

gap:30px;

}

.footer-about h2{

font-size:1.55rem;

}

.footer-about p{

font-size:.95rem;

}

.footer-contact h3{

font-size:1.05rem;

}

.modal{

padding:16px;

}

.modal-content{

padding:28px;

border-radius:20px;

}

.close-btn{

width:38px;

height:38px;

font-size:20px;

}

}

@media(max-width:480px){

.modal-content{

padding:24px 20px;

}

.footer-bottom{

font-size:.82rem;

}

}



/* ==========================================================================
   TRUSTED COMPANY SECTION
   ========================================================================== */

   .ind-trusted {
  background-color: var(--clr-white); /* Background Putih sesuai instruksi */
  padding: var(--space-xl) 0;
  border-bottom: 1px solid #E2E8F0;
  position: relative;
  overflow: hidden;
}

.ind-trusted__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%; /* KUNCI UTAMA: Memaksa header mengambil lebar penuh container */
    margin: 0 auto 40px auto; /* Memposisikan blok ke tengah dan memberi jarak bawah */
}

.ind-container{
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:0 20px;
}

.ind-trusted__title{

    font-size:clamp(2rem,4vw,3rem);

    font-weight:800;

    color:#16213E;

    letter-spacing:-1px;

    line-height:1.15;

    margin-bottom:18px;

}

.ind-trusted__description{

    max-width:760px;

    margin:auto;

    font-size:18px;

    line-height:1.8;

    color:#64748B;

}

/* ==========================================================================
   CAROUSEL / INFINITE MARQUEE LOGO
   ========================================================================== */
.ind-trusted__carousel {
  width: 100%;
  overflow: hidden;
  margin-bottom: var(--space-xl);
  position: relative;
  /* Visual mask fade kanan-kiri untuk efek smooth */
  mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

.ind-trusted__track {
  display: flex;
  align-items: center;
  gap: 3rem;
  width: max-content;
  /* Hardware-accelerated CSS animation (smooth 60fps, no JS lag) */
  animation: indMarquee 35s linear infinite;
  will-change: transform;
}

.ind-trusted__carousel:hover .ind-trusted__track {
  animation-play-state: paused; /* Pause saat kursor di atas logo */
}

.ind-logo-item{

    min-width:170px;

    height:90px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:16px;

    background:#fff;

    border:1px solid #EEF2F7;

    transition:.35s;

    opacity:.6;

    filter:grayscale(100%);

}

.ind-logo-item:hover{

    opacity:1;

    filter:none;

    transform:translateY(-6px);

    box-shadow:
    0 20px 40px rgba(15,23,42,.08);

}

@keyframes indMarquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-50% - 1.5rem));
  }
}

/* Prefers reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
  .ind-trusted__track{

    display:flex;

    align-items:center;

    gap:55px;

    width:max-content;

    animation:indMarquee 40s linear infinite;

    will-change:transform;

}
}

/* ==========================================================================
   COMPANY STATISTICS GRID
   ========================================================================== */
.ind-stats {
  margin-top: var(--space-lg);
}

.ind-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}

.ind-stat-card{

    background:#fff;

    border:1px solid #E5EAF3;

    border-radius:18px;

    padding:32px;

    transition:.35s;

    position:relative;

    overflow:hidden;

    box-shadow:

    0 10px 30px rgba(15,23,42,.04);

}

.ind-stat-card:hover{

    transform:translateY(-10px);

    box-shadow:

    0 30px 60px rgba(15,23,42,.12);

}

.ind-stat-card:hover::before{

    transform:scaleX(1);

}

.ind-stat-card--highlight {
  border-left-color: var(--clr-orange);
  background-color: #FFF7ED; /* Warm tint orange ringan */
}

.ind-stat-card__icon {
  color: var(--clr-orange);
  margin-bottom: 0.5rem;
}

.ind-stat-card__value{

    font-size:48px;

    font-weight:800;

    color:#16213E;

    margin-bottom:10px;

}
.ind-stat-card__value--text {
  font-size: 1.65rem;
  letter-spacing: -0.01em;
}

.ind-stat-card__suffix {
  color: var(--clr-orange);
  font-weight: 800;
}

.ind-stat-card__label{

    font-size:20px;

    font-weight:700;

    color:#1E293B;

}

.ind-stat-card__desc{

    color:#64748B;

    line-height:1.7;

}

/* Responsive Breakpoints */
@media(max-width:992px){

.ind-stats__grid{

grid-template-columns:repeat(2,1fr);

gap:20px;

}

}

@media(max-width:768px){

.ind-trusted{

padding:80px 0;

}

.ind-stats__grid{

grid-template-columns:1fr;

}

.ind-logo-item{

min-width:130px;

height:75px;

}

}

.ind-stat-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:

    linear-gradient(90deg,#0D63B8,#F97316);

    transform:scaleX(0);

    transition:.35s;

}
  .ind-stat-card {
    padding: 1.25rem 1rem;
  }



.ind-trusted__header{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.ind-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 16px;
    padding:10px 22px;
    width:auto;
}

.ind-trusted__title{
    margin:0 auto;
    text-align:center;
}

.ind-trusted__description{
    margin:20px auto 0;
    text-align:center;
    max-width:760px;
}





/* ==========================================================================
   WHY CHOOSE US SECTION (PREMIUM CORPORATE STYLE)
   ========================================================================== */

/* Wrapper */
.ind-why{
    position:relative;
    overflow:hidden;
    padding:6rem 1rem;
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    background:
        radial-gradient(circle at top right,rgba(234,88,12,.05),transparent 28%),
        radial-gradient(circle at bottom left,rgba(15,23,42,.05),transparent 35%),
        #F8FAFC;
}

.ind-why::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.55),
            rgba(255,255,255,0)
        );
    pointer-events:none;
}

.ind-why__container{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1280px;
    margin:auto;
}

/* =======================================================
   HEADER
======================================================= */

.ind-why__header{
    max-width:820px;
    margin:0 auto 4.5rem;
    text-align:center;
}

.ind-why__title{
    margin:0 0 1rem;
    font-size:clamp(2.2rem,4vw,3rem);
    line-height:1.15;
    font-weight:800;
    color:#0F172A;
    letter-spacing:-.03em;
}

.ind-why__subtitle{
    margin:0;
    font-size:1.1rem;
    line-height:1.85;
    color:#64748B;
}

/* =======================================================
   GRID
======================================================= */

.ind-why__grid{
    display:grid;
    gap:2rem;
    grid-template-columns:1fr;
}

@media(min-width:768px){

.ind-why__grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(min-width:1024px){

.ind-why__grid{
grid-template-columns:repeat(3,1fr);
}

}

/* =======================================================
   CARD
======================================================= */

.ind-why__card{

    position:relative;
    overflow:hidden;

    display:flex;
    flex-direction:column;

    height:100%;

    padding:38px;

    border-radius:24px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.98),
            rgba(255,255,255,.96)
        );

    border:1px solid rgba(226,232,240,.9);

    box-shadow:
        0 12px 30px rgba(15,23,42,.05),
        0 3px 10px rgba(15,23,42,.03);

    transition:
        transform .45s cubic-bezier(.22,1,.36,1),
        box-shadow .45s cubic-bezier(.22,1,.36,1),
        border-color .45s ease;

    will-change:transform;
}

/* top light */

.ind-why__card::before{

    content:"";
    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:120px;

    background:

    linear-gradient(
        180deg,
        rgba(255,255,255,.95),
        rgba(255,255,255,0)
    );

    opacity:0;

    transition:.45s;

}

/* orange accent */

.ind-why__card::after{

content:"";

position:absolute;

left:0;
top:0;

width:100%;
height:4px;

background:

linear-gradient(
90deg,
#EA580C,
#FB923C
);

transform:scaleX(0);

transform-origin:left;

transition:.45s cubic-bezier(.22,1,.36,1);

}

/* Hover */

.ind-why__card:hover{

transform:
translateY(-10px)
scale(1.015);

border-color:rgba(234,88,12,.35);

box-shadow:
0 25px 60px rgba(15,23,42,.10),
0 8px 22px rgba(234,88,12,.08);

}

.ind-why__card:hover::before{

opacity:1;

}

.ind-why__card:hover::after{

transform:scaleX(1);

}

/* =======================================================
   ICON
======================================================= */

.ind-why__icon-wrapper{

position:relative;

width:68px;
height:68px;

border-radius:18px;

display:flex;
align-items:center;
justify-content:center;

margin-bottom:26px;

background:

linear-gradient(
145deg,
#0F172A,
#1E293B 45%,
#EA580C
);

box-shadow:

0 14px 30px rgba(234,88,12,.18);

transition:

transform .45s cubic-bezier(.22,1,.36,1),
box-shadow .45s;

}

.ind-why__icon-wrapper::before{

content:"";

position:absolute;

inset:1px;

border-radius:17px;

background:

linear-gradient(
180deg,
rgba(255,255,255,.12),
rgba(255,255,255,0)
);

pointer-events:none;

}

.ind-why__card:hover .ind-why__icon-wrapper{

transform:

translateY(-3px)
scale(1.08)
rotate(4deg);

box-shadow:

0 20px 40px rgba(234,88,12,.25);

}

.ind-why__icon-wrapper svg{

transition:transform .45s;

}

.ind-why__card:hover svg{

transform:scale(1.08);

}

/* =======================================================
   TYPOGRAPHY
======================================================= */

.ind-why__card-title{

margin:0 0 1rem;

font-size:1.32rem;

font-weight:700;

line-height:1.35;

color:#0F172A;

letter-spacing:-.02em;

transition:color .35s;

}

.ind-why__card:hover .ind-why__card-title{

color:#EA580C;

}

.ind-why__card-desc{

margin:0;

flex-grow:1;

font-size:1rem;

line-height:1.85;

color:#64748B;

}

/* =======================================================
   FADE ANIMATION
======================================================= */

.ind-why-fade-up{

opacity:0;

transform:translateY(35px);

transition:

opacity .8s cubic-bezier(.22,1,.36,1),

transform .8s cubic-bezier(.22,1,.36,1);

will-change:transform,opacity;

}

.ind-why-fade-up.is-visible{

opacity:1;

transform:none;

transition-delay:var(--ind-why-delay,0ms);

}

/* =======================================================
   RESPONSIVE
======================================================= */

@media(max-width:767px){

.ind-why{

padding:4.5rem 1rem;

}

.ind-why__header{

margin-bottom:3rem;

}

.ind-why__card{

padding:30px;

}

.ind-why__icon-wrapper{

width:62px;
height:62px;

}

}

/* =======================================================
   ACCESSIBILITY
======================================================= */

@media(prefers-reduced-motion:reduce){

.ind-why__card,
.ind-why__icon-wrapper,
.ind-why-fade-up{

transition:none !important;
animation:none !important;

}

.ind-why__card:hover{

transform:none;

}

.ind-why-fade-up{

opacity:1;
transform:none;

}

}




/* ==========================================================================
   TENTANG PUSAT DALTON SECTION (NAMESPACE: .ind-about)
   ========================================================================== */

/* Variables scoped to this section */
.ind-about{

  --about-clr-navy:#0F172A;
  --about-clr-orange:#EA580C;
  --about-clr-orange-hover:#C2410C;
  --about-clr-white:#FFFFFF;
  --about-clr-gray:#F8FAFC;
  --about-clr-border:#E2E8F0;
  --about-clr-text:#334155;
  --about-clr-text-light:#64748B;

  position:relative;

  overflow:hidden;

  padding:6rem 1rem;

  font-family:'Inter',system-ui,sans-serif;

  background:
      radial-gradient(circle at top right,rgba(234,88,12,.05),transparent 28%),
      radial-gradient(circle at bottom left,rgba(15,23,42,.04),transparent 35%),
      #fff;

}

/* Background Decorations */
.ind-about__decor {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.ind-about__decor-grid {
  position: absolute;
  inset: 0;
  background-image: 
    linear-gradient(to right, rgba(15, 23, 42, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15, 23, 42, 0.03) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: radial-gradient(circle at center, black 40%, transparent 80%);
  -webkit-mask-image: radial-gradient(circle at center, black 40%, transparent 80%);
}

.ind-about__decor-glow {
  position: absolute;
  top: -10%;
  right: -5%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(234, 88, 12, 0.05) 0%, transparent 70%);
  border-radius: 50%;
}

/* Layout Container */
.ind-about__container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.ind-about__layout{

display:grid;

grid-template-columns:1.05fr .95fr;

gap:5rem;

align-items:center;

}

@media(max-width:991px){

.ind-about__layout{

grid-template-columns:1fr;

gap:3rem;

}

}

@media (min-width: 768px) {
  .ind-about__layout {
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
  }
}

/* ==========================================================================
   LEFT COLUMN: Visual & Image
   ========================================================================== */
.ind-about__visual{

position:relative;

display:flex;

align-items:center;

justify-content:center;

padding:0;

min-height:650px;

}

/* Visual Background Decor (Dots & Blocks) */
.ind-about__visual-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.ind-about__bg-dots {
  position: absolute;
  bottom: -1rem;
  left: -1rem;
  width: 150px;
  height: 150px;
  background-image: radial-gradient(var(--about-clr-border) 2px, transparent 2px);
  background-size: 15px 15px;
}

.ind-about__bg-shape{

top:40px;

right:-40px;

width:82%;

height:88%;

border-radius:32px;

}

/* Image Wrapper */
.ind-about__figure{

position:relative;

width:100%;

max-width:640px;

aspect-ratio:5/6;

border-radius:28px;

overflow:hidden;

background:#fff;

box-shadow:

0 30px 70px rgba(15,23,42,.12);

}

.ind-about__figure:hover{

transform:

translateY(-6px);

box-shadow:

0 28px 60px rgba(15,23,42,.12),

0 10px 25px rgba(234,88,12,.08);

}

.ind-about__image{

width:100%;

height:100%;

display:block;

object-fit:cover;

transition:

transform .7s cubic-bezier(.22,1,.36,1);

}

.ind-about__figure:hover .ind-about__image{

transform:scale(1.03);

}

.ind-about__figure:hover .ind-about__image {
  transform: scale(1.05);
}

.ind-about__image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15, 23, 42, 0.4) 0%, transparent 50%);
  pointer-events: none;
}

/* Floating Badges */
.ind-about__float-badge {
  position: absolute;
  background-color: var(--about-clr-white);
  padding: 12px 20px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.1);
  border: 1px solid var(--about-clr-border);
  font-weight: 700;
  color: var(--about-clr-navy);
  font-size: 0.875rem;
  animation: indAboutFloat 6s ease-in-out infinite;
  z-index: 2;
}

.ind-about__float-badge--top{

top:30px;

left:-25px;

}

.ind-about__float-badge--bottom {
  bottom: 40%;
  right: -30%;
  animation-delay: 2s;
}

.ind-about__float-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background-color: var(--about-clr-gray);
  color: var(--about-clr-navy);
  border-radius: 8px;
}

.ind-about__float-icon--orange {
  background-color: #FFF7ED;
  color: var(--about-clr-orange);
}

@keyframes indAboutFloat{ 0%,100%{

transform:translateY(0);

}

50%{

transform:translateY(-5px);

}

}

@media (max-width: 768px) {
  .ind-about__float-badge--top { left: 1rem; }
  .ind-about__float-badge--bottom { right: 1rem; }
}

/* ==========================================================================
   RIGHT COLUMN: Content
   ========================================================================== */
.ind-about__header {
  margin-bottom: 2.5rem;
}

.ind-about__badge {
  display: inline-block;
  background-color: var(--about-clr-gray);
  color: var(--about-clr-orange);
  font-weight: 700;
  font-size: 0.875rem;
  padding: 6px 16px;
  border-radius: 100px;
  margin-bottom: 1rem;
  border: 1px solid var(--about-clr-border);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.ind-about__title {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
  color: var(--about-clr-navy);
  line-height: 1.2;
  margin: 0 0 1rem 0;
  letter-spacing: -0.02em;
}

.ind-about__desc {
  font-size: 1.125rem;
  color: var(--about-clr-text-light);
  line-height: 1.7;
  margin: 0;
}

/* Cards Wrapper */
.ind-about__cards {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 2.5rem;
}

.ind-about__card{

display:flex;

gap:22px;

padding:28px;

background:#fff;

border-radius:22px;

border:1px solid rgba(226,232,240,.9);

box-shadow:

0 10px 25px rgba(15,23,42,.04);

transition:

all .45s cubic-bezier(.22,1,.36,1);

}

.ind-about__card:hover{

transform:

translateY(-6px);

border-color:rgba(234,88,12,.35);

box-shadow:

0 24px 55px rgba(15,23,42,.09),

0 10px 20px rgba(234,88,12,.06);

}

.ind-about__card-icon{

width:54px;

height:54px;

border-radius:16px;

background:#F8FAFC;

transition:

all .45s cubic-bezier(.22,1,.36,1);

}

.ind-about__card:hover .ind-about__card-icon{

background:#0F172A;

color:#fff;

transform:

rotate(4deg)

scale(1.06);

}

.ind-about__card-icon--orange {
  background-color: var(--about-clr-orange);
  color: var(--about-clr-white);
}

.ind-about__card:hover .ind-about__card-icon:not(.ind-about__card-icon--orange) {
  background-color: var(--about-clr-navy);
  color: var(--about-clr-white);
}

.ind-about__card-body {
  flex-grow: 1;
}

.ind-about__card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--about-clr-navy);
  margin: 0 0 0.5rem 0;
}

.ind-about__card-text {
  font-size: 0.95rem;
  color: var(--about-clr-text-light);
  line-height: 1.6;
  margin: 0;
}

.ind-about__card-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ind-about__card-list li {
  font-size: 0.95rem;
  color: var(--about-clr-text-light);
  line-height: 1.4;
  position: relative;
  padding-left: 1.25rem;
}

.ind-about__card-list li::before {
  content: "•";
  color: var(--about-clr-orange);
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.ind-about__actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.ind-about__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.ind-about__btn--primary {
  background-color: var(--about-clr-orange);
  color: var(--about-clr-white);
  border: 2px solid var(--about-clr-orange);
  box-shadow: 0 4px 6px rgba(234, 88, 12, 0.2);
}

.ind-about__btn--primary:hover,
.ind-about__btn--primary:focus-visible {
  background-color: var(--about-clr-orange-hover);
  border-color: var(--about-clr-orange-hover);
  transform: translateY(-2px);
  box-shadow: 0 8px 15px rgba(234, 88, 12, 0.3);
}

.ind-about__btn--outline {
  background-color: transparent;
  color: var(--about-clr-navy);
  border: 2px solid var(--about-clr-border);
}

.ind-about__btn--outline:hover,
.ind-about__btn--outline:focus-visible {
  border-color: var(--about-clr-navy);
  background-color: var(--about-clr-navy);
  color: var(--about-clr-white);
}

@media (max-width: 576px) {
  .ind-about__actions {
    flex-direction: column;
  }

  .ind-about__btn{

padding:15px 30px;

border-radius:16px;

font-weight:700;

transition:

all .45s cubic-bezier(.22,1,.36,1);

}

.ind-about__btn:hover{

transform:

translateY(-3px);

}
}

/* ==========================================================================
   ANIMATIONS (Intersection Observer Target)
   ========================================================================== */
.ind-about-fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), 
              transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.ind-about-fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition-delay: var(--ind-about-delay, 0ms);
}

/* Prefers Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .ind-about-fade-up, .ind-about__float-badge, .ind-about__image, .ind-about__card, .ind-about__btn {
    transition: none !important;
    animation: none !important;
  }
  .ind-about-fade-up {
    opacity: 1;
    transform: none;
  }
}

/* Pastikan area tombol berada di lapisan teratas dan bisa diklik */
.hero-buttons, 
.about-buttons, 
.tentang-buttons {
    position: relative;
    z-index: 10; /* Membuat elemen tombol berada di atas background/overlay */
}

/* Pastikan semua tombol mengizinkan interaksi klik */
.btn {
    position: relative;
    z-index: 11;
    pointer-events: auto !important; /* Memaksa tombol agar bisa diklik */
    cursor: pointer;
}






/* ==========================================================================
   BAGAIMANA CARA PEMESANAN SECTION (NAMESPACE: .ind-order)
   ========================================================================== */

.ind-order{

  --order-clr-navy:#0F172A;
  --order-clr-orange:#EA580C;
  --order-clr-orange-hover:#C2410C;
  --order-clr-white:#FFFFFF;
  --order-clr-secondary:#F8FAFC;
  --order-clr-border:#E2E8F0;
  --order-clr-text:#334155;
  --order-clr-muted:#64748B;

  position:relative;

  overflow:hidden;

  padding:6rem 1rem;

  font-family:'Inter',system-ui,sans-serif;

  background:
      radial-gradient(circle at top right,rgba(234,88,12,.05),transparent 28%),
      radial-gradient(circle at bottom left,rgba(15,23,42,.04),transparent 35%),
      #fff;

}

/* Decorative Background Shapes */
.ind-order__decor {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.ind-order__decor-grid {
  position: absolute;
  inset: 0;
  background-image: 
    linear-gradient(to right, rgba(15, 23, 42, 0.02) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15, 23, 42, 0.02) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(circle at 50% 30%, black 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(circle at 50% 30%, black 30%, transparent 80%);
}

.ind-order__decor-glow {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 400px;
  background: radial-gradient(circle, rgba(234, 88, 12, 0.04) 0%, transparent 70%);
  border-radius: 50%;
}

.ind-order__container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

/* Header */
.ind-order__header{

max-width:720px;

margin:0 auto 70px;

text-align:center;

}

.ind-order__badge {
  display: inline-block;
  background-color: var(--order-clr-secondary);
  color: var(--order-clr-orange);
  font-weight: 700;
  font-size: 0.875rem;
  padding: 6px 16px;
  border-radius: 100px;
  margin-bottom: 1rem;
  border: 1px solid var(--order-clr-border);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.ind-order__title{

max-width:680px;

margin:0 auto 20px;

font-size:clamp(2.3rem,4vw,3.2rem);

line-height:1.15;

}

.ind-order__subtitle{

max-width:700px;

margin:auto;

line-height:1.9;

}

/* ==========================================================================
   TIMELINE WRAPPER & GRID
   ========================================================================== */
.ind-order__timeline-wrapper {
  position: relative;
  margin-bottom: 5rem;
}

/* Garis Horizontal Desktop */
.ind-order__timeline-line{

top:63px;

height:4px;

border-radius:999px;

background:#E2E8F0;

}

.ind-order__grid{

display:grid;

grid-template-columns:

repeat(5,minmax(240px,1fr));

gap:26px;

align-items:stretch;

}

/* Tablet (2 Kolom) */
@media (min-width: 768px) {
  .ind-order__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}

/* Desktop (5 Kolom Horizontal dengan Timeline) */
@media (min-width: 1024px) {
  .ind-order__grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 1.5rem;
    align-items: start;
  }

  .ind-order__timeline-line {
    display: block;
    position: absolute;
    top: 95px; /* Posisikan sejajar dengan node lingkaran */
    left: 8%;
    right: 8%;
    height: 3px;
    background-color: var(--order-clr-border);
    z-index: 1;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
    
  }

  .ind-order__timeline-line.is-active {
    transform: scaleX(1);
  }
}

/* ==========================================================================
   CARD STYLING
   ========================================================================== */
.ind-order__card{

position:relative;

display:flex;

flex-direction:column;

padding:34px;

min-height:410px;

background:#fff;

border-radius:26px;

border:1px solid #E8EDF5;

box-shadow:

0 10px 30px rgba(15,23,42,.05);

transition:

all .45s cubic-bezier(.22,1,.36,1);

overflow:hidden;

}

.ind-order__card:hover{

transform:

translateY(-8px)

scale(1.01);

border-color:

rgba(234,88,12,.35);

box-shadow:

0 28px 60px rgba(15,23,42,.10),

0 8px 20px rgba(234,88,12,.08);

}

/* Node Lingkaran Timeline di Desktop */
.ind-order__node{

width:18px;

height:18px;

border:4px solid #fff;

box-shadow:

0 0 0 3px #EA580C,

0 8px 18px rgba(234,88,12,.18);

}

@media (min-width: 1024px) {
  .ind-order__node {
    display: block;
    position: absolute;
    top: 67px; /* Tepat di tengah garis horizontal */
    left: 50%;
    transform: translateX(-50%);
    width: 14px;
    height: 14px;
    background-color: var(--order-clr-orange);
    border: 3px solid var(--order-clr-white);
    border-radius: 50%;
    box-shadow: 0 0 0 2px var(--order-clr-orange);
    z-index: 3;
  }
}

/* Step Number Outline Transparan */
.ind-order__step-number{

top:22px;

right:24px;

font-size:2.6rem;

opacity:.28;

}

.ind-order__card:hover .ind-order__step-number{

-webkit-text-stroke:1px #EA580C;

opacity:.7;

}

.ind-order__card:hover .ind-order__step-number {
  -webkit-text-stroke-color: var(--order-clr-orange);
}

/* Icon Container */
.ind-order__icon-container{

width:82px;

height:82px;

top:40px;

bottom:-40px;

border-radius:22px;

background:

linear-gradient(

145deg,

#0F172A,

#1E293B 45%,

#EA580C

);

display:flex;

align-items:center;

justify-content:center;

box-shadow:

0 18px 35px rgba(234,88,12,.18);

margin-bottom:28px;

}

.ind-order__card:hover .ind-order__icon-container{

transform:

translateY(-3px)

rotate(4deg)

scale(1.05);

}

.ind-order__card:hover .ind-order__icon-container {
  transform: scale(1.08);
}

/* Card Typography */
.ind-order__card-title{

font-size:1.32rem;

margin-bottom:14px;

min-height:34px;

}

.ind-order__card-desc{

font-size:.96rem;

line-height:1.8;

color:#64748B;

}

.ind-order__card-desc {
  font-size: 0.95rem;
  color: var(--order-clr-muted);
  line-height: 1.8;
  margin: 0;
  flex-grow: 1;
}

/* ==========================================================================
   CTA AREA
   ========================================================================== */
.ind-order__cta {
  background-color: var(--order-clr-secondary);
  border: 1px solid var(--order-clr-border);
  border-radius: 20px;
  padding: 3rem 2rem;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

.ind-order__cta-title{

font-size:clamp(1.5rem,3vw,2rem);

margin-bottom:34px;

line-height:1.25;

}

.ind-order__cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.ind-order__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.35s ease;
}

.ind-order__btn--primary {
  background-color: var(--order-clr-orange);
  color: var(--order-clr-white);
  border: 2px solid var(--order-clr-orange);
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.25);
}

.ind-order__btn--primary:hover,
.ind-order__btn--primary:focus-visible {
  background-color: var(--order-clr-orange-hover);
  border-color: var(--order-clr-orange-hover);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(234, 88, 12, 0.35);
}

.ind-order__btn--outline {
  background-color: transparent;
  color: var(--order-clr-navy);
  border: 2px solid var(--order-clr-border);
}

.ind-order__btn--outline:hover,
.ind-order__btn--outline:focus-visible {
  border-color: var(--order-clr-navy);
  background-color: var(--order-clr-navy);
  color: var(--order-clr-white);
  transform: translateY(-2px);
}

@media (max-width: 576px) {
  .ind-order__cta-actions {
    flex-direction: column;
  }
  .ind-order__btn {
    width: 100%;
  }
  .ind-order {
    padding: 4rem 1rem;
  }
}

/* ==========================================================================
   ANIMATIONS (Intersection Observer Targets)
   ========================================================================== */
.ind-order-fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), 
              transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.ind-order-fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition-delay: var(--ind-order-delay, 0ms);
}

/* Prefers Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .ind-order-fade-up, .ind-order__card, .ind-order__icon-container, .ind-order__timeline-line {
    transition: none !important;
    animation: none !important;
  }
  .ind-order-fade-up {
    opacity: 1;
    transform: none;
  }
  .ind-order__timeline-line{

display:none !important;

top:78px;

left:9%;

right:9%;

height:4px;

border-radius:999px;

}
}

.ind-order__icon-container svg{

width:40px;

bottom:-2px;;

height:30px;

color:#fff;

stroke:currentColor;

fill:none;

stroke-width:2;

position:relative;

z-index:2;

}

.ind-order__card::before{

content:"";

position:absolute;

left:0;

top:0;

width:100%;

height:4px;

background:

linear-gradient(

90deg,

#EA580C,

#FB923C

);

transform:scaleX(0);

transform-origin:left;

transition:.45s;

}

.ind-order__card:hover::before{

transform:scaleX(1);

}





/* ==========================================================================
   INDUSTRIES SECTION (NAMESPACE: .ind-industries)
   ========================================================================== */

.ind-industries{

  --ind-primary:#0F172A;
  --ind-accent:#EA580C;
  --ind-bg:#F8FAFC;
  --ind-card-bg:#FFFFFF;
  --ind-text:#334155;
  --ind-text-light:#64748B;
  --ind-border:#E2E8F0;

  position:relative;

  overflow:hidden;

  padding:6rem 1rem;

  font-family:'Inter',system-ui,sans-serif;

  background:

      radial-gradient(circle at top right,rgba(234,88,12,.05),transparent 28%),

      radial-gradient(circle at bottom left,rgba(15,23,42,.04),transparent 35%),

      #F8FAFC;

}

.ind-industries__container{

width:100%;

max-width:1280px;

margin:auto;

}

/* Header Styling */
.ind-industries__header{

    max-width:760px;

    margin:0 auto 60px;

    text-align:center;

}

.ind-industries__title{

    margin:0 auto 18px;

    max-width:700px;

    font-size:clamp(2.2rem,4vw,3rem);

    line-height:1.15;

    letter-spacing:-.03em;

}

.ind-industries__subtitle{

    margin:0 auto;

    max-width:650px;

    font-size:1.08rem;

    line-height:1.9;

    color:#64748B;

}

/* Grid Layout */
.ind-industries__grid{

display:grid;

grid-template-columns:1fr;

gap:24px;

}

@media(min-width:768px){

.ind-industries__grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(min-width:1200px){

.ind-industries__grid{

grid-template-columns:repeat(3,1fr);

gap:28px;

}

}
  
  /* Untuk row terakhir agar berada di tengah jika jumlah item ganjil/tidak rata */
  .ind-industries__card:nth-child(13) {
    grid-column: 1 / 2;
  }


/* Card Styling */
.ind-industries__card{

position:relative;

overflow:hidden;

display:flex;

align-items:center;

gap:16px;

padding:26px 24px;

border-radius:22px;

background:

linear-gradient(

180deg,

rgba(255,255,255,.98),

rgba(255,255,255,.95)

);

border:1px solid rgba(226,232,240,.9);

box-shadow:

0 12px 30px rgba(15,23,42,.05),

0 4px 10px rgba(15,23,42,.03);

transition:

all .45s cubic-bezier(.22,1,.36,1);

}

.ind-industries__icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.ind-industries__name {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* Hover & Focus State */
.ind-industries__card:hover{

transform:

translateY(-8px)

scale(1.015);

border-color:

rgba(234,88,12,.35);

background:

linear-gradient(

135deg,

#0F172A,

#1E293B

);

color:#fff;

box-shadow:

0 28px 60px rgba(15,23,42,.10),

0 8px 20px rgba(234,88,12,.08);

}
.ind-industries__card::before{

content:"";

position:absolute;

left:0;

top:0;

width:100%;

height:4px;

background:

linear-gradient(

90deg,

#EA580C,

#FB923C

);

transform:scaleX(0);

transform-origin:left;

transition:.45s;

}

.ind-industries__card:hover::before{

transform:scaleX(1);

}
.ind-industries__icon{

width:28px;

height:28px;

transition:

all .45s cubic-bezier(.22,1,.36,1);

}

.ind-industries__card:hover .ind-industries__icon{

transform:

scale(1.18)

rotate(5deg);

}
.ind-industries__name{

font-size:1.08rem;

font-weight:700;

letter-spacing:-.02em;

}
.ind-industries__card::after{

content:"";

position:absolute;

inset:0;

background:

linear-gradient(

180deg,

rgba(255,255,255,.22),

transparent 45%

);

opacity:0;

transition:.45s;

pointer-events:none;

}

.ind-industries__card:hover::after{

opacity:1;

}
.ind-industries-fade-up{

opacity:0;

transform:translateY(30px);

transition:

opacity .8s cubic-bezier(.22,1,.36,1),

transform .8s cubic-bezier(.22,1,.36,1);

}

.ind-industries__card:focus-visible {
  background-color: var(--ind-primary);
  color: #FFFFFF;
  transform: translateY(-5px);
  box-shadow: 0 15px 25px -5px rgba(15, 23, 42, 0.15), 0 8px 10px -6px rgba(15, 23, 42, 0.1);
  outline: none;
  border-color: var(--ind-primary);
}

.ind-industries__card:hover .ind-industries__icon,
.ind-industries__card:focus-visible .ind-industries__icon {
  transform: scale(1.15);
}

/* Optional: Memberikan variasi warna accent pada hover jika diinginkan (opsional) */
/* .ind-industries__card:hover { background-color: var(--ind-accent); border-color: var(--ind-accent); } */

/* ==========================================================================
   ANIMATIONS
   ========================================================================== */
.ind-industries-fade-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), 
              transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.ind-industries-fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition-delay: var(--ind-delay, 0ms);
}

/* Prefers Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .ind-industries-fade-up, .ind-industries__card, .ind-industries__icon {
    transition: none !important;
    animation: none !important;
  }
  .ind-industries-fade-up {
    opacity: 1;
    transform: none;
  }
}






/* ==========================================================================
   FAQ SECTION (NAMESPACE: .pd-faq)
   ========================================================================== */

.pd-faq {
  /* Variables */
  --pdfaq-primary: #0F172A;
  --pdfaq-accent: #EA580C;
  --pdfaq-accent-light: rgba(234, 88, 12, 0.1);
  --pdfaq-bg: #F8FAFC;
  --pdfaq-white: #FFFFFF;
  --pdfaq-border: #E2E8F0;
  --pdfaq-text: #334155;
  --pdfaq-text-light: #64748B;
  
  position: relative;
  background-color: var(--pdfaq-bg);
  padding: 6rem 1rem;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  overflow: hidden;
  z-index: 1;
}

/* Decorative Background Effects */
.pd-faq__bg-grid {
  position: absolute;
  inset: 0;
  background-size: 40px 40px;
  background-image: linear-gradient(to right, rgba(15, 23, 42, 0.03) 1px, transparent 1px), 
                    linear-gradient(to bottom, rgba(15, 23, 42, 0.03) 1px, transparent 1px);
  z-index: -2;
  opacity: 0.7;
}

.pd-faq__bg-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  z-index: -1;
  opacity: 0.15;
}

.pd-faq__bg-blob--1 {
  width: 400px;
  height: 400px;
  background-color: var(--pdfaq-accent);
  top: -10%;
  left: -10%;
}

.pd-faq__bg-blob--2 {
  width: 500px;
  height: 500px;
  background-color: var(--pdfaq-primary);
  bottom: 10%;
  right: -15%;
}

/* Container */
.pd-faq__container {
  max-width: 900px;
  margin: 0 auto;
  position: relative;
}

/* Header */
.pd-faq__header {
  text-align: center;
  margin-bottom: 4rem;
  max-width:780px;
  margin:0 auto 70px;
}

.pd-faq__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background-color: var(--pdfaq-accent-light);
  color: var(--pdfaq-accent);
  padding: 0.5rem 1rem;
  border-radius: 50px;
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 1.25rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.pd-faq__badge-icon {
  width: 16px;
  height: 16px;
}

.pd-faq__title {
  color: var(--pdfaq-primary);
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 1.25rem 0;
  letter-spacing: -0.02em;
}

.pd-faq__subtitle {
  color: var(--pdfaq-text-light);
  font-size: 1.125rem;
  line-height: 1.7;
  max-width: 700px;
  margin: 0 auto;
}

/* Accordion List */
.pd-faq__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Accordion Item */
.pd-faq__item{

position:relative;

overflow:hidden;

background:#fff;

border-radius:22px;

border:1px solid rgba(226,232,240,.9);

box-shadow:

0 12px 30px rgba(15,23,42,.05),

0 4px 10px rgba(15,23,42,.03);

transition:

all .45s cubic-bezier(.22,1,.36,1);

}

.pd-faq__item::before{

content:"";

position:absolute;

left:0;

top:0;

width:4px;

height:100%;

background:

linear-gradient(

180deg,

#EA580C,

#FB923C

);

transform:scaleY(0);

transform-origin:top;

transition:.45s;

}

.pd-faq__item.is-active::before,

.pd-faq__item:hover::before{

transform:scaleY(1);

}

.pd-faq__item:hover{

transform:translateY(-4px);

border-color:rgba(234,88,12,.35);

box-shadow:

0 24px 55px rgba(15,23,42,.08),

0 8px 18px rgba(234,88,12,.06);

}

/* Active State */
.pd-faq__item.is-active {
  border-color: var(--pdfaq-accent);
  box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.08);
}

/* Trigger Button */
.pd-faq__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.5rem 1.75rem;
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  color: var(--pdfaq-primary);
  font-family: inherit;
  transition: color 0.3s ease;
}

.pd-faq__trigger:focus-visible {
  outline: 2px solid var(--pdfaq-accent);
  outline-offset: -2px;
  border-radius: 18px;
}

.pd-faq__item.is-active .pd-faq__trigger {
  color: var(--pdfaq-accent);
  padding-bottom: 0.5rem;
}

.pd-faq__question {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}

/* Icon Setup */
.pd-faq__icon-wrap {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--pdfaq-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pdfaq-primary);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.pd-faq__item:hover .pd-faq__icon-wrap {
  background-color: var(--pdfaq-accent-light);
  color: var(--pdfaq-accent);
}

.pd-faq__icon {
  width: 18px;
  height: 18px;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.pd-faq__icon-v {
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
  transform-origin: center;
}

/* Active Icon Animation (Plus to Minus) */
.pd-faq__item.is-active .pd-faq__icon-wrap {
  background-color: var(--pdfaq-accent);
  color: var(--pdfaq-white);
  transform: rotate(180deg);
}

.pd-faq__item.is-active .pd-faq__icon-v {
  transform: rotate(90deg);
  opacity: 0;
}

/* Content Area - CSS Grid Transition Trick for smooth slide down */
.pd-faq__content {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
              opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
              visibility 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  visibility: hidden;
}

.pd-faq__item.is-active .pd-faq__content {
  grid-template-rows: 1fr;
  opacity: 1;
  visibility: visible;
}

.pd-faq__content-inner {
  overflow: hidden;
}

.pd-faq__content-inner p {
  padding: 0 1.75rem 1.75rem 1.75rem;
  margin: 0;
  color: var(--pdfaq-text);
  line-height: 1.7;
  font-size: 1rem;
}

/* CTA Box */
.pd-faq__cta{

padding:70px 60px;

border-radius:30px;

display:flex;

background:


linear-gradient(

135deg,

#0F172A,

#1E293B

);

box-shadow:

0 30px 60px rgba(15,23,42,.18);

}

/* CTA Decorative Pattern */
.pd-faq__cta::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 250px;
  height: 250px;
  background: radial-gradient(circle, var(--pdfaq-accent) 0%, transparent 70%);
  opacity: 0.15;
  transform: translate(30%, -30%);
  pointer-events: none;
}

.pd-faq__cta-content {
  position: relative;
  z-index: 1;
}

.pd-faq__cta-title {
  color: var(--pdfaq-white);
  font-size: 1.75rem;
  font-weight: 800;
  margin: 0 0 1rem 0;
}

.pd-faq__cta-desc {
  color: #94A3B8;
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 600px;
  margin: 0 auto;
}

.pd-faq__cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  position: relative;
  z-index: 1;
}

.pd-faq__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.875rem 2rem;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

.pd-faq__btn--primary {
  background-color: var(--pdfaq-accent);
  color: var(--pdfaq-white);
  border: 2px solid var(--pdfaq-accent);
}

.pd-faq__btn--primary:hover {
  background-color: #C2410C;
  border-color: #C2410C;
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(234, 88, 12, 0.3);
}

.pd-faq__btn--secondary {
  background-color: transparent;
  color: var(--pdfaq-white);
  border: 2px solid rgba(255,255,255,0.2);
}

.pd-faq__btn--secondary:hover {
  background-color: rgba(255,255,255,0.1);
  border-color: var(--pdfaq-white);
  transform: translateY(-2px);
}

/* Animations - Intersection Observer Classes */
.pd-faq-fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), 
              transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.pd-faq-fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition-delay: var(--pd-delay, 0ms);
}

/* Responsive Styles */
@media (max-width: 768px) {
  .pd-faq {
    padding: 4rem 1rem;
  }
  
  .pd-faq__title {
    font-size: 1.75rem;
  }
  
  .pd-faq__trigger {
    padding: 1.25rem;
    gap: 1rem;
  }
  
  .pd-faq__question {
    font-size: 1rem;
  }
  
  .pd-faq__content-inner p {
    padding: 0 1.25rem 1.25rem 1.25rem;
    font-size: 0.95rem;
  }
  
  .pd-faq__cta {
    padding: 2.5rem 1.5rem;
  }
  
  .pd-faq__cta-actions {
    flex-direction: column;
    width: 100%;
  }
  
  .pd-faq__btn {
    width: 100%;
  }
}

/* Accessibility: Prefers Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .pd-faq-fade-up, .pd-faq__item, .pd-faq__content, .pd-faq__icon-wrap, .pd-faq__icon, .pd-faq__icon-v, .pd-faq__btn {
    transition: none !important;
    animation: none !important;
  }
  .pd-faq-fade-up {
    opacity: 1;
    transform: none;
  }
}






/* ==========================================================================
   CALL TO ACTION / HUBUNGI SALES SECTION (NAMESPACE: .pd-cta-sales)
   ========================================================================== */

.pd-cta-sales{

--pdcta-primary:#0F172A;
--pdcta-accent:#EA580C;
--pdcta-accent-hover:#C2410C;
--pdcta-bg:#FFFFFF;
--pdcta-border:#E2E8F0;
--pdcta-text-dark:#0F172A;
--pdcta-text-white:#FFFFFF;
--pdcta-wa:#25D366;
--pdcta-wa-hover:#1EBE5D;

position:relative;

overflow:hidden;

padding:110px 20px;

font-family:'Inter',sans-serif;

background:
linear-gradient(
135deg,
#F45A00 0%,
#EA580C 45%,
#D9480F 100%
);

}

/* Decorative Industrial Backgrounds */
.pd-cta-sales__bg-grid{

position:absolute;

inset:0;

background-image:

linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),

linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);

background-size:40px 40px;

opacity:.35;

}



.pd-cta-sales__bg-circle {
  position: absolute;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.08);
  z-index: -1;
  pointer-events: none;
}

.pd-cta-sales__bg-circle--1 {
  width: 550px;
  height: 550px;
  top: -200px;
  left: -150px;
}

.pd-cta-sales__bg-circle--2 {
  width: 700px;
  height: 700px;
  bottom: -300px;
  right: -200px;
}

.pd-cta-sales__bg-dots {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.15) 1.5px, transparent 1.5px);
  background-size: 24px 24px;
  z-index: -2;
  opacity: 0.4;
}

/* Container */
.pd-cta-sales__container {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

/* Grid Layout (Desktop: 60% / 40%, Tablet: 2 Kolom, Mobile: 1 Kolom) */
.pd-cta-sales__grid{

display:grid;

grid-template-columns:60% 40%;

gap:70px;

align-items:center;

}

@media(max-width:992px){

.pd-cta-sales__grid{

grid-template-columns:1fr;

gap:50px;

}

}

@media (min-width: 768px) {
  .pd-cta-sales__grid {
    grid-template-columns: 58% 42%;
    gap: 3rem;
  }
}

/* Kolom Kiri */
.pd-cta-sales__left {
  color: var(--pdcta-text-white);
}

.pd-cta-sales__badge{

display:inline-flex;

align-items:center;

gap:12px;

padding:14px 28px;

border-radius:100px;

background:rgba(255,255,255,.18);

backdrop-filter:blur(16px);

border:1px solid rgba(255,255,255,.2);

font-size:.95rem;

font-weight:700;

margin-bottom:34px;

}

.pd-cta-sales__badge-icon {
  width: 16px;
  height: 16px;
}

.pd-cta-sales__title {
  font-size: clamp(2rem, 3.5vw, 2.75rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 1.25rem 0;
  letter-spacing: -0.02em;
}

.pd-cta-sales__desc{

font-size:1.08rem;

line-height:1.9;

max-width:620px;

margin-bottom:40px;

opacity:.92;

}

/* Benefits List */
.pd-cta-sales__benefits {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.pd-cta-sales__benefit-item {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}

.pd-cta-sales__check-wrap {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pd-cta-sales__check-icon {
  width: 14px;
  height: 14px;
  color: var(--pdcta-text-white);
}

.pd-cta-sales__benefit-text {
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* Kolom Kanan: Floating Card */
.pd-cta-sales__right {
  display: flex;
  justify-content: center;
}

.pd-cta-sales__card{

position:relative;

background:#fff;

border-radius:32px;

padding:48px;

width:100%;

max-width:520px;

border:1px solid rgba(255,255,255,.25);

box-shadow:

0 35px 80px rgba(15,23,42,.18),

0 10px 25px rgba(15,23,42,.08);

transition:

all .45s cubic-bezier(.22,1,.36,1);

overflow:hidden;

}

.pd-cta-sales__card:hover{

transform:

translateY(-8px);

box-shadow:

0 45px 90px rgba(15,23,42,.35);

}

.pd-cta-sales__card-header {
  margin-bottom:34px;
  text-align: left;
}

.pd-cta-sales__card-title {
  color: var(--pdcta-text-dark);
  font-size: 1.5rem;
  font-weight: 800;
  margin: 0 0 0.5rem 0;
  letter-spacing: -0.01em;
}

.pd-cta-sales__card-subtitle {
  color: #64748B;
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
}

/* Actions / Buttons */
.pd-cta-sales__actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}

.pd-cta-sales__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
  padding: 1rem 1.5rem;
  border-radius: 12px;
  font-size: 1.05rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}

.pd-cta-sales__card-icon{

width:96px;

height:96px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:

linear-gradient(
180deg,
#FFF4EC,
#FFE8D9
);

flex-shrink:0;

}
.pd-cta-sales__btn:hover .pd-cta-sales__btn-icon-wrap {
  transform: scale(1.15);
}

.pd-cta-sales__btn-icon {
  width: 20px;
  height: 20px;
}

/* Button 1: WhatsApp */
.pd-cta-sales__btn--wa{

background:

linear-gradient(

135deg,

#25D366,

#1EBE5D

);

border:none;

box-shadow:

0 18px 35px rgba(37,211,102,.30);

}

.pd-cta-sales__btn--wa:hover{

transform:

translateY(-4px);

box-shadow:

0 25px 40px rgba(37,211,102,.35);

}

/* Button 2: Phone */
.pd-cta-sales__btn--phone {
  background-color: #FFFFFF;
  color: var(--pdcta-primary);
  border:2px solid #CBD5E1;
}

.pd-cta-sales__btn--phone:hover {
  background-color: var(--pdcta-primary);
  color: #FFFFFF;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.2);
}

/* Jam Operasional */
.pd-cta-sales__hours {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--pdcta-border);
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.5;
}

.pd-cta-sales__hours-icon {
  width: 18px;
  height: 18px;
  color: var(--pdcta-accent);
  flex-shrink: 0;
  margin-top: 2px;
}

.pd-cta-sales__hours-text strong {
  color: var(--pdcta-text-dark);
}

/* Animasi Intersection Observer */
.pd-cta-fade-up {
  opacity: 0;
  transform: translateY(35px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), 
              transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.pd-cta-fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition-delay: var(--pd-delay, 0ms);
}

/* Responsif Mobile & Tablet */
@media (max-width: 767px) {
  .pd-cta-sales {
    padding: 4.5rem 1rem;
  }

  .pd-cta-sales__card{

transition:

all .55s cubic-bezier(.22,1,.36,1);

}
}

/* Aksesibilitas: Prefers Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .pd-cta-fade-up, .pd-cta-sales__card, .pd-cta-sales__btn, .pd-cta-sales__btn-icon-wrap {
    transition: none !important;
    animation: none !important;
  }
  .pd-cta-fade-up {
    opacity: 1;
    transform: none;
  }
}




/* ==========================================================================
   PREMIUM CORPORATE FOOTER SECTION (NAMESPACE: .pd-footer)
   ========================================================================== */

.pd-footer {
  /* Design Tokens */
  --pdf-bg: #0F172A; /* Navy Primary */
  --pdf-accent: #EA580C; /* Orange Accent */
  --pdf-text: #FFFFFF;
  --pdf-text-sec: #CBD5E1;
  --pdf-border: rgba(255, 255, 255, 0.08);
  --pdf-border-hover: rgba(234, 88, 12, 0.4);
  
  position: relative;
  background-color: var(--pdf-bg);
  color: var(--pdf-text-sec);
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  padding: 5rem 1.25rem 2rem;
  overflow: hidden;
  z-index: 1;
}

/* Accessibility: Hide SR ONLY */
.pd-footer__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* --- DECORATIVE BACKGROUNDS --- */
.pd-footer__bg-grid {
  position: absolute;
  inset: 0;
  background-size: 60px 60px;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.02) 1px, transparent 1px), 
                    linear-gradient(to bottom, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  z-index: -2;
}

.pd-footer__bg-dots {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(234, 88, 12, 0.1) 1px, transparent 1px);
  background-size: 30px 30px;
  z-index: -2;
  opacity: 0.5;
}

.pd-footer__bg-gradient {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 100%, rgba(234, 88, 12, 0.08) 0%, transparent 50%);
  z-index: -2;
}

.pd-footer__bg-circle {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.03);
  z-index: -2;
  pointer-events: none;
}

.pd-footer__bg-circle--1 {
  width: 800px;
  height: 800px;
  top: -400px;
  left: -200px;
  border-color: rgba(234, 88, 12, 0.05);
}

.pd-footer__bg-circle--2 {
  width: 600px;
  height: 600px;
  bottom: -200px;
  right: -100px;
}

.pd-footer__bg-line {
  position: absolute;
  width: 1px;
  height: 100%;
  background: linear-gradient(to bottom, transparent, rgba(234, 88, 12, 0.2), transparent);
  left: 25%;
  top: 0;
  z-index: -2;
}

/* --- LAYOUT & CONTAINER --- */
.pd-footer__container {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.pd-footer__top {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3.5rem;
  padding-bottom: 4rem;
  border-bottom: 1px solid var(--pdf-border);
}

@media (min-width: 768px) {
  .pd-footer__top {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3rem;
    row-gap: 4rem;
  }
}

@media (min-width: 1024px) {
  .pd-footer__top {
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
    gap: 3.5rem;
  }
  .pd-footer__bg-line {
    left: calc(1.2fr / 4.2 * 100%); /* Align to first column approx */
  }
}

/* --- TYPOGRAPHY & COMMON --- */
.pd-footer__title {
  color: var(--pdf-text);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0 0 1.75rem 0;
  position: relative;
  padding-bottom: 0.75rem;
}

.pd-footer__title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40px;
  height: 3px;
  background-color: var(--pdf-accent);
  border-radius: 2px;
}

a {
  text-decoration: none;
  transition: all 0.35s ease;
}

a:focus-visible {
  outline: 2px dashed var(--pdf-accent);
  outline-offset: 4px;
  border-radius: 4px;
}

/* --- KOLOM 1: Brand & Desc --- */
.pd-footer__brand {
  display: inline-block;
  margin-bottom: 1.5rem;
}

.pd-footer__logo-placeholder {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--pdf-text);
  letter-spacing: 0.05em;
  display: inline-flex;
  align-items: center;
}

.pd-footer__logo-placeholder::after {
  content: '.';
  color: var(--pdf-accent);
  font-size: 2rem;
  line-height: 0;
  margin-left: 2px;
}

.pd-footer__desc {
  font-size: 0.95rem;
  line-height: 1.8;
  margin: 0 0 2rem 0;
  color: var(--pdf-text-sec);
}

/* Social Media */
.pd-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.pd-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--pdf-border);
  color: var(--pdf-text-sec);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.pd-footer__social-icon {
  width: 18px;
  height: 18px;
  transition: transform 0.35s ease;
}

.pd-footer__social-link:hover {
  background-color: var(--pdf-accent);
  border-color: var(--pdf-accent);
  color: var(--pdf-text);
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 8px 15px -3px rgba(234, 88, 12, 0.3);
}

/* --- KOLOM 2: Kategori (Menu) --- */
.pd-footer__menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.pd-footer__menu-link {
  display: inline-flex;
  align-items: center;
  color: var(--pdf-text-sec);
  font-size: 0.95rem;
  position: relative;
  transition: color 0.35s ease;
}

.pd-footer__menu-text {
  position: relative;
}

/* Underline Animation */
.pd-footer__menu-text::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: var(--pdf-accent);
  transition: width 0.35s ease;
}

.pd-footer__menu-arrow {
  width: 14px;
  height: 14px;
  margin-left: 0.5rem;
  opacity: 0;
  transform: translateX(-10px);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  color: var(--pdf-accent);
}

.pd-footer__menu-link:hover {
  color: var(--pdf-accent);
}

.pd-footer__menu-link:hover .pd-footer__menu-text::after {
  width: 100%;
}

.pd-footer__menu-link:hover .pd-footer__menu-arrow {
  opacity: 1;
  transform: translateX(0);
}

.pd-footer__menu-link--highlight {
  color: var(--pdf-text);
  font-weight: 600;
  margin-top: 0.5rem;
}

.pd-footer__menu-link--highlight .pd-footer__menu-arrow {
  opacity: 1;
  transform: translateX(0);
  color: var(--pdf-text);
}

.pd-footer__menu-link--highlight:hover .pd-footer__menu-arrow {
  transform: translateX(4px);
  color: var(--pdf-accent);
}

/* --- KOLOM 3: Kontak --- */
.pd-footer__contact {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.pd-footer__contact-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.pd-footer__contact-icon {
  width: 24px;
  height: 24px;
  color: var(--pdf-accent);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}

.pd-footer__contact-content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.pd-footer__contact-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #94A3B8;
  font-weight: 600;
}

.pd-footer__contact-val {
  color: var(--pdf-text-sec);
  font-size: 0.95rem;
  line-height: 1.5;
  transition: color 0.3s ease;
}

a.pd-footer__contact-val:hover {
  color: var(--pdf-accent);
}

/* --- KOLOM 4: Alamat & Map --- */
.pd-footer__address-col {
  font-style: normal;
}

.pd-footer__address-text {
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--pdf-text-sec);
  margin: 0 0 1.5rem 0;
}

.pd-footer__map-wrapper {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--pdf-border);
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.35s ease;
  background-color: rgba(255,255,255,0.02);
}

.pd-footer__map-wrapper iframe {
  display: block;
  filter: grayscale(20%) contrast(1.1);
  transition: filter 0.35s ease;
}

.pd-footer__map-wrapper:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.7);
  border-color: var(--pdf-border-hover);
}

.pd-footer__map-wrapper:hover iframe {
  filter: grayscale(0%) contrast(1);
}

/* --- BOTTOM FOOTER --- */
.pd-footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: 2rem;
  font-size: 0.875rem;
  color: #64748B;
}

@media (min-width: 768px) {
  .pd-footer__bottom {
    flex-direction: row;
  }
}

.pd-footer__copyright {
  letter-spacing: 0.01em;
}

.pd-footer__legal {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}

.pd-footer__legal-link {
  color: #64748B;
  transition: color 0.3s ease;
}

.pd-footer__legal-link:hover {
  color: var(--pdf-accent);
}

.pd-footer__legal-dot {
  color: #475569;
  font-size: 0.75rem;
}

/* ==========================================================================
   PREMIUM ANIMATION
   ========================================================================== */

.pd-footer-fade-up{
    opacity:0;
    transform:translateY(35px);
    transition:
        opacity .75s cubic-bezier(.16,1,.3,1),
        transform .75s cubic-bezier(.16,1,.3,1);
    will-change:opacity,transform;
}

.pd-footer-fade-up.is-visible{
    opacity:1;
    transform:translateY(0);
    transition-delay:var(--pd-delay,0ms);
}

/* ==========================================================================
   PREMIUM GOOGLE MAP
   ========================================================================== */

.contact-map{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    background:#ffffff;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:
        0 15px 35px rgba(15,23,42,.18),
        inset 0 1px 0 rgba(255,255,255,.08);
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.contact-map::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    padding:1px;
    background:linear-gradient(
        135deg,
        rgba(234,88,12,.35),
        rgba(255,255,255,.08)
    );
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
     mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);   
    -webkit-mask-composite:xor;
            mask-composite:exclude;
    pointer-events:none;
}

.contact-map:hover{
    transform:translateY(-6px);
    box-shadow:
        0 25px 50px rgba(15,23,42,.28);
}

.contact-map iframe{
    display:block;
    width:100%;
    height:220px;
    border:none;
    filter:grayscale(8%) contrast(1.03);
    transition:filter .35s ease,transform .35s ease;
}

.contact-map:hover iframe{
    filter:none;
    transform:scale(1.02);
}

/* ==========================================================================
   OPEN GOOGLE MAP BUTTON
   ========================================================================== */

.contact-map-link{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    padding:18px 22px;

    background:linear-gradient(
        135deg,
        #FFF7F3,
        #FFFFFF
    );

    color:#EA580C;
    font-size:.95rem;
    font-weight:700;

    border-top:1px solid #E2E8F0;

    text-decoration:none;

    transition:
        background .35s ease,
        color .35s ease,
        letter-spacing .35s ease;
}

.contact-map-link svg{
    width:20px;
    height:20px;
    transition:transform .35s ease;
}

.contact-map-link:hover{
    background:linear-gradient(
        135deg,
        #EA580C,
        #F97316
    );
    color:#ffffff;
    letter-spacing:.2px;
}

.contact-map-link:hover svg{
    transform:translateX(4px) scale(1.1);
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion:reduce){

    .pd-footer-fade-up,
    .contact-map,
    .contact-map iframe,
    .contact-map-link,
    .contact-map-link svg,
    .pd-footer__social-link,
    .pd-footer__menu-arrow,
    .pd-footer__menu-text::after{
        transition:none !important;
        animation:none !important;
    }

    .pd-footer-fade-up{
        opacity:1;
        transform:none;
    }

}







/* ==========================================================================
   PREMIUM FRONTEND ENHANCEMENT
   ========================================================================== */

/* ===========================
   1. SCROLL PROGRESS
=========================== */

.pd-scroll-progress{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:5px;
    z-index:99999;
    transform-origin:left;
    transform:scaleX(0);

    background:linear-gradient(
        90deg,
        #EA580C 0%,
        #F97316 45%,
        #FB923C 100%
    );

    box-shadow:
        0 2px 12px rgba(234,88,12,.45);

    transition:transform .08s linear;
    pointer-events:none;
}

/* ===========================
   2. BACK TO TOP
=========================== */

.pd-back-to-top{

    position:fixed;

    right:30px;
    bottom:30px;

    width:58px;
    height:58px;

    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#ffffff;

    background:linear-gradient(
        135deg,
        #0F172A,
        #1E293B
    );

    border:1px solid rgba(255,255,255,.08);

    box-shadow:
        0 18px 35px rgba(15,23,42,.25);

    cursor:pointer;

    z-index:999;

    opacity:0;
    visibility:hidden;

    transform:
        translateY(20px)
        scale(.92);

    transition:
        opacity .35s ease,
        transform .35s ease,
        background .35s ease,
        box-shadow .35s ease;
}

.pd-back-to-top::before{

    content:"";

    position:absolute;
    inset:0;

    border-radius:inherit;

    background:linear-gradient(
        135deg,
        rgba(255,255,255,.12),
        transparent
    );

    opacity:.7;

}

.pd-back-to-top.is-visible{

    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1);

}

.pd-back-to-top:hover{

    transform:
        translateY(-8px)
        scale(1.04);

    background:linear-gradient(
        135deg,
        #EA580C,
        #F97316
    );

    box-shadow:
        0 25px 45px rgba(234,88,12,.35);

}

.pd-back-to-top svg{

    width:24px;
    height:24px;

    transition:transform .35s ease;

}

.pd-back-to-top:hover svg{

    transform:translateY(-3px);

}

/* ===========================
   3. NAVBAR SCROLLED
=========================== */

.navbar{

    transition:
        background .35s ease,
        backdrop-filter .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

}

.navbar.is-scrolled{

    background:rgba(15,23,42,.82);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(255,255,255,.08);

    box-shadow:
        0 15px 40px rgba(15,23,42,.18);

}

/* ===========================
   4. REVEAL
=========================== */

.pd-reveal{

    opacity:0;

    transform:
        translateY(45px)
        scale(.985);

    transition:

        opacity .75s cubic-bezier(.16,1,.3,1),

        transform .75s cubic-bezier(.16,1,.3,1);

    will-change:
        opacity,
        transform;

}

.pd-reveal.is-visible{

    opacity:1;

    transform:
        translateY(0)
        scale(1);

}

/* ===========================
   5. IMAGE LOADING
=========================== */

.pd-img-lazy{

    opacity:0;

    transform:scale(.97);

    filter:blur(8px);

    transition:

        opacity .8s ease,

        transform .8s ease,

        filter .8s ease;

}

.pd-img-lazy.is-loaded{

    opacity:1;

    transform:scale(1);

    filter:none;

}

/* ===========================
   6. RIPPLE
=========================== */

.pd-ripple-wrapper{

    position:relative;

    overflow:hidden;

}

.pd-ripple{

    position:absolute;

    border-radius:999px;

    background:rgba(255,255,255,.35);

    transform:scale(0);

    animation:pdRipple .65s linear;

    pointer-events:none;

}

@keyframes pdRipple{

    to{

        transform:scale(4);

        opacity:0;

    }

}

/* ===========================
   7. PREMIUM TILT
=========================== */

.pd-tilt{

    transition:

        transform .18s ease,

        box-shadow .35s ease,

        border-color .35s ease;

    transform-style:preserve-3d;

    will-change:transform;

}

.pd-tilt:hover{

    box-shadow:

        0 25px 45px rgba(15,23,42,.16);

}

/* ===========================
   REDUCED MOTION
=========================== */

@media(prefers-reduced-motion:reduce){

    .pd-scroll-progress,

    .pd-back-to-top,

    .pd-reveal,

    .pd-img-lazy,

    .pd-ripple,

    .pd-tilt,

    .navbar{

        transition:none!important;

        animation:none!important;

        transform:none!important;

    }

    .pd-reveal{

        opacity:1;

    }

    .pd-img-lazy{

        opacity:1;

        filter:none;

    }

}







/* =========================================================
   FIX LOGO HEADER UTAMA DALTON
   TARGET: .navbar
   ========================================================= */

.navbar {
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 30px !important;
    display: flex !important;
    align-items: center !important;
}

/* Semua kemungkinan pembungkus logo */
.navbar .logo,
.navbar .brand,
.navbar .navbar-brand,
.navbar a.logo {
    height: 45px !important;
    max-height: 45px !important;
    display: flex !important;
    align-items: center !important;
}

/* LOGO UTAMA */
.navbar img {
    width: 125px !important;
    height: auto !important;

    max-width: 125px !important;
    max-height: 42px !important;

    object-fit: contain !important;
    object-position: center !important;

    padding: 0 !important;
    margin: 0 !important;

    transform: none !important;
}

/* Kalau logo punya class khusus */
.navbar .logo img,
.navbar .brand img,
.navbar .navbar-brand img,
.navbar .logo-image,
.navbar .brand-logo {
    width: 125px !important;
    height: auto !important;

    max-width: 125px !important;
    max-height: 42px !important;

    object-fit: contain !important;

    transform: none !important;
}


/* =========================================================
   NAVIGASI
   ========================================================= */

.navbar nav,
.navbar .nav-links,
.navbar .main-nav {
    display: flex;
    align-items: center;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .navbar {
        height: 56px !important;
        min-height: 56px !important;
        padding: 0 16px !important;
    }

    .navbar img,
    .navbar .logo img,
    .navbar .brand img,
    .navbar .navbar-brand img,
    .navbar .logo-image,
    .navbar .brand-logo {
        width: 95px !important;
        max-width: 95px !important;
        max-height: 36px !important;
    }
}