/* ============================================================
   RESET & VARIABLES
============================================================ */
*{ margin:0; padding:0; box-sizing:border-box; }

:root{
    --primary:#08243d;
    --primary-light:#12395d;
    --primary-dark:#061a2b;
    --secondary:#c9a961;
    --secondary-light:#e0c887;
    --secondary-dark:#a4813f;
    --text:#24384b;
    --muted:#718096;
    --light:#f5f7f9;
    --cream:#f6f1e6;
    --white:#fff;
    --border:#e5e9ed;
    --green:#25D366;
    --shadow:0 18px 45px rgba(8,36,61,.10);
}

html{ scroll-behavior:smooth; }

body{
    font-family:'Inter',sans-serif;
    color:var(--text);
    background:#fff;
    line-height:1.65;
    overflow-x:hidden;
    width:100%;
}
body.modal-open{ overflow:hidden; }

h1,h2,h3,h4{ font-family:'Playfair Display',serif; }
button,a{ font-family:'Inter',sans-serif; }
button{ cursor:pointer; }
img{ max-width:100%; display:block; }

.container{ width:min(1250px,90%); margin:auto; }

/* ============================================================
   NAV
============================================================ */
nav{
    position:fixed; top:0; left:0; width:100%; height:78px; z-index:1000;
    padding:0 5%;
    display:flex; align-items:center; justify-content:space-between;
    background:rgba(8,36,61,.96);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.logo{ width:140px; flex-shrink:0; }
.logo span{ color:var(--secondary); }

.nav-links{ list-style:none; display:flex; align-items:center; gap:2rem; }
.nav-links a{
    color:#fff; text-decoration:none;
    font-size:.86rem; font-weight:500;
    transition:.3s; cursor:pointer;
}
.nav-links a:hover, .nav-links a.active{ color:var(--secondary); }

.nav-cta{
    border:0; background:var(--secondary); color:var(--primary);
    padding:.75rem 1.35rem; border-radius:4px;
    font-size:.8rem; font-weight:800; transition:.3s; white-space:nowrap;
}
.nav-cta:hover{ background:#fff; transform:translateY(-2px); }

.mobile-menu-btn{ display:none; border:0; background:none; color:#fff; font-size:1.6rem; flex-shrink:0; }

/* ============================================================
   HERO
============================================================ */
.hero{
    min-height:97vh;
    padding:135px 5% 90px;
    display:flex; align-items:center; position:relative;
    color:#fff;
    background:
        linear-gradient(110deg, rgb(0 0 0 / 9%) 0%, rgb(2 11 20 / 0%) 48%, rgb(0 0 0 / 58%) 100%), url(assets/hero-full.jpg) center / cover no-repeat;
}

.hero-content{ max-width:820px; width:100%; }

.hero-kicker{
    display:flex; align-items:center; gap:.7rem;
    color:var(--secondary-light);
    font-size:.73rem; font-weight:800; letter-spacing:2.5px; text-transform:uppercase;
    margin-bottom:1.3rem;
}
.hero-kicker::before{ content:''; width:36px; height:2px; background:var(--secondary); flex-shrink:0; }

.hero h1{ font-size:clamp(2.2rem,6vw,5.6rem); line-height:1.08; margin-bottom:1.5rem; word-wrap:break-word; }
.hero h1 span{ color:var(--secondary); }

.hero-description{
    max-width:700px; color:rgba(255,255,255,.82);
    font-size:1.08rem; font-weight:300; line-height:1.85;
    margin-bottom:2.2rem;
}

.hero-buttons{ display:flex; gap:.9rem; flex-wrap:wrap; }

.btn{
    border:0; text-decoration:none;
    display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
    padding:.95rem 1.5rem; border-radius:4px;
    font-size:.84rem; font-weight:800; transition:.3s;
}
.btn-primary{ background:var(--secondary); color:var(--primary); }
.btn-primary:hover{ background:#fff; transform:translateY(-3px); }
.btn-outline{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.5); color:#fff; }
.btn-outline:hover{ background:#fff; color:var(--primary); }

.hero-meta{
    position:absolute; bottom:30px; left:5%; right:5%;
    display:flex; justify-content:space-between; gap:2rem;
    color:rgba(255,255,255,.65); font-size:.72rem;
}
.hero-meta span{ display:flex; align-items:center; gap:.5rem; }
.status-dot{ width:7px; height:7px; border-radius:50%; background:#4ade80; flex-shrink:0; }

/* ============================================================
   TRUST STRIP
============================================================ */
.trust-strip{ background:var(--primary); color:#fff; }
.trust-grid{ max-width:1250px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); }
.trust-item{ padding:1.4rem 1rem; text-align:center; border-right:1px solid rgba(255,255,255,.1); }
.trust-item:last-child{ border-right:0; }
.trust-title{ color:var(--secondary); font-family:'Playfair Display',serif; font-size:1.25rem; font-weight:700; }
.trust-text{ color:rgba(255,255,255,.65); font-size:.72rem; }

/* ============================================================
   COMMON SECTION STYLES
============================================================ */
.section{ padding:95px 5%; }
.section-light{ background:var(--light); }
.section-cream{ background:var(--cream); }

.section-header{ max-width:720px; margin:0 auto 50px; text-align:center; }
.kicker{
    color:var(--secondary); font-size:.72rem; letter-spacing:2.2px;
    font-weight:800; text-transform:uppercase; margin-bottom:.75rem;
}
.section-header h2{ color:var(--primary); font-size:clamp(1.8rem,4vw,3.4rem); line-height:1.15; margin-bottom:1rem; }
.section-header p{ color:var(--muted); font-size:.92rem; }

/* ============================================================
   NEEDS SECTION
============================================================ */
.needs{ max-width:1200px; margin:auto; display:grid; grid-template-columns:1.1fr .9fr; gap:4rem; align-items:center; }
.needs-content h2{ color:var(--primary); font-size:clamp(1.8rem,4vw,3.4rem); line-height:1.15; margin-bottom:1.2rem; }
.needs-content > p{ color:var(--muted); font-size:.95rem; line-height:1.85; margin-bottom:1.7rem; }

.need-list{ display:grid; gap:.85rem; }
.need-item{ display:flex; gap:.8rem; align-items:flex-start; }
.need-check{
    flex-shrink:0; width:27px; height:27px; border-radius:50%;
    background:#f0eadc; color:var(--secondary);
    display:flex; align-items:center; justify-content:center;
    font-size:.75rem; font-weight:900;
}
.need-item strong{ color:var(--primary); display:block; font-size:.84rem; margin-bottom:.1rem; }
.need-item span{ color:var(--muted); font-size:.76rem; }

.needs-visual{
    min-height:430px; position:relative;
    background:
        linear-gradient(120deg,rgba(8,36,61,.12),rgba(8,36,61,.02)),
        url('https://images.unsplash.com/photo-1584982751601-97dcc096659c?w=1000&q=85') center/cover;
}
.needs-card{
    position:absolute; right:-25px; bottom:-25px; width:260px; padding:1.5rem;
    background:var(--primary); color:#fff; box-shadow:var(--shadow);
}
.needs-card span{ color:var(--secondary); font-size:.68rem; font-weight:800; letter-spacing:1.5px; }
.needs-card h3{ font-size:1.4rem; margin:.5rem 0; }
.needs-card p{ color:rgba(255,255,255,.65); font-size:.73rem; }

/* ============================================================
   SERVICES
============================================================ */
.services-grid{
    max-width:1250px; margin:auto; display:grid;
    grid-template-columns:repeat(4,1fr); gap:1px;
    background:var(--border); border:1px solid var(--border);
}
.service{ min-height:300px; padding:2rem; background:#fff; position:relative; transition:.3s; }
.service:hover{ transform:translateY(-5px); box-shadow:var(--shadow); z-index:2; }
.service-number{ color:var(--secondary); font-size:.7rem; font-weight:900; letter-spacing:1.5px; }
.service-icon{
    width:55px; height:55px; margin:1.4rem 0 1.2rem;
    display:flex; align-items:center; justify-content:center;
    border-radius:50%; background:#f4efe4; color:var(--primary); font-size:1.25rem;
}
.service h3{ color:var(--primary); font-family:'Inter',sans-serif; font-size:1rem; margin-bottom:.65rem; }
.service p{ color:var(--muted); font-size:.78rem; line-height:1.75; }
.service-link{ position:absolute; bottom:1.8rem; color:var(--primary); font-size:.72rem; font-weight:800; }

/* ============================================================
   CATEGORIES
============================================================ */
.categories-section{ padding:100px 5%; background:#fff; }
.categories-grid{ max-width:1250px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
.category-card{
    min-height:245px; padding:1.5rem; border:1px solid var(--border); background:#fff;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; cursor:pointer; position:relative; overflow:hidden; transition:.35s;
}
.category-card::after{
    content:''; position:absolute; bottom:0; left:0; width:100%; height:3px;
    background:var(--secondary); transform:scaleX(0); transition:.3s;
}
.category-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.category-card:hover::after{ transform:scaleX(1); }
.category-image{ width:125px; height:125px; object-fit:contain; margin-bottom:.8rem; }
.category-card h3{ font-family:'Inter',sans-serif; font-size:.98rem; color:var(--primary); margin-bottom:.2rem; }
.category-card p{ color:var(--muted); font-size:.68rem; }

/* ============================================================
   FEATURED EQUIPMENT
============================================================ */
.featured-grid{ max-width:1250px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.equipment-card{ background:#fff; border:1px solid var(--border); overflow:hidden; transition:.35s; }
.equipment-card:hover{ transform:translateY(-7px); box-shadow:var(--shadow); }
.equipment-image{ height:220px; background:#f0f3f5; position:relative; overflow:hidden; }
.equipment-image img{ width:100%; height:100%; object-fit:cover; transition:.5s; }
.equipment-card:hover .equipment-image img{ transform:scale(1.04); }
.condition{
    position:absolute; top:13px; left:13px;
    background:var(--secondary); color:var(--primary);
    padding:.35rem .6rem; font-size:.6rem; font-weight:900; text-transform:uppercase;
}
.equipment-body{ padding:1.35rem; }
.equipment-category{ color:var(--secondary); font-size:.63rem; font-weight:900; letter-spacing:1.3px; text-transform:uppercase; }
.equipment-body h3{ color:var(--primary); font-family:'Inter',sans-serif; font-size:.96rem; line-height:1.45; margin:.45rem 0 .55rem; }
.equipment-body p{ color:var(--muted); font-size:.74rem; line-height:1.65; min-height:48px; }
.equipment-actions{
    display:grid; grid-template-columns:1fr 1fr; gap:.5rem;
    margin-top:1rem; padding-top:1rem; border-top:1px solid var(--border);
}
.details-btn,.whatsapp-btn{ border:0; padding:.7rem .55rem; border-radius:4px; font-size:.66rem; font-weight:800; }
.details-btn{ background:#eef2f5; color:var(--primary); }
.details-btn:hover{ background:var(--primary); color:#fff; }
.whatsapp-btn{ background:var(--green); color:#fff; }
.whatsapp-btn:hover{ background:#128c7e; }
.view-all{ text-align:center; margin-top:2.5rem; }

/* ============================================================
   INSTALLATION FEATURE
============================================================ */
.installation{ max-width:1250px; margin:auto; display:grid; grid-template-columns:.95fr 1.05fr; min-height:480px; }
.installation-image{
    background:
        linear-gradient(rgba(8,36,61,.1),rgba(8,36,61,.1)),
        url(assets/install-image.png) center/cover;
    min-height:280px;
}
.installation-content{ background:var(--primary); color:#fff; padding:4rem; display:flex; justify-content:center; flex-direction:column; }
.installation-content .kicker{ color:var(--secondary); }
.installation-content h2{ font-size:clamp(1.8rem,4vw,3.2rem); line-height:1.15; margin-bottom:1rem; }
.installation-content p{ color:rgba(255,255,255,.72); font-size:.86rem; line-height:1.85; margin-bottom:1.5rem; }
.install-list{ display:grid; gap:.75rem; margin-bottom:1.8rem; }
.install-list div{ display:flex; gap:.7rem; align-items:center; color:rgba(255,255,255,.85); font-size:.76rem; }
.install-list span{ color:var(--secondary); font-weight:900; flex-shrink:0; }

/* ============================================================
   SOURCING
============================================================ */
.sourcing{
    max-width:1250px; margin:auto; padding:75px 7%; color:#fff;
    display:flex; justify-content:space-between; align-items:center; gap:3rem; flex-wrap:wrap;
    background:
        linear-gradient(110deg,rgba(8,36,61,.97),rgba(8,36,61,.82)),
        url('https://images.unsplash.com/photo-1581595219315-a187dd40c322?w=1600&q=85') center/cover;
}
.sourcing-content{ max-width:720px; }
.sourcing h2{ font-size:clamp(1.7rem,4vw,3.3rem); line-height:1.15; margin-bottom:1rem; }
.sourcing p{ color:rgba(255,255,255,.7); font-size:.86rem; line-height:1.8; }

/* ============================================================
   BRANDS
============================================================ */
.brands-grid{ max-width:1100px; margin:auto; display:grid; grid-template-columns:repeat(6,1fr); gap:.8rem; }
.brand{
    height:78px; border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center; text-align:center;
    color:#657486; font-size:.78rem; font-weight:800; background:#fff; transition:.3s; padding:.5rem;
}
.brand:hover{ color:var(--primary); border-color:var(--secondary); }

/* ============================================================
   PROCESS
============================================================ */
.process-grid{ max-width:1150px; margin:auto; display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem; }
.process{ text-align:center; position:relative; }
.process:not(:last-child)::after{
    content:'→'; position:absolute; top:19px; right:-20px; color:var(--secondary); font-size:1.2rem;
}
.process-number{
    width:48px; height:48px; margin:0 auto 1rem;
    border:1px solid var(--secondary); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--secondary); font-size:.72rem; font-weight:900;
}
.process h3{ color:var(--primary); font-family:'Inter',sans-serif; font-size:.82rem; margin-bottom:.4rem; }
.process p{ color:var(--muted); font-size:.69rem; line-height:1.65; }

/* ============================================================
   CONSULTATION
============================================================ */
.consultation{ max-width:1050px; margin:auto; background:#fff; border:1px solid var(--border); display:grid; grid-template-columns:1fr 1fr; box-shadow:var(--shadow); }
.consultation-copy{ background:var(--primary); color:#fff; padding:3rem; }
.consultation-copy h2{ font-size:clamp(1.6rem,4vw,2.4rem); line-height:1.2; margin-bottom:1rem; }
.consultation-copy p{ color:rgba(255,255,255,.7); font-size:.8rem; line-height:1.8; }
.consultation-points{ margin-top:1.5rem; display:grid; gap:.7rem; }
.consultation-points div{ color:rgba(255,255,255,.8); font-size:.72rem; }
.consultation-points span{ color:var(--secondary); margin-right:.4rem; }
.consultation-action{ padding:3rem; display:flex; flex-direction:column; justify-content:center; }
.consultation-action h3{ color:var(--primary); font-family:'Inter',sans-serif; font-size:1.1rem; margin-bottom:.5rem; }
.consultation-action p{ color:var(--muted); font-size:.76rem; margin-bottom:1.2rem; }
.consultation-action .btn{ width:100%; }

/* ============================================================
   FINAL CTA
============================================================ */
.final-cta{ padding:105px 5%; text-align:center; background:var(--cream); }
.final-cta h2{ color:var(--primary); font-size:clamp(1.9rem,4vw,3.7rem); line-height:1.15; margin-bottom:1rem; }
.final-cta p{ max-width:650px; margin:0 auto 2rem; color:var(--muted); font-size:.9rem; }

/* ============================================================
   FOOTER
============================================================ */
footer{ background:var(--primary-dark); color:#fff; padding:75px 5% 25px; }
.footer-grid{ max-width:1250px; margin:auto; display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:3rem; }
.footer-logo{ font-family:'Playfair Display',serif; font-size:1.8rem; font-weight:800; margin-bottom:1rem; }
.footer-logo span{ color:var(--secondary); }
.footer-brand p,.footer-column a,.footer-column p{ color:rgba(255,255,255,.58); font-size:.75rem; line-height:1.8; }
.footer-brand p{ max-width:300px; margin-bottom:.7rem; }
.footer-column h3{ color:var(--secondary); font-family:'Inter',sans-serif; font-size:.85rem; margin-bottom:1.1rem; }
.footer-column a{ display:block; text-decoration:none; margin-bottom:.45rem; cursor:pointer; }
.footer-column a:hover{ color:var(--secondary); }
.footer-bottom{
    max-width:1250px; margin:45px auto 0; padding-top:20px;
    border-top:1px solid rgba(255,255,255,.1);
    display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
    color:rgba(255,255,255,.35); font-size:.65rem;
}

/* ============================================================
   CATEGORY PAGES (in-app tabs on index.html)
============================================================ */
.page{ display:none; padding-top:51px; min-height:100vh; }
.page.active{ display:block; }
.page-header{
    padding:80px 5%; color:#fff; text-align:center;
    background:linear-gradient(135deg,var(--primary),var(--primary-light));
}
.page-header h1{ font-size:clamp(2rem,5vw,3.7rem); margin-bottom:.7rem; }
.page-header p{ color:rgba(255,255,255,.7); font-size:.86rem; }
.page-toolbar{ max-width:1350px; margin:25px auto 0; padding:0 2rem; }
.back-btn{ border:0; background:var(--primary); color:#fff; padding:.7rem 1.1rem; border-radius:4px; font-size:.72rem; font-weight:800; }
.back-btn:hover{ background:var(--primary-light); }
.products-grid{
    max-width:1350px; margin:30px auto 90px; padding:0 2rem;
    display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.4rem;
}

/* ============================================================
   PRODUCT MODAL
============================================================ */
.modal{
    position:fixed; inset:0; z-index:3000; display:none;
    align-items:center; justify-content:center; padding:2rem;
    background:rgba(2,15,27,.78); backdrop-filter:blur(8px);
}
.modal.open{ display:flex; }
.modal-box{ width:min(950px,100%); max-height:90vh; overflow-y:auto; background:#fff; position:relative; box-shadow:0 30px 80px rgba(0,0,0,.3); }
.modal-close{
    position:absolute; top:15px; right:15px; width:38px; height:38px;
    border:0; border-radius:50%; background:rgba(8,36,61,.9); color:#fff; font-size:1.2rem; z-index:2;
}
.modal-content{ display:grid; grid-template-columns:.9fr 1.1fr; }
.modal-image{ min-height:470px; background:#f1f4f6; }
.modal-image img{ width:100%; height:100%; min-height:470px; object-fit:cover; }
.modal-details{ padding:2.5rem; }
.modal-category{ color:var(--secondary); font-size:.68rem; font-weight:900; letter-spacing:1.5px; text-transform:uppercase; }
.modal-details h2{ color:var(--primary); font-size:clamp(1.5rem,4vw,2.2rem); line-height:1.15; margin:.5rem 0 1rem; }
.modal-description{ color:var(--muted); font-size:.8rem; line-height:1.8; margin-bottom:1.3rem; }
.specs{ border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin-bottom:1.3rem; }
.spec-row{ display:flex; justify-content:space-between; gap:1rem; padding:.65rem 0; border-bottom:1px solid var(--border); font-size:.72rem; }
.spec-row:last-child{ border-bottom:0; }
.spec-row span:first-child{ color:var(--muted); }
.spec-row span:last-child{ color:var(--primary); font-weight:700; text-align:right; }
.modal-section-title{ color:var(--primary); font-family:'Inter',sans-serif; font-size:.8rem; margin-bottom:.55rem; }
.modal-included{ color:var(--muted); font-size:.73rem; line-height:1.7; margin-bottom:1.4rem; }
.modal-actions{ display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.modal-actions a,.modal-actions button{
    text-align:center; padding:.85rem; border-radius:4px;
    font-size:.7rem; font-weight:800; text-decoration:none; border:0;
}
.source-btn{ background:#eef2f5; color:var(--primary); }
.source-btn:hover{ background:#e1e7eb; }
.modal-whatsapp{ background:var(--green); color:#fff; }

/* ============================================================
   MOBILE FLOATING ACTIONS
============================================================ */
.mobile-actions{ display:none; }

/* ============================================================
   REVEAL ANIMATION
============================================================ */
.reveal{ opacity:0; transform:translateY(25px); transition:.7s ease; }
.reveal.visible{ opacity:1; transform:translateY(0); }

/* Blog */
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.8rem; max-width:1250px; margin:auto; }
.blog-card{ background:#fff; border:1px solid var(--border); border-radius:6px; overflow:hidden; transition:.3s; text-decoration:none; color:inherit; display:block; }
.blog-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.blog-card-image{ height:190px; overflow:hidden; background:var(--light); }
.blog-card-image img{ width:100%; height:100%; object-fit:cover; }
.blog-card-body{ padding:1.4rem; }
.blog-card-meta{ font-size:.68rem; color:var(--muted); text-transform:uppercase; letter-spacing:1px; margin-bottom:.5rem; }
.blog-card h3{ font-family:'Inter',sans-serif; font-size:1.02rem; color:var(--primary); margin-bottom:.6rem; line-height:1.4; }
.blog-card p{ font-size:.82rem; color:var(--muted); line-height:1.7; }
.blog-card-link{ margin-top:.9rem; font-size:.75rem; font-weight:800; color:var(--secondary-dark,#a4813f); }

.article-wrap{ max-width:820px; margin:auto; }
.article-meta{ display:flex; gap:1rem; flex-wrap:wrap; font-size:.75rem; color:var(--muted); text-transform:uppercase; letter-spacing:1px; margin-bottom:1rem; }
.article-cover{ width:100%; border-radius:6px; margin-bottom:2rem; max-height:420px; object-fit:cover; }
.article-body{ font-size:1rem; line-height:1.9; color:var(--text); }
.article-body h2{ font-size:1.5rem; margin:2.2rem 0 1rem; color:var(--primary); }
.article-body h3{ font-size:1.15rem; margin:1.8rem 0 .8rem; color:var(--primary); }
.article-body p{ margin-bottom:1.2rem; }
.article-body img{ width:100%; border-radius:6px; margin:1.5rem 0; }
.article-body ul,.article-body ol{ margin:0 0 1.2rem 1.4rem; }
.article-body table{ width:100%; border-collapse:collapse; margin:1.6rem 0; font-size:.88rem; }
.article-body table th,.article-body table td{ border:1px solid var(--border); padding:.7rem .9rem; text-align:left; }
.article-body table th{ background:var(--light); color:var(--primary); font-weight:700; }
.article-body blockquote{ border-left:3px solid var(--secondary); padding:.4rem 0 .4rem 1.2rem; color:var(--muted); font-style:italic; margin:1.6rem 0; }

/* ============================================================
   INNER PAGE HEADER (about / contact)
============================================================ */
.inner-hero{
    min-height:46vh;
    padding:150px 5% 70px;
    display:flex; align-items:center; position:relative;
    color:#fff; text-align:center;
    background:
        linear-gradient(110deg, rgb(0 0 0 / 92%) 0%, rgb(2 11 20 / 82%) 60%), url(assets/hero.jpg) center / cover no-repeat;
}
.inner-hero-content{ max-width:760px; margin:auto; width:100%; }
.breadcrumb{ display:flex; justify-content:center; gap:.5rem; color:rgba(255,255,255,.55); font-size:.75rem; margin-bottom:1rem; flex-wrap:wrap; }
.breadcrumb a{ color:rgba(255,255,255,.75); text-decoration:none; }
.breadcrumb a:hover{ color:var(--secondary); }
.inner-hero h1{ font-size:clamp(2rem,5vw,3.4rem); margin-bottom:.9rem; }
.inner-hero p{ color:rgba(255,255,255,.78); font-size:.95rem; max-width:620px; margin:auto; }

/* ---- ABOUT PAGE ---- */
.about-intro{ max-width:1200px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.about-intro-image{
    min-height:420px; position:relative;
    background: linear-gradient(120deg,rgba(8,36,61,.12),rgba(8,36,61,.02)), url('https://images.unsplash.com/photo-1519494026892-80bbd2d6fd0d?w=1000&q=85') center/cover;
}
.about-intro-content h2{ color:var(--primary); font-size:clamp(1.8rem,4vw,3rem); line-height:1.18; margin-bottom:1.2rem; }
.about-intro-content p{ color:var(--muted); font-size:.92rem; line-height:1.9; margin-bottom:1rem; }

.values-grid{ max-width:1250px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.value-card{ background:#fff; border:1px solid var(--border); padding:2.2rem; text-align:left; }
.value-card .service-icon{ margin-left:0; }
.value-card h3{ color:var(--primary); font-family:'Inter',sans-serif; font-size:1rem; margin:1.1rem 0 .6rem; }
.value-card p{ color:var(--muted); font-size:.78rem; line-height:1.75; }

.stats-strip{ background:var(--primary); color:#fff; }
.stats-grid{ max-width:1100px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); }
.stat-item{ padding:2.6rem 1rem; text-align:center; border-right:1px solid rgba(255,255,255,.1); }
.stat-item:last-child{ border-right:0; }
.stat-number{ color:var(--secondary); font-family:'Playfair Display',serif; font-size:clamp(1.8rem,4vw,2.6rem); font-weight:800; }
.stat-label{ color:rgba(255,255,255,.65); font-size:.74rem; margin-top:.3rem; }

.timeline{ max-width:820px; margin:auto; display:grid; gap:0; }
.timeline-item{ display:grid; grid-template-columns:110px 1fr; gap:1.5rem; padding:1.6rem 0; border-bottom:1px solid var(--border); }
.timeline-item:last-child{ border-bottom:0; }
.timeline-year{ color:var(--secondary); font-family:'Playfair Display',serif; font-size:1.3rem; font-weight:800; }
.timeline-body h3{ color:var(--primary); font-family:'Inter',sans-serif; font-size:.92rem; margin-bottom:.4rem; }
.timeline-body p{ color:var(--muted); font-size:.8rem; line-height:1.75; }

.team-grid{ max-width:1100px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.team-card{ background:#fff; border:1px solid var(--border); padding:2.2rem; text-align:center; }
.team-avatar{
    width:76px; height:76px; border-radius:50%; margin:0 auto 1rem;
    background:linear-gradient(135deg,var(--primary),var(--primary-light));
    color:var(--secondary); display:flex; align-items:center; justify-content:center;
    font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:800;
}
.team-card h3{ color:var(--primary); font-family:'Inter',sans-serif; font-size:.94rem; margin-bottom:.2rem; }
.team-role{ color:var(--secondary); font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:1px; margin-bottom:.7rem; }
.team-card p{ color:var(--muted); font-size:.76rem; line-height:1.7; }

/* ---- CONTACT PAGE ---- */
.contact-grid{ max-width:1250px; margin:auto; display:grid; grid-template-columns:.85fr 1.15fr; gap:0; border:1px solid var(--border); box-shadow:var(--shadow); background:#fff; }
.contact-info{ background:var(--primary); color:#fff; padding:3.5rem; }
.contact-info h2{ font-size:clamp(1.5rem,3vw,2rem); margin-bottom:1rem; }
.contact-info > p{ color:rgba(255,255,255,.7); font-size:.85rem; line-height:1.85; margin-bottom:2rem; }
.contact-method{ display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.6rem; }
.contact-method-icon{
    flex-shrink:0; width:42px; height:42px; border-radius:50%;
    background:rgba(255,255,255,.08); color:var(--secondary);
    display:flex; align-items:center; justify-content:center; font-size:1.05rem;
}
.contact-method strong{ display:block; font-size:.84rem; margin-bottom:.2rem; }
.contact-method span, .contact-method a{ color:rgba(255,255,255,.65); font-size:.78rem; text-decoration:none; display:block; }
.contact-method a:hover{ color:var(--secondary); }
.contact-social{ display:flex; gap:.6rem; margin-top:2rem; }
.contact-social a{
    width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.25);
    display:flex; align-items:center; justify-content:center; color:#fff; text-decoration:none; font-size:.8rem;
}
.contact-social a:hover{ background:var(--secondary); color:var(--primary); border-color:var(--secondary); }

.contact-form-wrap{ padding:3.5rem; }
.contact-form-wrap h3{ color:var(--primary); font-family:'Inter',sans-serif; font-size:1.15rem; margin-bottom:.4rem; }
.contact-form-wrap > p{ color:var(--muted); font-size:.82rem; margin-bottom:1.8rem; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
.form-group{ margin-bottom:1rem; display:flex; flex-direction:column; gap:.4rem; }
.form-group label{ color:var(--primary); font-size:.76rem; font-weight:700; }
.form-group input,.form-group select,.form-group textarea{
    border:1px solid var(--border); border-radius:4px; padding:.8rem .9rem;
    font-family:'Inter',sans-serif; font-size:.82rem; color:var(--text); background:#fbfcfd;
    width:100%;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{ outline:none; border-color:var(--secondary); background:#fff; }
.form-group textarea{ resize:vertical; min-height:110px; }
.form-submit{ width:100%; margin-top:.4rem; }
.form-note{ color:var(--muted); font-size:.68rem; margin-top:.9rem; line-height:1.7; }
.form-status{ display:none; padding:.85rem 1rem; border-radius:4px; font-size:.78rem; margin-bottom:1.2rem; }
.form-status.success{ display:block; background:#e9f9ef; color:#1c7a3d; border:1px solid #b9e8c8; }
.form-status.error{ display:block; background:#fdecec; color:#b3261e; border:1px solid #f4c6c3; }

.map-embed{ height:420px; border:0; width:100%; filter:grayscale(15%); }

.faq-list{ max-width:820px; margin:auto; display:grid; gap:1px; background:var(--border); border:1px solid var(--border); }
.faq-item{ background:#fff; }
.faq-question{
    width:100%; text-align:left; background:none; border:0; padding:1.3rem 1.5rem;
    display:flex; justify-content:space-between; align-items:center; gap:1rem;
    color:var(--primary); font-size:.88rem; font-weight:700;
}
.faq-question .plus{ color:var(--secondary); font-size:1.2rem; flex-shrink:0; transition:.3s; }
.faq-item.open .faq-question .plus{ transform:rotate(45deg); }
.faq-answer{ max-height:0; overflow:hidden; transition:.3s ease; padding:0 1.5rem; }
.faq-item.open .faq-answer{ max-height:300px; padding:0 1.5rem 1.3rem; }
.faq-answer p{ color:var(--muted); font-size:.8rem; line-height:1.8; }

/* ============================================================
   RESPONSIVE
============================================================ */
@media(max-width:1100px){
    .services-grid{ grid-template-columns:repeat(2,1fr); }
    .featured-grid{ grid-template-columns:repeat(2,1fr); }
    .categories-grid{ grid-template-columns:repeat(3,1fr); }
    .brands-grid{ grid-template-columns:repeat(3,1fr); }
    .process-grid{ grid-template-columns:repeat(3,1fr); }
    .process:nth-child(3)::after{ display:none; }
    .values-grid{ grid-template-columns:repeat(2,1fr); }
    .team-grid{ grid-template-columns:repeat(2,1fr); }
    .stats-grid{ grid-template-columns:repeat(2,1fr); }
    .stat-item:nth-child(2){ border-right:0; }
    .stat-item:nth-child(1),.stat-item:nth-child(2){ border-bottom:1px solid rgba(255,255,255,.1); }
    .features-grid{ grid-template-columns:repeat(2,1fr) !important; }
    .blog-grid{ grid-template-columns:repeat(2,1fr); }
}

@media(max-width:850px){
    nav{ height:70px; padding:0 4%; }
    .nav-links{
        position:fixed; top:70px; left:0; width:100%; height:calc(100vh - 70px); overflow-y:auto;
        padding:1rem 6%; margin:0; list-style:none;
        background:var(--primary); flex-direction:column; align-items:stretch; gap:0; display:none;
    }
    .nav-links.open{ display:flex; }
    .nav-links li{ border-bottom:1px solid rgba(255,255,255,.08); width:100%; }
    .nav-links a{ display:block; padding:1rem 0; font-size:.95rem; }
    .nav-cta{ display:none; }
    .mobile-menu-btn{ display:block; }
    .hero{ min-height:auto; padding:110px 6% 70px; }
    .hero-meta{ display:none; }
    .inner-hero{ min-height:auto; padding:120px 6% 55px; }
    .trust-grid{ grid-template-columns:repeat(2,1fr); }
    .trust-item:nth-child(2){ border-right:0; }
    .trust-item:nth-child(1),.trust-item:nth-child(2){ border-bottom:1px solid rgba(255,255,255,.1); }
    .needs{ grid-template-columns:1fr; gap:3rem; }
    .needs-visual{ min-height:320px; }
    .about-intro{ grid-template-columns:1fr; gap:2.5rem; }
    .about-intro-image{ min-height:300px; order:-1; }
    .installation{ grid-template-columns:1fr; }
    .installation-image{ min-height:260px; }
    .sourcing{ margin:0; flex-direction:column; align-items:flex-start; padding:50px 7%; }
    .consultation{ grid-template-columns:1fr; }
    .contact-grid{ grid-template-columns:1fr; }
    .footer-grid{ grid-template-columns:repeat(2,1fr); gap:2.2rem; }
    .modal-content{ grid-template-columns:1fr; }
    .modal-image,.modal-image img{ min-height:260px; height:260px; }
    .team-grid{ grid-template-columns:1fr; max-width:420px; }
}

@media(max-width:600px){
    .container{ width:calc(100% - 32px); }
    .section,.categories-section{ padding:55px 5%; }
    .hero h1{ font-size:2.1rem; line-height:1.15; }
    .hero-description{ font-size:.88rem; }
    .hero-buttons{ flex-direction:column; align-items:stretch; }
    .btn{ width:100%; }
    .trust-title{ font-size:1rem; }
    .trust-text{ font-size:.62rem; }
    .services-grid,.featured-grid{ grid-template-columns:1fr; }
    .categories-grid{ grid-template-columns:repeat(2,1fr); gap:.6rem; }
    .category-card{ min-height:160px; padding:.9rem .5rem; }
    .category-image{ width:64px; height:64px; margin-bottom:.5rem; }
    .category-card h3{ font-size:.78rem; }
    .category-card p{ font-size:.6rem; }
    .needs-card{ position:relative; right:auto; bottom:auto; width:100%; margin-top:-40px; }
    .installation-content{ padding:1.6rem; }
    .installation-image{ min-height:200px; }
    .brands-grid{ grid-template-columns:repeat(2,1fr); }
    .process-grid{ grid-template-columns:1fr; gap:1.6rem; }
    .process::after{ display:none !important; }
    .features-grid{ grid-template-columns:1fr !important; }
    .blog-grid{ grid-template-columns:1fr; }
    .footer-grid{ grid-template-columns:1fr; gap:1.8rem; text-align:left; }
    .footer-bottom{ flex-direction:column; text-align:center; }
    .products-grid{ padding:0 1rem; grid-template-columns:1fr; }
    .page{ padding-top:43px; }
    .page-header{ padding:50px 5%; }
    .modal{ padding:.6rem; }
    .modal-box{ max-height:94vh; }
    .modal-details{ padding:1.3rem; }
    .modal-details h2{ font-size:1.5rem; }
    .modal-actions{ grid-template-columns:1fr; }
    .mobile-actions{ display:flex; position:fixed; bottom:16px; right:16px; left:auto; z-index:1500; gap:.6rem; }
    .mobile-actions a{
        display:flex; align-items:center; justify-content:center;
        width:56px; height:56px; border-radius:50%;
        color:#fff; text-decoration:none;
        box-shadow:0 8px 25px rgba(0,0,0,.25); cursor:pointer;
    }
    .mobile-actions a svg{ width:28px; height:28px; }
    .mobile-wa{ background:var(--green); }
    .mobile-consult{ display:none; }
    /* prevent floating whatsapp icon overlapping content */
    footer{ padding-bottom:85px; }
    .inner-hero{ padding:100px 5% 45px; }
    .inner-hero h1{ font-size:1.7rem; }
    .breadcrumb{ font-size:.68rem; }
    .about-intro-content h2, .section-header h2, .needs-content h2{ font-size:1.5rem; }
    .values-grid{ grid-template-columns:1fr; }
    .value-card{ padding:1.6rem; }
    .stats-grid{ grid-template-columns:repeat(2,1fr); }
    .stat-item{ padding:1.6rem 1rem; }
    .timeline-item{ grid-template-columns:1fr; gap:.4rem; }
    .contact-info, .contact-form-wrap{ padding:1.8rem; }
    .form-row{ grid-template-columns:1fr; gap:0; }
    .faq-question{ padding:1rem 1.1rem; font-size:.82rem; }
    .map-embed{ height:280px; }
}

@media(max-width:380px){
    .hero h1{ font-size:1.85rem; }
    .logo{ width:82px; }
    .nav-cta{ padding:.6rem 1rem; font-size:.72rem; }
    .categories-grid{ grid-template-columns:1fr 1fr; }
    .btn{ font-size:.78rem; padding:.85rem 1.1rem; }
}
