:root{
  --ink:#1E1B17;
  --ink-soft:#2A2620;
  --paper:#ECE5D5;
  --card:#F6F2E7;
  --rust:#C1592C;
  --rust-dark:#A34922;
  --mustard:#D9A441;
  --olive:#5B6B3F;
  --slate:#5A544B;
  --line:#DCD3BE;
  --white:#FFFFFF;
  --radius:14px;
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Archivo',sans-serif;
  font-weight:800;
  line-height:1.1;
  letter-spacing:-0.01em;
}
.mono{font-family:'IBM Plex Mono',monospace;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
section{padding:96px 0;}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size:12.5px;
  font-weight:500;
  color:var(--rust);
  display:flex;align-items:center;gap:10px;
  margin-bottom:16px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--rust);display:inline-block;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 30px;
  border-radius:999px;
  font-weight:600;font-size:15px;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
  font-family:'Inter',sans-serif;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--rust);color:var(--white);}
.btn-primary:hover{background:var(--rust-dark);}
.btn-outline{background:transparent;border-color:rgba(236,229,213,0.35);color:inherit;}
.btn-outline:hover{border-color:currentColor;}
.btn-dark{background:var(--ink);color:var(--paper);}
.btn-dark:hover{background:var(--ink-soft);}
.btn-block{width:100%;}

/* ===== HEADER ===== */
.topbar{background:var(--ink);color:#C9C1AF;font-size:13px;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:9px;padding-bottom:9px;flex-wrap:wrap;gap:6px;}
.topbar-left{display:flex;gap:22px;flex-wrap:wrap;}
.topbar span{display:inline-flex;align-items:center;gap:6px;}
header.main-nav{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
header.main-nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px;}
.logo{font-family:'Archivo',sans-serif;font-weight:800;font-size:22px;color:var(--ink);letter-spacing:-0.02em;}
.logo span{color:var(--rust);}
nav.links{display:flex;gap:34px;font-weight:600;font-size:14.5px;}
nav.links a{position:relative;padding:4px 0;color:var(--ink);}
nav.links a.active{color:var(--rust);}
nav.links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--rust);transition:width .2s ease;}
nav.links a:hover::after,nav.links a.active::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:18px;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.burger span{width:24px;height:2px;background:var(--ink);display:block;}
#mobileMenu{display:none;flex-direction:column;gap:0;padding:0 28px 20px;}

/* ===== PAGE HEADER (inner pages) ===== */
.page-header{background:var(--ink);position:relative;overflow:hidden;}
.page-header .ph-bg{position:absolute;inset:0;opacity:0.5;}
.page-header .ph-bg img{width:100%;height:100%;object-fit:cover;}
.page-header .ph-overlay{position:absolute;inset:0;background:linear-gradient(100deg, rgba(30,27,23,0.96), rgba(30,27,23,0.72));}
.page-header .wrap{position:relative;z-index:2;padding:64px 28px 54px;}
.page-header .eyebrow{color:var(--mustard);}
.page-header h1{color:var(--white);font-size:clamp(30px,4.2vw,44px);}
.breadcrumb{font-size:13px;color:#B4AA95;margin-top:14px;}
.breadcrumb a{color:var(--mustard);}
.breadcrumb a:hover{text-decoration:underline;}

/* ===== HERO (home) ===== */
.hero{position:relative;background:var(--ink);color:var(--paper);padding:0;overflow:hidden;}
.hero-inner{max-width:var(--maxw);margin:0 auto;padding:110px 28px 130px;display:grid;grid-template-columns:1.05fr 0.95fr;gap:50px;align-items:center;position:relative;z-index:2;}
.slide{display:none;animation:fade .5s ease;}
.slide.active{display:block;}
@keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.hero h1{font-size:clamp(34px,4.6vw,56px);color:var(--white);margin-bottom:20px;}
.hero h1 em{font-style:normal;color:var(--mustard);}
.hero p.lead{font-size:17px;color:#C9C1AF;max-width:480px;margin-bottom:34px;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:44px;}
.hero-meta{display:flex;gap:28px;flex-wrap:wrap;}
.hero-meta .stat{border-left:2px solid var(--rust);padding-left:12px;}
.hero-meta .stat b{display:block;font-family:'Archivo',sans-serif;font-size:22px;color:var(--white);}
.hero-meta .stat span{font-size:12.5px;color:#B4AA95;text-transform:uppercase;letter-spacing:.06em;}
.dots{display:flex;gap:9px;margin-top:36px;}
.dot{width:9px;height:9px;border-radius:50%;background:rgba(236,229,213,0.3);border:none;cursor:pointer;padding:0;}
.dot.active{background:var(--rust);width:26px;border-radius:5px;transition:all .25s ease;}
.swatch-fan{position:relative;height:380px;display:flex;align-items:center;justify-content:center;}
.sheet{position:absolute;width:230px;height:300px;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,0.35);display:flex;flex-direction:column;justify-content:flex-end;padding:20px;}
.sheet .tag{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.85;}
.sheet .name{font-family:'Archivo',sans-serif;font-weight:700;font-size:18px;margin-top:4px;}
.sheet.s1{background:linear-gradient(160deg,#C1592C,#8f4020);transform:rotate(-14deg) translate(-70px,10px);z-index:1;color:#fff;}
.sheet.s2{background:linear-gradient(160deg,#D9A441,#a97c2c);transform:rotate(-2deg) translate(0,-12px);z-index:2;color:#2A2313;}
.sheet.s3{background:linear-gradient(160deg,#5B6B3F,#3c4629);transform:rotate(12deg) translate(70px,14px);z-index:1;color:#fff;}

/* ===== ABOUT (shared teaser + full page) ===== */
.about-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:64px;align-items:center;}
.about-visual{background:var(--ink);border-radius:22px;padding:34px;position:relative;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;}
.stacked{display:flex;gap:10px;position:absolute;top:34px;left:34px;right:34px;bottom:120px;}
.stacked i{flex:1;border-radius:10px;}
.stacked i:nth-child(1){background:#C1592C;}
.stacked i:nth-child(2){background:#D9A441;}
.stacked i:nth-child(3){background:#5B6B3F;}
.stacked i:nth-child(4){background:#EDE5D5;}
.est-badge{background:var(--card);border-radius:14px;padding:20px 24px;}
.est-badge b{font-family:'Archivo',sans-serif;font-size:30px;color:var(--rust);display:block;}
.est-badge span{font-size:13px;color:var(--slate);text-transform:uppercase;letter-spacing:.06em;}
.about-copy h2{font-size:clamp(28px,3.4vw,38px);margin-bottom:20px;}
.about-copy p{color:var(--slate);margin-bottom:16px;font-size:15.5px;}
.manager-card{margin-top:28px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;display:flex;gap:16px;align-items:flex-start;}
.manager-avatar{width:52px;height:52px;border-radius:50%;background:var(--rust);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Archivo',sans-serif;font-weight:700;flex-shrink:0;}
.manager-card h4{font-size:15.5px;margin-bottom:4px;}
.manager-card span.role{font-size:12.5px;color:var(--rust);text-transform:uppercase;letter-spacing:.05em;font-weight:600;}
.manager-card p{font-size:14px;color:var(--slate);margin-top:8px;margin-bottom:0;}

/* value / timeline blocks for About page */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:20px;}
.value-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;}
.value-card .num{font-family:'IBM Plex Mono',monospace;color:var(--rust);font-size:13px;margin-bottom:10px;}
.value-card h4{font-size:16px;margin-bottom:8px;}
.value-card p{font-size:14px;color:var(--slate);margin:0;}

/* ===== PRODUCTS ===== */
.section-head{text-align:center;max-width:640px;margin:0 auto 56px;}
.section-head h2{font-size:clamp(28px,3.4vw,38px);}
.section-head p{color:var(--slate);margin-top:14px;font-size:15.5px;}
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.product-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.product-card:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(30,27,23,0.1);border-color:var(--rust);}
.product-photo{aspect-ratio:4/3;overflow:hidden;background:var(--ink);}
.product-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.product-card:hover .product-photo img{transform:scale(1.06);}
.product-body{padding:24px;}
.p-icon{width:44px;height:44px;border-radius:11px;background:var(--ink);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.product-card h3{font-size:17.5px;margin-bottom:10px;}
.product-card p{font-size:14px;color:var(--slate);margin-bottom:0;}
.center-cta{text-align:center;margin-top:44px;}

/* products page — full detail cards */
.products-grid-lg{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.product-card-lg{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:grid;grid-template-columns:1fr 1.1fr;}
.product-card-lg .product-photo{aspect-ratio:auto;height:100%;}
.product-card-lg .product-body{padding:28px 26px;display:flex;flex-direction:column;justify-content:center;}
.spec-list{list-style:none;margin-top:16px;border-top:1px solid var(--line);padding-top:14px;}
.spec-list li{display:flex;justify-content:space-between;font-size:13.5px;padding:6px 0;color:var(--slate);}
.spec-list li b{color:var(--ink);font-weight:600;}

/* ===== WHY US ===== */
.why-section{background:var(--ink);color:var(--paper);}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.why-grid h2{font-size:clamp(28px,3.4vw,36px);color:var(--white);margin-bottom:18px;}
.why-grid > div > p{color:#C9C1AF;font-size:15.5px;margin-bottom:26px;}
.checklist li{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-size:15px;}
.check{width:20px;height:20px;border-radius:50%;background:var(--rust);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.check::after{content:"✓";color:#fff;font-size:12px;font-weight:700;}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.stat-box{background:rgba(236,229,213,0.06);border:1px solid rgba(236,229,213,0.14);border-radius:14px;padding:26px 22px;}
.stat-box b{font-family:'Archivo',sans-serif;font-size:30px;color:var(--mustard);display:block;margin-bottom:6px;}
.stat-box span{font-size:13px;color:#C9C1AF;}

/* ===== GALLERY ===== */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.gallery-item{border-radius:12px;overflow:hidden;position:relative;cursor:pointer;aspect-ratio:4/3;}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.gallery-item:hover img{transform:scale(1.07);}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(to top, rgba(30,27,23,0.85), transparent);color:#fff;font-size:13px;font-weight:600;}
.lightbox-overlay{position:fixed;inset:0;background:rgba(20,17,14,0.92);display:none;align-items:center;justify-content:center;z-index:200;padding:30px;}
.lightbox-overlay.show{display:flex;}
.lightbox-box{max-width:800px;width:100%;position:relative;}
.lightbox-box img{width:100%;border-radius:14px;}
.lightbox-cap{color:#EDE5D5;text-align:center;margin-top:14px;font-size:14px;}
.lightbox-close{position:absolute;top:-44px;right:0;color:#EDE5D5;font-size:30px;cursor:pointer;background:none;border:none;line-height:1;}

/* ===== TESTIMONIALS ===== */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.testi-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;}
.stars{color:var(--mustard);font-size:14px;margin-bottom:14px;letter-spacing:2px;}
.testi-card p.quote{font-size:14.5px;color:var(--ink);margin-bottom:20px;}
.testi-person{display:flex;align-items:center;gap:12px;}
.testi-avatar{width:40px;height:40px;border-radius:50%;background:var(--olive);}
.testi-person b{display:block;font-size:14px;}
.testi-person span{font-size:12.5px;color:var(--slate);}

/* ===== ENQUIRY / CONTACT ===== */
.enquiry-wrap{background:var(--ink);border-radius:26px;overflow:hidden;display:grid;grid-template-columns:0.85fr 1.15fr;}
.enquiry-info{padding:52px 44px;color:var(--paper);}
.enquiry-info h2{font-size:clamp(26px,3vw,32px);color:var(--white);margin-bottom:16px;}
.enquiry-info p{color:#C9C1AF;font-size:15px;margin-bottom:32px;}
.contact-line{display:flex;gap:14px;align-items:center;margin-bottom:18px;font-size:14.5px;}
.contact-line .ic{width:38px;height:38px;border-radius:50%;background:var(--rust);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;}
.enquiry-form{background:var(--card);padding:52px 44px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.form-field{display:flex;flex-direction:column;gap:7px;}
.form-field.full{grid-column:1/-1;}
.form-field label{font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);}
.form-field input, .form-field select, .form-field textarea{padding:13px 14px;border-radius:9px;border:1.5px solid var(--line);background:var(--white);font-family:'Inter',sans-serif;font-size:14.5px;color:var(--ink);}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{outline:2px solid var(--rust);outline-offset:1px;border-color:var(--rust);}
.form-field textarea{resize:vertical;min-height:90px;}
.form-note{font-size:13px;color:var(--slate);margin-top:14px;display:none;}
.form-note.show{display:block;color:var(--olive);font-weight:600;}

/* contact page — info cards + map */
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:50px;}
.contact-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;text-align:center;}
.contact-card .ic{width:48px;height:48px;border-radius:50%;background:var(--rust);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;margin:0 auto 14px;}
.contact-card h4{font-size:15px;margin-bottom:6px;}
.contact-card p{font-size:13.5px;color:var(--slate);margin:0;}
.map-block{border-radius:18px;overflow:hidden;margin-top:50px;}
.map-block img{width:100%;display:block;}

/* ===== FOOTER ===== */
footer{background:var(--ink);color:#B4AA95;padding-top:70px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px;padding-bottom:50px;}
.footer-grid h5{color:var(--white);font-family:'Archivo',sans-serif;font-size:14.5px;margin-bottom:18px;letter-spacing:.03em;}
.footer-grid .logo{color:var(--white);margin-bottom:14px;}
.footer-grid p{font-size:14px;line-height:1.7;}
.footer-grid ul li{margin-bottom:11px;font-size:14px;}
.footer-grid ul li a:hover{color:var(--mustard);}
.foot-social{display:flex;gap:10px;margin-top:18px;}
.foot-social a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(236,229,213,0.25);display:flex;align-items:center;justify-content:center;font-size:13px;}
.foot-bottom{border-top:1px solid rgba(236,229,213,0.14);padding:22px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;}
.foot-bottom a{margin-left:18px;}

/* ===== RESPONSIVE ===== */
@media(max-width:991px){
  section{padding:70px 0;}
  nav.links{display:none;}
  .burger{display:flex;}
  .hero-inner{grid-template-columns:1fr;padding-top:60px;padding-bottom:70px;}
  .swatch-fan{height:260px;order:-1;}
  .sheet{width:170px;height:220px;}
  .about-grid{grid-template-columns:1fr;}
  .values-grid{grid-template-columns:1fr 1fr;}
  .products-grid{grid-template-columns:repeat(2,1fr);}
  .products-grid-lg{grid-template-columns:1fr;}
  .product-card-lg{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .testi-grid{grid-template-columns:1fr;}
  .contact-cards{grid-template-columns:1fr;}
  .enquiry-wrap{grid-template-columns:1fr;border-radius:20px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .wrap{padding:0 20px;}
  section{padding:56px 0;}
  .topbar-left{gap:12px;}
  .topbar span.hide-mobile{display:none;}
  .hero-ctas{flex-direction:column;}
  .hero-ctas .btn{width:100%;}
  .hero-meta{gap:18px;}
  .values-grid{grid-template-columns:1fr;}
  .products-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .enquiry-info,.enquiry-form{padding:34px 24px;}
  .footer-grid{grid-template-columns:1fr;gap:30px;padding-bottom:30px;}
  .foot-bottom{flex-direction:column;text-align:center;}
  .foot-bottom a{margin-left:0;margin-right:14px;}
}

/* =========================================================
   A S ENTERPRISES — PREMIUM HERO
   UNIQUE PREFIX: ASPX
   ========================================================= */

/* ---------- BRAND COLORS ---------- */

.aspx-hero {
    --aspx-cream: #F2F0EA;
    --aspx-header: #ECE5D5;
    --aspx-rust: #C1592C;
    --aspx-rust-dark: #A84721;
    --aspx-dark: #1C1C14;
    --aspx-green: #A9E86C;
    --aspx-gold: #D9A441;

    position: relative;
    width: 100%;
    height: 88vh;
    min-height: 650px;

    overflow: hidden;

    background: var(--aspx-dark);

    color: var(--aspx-cream);
}


/* =========================================================
   SLIDES
   ========================================================= */

.aspx-slide {
    position: absolute;

    inset: 0;

    opacity: 0;
    visibility: hidden;

    transform: scale(1.04);

    background: var(--aspx-dark);

    transition:
        opacity .8s ease,
        visibility .8s ease,
        transform 6s ease;
}


.aspx-slide.aspx-slide-active {
    opacity: 1;
    visibility: visible;

    transform: scale(1);

    z-index: 2;
}


/* Slide Image */

.aspx-slide img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   DARK OVERLAY
   ========================================================= */

.aspx-overlay {
    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(28,28,20,.97) 0%,
            rgba(28,28,20,.91) 25%,
            rgba(28,28,20,.72) 48%,
            rgba(28,28,20,.43) 72%,
            rgba(28,28,20,.20) 100%
        );
}


/* =========================================================
   CONTENT
   ========================================================= */

.aspx-content {
    position: absolute;

    top: 50%;
    left: 10%;

    width: min(900px, 60%);

    transform: translateY(-50%);

    z-index: 5;
}


/* =========================================================
   TOP GLASS BADGE
   ========================================================= */

.aspx-badge {
    display: inline-flex;

    align-items: center;

    gap: 17px;

    margin-bottom: 30px;

    padding: 11px 20px 11px 13px;

    border: 1px solid rgba(242,240,234,.42);

    border-radius: 60px;

    background: rgba(28,28,20,.58);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

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


/* =========================================================
   CIRCLES
   MATCH MAIN HEADING COLOR
   ========================================================= */

.aspx-badge-dots {
    display: flex;

    align-items: center;
}


.aspx-badge-dots span {
    display: block;

    width: 34px;
    height: 34px;

    margin-left: -7px;

    border-radius: 50%;

    /* SAME AS HEADING */

    background: #F2F0EA;

    border: 2px solid #F2F0EA;

    box-shadow:
        inset 0 0 7px rgba(255,255,255,.45),
        0 2px 8px rgba(0,0,0,.18);
}


.aspx-badge-dots span:first-child {
    margin-left: 0;
}


/* =========================================================
   BADGE TEXT
   ========================================================= */

.aspx-badge-info {
    display: flex;

    flex-direction: column;
}


.aspx-badge-info strong {
    color: #F2F0EA;

    font-family: 'Archivo', sans-serif;

    font-size: 18px;

    font-weight: 700;

    line-height: 1;
}


.aspx-badge-info small {
    margin-top: 5px;

    color: rgba(242,240,234,.68);

    font-family: 'Inter', sans-serif;

    font-size: 12px;

    line-height: 1.2;
}


/* =========================================================
   STARS
   ========================================================= */

.aspx-stars {
    color: #D9A441;

    font-size: 16px;

    letter-spacing: 2px;

    line-height: 1;
}


/* =========================================================
   MAIN HEADING
   ========================================================= */

.aspx-content h1 {
    max-width: 950px;

    margin: 0;

    color: #F2F0EA;

    font-family: 'Archivo', sans-serif;

    font-size: clamp(48px, 5.5vw, 86px);

    font-weight: 800;

    line-height: .98;

    letter-spacing: -.045em;
}


/* =========================================================
   GREEN HIGHLIGHT
   ========================================================= */

.aspx-content h1 em {
    color: #A9E86C;

    font-style: italic;

    font-weight: 800;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.aspx-content p {
    max-width: 620px;

    margin: 28px 0 32px;

    color: rgba(242,240,234,.72);

    font-family: 'Inter', sans-serif;

    font-size: 17px;

    font-weight: 400;

    line-height: 1.7;
}


/* =========================================================
   BUTTON AREA
   ========================================================= */

.aspx-actions {
    display: flex;

    align-items: center;

    gap: 14px;

    flex-wrap: wrap;
}


.aspx-actions a {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 54px;

    padding: 0 28px;

    border-radius: 999px;

    font-family: 'Inter', sans-serif;

    font-size: 14px;

    font-weight: 600;

    text-decoration: none;

    transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}


/* =========================================================
   PRIMARY BUTTON
   ========================================================= */

.aspx-primary {
    color: #fff !important;

    background: #C1592C !important;

    border: 1px solid #C1592C;
}


.aspx-primary span {
    margin-left: 13px;

    font-size: 19px;

    transition:
        transform .25s ease;
}


.aspx-primary:hover {
    color: #fff !important;

    background: #A84721 !important;

    border-color: #A84721;

    transform: translateY(-3px);
}


.aspx-primary:hover span {
    transform: translateX(5px);
}


/* =========================================================
   SECONDARY BUTTON
   ========================================================= */

.aspx-secondary {
    color: #F2F0EA !important;

    background: rgba(28,28,20,.25);

    border: 1px solid rgba(242,240,234,.55);
}


.aspx-secondary:hover {
    color: #1C1C14 !important;

    background: #F2F0EA;

    border-color: #F2F0EA;

    transform: translateY(-3px);
}


/* =========================================================
   LEFT / RIGHT ARROWS
   ========================================================= */

.aspx-arrow {
    position: absolute;

    top: 50%;

    z-index: 20;

    width: 58px;
    height: 58px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(242,240,234,.42);

    border-radius: 50%;

    color: #F2F0EA;

    background: rgba(28,28,20,.32);

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    font-size: 23px;

    line-height: 1;

    cursor: pointer;

    transform: translateY(-50%);

    transition:
        .3s ease;
}


.aspx-arrow:hover {
    color: #fff;

    background: #C1592C;

    border-color: #C1592C;

    transform:
        translateY(-50%)
        scale(1.08);
}


.aspx-prev {
    left: 28px;
}


.aspx-next {
    right: 28px;
}


/* =========================================================
   BOTTOM PROGRESS
   ========================================================= */

.aspx-bottom {
    position: absolute;

    left: 10%;
    right: 10%;

    bottom: 38px;

    z-index: 20;

    display: flex;

    align-items: center;

    justify-content: space-between;
}


/* Progress line */

.aspx-progress {
    width: 270px;

    height: 2px;

    overflow: hidden;

    background: rgba(242,240,234,.25);
}


.aspx-progress span {
    display: block;

    width: 33.33%;

    height: 100%;

    background: #C1592C;

    transition:
        width .4s ease;
}


/* =========================================================
   COUNTER
   ========================================================= */

.aspx-counter {
    display: flex;

    align-items: baseline;

    gap: 6px;
}


.aspx-counter strong {
    color: #F2F0EA;

    font-family: 'Archivo', sans-serif;

    font-size: 17px;

    font-weight: 700;
}


.aspx-counter span {
    color: rgba(242,240,234,.55);

    font-family: 'Inter', sans-serif;

    font-size: 12px;
}


/* =========================================================
   SLIDE TEXT ANIMATION
   ========================================================= */

.aspx-slide-active .aspx-badge {
    animation:
        aspxFadeUp .7s ease both;
}


.aspx-slide-active h1 {
    animation:
        aspxFadeUp .8s .08s ease both;
}


.aspx-slide-active p {
    animation:
        aspxFadeUp .8s .16s ease both;
}


.aspx-slide-active .aspx-actions {
    animation:
        aspxFadeUp .8s .24s ease both;
}


@keyframes aspxFadeUp {

    from {
        opacity: 0;

        transform:
            translateY(24px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .aspx-content {
        left: 7%;

        width: 76%;
    }


    .aspx-content h1 {
        font-size:
            clamp(
                45px,
                7vw,
                70px
            );
    }


    .aspx-content p {
        max-width: 560px;

        font-size: 15px;
    }


    .aspx-bottom {
        left: 7%;
        right: 7%;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 640px) {

    .aspx-hero {
        height: 82vh;

        min-height: 620px;
    }


    /* Mobile overlay */

    .aspx-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(28,28,20,.96) 0%,
                rgba(28,28,20,.76) 60%,
                rgba(28,28,20,.42) 100%
            );
    }


    .aspx-content {

        left: 6%;
        right: 6%;

        width: auto;
    }


    /* Badge */

    .aspx-badge {

        gap: 10px;

        padding:
            9px
            14px
            9px
            10px;

        margin-bottom: 24px;
    }


    .aspx-badge-dots span {

        width: 28px;
        height: 28px;
    }


    .aspx-badge-info strong {

        font-size: 15px;
    }


    .aspx-badge-info small {

        font-size: 10px;
    }


    .aspx-stars {

        display: none;
    }


    /* Heading */

    .aspx-content h1 {

        font-size:
            clamp(
                40px,
                11vw,
                58px
            );

        line-height: 1;

        letter-spacing: -.035em;
    }


    /* Paragraph */

    .aspx-content p {

        margin:
            20px
            0
            25px;

        font-size: 14px;

        line-height: 1.65;
    }


    /* Buttons */

    .aspx-actions {

        gap: 9px;
    }


    .aspx-actions a {

        min-height: 48px;

        padding:
            0
            20px;

        font-size: 13px;
    }


    /* Arrows */

    .aspx-arrow {

        width: 42px;
        height: 42px;

        font-size: 18px;
    }


    .aspx-prev {
        left: 12px;
    }


    .aspx-next {
        right: 12px;
    }


    /* Bottom */

    .aspx-bottom {

        left: 6%;
        right: 6%;

        bottom: 24px;
    }


    .aspx-progress {

        width: 130px;
    }

}


/* =========================================================
   A S ENTERPRISES STICKY HEADER
   UNIQUE PREFIX: as-header
========================================================= */

.as-header {
    position: sticky !important;
    position: -webkit-sticky !important;

    top: 0 !important;
    left: 0;

    width: 100%;

    z-index: 99999;

    background: #F1EADB;

    border-bottom: 1px solid rgba(33, 31, 27, 0.10);

    box-sizing: border-box;

    transition:
        background 0.3s ease,
        box-shadow 0.3s ease,
        backdrop-filter 0.3s ease;
}


/* Scroll state */

.as-header.as-header-scrolled {
    background: rgba(241, 234, 219, 0.96);

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

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}


/* =========================================================
   CONTAINER
========================================================= */

.as-header-container {
    width: min(1380px, 92%);

    min-height: 94px;

    margin: 0 auto;

    display: flex;

    align-items: center;

    box-sizing: border-box;
}


/* =========================================================
   LOGO
========================================================= */

.as-header-logo {
    display: flex;

    align-items: center;

    flex-shrink: 0;

    text-decoration: none;
}

.as-header-logo img {
    display: block;

    width: 245px;
    height: auto;

    max-width: 100%;

    object-fit: contain;
}


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

.as-header-nav {
    display: flex;

    align-items: center;

    gap: 40px;

    margin-left: auto;

    margin-right: 42px;
}


.as-header-link {
    position: relative;

    display: inline-flex;

    align-items: center;

    padding: 10px 0;

    color: #211F1B;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 16px;

    font-weight: 600;

    line-height: 1;

    text-decoration: none;

    white-space: nowrap;

    transition: color 0.25s ease;
}


/* Underline */

.as-header-link::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 2px;

    width: 0;
    height: 2px;

    border-radius: 5px;

    background: #C1592C;

    transition: width 0.25s ease;
}


.as-header-link:hover {
    color: #C1592C;
}


.as-header-link:hover::after {
    width: 100%;
}


.as-header-active {
    color: #C1592C;
}


.as-header-active::after {
    width: 100%;
}


/* =========================================================
   GET QUOTE
========================================================= */

.as-header-quote {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 156px;

    height: 58px;

    flex-shrink: 0;

    border-radius: 999px;

    background: #C1592C;

    color: #FFFFFF;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 15px;

    font-weight: 700;

    text-decoration: none;

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.as-header-quote:hover {
    color: #FFFFFF;

    background: #A84721;

    transform: translateY(-2px);

    box-shadow:
        0 10px 24px rgba(193, 89, 44, 0.25);
}


/* =========================================================
   MOBILE TOGGLE
========================================================= */

.as-header-toggle {
    display: none;

    width: 44px;
    height: 44px;

    margin-left: auto;

    padding: 0;

    border: 1px solid rgba(33, 31, 27, 0.20);

    border-radius: 10px;

    background: transparent;

    cursor: pointer;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    gap: 5px;
}


.as-header-toggle span {
    display: block;

    width: 21px;
    height: 2px;

    border-radius: 5px;

    background: #211F1B;

    transition:
        transform 0.3s ease,
        opacity 0.3s ease;
}


/* =========================================================
   MOBILE OPEN ICON
========================================================= */

.as-header-toggle.as-header-menu-open
span:nth-child(1) {
    transform:
        translateY(7px)
        rotate(45deg);
}


.as-header-toggle.as-header-menu-open
span:nth-child(2) {
    opacity: 0;
}


.as-header-toggle.as-header-menu-open
span:nth-child(3) {
    transform:
        translateY(-7px)
        rotate(-45deg);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .as-header-container {
        width: 94%;
    }

    .as-header-logo img {
        width: 210px;
    }

    .as-header-nav {
        gap: 25px;

        margin-right: 25px;
    }

    .as-header-link {
        font-size: 15px;
    }

    .as-header-quote {
        width: 135px;

        height: 52px;

        font-size: 14px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 850px) {

    .as-header-container {
        min-height: 76px;
    }


    /* Logo */

    .as-header-logo img {
        width: 185px;
    }


    /* Hide quote */

    .as-header-quote {
        display: none;
    }


    /* Show hamburger */

    .as-header-toggle {
        display: flex;
    }


    /* Mobile navigation */

    .as-header-nav {
        position: absolute;

        top: 100%;

        left: 0;
        right: 0;

        width: 100%;

        display: flex;

        flex-direction: column;

        align-items: stretch;

        gap: 0;

        margin: 0;

        padding: 8px 20px 18px;

        box-sizing: border-box;

        background: #F1EADB;

        border-top:
            1px solid
            rgba(33, 31, 27, 0.08);

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

        opacity: 0;

        visibility: hidden;

        pointer-events: none;

        transform: translateY(-10px);

        transition:
            opacity 0.25s ease,
            visibility 0.25s ease,
            transform 0.25s ease;
    }


    /* Open menu */

    .as-header-nav.as-header-nav-open {
        opacity: 1;

        visibility: visible;

        pointer-events: auto;

        transform: translateY(0);
    }


    /* Mobile links */

    .as-header-link {
        width: 100%;

        min-height: 50px;

        padding: 15px 5px;

        box-sizing: border-box;

        border-bottom:
            1px solid
            rgba(33, 31, 27, 0.08);

        font-size: 15px;
    }


    .as-header-link:last-child {
        border-bottom: none;
    }


    .as-header-link::after {
        display: none;
    }


    .as-header-active {
        color: #C1592C;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .as-header-container {
        width: 92%;

        min-height: 70px;
    }


    .as-header-logo img {
        width: 155px;
    }


    .as-header-toggle {
        width: 42px;
        height: 42px;
    }

}


.as-products-dropdown {
    position: relative;
}

.as-products-list {
    position: absolute;
    top: 100%;
    left: 0;

    width: 360px;

    background: #211d19;
    padding: 10px;
    border-radius: 10px;

    box-shadow: 0 15px 35px rgba(0,0,0,0.2);

    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);

    transition: 0.3s ease;

    z-index: 99999;

    /* SCROLL */
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    overflow-x: hidden;

    scrollbar-width: thin;
    scrollbar-color: #C1592C #211d19;
}


/* Dropdown links */

.as-products-list a {
    display: block;

    padding: 13px 14px;

    color: #fff;
    text-decoration: none;

    font-size: 14px;
    line-height: 1.45;

    border-radius: 7px;

    transition: 0.2s ease;
}


/* Hover */

.as-products-list a:hover {
    background: #C1592C;
    color: #fff;
}


/* Show dropdown */

.as-products-dropdown:hover .as-products-list {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* Chrome / Edge scrollbar */

.as-products-list::-webkit-scrollbar {
    width: 7px;
}

.as-products-list::-webkit-scrollbar-track {
    background: #211d19;
}

.as-products-list::-webkit-scrollbar-thumb {
    background: #C1592C;
    border-radius: 10px;
}

.as-products-list::-webkit-scrollbar-thumb:hover {
    background: #A84721;
}

.as-products-list a {
    display: block;
    padding: 10px 12px;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    border-radius: 6px;
}

.as-products-list a:hover {
    background: #c95b2c;
    color: #fff;
}

.as-products-dropdown:hover .as-products-list {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* =====================================================
   A S ENTERPRISES
   PREMIUM ABOUT SECTION
   UNIQUE PREFIX: ase-about2-
===================================================== */


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

.ase-about2-section {
    width: 100%;
    padding: 110px 6%;
    background: #eee7d6;
    overflow: hidden;
    box-sizing: border-box;
}

.ase-about2-container {
    width: 100%;
    max-width: 1450px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 0.95fr 1.05fr;

    align-items: center;

    gap: 90px;
}


/* ================================
   LEFT VISUAL
================================ */

.ase-about2-visual {
    position: relative;

    width: 100%;
    min-height: 590px;

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


/* ================================
   MAIN IMAGE
================================ */

.ase-about2-image-box {
    width: 88%;
    height: 520px;

    position: relative;

    overflow: hidden;

    border-radius: 35px;

    background: #201d19;

    box-shadow:
        0 30px 70px rgba(32, 29, 25, 0.20);

    z-index: 1;
}


.ase-about2-main-image {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform 1.2s cubic-bezier(.2,.7,.2,1);
}


/* Image hover */

.ase-about2-image-box:hover
.ase-about2-main-image {
    transform: scale(1.07);
}


/* ================================
   IMAGE OVERLAY
================================ */

.ase-about2-image-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            145deg,
            rgba(32,29,25,.08) 20%,
            rgba(32,29,25,.00) 55%,
            rgba(200,91,42,.20) 100%
        );

    pointer-events: none;
}


/* ================================
   IMAGE LABEL
================================ */

.ase-about2-image-label {
    position: absolute;

    left: 25px;
    bottom: 25px;

    display: flex;
    align-items: center;

    gap: 10px;

    padding: 12px 18px;

    border-radius: 50px;

    background: rgba(32,29,25,.72);

    border: 1px solid rgba(255,255,255,.20);

    backdrop-filter: blur(12px);

    color: #f4eee2;

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

    letter-spacing: 2px;
}


.ase-about2-label-dot {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #86bd50;

    box-shadow:
        0 0 0 5px rgba(134,189,80,.15);
}


/* ================================
   FLOATING CARDS
================================ */

.ase-about2-floating {
    position: absolute;

    z-index: 5;

    background: rgba(255,250,240,.94);

    border: 1px solid rgba(255,255,255,.75);

    backdrop-filter: blur(15px);

    box-shadow:
        0 20px 50px rgba(32,29,25,.17);

    color: #201d19;
}


/* ================================
   EXPERIENCE CARD
================================ */

.ase-about2-experience {
    top: 35px;
    left: 0;

    min-width: 150px;

    padding: 20px 23px;

    border-radius: 20px;

    display: flex;
    flex-direction: column;

    animation:
        aseAbout2FloatOne 4s ease-in-out infinite;
}


.ase-about2-small-title {
    font-size: 9px;

    letter-spacing: 3px;

    color: #777168;

    margin-bottom: 5px;
}


.ase-about2-experience strong {
    font-size: 34px;

    line-height: 1;

    color: #c85b2a;

    margin-bottom: 7px;
}


.ase-about2-small-text {
    font-size: 10px;

    color: #777168;

    white-space: nowrap;
}


/* ================================
   PRODUCT CARD
================================ */

.ase-about2-product {
    right: 0;
    top: 185px;

    padding: 16px 20px;

    border-radius: 18px;

    display: flex;

    align-items: center;

    gap: 12px;

    animation:
        aseAbout2FloatTwo 5s ease-in-out infinite;
}


.ase-about2-product-icon {
    width: 38px;
    height: 38px;

    display: flex;

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

    border-radius: 50%;

    background: #201d19;

    color: #eee7d6;

    font-size: 14px;
    font-weight: 700;
}


.ase-about2-product strong {
    display: block;

    font-size: 20px;

    color: #201d19;
}


.ase-about2-product span {
    display: block;

    margin-top: 2px;

    font-size: 10px;

    color: #777168;

    white-space: nowrap;
}


/* ================================
   QUALITY CARD
================================ */

.ase-about2-quality {
    left: 25px;
    bottom: 18px;

    padding: 16px 22px;

    display: flex;

    align-items: center;

    gap: 12px;

    border-radius: 50px;

    animation:
        aseAbout2FloatThree 4.5s ease-in-out infinite;
}


.ase-about2-quality-dot {
    width: 14px;
    height: 14px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #86bd50;

    box-shadow:
        0 0 0 7px rgba(134,189,80,.15);
}


.ase-about2-quality strong {
    display: block;

    font-size: 14px;

    color: #201d19;
}


.ase-about2-quality small {
    display: block;

    margin-top: 3px;

    color: #777168;

    font-size: 10px;

    white-space: nowrap;
}


/* ================================
   DECORATIVE CIRCLE
================================ */

.ase-about2-decoration {
    position: absolute;

    width: 180px;
    height: 180px;

    right: -25px;
    bottom: 5px;

    border-radius: 50%;

    background: rgba(200,91,42,.10);

    z-index: 0;

    animation:
        aseAbout2Pulse 5s ease-in-out infinite;
}


/* ================================
   RIGHT CONTENT
================================ */

.ase-about2-content {
    width: 100%;
    max-width: 750px;
}


/* ================================
   EYEBROW
================================ */

.ase-about2-eyebrow {
    display: flex;

    align-items: center;

    gap: 14px;

    color: #c85b2a;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 4px;

    margin-bottom: 22px;
}


.ase-about2-line {
    width: 35px;
    height: 2px;

    background: #c85b2a;

    display: inline-block;
}


/* ================================
   HEADING
================================ */

.ase-about2-heading {
    margin: 0 0 25px;

    color: #201d19;

    font-size: clamp(45px, 4.4vw, 70px);

    line-height: 1.04;

    letter-spacing: -3px;

    font-weight: 800;
}


.ase-about2-heading span {
    color: #c85b2a;

    font-style: normal;
}


.ase-about2-heading strong {
    color: #201d19;
}


/* ================================
   PARAGRAPHS
================================ */

.ase-about2-intro {
    max-width: 700px;

    margin: 0 0 17px;

    color: #403c36;

    font-size: 18px;

    line-height: 1.75;

    font-weight: 500;
}


.ase-about2-description {
    max-width: 690px;

    margin: 0;

    color: #6c665d;

    font-size: 15px;

    line-height: 1.85;
}


.ase-about2-description b {
    color: #39352f;

    font-weight: 700;
}


/* ================================
   FEATURES
================================ */

.ase-about2-features {
    margin-top: 32px;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 15px;
}


.ase-about2-feature {
    padding: 20px;

    display: flex;

    align-items: flex-start;

    gap: 15px;

    border-radius: 18px;

    background: rgba(255,250,240,.60);

    border: 1px solid rgba(32,29,25,.08);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}


.ase-about2-feature:hover {
    transform: translateY(-6px);

    background: #fffaf0;

    box-shadow:
        0 15px 35px rgba(32,29,25,.08);
}


/* Number */

.ase-about2-feature-number {
    width: 38px;
    height: 38px;

    min-width: 38px;

    display: flex;

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

    border-radius: 50%;

    background: #201d19;

    color: #eee7d6;

    font-size: 10px;

    font-weight: 700;
}


.ase-about2-feature h3 {
    margin: 0 0 7px;

    color: #201d19;

    font-size: 14px;

    font-weight: 700;
}


.ase-about2-feature p {
    margin: 0;

    color: #777168;

    font-size: 11px;

    line-height: 1.55;
}


/* ================================
   STATS
================================ */

.ase-about2-stats {
    display: flex;

    align-items: center;

    gap: 0;

    margin-top: 34px;

    margin-bottom: 30px;
}


.ase-about2-stat {
    padding-right: 28px;

    margin-right: 28px;

    border-right: 1px solid rgba(32,29,25,.16);
}


.ase-about2-stat:last-child {
    border-right: 0;

    margin-right: 0;

    padding-right: 0;
}


.ase-about2-stat strong {
    display: block;

    color: #201d19;

    font-size: 22px;

    font-weight: 800;
}


.ase-about2-stat span {
    display: block;

    margin-top: 4px;

    color: #777168;

    font-size: 10px;

    letter-spacing: .5px;
}


/* ================================
   BUTTON
================================ */

.ase-about2-button {
    display: inline-flex;

    align-items: center;

    gap: 15px;

    padding: 8px 9px 8px 25px;

    border-radius: 50px;

    background: #201d19;

    color: #f4eee2;

    text-decoration: none;

    font-size: 13px;

    font-weight: 700;

    transition:
        transform .3s ease,
        background .3s ease;
}


.ase-about2-button i {
    width: 36px;
    height: 36px;

    display: flex;

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

    border-radius: 50%;

    background: #c85b2a;

    font-style: normal;

    font-size: 16px;

    transition:
        transform .3s ease,
        background .3s ease;
}


.ase-about2-button:hover {
    transform: translateY(-3px);

    background: #c85b2a;
}


.ase-about2-button:hover i {
    background: #201d19;

    transform: rotate(45deg);
}


/* ================================
   ANIMATIONS
================================ */

@keyframes aseAbout2FloatOne {

    0%,
    100% {
        transform: translateY(0);
    }

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


@keyframes aseAbout2FloatTwo {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(14px);
    }
}


@keyframes aseAbout2FloatThree {

    0%,
    100% {
        transform: translateY(0);
    }

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


@keyframes aseAbout2Pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: .7;
    }

    50% {
        transform: scale(1.12);
        opacity: 1;
    }
}


/* ================================
   TABLET
================================ */

@media (max-width: 1050px) {

    .ase-about2-section {
        padding: 85px 5%;
    }

    .ase-about2-container {
        grid-template-columns: 1fr;

        gap: 65px;
    }

    .ase-about2-visual {
        max-width: 700px;

        margin: 0 auto;

        width: 100%;
    }

    .ase-about2-content {
        max-width: 850px;

        margin: 0 auto;
    }

}


/* ================================
   SMALL TABLET
================================ */

@media (max-width: 750px) {

    .ase-about2-features {
        grid-template-columns: 1fr;
    }

    .ase-about2-heading {
        font-size: 50px;
    }

}


/* ================================
   MOBILE
================================ */

@media (max-width: 600px) {

    .ase-about2-section {
        padding: 65px 20px;
    }


    .ase-about2-container {
        gap: 45px;
    }


    .ase-about2-visual {
        min-height: 430px;
    }


    .ase-about2-image-box {
        width: 91%;

        height: 390px;

        border-radius: 25px;
    }


    .ase-about2-image-label {
        left: 15px;
        bottom: 15px;

        padding: 10px 14px;

        font-size: 8px;

        letter-spacing: 1.5px;
    }


    /* Experience */

    .ase-about2-experience {
        top: 15px;

        left: -5px;

        padding: 14px 17px;

        min-width: 125px;
    }


    .ase-about2-experience strong {
        font-size: 27px;
    }


    /* Product */

    .ase-about2-product {
        right: -5px;

        top: 135px;

        padding: 13px 15px;
    }


    .ase-about2-product-icon {
        width: 32px;
        height: 32px;
    }


    .ase-about2-product strong {
        font-size: 17px;
    }


    /* Quality */

    .ase-about2-quality {
        left: 5px;

        bottom: 10px;

        padding: 13px 17px;
    }


    .ase-about2-quality strong {
        font-size: 12px;
    }


    .ase-about2-quality small {
        font-size: 9px;
    }


    /* Heading */

    .ase-about2-eyebrow {
        font-size: 9px;

        letter-spacing: 2px;

        gap: 9px;
    }


    .ase-about2-line {
        width: 25px;
    }


    .ase-about2-heading {
        font-size: 42px;

        line-height: 1.06;

        letter-spacing: -1.8px;
    }


    .ase-about2-intro {
        font-size: 15px;

        line-height: 1.7;
    }


    .ase-about2-description {
        font-size: 14px;

        line-height: 1.7;
    }


    /* Stats */

    .ase-about2-stats {
        gap: 0;

        justify-content: space-between;
    }


    .ase-about2-stat {
        padding-right: 15px;

        margin-right: 15px;
    }


    .ase-about2-stat strong {
        font-size: 18px;
    }


    .ase-about2-stat span {
        font-size: 8px;
    }


    /* Button */

    .ase-about2-button {
        width: fit-content;

        padding-left: 20px;
    }

}


/* ================================
   VERY SMALL MOBILE
================================ */

@media (max-width: 400px) {

    .ase-about2-image-box {
        width: 88%;

        height: 350px;
    }


    .ase-about2-visual {
        min-height: 390px;
    }


    .ase-about2-heading {
        font-size: 36px;
    }


    .ase-about2-experience {
        transform: scale(.9);
        transform-origin: left top;
    }


    .ase-about2-product {
        transform: scale(.9);
        transform-origin: right top;
    }


    .ase-about2-quality {
        transform: scale(.9);
        transform-origin: left bottom;
    }

}


/* =====================================================
   A S ENTERPRISES — CONTACT SECTION
   UNIQUE PREFIX: ase-contact-
   ===================================================== */

.ase-contact-section {
    width: 100%;
    padding: 110px 6%;
    background: #eee6d5;
    position: relative;
    overflow: hidden;
}

.ase-contact-section::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -180px;
    top: -180px;
    border-radius: 50%;
    background: rgba(201, 93, 42, 0.08);
    pointer-events: none;
}

.ase-contact-section::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    left: -180px;
    bottom: -180px;
    border-radius: 50%;
    background: rgba(83, 107, 59, 0.08);
    pointer-events: none;
}


/* MAIN WRAPPER */

.ase-contact-wrap {
    width: 100%;
    max-width: 1250px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 75px;

    align-items: center;
    position: relative;
    z-index: 2;
}


/* =====================================================
   LEFT SIDE
   ===================================================== */

.ase-contact-info {
    max-width: 560px;
}

.ase-contact-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;

    color: #c95d2a;
    font-size: 12px;
    font-weight: 700;

    letter-spacing: 4px;
    text-transform: uppercase;

    margin-bottom: 22px;
}

.ase-contact-eyebrow span {
    width: 38px;
    height: 2px;
    background: #c95d2a;
    display: block;
}


.ase-contact-title {
    margin: 0;

    color: #211e1a;

    font-size: clamp(42px, 4.2vw, 68px);
    line-height: 0.98;

    font-weight: 800;
    letter-spacing: -2.5px;
}

.ase-contact-title em {
    display: block;

    color: #c95d2a;
    font-style: normal;
}


.ase-contact-description {
    margin: 30px 0 34px;

    max-width: 510px;

    color: #666057;

    font-size: 16px;
    line-height: 1.75;
}


/* =====================================================
   CONTACT DETAILS
   ===================================================== */

.ase-contact-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 13px;
}


.ase-contact-card {
    min-height: 86px;

    padding: 16px;

    background: #f7f1e5;

    border: 1px solid rgba(33, 30, 26, 0.10);

    border-radius: 18px;

    display: flex;
    align-items: center;
    gap: 13px;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.ase-contact-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 15px 35px rgba(33, 30, 26, 0.10);
}


.ase-contact-icon {
    width: 43px;
    height: 43px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #211e1a;
    color: #e4aa3c;

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

    font-size: 15px;
}


.ase-contact-card span {
    display: block;

    color: #a09a8d;

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

    letter-spacing: 1.7px;

    margin-bottom: 5px;
}


.ase-contact-card a,
.ase-contact-card p {
    margin: 0;

    color: #211e1a;

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

    text-decoration: none;

    line-height: 1.35;
}


/* =====================================================
   TRUST BOX
   ===================================================== */

.ase-contact-trust {
    margin-top: 18px;

    padding: 18px 20px;

    border-radius: 18px;

    background: #211e1a;

    display: flex;
    align-items: center;
    gap: 14px;

    color: #f5eee1;
}


.ase-contact-trust-dot {
    width: 13px;
    height: 13px;

    border-radius: 50%;

    flex-shrink: 0;

    background: #92bd4c;

    box-shadow:
        0 0 0 8px rgba(146, 189, 76, 0.12);
}


.ase-contact-trust strong {
    display: block;

    font-size: 14px;
    margin-bottom: 3px;
}


.ase-contact-trust p {
    margin: 0;

    color: #aaa397;

    font-size: 11px;
    line-height: 1.5;
}


/* =====================================================
   RIGHT FORM CARD
   ===================================================== */

.ase-contact-form-box {
    position: relative;

    padding: 38px;

    background: #211e1a;

    border-radius: 30px;

    box-shadow:
        0 25px 70px rgba(33, 30, 26, 0.18);

    overflow: hidden;
}


/* Orange decorative shape */

.ase-contact-form-box::before {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    right: -150px;
    top: -150px;

    border-radius: 50%;

    background: #39251d;
}


.ase-contact-form-box::after {
    content: "";

    position: absolute;

    width: 100px;
    height: 100px;

    right: 30px;
    bottom: -60px;

    border-radius: 50%;

    background: rgba(201, 93, 42, 0.16);
}


/* FORM HEADER */

.ase-contact-form-head {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    margin-bottom: 30px;
}


.ase-contact-form-head span {
    display: block;

    color: #d98a4b;

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

    letter-spacing: 3px;

    margin-bottom: 8px;
}


.ase-contact-form-head h3 {
    margin: 0;

    color: #f5eee1;

    font-size: 29px;
    line-height: 1.1;

    font-weight: 750;
}


.ase-contact-form-number {
    color: #c95d2a;

    font-size: 34px;
    font-weight: 800;

    opacity: 0.9;
}


/* =====================================================
   FORM
   ===================================================== */

.ase-contact-form {
    position: relative;
    z-index: 3;
}


.ase-contact-input-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}


.ase-contact-field {
    margin-bottom: 18px;
}


.ase-contact-field label {
    display: block;

    color: #c4bdb0;

    font-size: 11px;
    font-weight: 600;

    margin-bottom: 8px;
}


.ase-contact-field input,
.ase-contact-field select,
.ase-contact-field textarea {

    width: 100%;

    box-sizing: border-box;

    border: 1px solid rgba(245, 238, 225, 0.14);

    border-radius: 12px;

    background: rgba(255, 255, 255, 0.055);

    color: #f5eee1;

    outline: none;

    font-family: inherit;

    font-size: 13px;

    transition:
        border-color 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}


.ase-contact-field input,
.ase-contact-field select {
    height: 50px;
    padding: 0 15px;
}


.ase-contact-field textarea {
    padding: 14px 15px;
    min-height: 105px;

    resize: vertical;
}


.ase-contact-field input::placeholder,
.ase-contact-field textarea::placeholder {
    color: #827d74;
}


.ase-contact-field select {
    appearance: none;

    background-image:
        linear-gradient(45deg, transparent 50%, #aaa 50%),
        linear-gradient(135deg, #aaa 50%, transparent 50%);

    background-position:
        calc(100% - 19px) 21px,
        calc(100% - 14px) 21px;

    background-size:
        5px 5px,
        5px 5px;

    background-repeat: no-repeat;
}


.ase-contact-field select option {
    background: #211e1a;
    color: #f5eee1;
}


.ase-contact-field input:focus,
.ase-contact-field select:focus,
.ase-contact-field textarea:focus {

    border-color: #c95d2a;

    background: rgba(201, 93, 42, 0.06);

    box-shadow:
        0 0 0 3px rgba(201, 93, 42, 0.10);
}


/* =====================================================
   SUBMIT BUTTON
   ===================================================== */

.ase-contact-submit {

    width: 100%;
    min-height: 55px;

    margin-top: 2px;

    border: none;

    border-radius: 50px;

    background: #c95d2a;

    color: #fff;

    padding: 0 22px;

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

    cursor: pointer;

    font-family: inherit;

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

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease;
}


.ase-contact-submit i {
    width: 34px;
    height: 34px;

    border-radius: 50%;

    background: #211e1a;

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

    font-size: 12px;

    transition: transform 0.3s ease;
}


.ase-contact-submit:hover {

    background: #d76a34;

    transform: translateY(-2px);

    box-shadow:
        0 12px 25px rgba(201, 93, 42, 0.25);
}


.ase-contact-submit:hover i {
    transform: translateX(4px);
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 950px) {

    .ase-contact-section {
        padding: 80px 5%;
    }

    .ase-contact-wrap {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .ase-contact-info {
        max-width: 700px;
    }

    .ase-contact-form-box {
        max-width: 700px;
        width: 100%;
        box-sizing: border-box;
    }

}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 600px) {

    .ase-contact-section {
        padding: 65px 20px;
    }

    .ase-contact-title {
        font-size: 43px;
        letter-spacing: -1.8px;
    }

    .ase-contact-description {
        font-size: 14px;
        line-height: 1.7;
        margin-top: 22px;
    }

    .ase-contact-details {
        grid-template-columns: 1fr;
    }

    .ase-contact-card {
        min-height: 75px;
    }

    .ase-contact-form-box {
        padding: 25px 20px;
        border-radius: 23px;
    }

    .ase-contact-form-head h3 {
        font-size: 24px;
    }

    .ase-contact-form-number {
        font-size: 25px;
    }

    .ase-contact-input-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .ase-contact-field input,
    .ase-contact-field select {
        height: 48px;
    }

    .ase-contact-trust {
        padding: 16px;
    }

}


/* =====================================================
   SMALL MOBILE
   ===================================================== */

@media (max-width: 380px) {

    .ase-contact-title {
        font-size: 37px;
    }

    .ase-contact-form-box {
        padding: 22px 16px;
    }

}


/* =========================================================
   A S ENTERPRISES - PREMIUM FOOTER
   Unique prefix: asf-
   ========================================================= */

.asf-footer {
    position: relative;
    overflow: hidden;
    background: #1d1a17;
    color: #f4ecdc;
    padding: 80px 0 0;
    isolation: isolate;
}

.asf-footer-wrap {
    width: min(1180px, calc(100% - 50px));
    margin: 0 auto;
    position: relative;
    z-index: 2;
}


/* ---------- Background Glow ---------- */

.asf-footer-glow {
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    filter: blur(100px);
    opacity: .10;
    pointer-events: none;
}

.asf-footer-glow-one {
    background: #c95b2c;
    top: -180px;
    right: -100px;
    animation: asfGlowMoveOne 8s ease-in-out infinite alternate;
}

.asf-footer-glow-two {
    background: #637842;
    bottom: -240px;
    left: -140px;
    animation: asfGlowMoveTwo 10s ease-in-out infinite alternate;
}


/* ---------- Main Footer ---------- */

.asf-footer-main {
    display: grid;
    grid-template-columns: 1.45fr 0.8fr 1fr 1.3fr;
    gap: 55px;
    padding-bottom: 55px;
}


/* ---------- Brand ---------- */

.asf-footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -1.5px;
    margin-bottom: 22px;
}

.asf-logo-white {
    color: #f6f0e4;
}

.asf-logo-orange {
    color: #c95b2c;
}

.asf-footer-brand p {
    max-width: 390px;
    margin: 0;
    color: #aaa296;
    font-size: 15px;
    line-height: 1.9;
}


/* ---------- Social ---------- */

.asf-footer-social {
    display: flex;
    gap: 10px;
    margin-top: 25px;
}

.asf-footer-social a {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(244, 236, 220, .20);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c9c0b1;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: all .3s ease;
}

.asf-footer-social a:hover {
    background: #c95b2c;
    border-color: #c95b2c;
    color: #fff;
    transform: translateY(-5px) rotate(5deg);
}


/* ---------- Column Titles ---------- */

.asf-footer-title {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #f7f1e7;
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 24px;
}

.asf-footer-title span {
    width: 24px;
    height: 2px;
    background: #c95b2c;
    display: inline-block;
}


/* ---------- Links ---------- */

.asf-footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.asf-footer-column ul li {
    margin-bottom: 14px;
}

.asf-footer-column ul li a {
    position: relative;
    color: #aaa296;
    text-decoration: none;
    font-size: 14px;
    transition: all .3s ease;
    display: inline-block;
}

.asf-footer-column ul li a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 1px;
    background: #c95b2c;
    transition: width .3s ease;
}

.asf-footer-column ul li a:hover {
    color: #f3eadd;
    transform: translateX(5px);
}

.asf-footer-column ul li a:hover::before {
    width: 100%;
}


/* ---------- Contact ---------- */

.asf-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    text-decoration: none;
    color: inherit;
    margin-bottom: 20px;
}

.asf-contact-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: 1px solid rgba(201, 91, 44, .35);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c95b2c;
    font-size: 14px;
    transition: all .3s ease;
}

.asf-contact-item:hover .asf-contact-icon {
    background: #c95b2c;
    color: #fff;
    transform: rotate(-8deg);
}

.asf-contact-item small {
    display: block;
    color: #777067;
    font-size: 11px;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.asf-contact-item strong {
    display: block;
    color: #aaa296;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    word-break: break-word;
}


/* ---------- CTA ---------- */

.asf-footer-cta {
    border: 1px solid rgba(244, 236, 220, .12);
    background: rgba(255, 255, 255, .035);
    border-radius: 22px;
    padding: 22px 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 45px;
    backdrop-filter: blur(10px);
    transition: all .35s ease;
}

.asf-footer-cta:hover {
    border-color: rgba(201, 91, 44, .35);
    transform: translateY(-3px);
}

.asf-cta-left {
    display: flex;
    align-items: center;
    gap: 14px;
}

.asf-cta-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #82b84c;
    box-shadow: 0 0 0 7px rgba(130, 184, 76, .10);
    animation: asfPulse 2s infinite;
}

.asf-cta-left strong {
    color: #eee6d8;
    font-size: 15px;
}

.asf-cta-left p {
    margin: 4px 0 0;
    color: #888076;
    font-size: 13px;
}

.asf-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    background: #c95b2c;
    color: #fff;
    padding: 13px 20px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: all .3s ease;
}

.asf-cta-button span {
    font-size: 18px;
    transition: transform .3s ease;
}

.asf-cta-button:hover {
    background: #df6a35;
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(201, 91, 44, .25);
}

.asf-cta-button:hover span {
    transform: translateX(5px);
}


/* ---------- Bottom ---------- */

.asf-footer-bottom {
    border-top: 1px solid rgba(244, 236, 220, .12);
    padding: 23px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.asf-footer-bottom p {
    margin: 0;
    color: #81796f;
    font-size: 12px;
}

.asf-footer-bottom p strong {
    color: #aaa296;
}

.asf-footer-bottom-links {
    display: flex;
    gap: 25px;
}

.asf-footer-bottom-links a {
    color: #81796f;
    text-decoration: none;
    font-size: 12px;
    transition: color .3s ease;
}

.asf-footer-bottom-links a:hover {
    color: #c95b2c;
}


/* ---------- Animations ---------- */

@keyframes asfPulse {

    0% {
        box-shadow: 0 0 0 0 rgba(130, 184, 76, .35);
    }

    70% {
        box-shadow: 0 0 0 9px rgba(130, 184, 76, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(130, 184, 76, 0);
    }
}

@keyframes asfGlowMoveOne {

    from {
        transform: translate(0, 0);
    }

    to {
        transform: translate(-80px, 60px);
    }
}

@keyframes asfGlowMoveTwo {

    from {
        transform: translate(0, 0);
    }

    to {
        transform: translate(70px, -50px);
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .asf-footer-main {
        grid-template-columns: 1.2fr 1fr 1fr;
        gap: 40px;
    }

    .asf-footer-brand {
        grid-column: 1 / -1;
    }

    .asf-footer-brand p {
        max-width: 600px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .asf-footer {
        padding-top: 55px;
    }

    .asf-footer-wrap {
        width: min(100% - 32px, 550px);
    }

    .asf-footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 38px 25px;
    }

    .asf-footer-brand {
        grid-column: 1 / -1;
    }

    .asf-footer-logo {
        font-size: 26px;
    }

    .asf-footer-brand p {
        font-size: 14px;
    }

    .asf-footer-title {
        font-size: 15px;
    }

    .asf-footer-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .asf-cta-button {
        width: 100%;
        justify-content: center;
    }

    .asf-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .asf-footer-bottom-links {
        gap: 18px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .asf-footer-main {
        grid-template-columns: 1fr;
    }

    .asf-footer-brand {
        grid-column: auto;
    }

    .asf-footer-column {
        width: 100%;
    }

    .asf-footer-bottom-links {
        flex-direction: column;
        gap: 8px;
    }

}


.asf-footer-brand.asf-footer-visible,
.asf-footer-column.asf-footer-visible,
.asf-footer-cta.asf-footer-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}


/* =========================================================
   A S ENTERPRISES
   MACHINE MANUFACTURING SECTION
   UNIQUE PREFIX: asm-machine
========================================================= */

.asm-machine-section {
    position: relative;
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 10% 20%, rgba(204, 91, 37, 0.12), transparent 30%),
        radial-gradient(circle at 90% 80%, rgba(204, 91, 37, 0.08), transparent 30%),
        #171513;
    color: #f7f2e8;
}

.asm-machine-container {
    width: min(1380px, 92%);
    margin: auto;
}


/* ================= HEADING ================= */

.asm-machine-heading {
    text-align: center;
    max-width: 850px;
    margin: 0 auto 55px;
}

.asm-machine-tag {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #d15b28;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.asm-machine-tag::before,
.asm-machine-tag::after {
    content: "";
    width: 38px;
    height: 2px;
    background: #d15b28;
}

.asm-machine-heading h2 {
    margin: 16px 0 14px;
    font-size: clamp(38px, 5vw, 68px);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -2px;
}

.asm-machine-heading h2 strong {
    color: #d15b28;
}

.asm-machine-heading p {
    margin: 0 auto;
    max-width: 700px;
    color: #aaa39a;
    font-size: 16px;
    line-height: 1.7;
}


/* ================= SLIDER ================= */

.asm-machine-slider {
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
}

.asm-machine-track-wrap {
    width: 100%;
    overflow: hidden;
    padding: 12px 2px 25px;
}

.asm-machine-track {
    display: flex;
    gap: 18px;
    transition: transform 0.7s cubic-bezier(.22,.61,.36,1);
    will-change: transform;
}

.asm-machine-card {
    flex: 0 0 calc((100% - 90px) / 6);
    min-width: 0;
    position: relative;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: linear-gradient(
        145deg,
        rgba(255,255,255,.07),
        rgba(255,255,255,.025)
    );
    box-shadow: 0 15px 35px rgba(0,0,0,.25);
    transition:
        transform .45s ease,
        border-color .45s ease,
        box-shadow .45s ease;
}

.asm-machine-card:hover {
    transform: translateY(-10px);
    border-color: rgba(209,91,40,.65);
    box-shadow: 0 25px 45px rgba(0,0,0,.45);
}


/* ================= IMAGE ================= */

.asm-machine-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 13px;
    background: #24211e;
}

.asm-machine-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        transparent 45%,
        rgba(255,255,255,.08) 50%,
        transparent 55%
    );
    transform: translateX(-120%);
    transition: transform .7s ease;
}

.asm-machine-card:hover .asm-machine-image::after {
    transform: translateX(120%);
}

.asm-machine-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .6s ease;
}

.asm-machine-card:hover .asm-machine-image img {
    transform: scale(1.07);
}


/* ================= CARD TEXT ================= */

.asm-machine-card h3 {
    min-height: 52px;
    margin: 18px 4px 8px;
    color: #f8f4eb;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
}

.asm-machine-card span {
    display: inline-block;
    margin: 0 4px 5px;
    color: #d15b28;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
}


/* ================= ARROWS ================= */

.asm-machine-arrow {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    background: rgba(255,255,255,.05);
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    z-index: 5;
    transition:
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.asm-machine-arrow:hover {
    background: #d15b28;
    border-color: #d15b28;
    transform: scale(1.08);
}


/* ================= DOTS ================= */

.asm-machine-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 20px 0 48px;
}

.asm-machine-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #5d5852;
    cursor: pointer;
    transition: all .3s ease;
}

.asm-machine-dot-active {
    width: 30px;
    border-radius: 10px;
    background: #d15b28;
}


/* ================= FEATURES ================= */

.asm-machine-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 20px;
    background: rgba(255,255,255,.035);
    overflow: hidden;
}

.asm-machine-feature {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 24px;
    border-right: 1px solid rgba(255,255,255,.08);
    transition: background .3s ease;
}

.asm-machine-feature:last-child {
    border-right: 0;
}

.asm-machine-feature:hover {
    background: rgba(209,91,40,.08);
}

.asm-feature-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(209,91,40,.45);
    border-radius: 50%;
    color: #d15b28;
    font-size: 20px;
}

.asm-machine-feature strong {
    display: block;
    color: #f5f0e8;
    font-size: 14px;
    margin-bottom: 5px;
}

.asm-machine-feature small {
    display: block;
    color: #8f8982;
    font-size: 11px;
}


/* ================= TABLET ================= */

@media (max-width: 1100px) {

    .asm-machine-card {
        flex-basis: calc((100% - 36px) / 4);
    }

    .asm-machine-features {
        grid-template-columns: repeat(2, 1fr);
    }

    .asm-machine-feature:nth-child(2) {
        border-right: 0;
    }

    .asm-machine-feature:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255,255,255,.08);
    }
}


/* ================= MOBILE ================= */

@media (max-width: 700px) {

    .asm-machine-section {
        padding: 70px 0;
    }

    .asm-machine-heading {
        margin-bottom: 35px;
    }

    .asm-machine-heading h2 {
        font-size: 40px;
        letter-spacing: -1px;
    }

    .asm-machine-heading p {
        font-size: 14px;
    }

    .asm-machine-slider {
        gap: 8px;
    }

    .asm-machine-track-wrap {
        padding-left: 0;
        padding-right: 0;
    }

    .asm-machine-card {
        flex-basis: calc(100% - 10px);
    }

    .asm-machine-arrow {
        position: absolute;
        top: 45%;
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        z-index: 10;
        background: rgba(23,21,19,.85);
    }

    .asm-machine-prev {
        left: 8px;
    }

    .asm-machine-next {
        right: 8px;
    }

    .asm-machine-features {
        grid-template-columns: 1fr;
    }

    .asm-machine-feature {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .asm-machine-feature:last-child {
        border-bottom: 0;
    }
}

/* =========================================
   FLOATING WHATSAPP & CALL BUTTONS
   ========================================= */

.floating-contact-buttons {
    position: fixed;
    left: 22px;
    right: 22px;
    bottom: 22px;
    z-index: 9999;
    display: flex;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
}

.floating-btn {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #fff !important;
    font-size: 27px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.22);
    transition: all 0.3s ease;
    pointer-events: auto;
}

.floating-btn span {
    line-height: 1;
}

/* WhatsApp - Left */
.whatsapp-btn {
    background: #25D366;
}

.whatsapp-btn:hover {
    background: #1ebe5d;
    transform: translateY(-5px) scale(1.05);
}

/* Call - Right */
.call-btn {
    background: #d2612a;
}

.call-btn:hover {
    background: #b94f20;
    transform: translateY(-5px) scale(1.05);
}

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

    .floating-contact-buttons {
        left: 15px;
        right: 15px;
        bottom: 15px;
    }

    .floating-btn {
        width: 52px;
        height: 52px;
        font-size: 24px;
    }
}

.asm-machine-card span a {
    color: inherit;
    text-decoration: none;
}

.asm-machine-card span a:hover {
    text-decoration: none;
}



/* =========================================================
   A S ENTERPRISES — FINAL MOBILE HEADER FIX
   ========================================================= */

@media (max-width: 850px) {

    .as-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 999999 !important;
    }

    .as-header-container {
        position: relative !important;
        min-height: 76px !important;
    }

    /* Hamburger */
    .as-header-toggle {
        display: flex !important;
        width: 44px !important;
        height: 44px !important;
        margin-left: auto !important;
        position: relative !important;
        z-index: 1000002 !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 5px !important;
        padding: 0 !important;
        border: 1px solid rgba(33,31,27,.25) !important;
        border-radius: 10px !important;
        background: #F1EADB !important;
        cursor: pointer !important;
        pointer-events: auto !important;
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .as-header-toggle span {
        display: block !important;
        width: 22px !important;
        height: 2px !important;
        background: #211F1B !important;
        border-radius: 5px !important;
        transition: transform .3s ease, opacity .3s ease !important;
    }

    /* Mobile navigation */
    .as-header-nav {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-height: calc(100vh - 76px) !important;
        overflow-y: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 8px 20px 18px !important;
        box-sizing: border-box !important;
        background: #F1EADB !important;
        border-top: 1px solid rgba(33,31,27,.10) !important;
        box-shadow: 0 15px 30px rgba(0,0,0,.15) !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-10px) !important;

        transition:
            opacity .25s ease,
            visibility .25s ease,
            transform .25s ease !important;

        z-index: 1000001 !important;
    }

    /* OPEN — IMPORTANT: same class used by script.js */
    .as-header-nav.as-header-nav-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    .as-header-link {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 50px !important;
        padding: 15px 5px !important;
        box-sizing: border-box !important;
        color: #211F1B !important;
        font-size: 15px !important;
        border-bottom: 1px solid rgba(33,31,27,.08) !important;
        cursor: pointer !important;
        touch-action: manipulation !important;
    }

    .as-header-link::after {
        display: none !important;
    }

    /* Dropdown wrapper */
    .as-products-dropdown {
        position: static !important;
        width: 100% !important;
    }

    /* Products / Machine button */
    .as-products-dropdown > .as-header-link {
        display: flex !important;
        justify-content: space-between !important;
    }

    .as-products-dropdown > .as-header-link span {
        display: inline-block !important;
        transition: transform .25s ease !important;
    }

    /* Dropdown hidden */
    .as-products-list {
        position: static !important;
        width: 100% !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 8px !important;
        box-sizing: border-box !important;
        background: #211d19 !important;
        border-radius: 8px !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: none !important;
        box-shadow: none !important;
        transition:
            max-height .35s ease,
            opacity .25s ease,
            padding .25s ease,
            visibility .25s ease !important;
    }

    /* Dropdown open */
    .as-products-dropdown.as-dropdown-open .as-products-list {
        max-height: 360px !important;
        overflow-y: auto !important;
        padding: 8px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .as-products-dropdown.as-dropdown-open > .as-header-link span {
        transform: rotate(180deg) !important;
    }

    .as-products-list a {
        display: block !important;
        width: 100% !important;
        padding: 12px 10px !important;
        color: #fff !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        border-radius: 6px !important;
        border: 0 !important;
        box-sizing: border-box !important;
    }

    .as-products-list a:hover,
    .as-products-list a:active {
        background: #C1592C !important;
        color: #fff !important;
    }

    /* Hamburger → X */
    .as-header-toggle.as-header-menu-open span:nth-child(1) {
        transform: translateY(7px) rotate(45deg) !important;
    }

    .as-header-toggle.as-header-menu-open span:nth-child(2) {
        opacity: 0 !important;
    }

    .as-header-toggle.as-header-menu-open span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg) !important;
    }
}

@media (max-width: 480px) {

    .as-header-container {
        min-height: 70px !important;
    }

    .as-header-logo img {
        width: 155px !important;
    }

    .as-header-toggle {
        width: 42px !important;
        height: 42px !important;
    }

    .as-header-nav {
        max-height: calc(100vh - 70px) !important;
    }
}
