/* ============================================================
   HFUR PHARMA — HOME  |  PREMIUM DESIGN SYSTEM
   Every selector home.js depends on (.medicine-card,
   .medicine-card-body, .price, .slider-card, .slider-track,
   #topMedicineContainer, #sliderContainer, #contactForm)
   is preserved byte-for-byte. Everything else is new.
============================================================ */

:root{
    --hp-green-900:#0a3527;
    --hp-green-800:#0b3d2e;
    --hp-green-700:#0f7a4c;
    --hp-green-600:#12a463;
    --hp-green-500:#1abc7b;
    --hp-green-400:#3fd694;
    --hp-green-100:#e7f8f0;
    --hp-green-50:#f3fbf7;
    --hp-gold:#d4a94f;
    --hp-white:#ffffff;
    --hp-ink:#0f1f1a;
    --hp-muted:#5c6d67;
    --hp-line:rgba(15,122,76,0.12);
    --shadow-soft:0 10px 30px rgba(10,53,39,0.08);
    --shadow-mid:0 20px 45px rgba(10,53,39,0.14);
    --shadow-strong:0 30px 60px rgba(10,53,39,0.22);
}

*{ box-sizing:border-box; }

body{
    font-family:'Inter', sans-serif;
    background:var(--hp-white);
    color:var(--hp-ink);
    overflow-x:hidden;
}

h1,h2,h3,h4,h5,h6{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    letter-spacing:-0.02em;
    color:var(--hp-green-900);
}

section{
    padding:100px 0;
    position:relative;
}

img{ max-width:100%; }

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:'Inter', sans-serif;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--hp-green-700);
    background:var(--hp-green-100);
    border:1px solid var(--hp-line);
    padding:7px 16px;
    border-radius:50px;
    margin-bottom:18px;
}

.eyebrow::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--hp-green-600);
    box-shadow:0 0 0 4px rgba(18,164,99,0.18);
}

.section-head{
    max-width:640px;
    margin:0 auto 56px;
    text-align:center;
}

.section-head h2{
    font-size:clamp(2rem, 3vw, 2.7rem);
    margin-bottom:14px;
}

.section-head p{
    color:var(--hp-muted);
    font-size:1.05rem;
    line-height:1.7;
}

.section-head.text-start{
    text-align:left;
    margin:0 0 48px;
}

/* ============================================================
   HERO
============================================================ */

.hero{
    min-height:calc(100vh - 40px);
    display:flex;
    align-items:center;
    padding:170px 0 90px;
    background:
            radial-gradient(1200px 600px at 88% -8%, rgba(26,188,123,0.16), transparent 62%),
            radial-gradient(900px 500px at -5% 105%, rgba(212,169,79,0.10), transparent 55%),
            linear-gradient(180deg, var(--hp-green-50) 0%, var(--hp-white) 70%);
    position:relative;
    overflow:hidden;
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(circle, rgba(15,122,76,0.13) 1.4px, transparent 1.4px);
    background-size:28px 28px;
    mask-image:radial-gradient(ellipse 60% 55% at 75% 20%, black, transparent 75%);
    pointer-events:none;
}

.hero .container{ position:relative; z-index:2; }

.hero-badge-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:22px;
}

.hero-badge-row .eyebrow{ margin-bottom:0; }

.hero h1{
    font-size:clamp(2.5rem, 4.6vw, 4rem);
    line-height:1.08;
    color:var(--hp-green-900);
}

.hero h1 span{
    display:block;
    background:linear-gradient(97deg, var(--hp-green-700) 10%, var(--hp-green-500) 55%, var(--hp-gold) 105%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.hero p.lead{
    font-size:1.12rem;
    color:var(--hp-muted);
    max-width:520px;
    margin-top:1.1rem;
    line-height:1.75;
}

.hero .btn-success{
    background:linear-gradient(97deg, var(--hp-green-700), var(--hp-green-500));
    border:none;
    padding:1rem 2.3rem;
    border-radius:50px;
    font-weight:600;
    font-size:1.02rem;
    box-shadow:0 14px 32px rgba(15,122,76,0.32);
    transition:transform .25s ease, box-shadow .25s ease;
}

.hero .btn-success:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 40px rgba(15,122,76,0.4);
}

.hero .btn-ghost{
    padding:1rem 1.8rem;
    border-radius:50px;
    font-weight:600;
    font-size:1.02rem;
    color:var(--hp-green-900);
    background:transparent;
    border:1.5px solid var(--hp-line);
    display:inline-flex;
    align-items:center;
    gap:10px;
    transition:.25s;
    text-decoration:none;
}

.hero .btn-ghost:hover{
    border-color:var(--hp-green-600);
    background:var(--hp-white);
    color:var(--hp-green-800);
}

.hero .btn-ghost i{
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--hp-green-100);
    color:var(--hp-green-700);
    display:flex;
    align-items:center;
    justify-content:center;
}

.hero-cta-row{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:2.2rem;
}

.hero-stats{
    display:flex;
    gap:38px;
    margin-top:3rem;
    flex-wrap:wrap;
}

.hero-stats .stat b{
    display:block;
    font-family:'Poppins', sans-serif;
    font-size:1.9rem;
    font-weight:800;
    color:var(--hp-green-800);
    line-height:1;
}

.hero-stats .stat span{
    font-size:.86rem;
    color:var(--hp-muted);
    font-weight:500;
}

.hero-visual{
    position:relative;
}

.hero-visual .hero-image{
    filter:drop-shadow(0 35px 45px rgba(10,53,39,0.2));
    position:relative;
    z-index:2;
    animation:heroFloat 5s ease-in-out infinite;
}

@keyframes heroFloat{
    0%,100%{ transform:translateY(0); }
    50%{ transform:translateY(-16px); }
}

.hero-visual .ring{
    position:absolute;
    inset:6%;
    border:1.5px dashed rgba(15,122,76,0.25);
    border-radius:50%;
    z-index:1;
}

.floating-chip{
    position:absolute;
    background:var(--hp-white);
    border-radius:16px;
    box-shadow:var(--shadow-mid);
    padding:14px 18px;
    display:flex;
    align-items:center;
    gap:12px;
    z-index:3;
    border:1px solid var(--hp-line);
}

.floating-chip .chip-icon{
    width:42px;
    height:42px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.1rem;
    flex-shrink:0;
}

.floating-chip.chip-1{
    top:8%;
    left:-6%;
    animation:chipFloat 4.5s ease-in-out infinite;
}

.floating-chip.chip-1 .chip-icon{ background:var(--hp-green-100); color:var(--hp-green-700); }

.floating-chip.chip-2{
    bottom:10%;
    right:-4%;
    animation:chipFloat 4.5s ease-in-out infinite .8s;
}

.floating-chip.chip-2 .chip-icon{ background:#fdf3e2; color:var(--hp-gold); }

.floating-chip strong{
    display:block;
    font-size:.95rem;
    color:var(--hp-green-900);
    font-family:'Poppins', sans-serif;
}

.floating-chip span{
    font-size:.78rem;
    color:var(--hp-muted);
}

@keyframes chipFloat{
    0%,100%{ transform:translateY(0); }
    50%{ transform:translateY(-12px); }
}

@media(max-width:991px){
    .floating-chip{ display:none; }
}

/* ============================================================
   TRUST / LOGO STRIP
============================================================ */

.trust-strip{
    padding:34px 0;
    background:var(--hp-green-900);
}

.trust-strip .container{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.trust-strip .trust-item{
    display:flex;
    align-items:center;
    gap:12px;
    color:#dcefe5;
}

.trust-strip .trust-item i{
    font-size:1.35rem;
    color:var(--hp-green-400);
}

.trust-strip .trust-item span{
    font-size:.86rem;
    font-weight:600;
    letter-spacing:.02em;
}

/* ============================================================
   FEATURED MEDICINES
============================================================ */

#featured{ background:var(--hp-white); }

.section-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:20px;
    margin-bottom:44px;
}

.btn-outline-success{
    border-radius:50px;
    border-width:1.5px;
    font-weight:600;
    color:var(--hp-green-700);
    border-color:var(--hp-green-600);
    padding:.7rem 1.6rem;
    transition:.25s;
}

.btn-outline-success:hover{
    background:var(--hp-green-600);
    border-color:var(--hp-green-600);
    transform:translateY(-2px);
}

/* home.js injects: .col-* > .medicine-card > img + .medicine-card-body(h5,p,.price,a) */

.medicine-card{
    background:var(--hp-white);
    border-radius:20px;
    overflow:hidden;
    border:1px solid var(--hp-line);
    box-shadow:var(--shadow-soft);
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    height:100%;
    position:relative;
}

.medicine-card::before{
    content:"";
    position:absolute;
    top:14px;
    left:14px;
    width:26px;
    height:26px;
    border-radius:50%;
    background:var(--hp-green-100);
    z-index:1;
}

.medicine-card:hover{
    transform:translateY(-10px);
    box-shadow:var(--shadow-strong);
    border-color:rgba(15,122,76,0.3);
}

.medicine-card img{
    width:100%;
    height:220px;
    object-fit:contain;
    background:linear-gradient(180deg, var(--hp-green-50), var(--hp-white));
    padding:20px;
}

.medicine-card-body{
    padding:22px;
    font-family:'Inter', sans-serif;
}

.medicine-card-body h5{
    font-size:1.05rem;
    margin-bottom:4px;
}

.medicine-card-body p{
    color:var(--hp-muted);
    font-size:.88rem;
    margin-bottom:10px;
}

.price{
    font-size:1.4rem;
    font-weight:800;
    font-family:'Poppins', sans-serif;
    color:var(--hp-green-700);
}

.medicine-card-body .btn-success{
    background:linear-gradient(97deg, var(--hp-green-700), var(--hp-green-500));
    border:none;
    border-radius:12px;
    font-weight:600;
    padding:.7rem 1rem;
}

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

.slider-section{
    background:
            radial-gradient(700px 300px at 10% 0%, rgba(212,169,79,0.08), transparent 60%),
            var(--hp-green-50);
    padding:90px 0;
    margin:0;
    position:relative;
}

.medicine-slider{
    overflow:hidden;
    position:relative;
    mask-image:linear-gradient(90deg, transparent, black 6%, black 94%, transparent);
    -webkit-mask-image:linear-gradient(90deg, transparent, black 6%, black 94%, transparent);
}

.slider-track{
    display:flex;
    gap:22px;
    width:max-content;
    animation:sliderMove 42s linear infinite;
}

.slider-track:hover{
    animation-play-state:paused;
}

.slider-card{
    width:190px;
    background:var(--hp-white);
    border-radius:18px;
    padding:18px;
    text-align:center;
    box-shadow:var(--shadow-soft);
    border:1px solid var(--hp-line);
    flex-shrink:0;
    transition:.3s;
}

.slider-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-mid);
}

.slider-card img{
    height:120px;
    object-fit:contain;
    margin-bottom:12px;
}

.slider-card h6{
    font-size:.88rem;
    font-weight:600;
    color:var(--hp-green-900);
    margin:0;
}

@keyframes sliderMove{
    0%{ transform:translateX(0); }
    100%{ transform:translateX(-50%); }
}

/* ============================================================
   ABOUT
============================================================ */

#about{
    background:var(--hp-white);
}

.about-visual{
    position:relative;
}

.about-visual img{
    border-radius:24px;
    box-shadow:var(--shadow-strong);
    position:relative;
    z-index:2;
}

.about-visual::after{
    content:"";
    position:absolute;
    inset:-18px -18px auto auto;
    width:70%;
    height:70%;
    border:1.5px solid var(--hp-line);
    border-radius:24px;
    z-index:1;
}

.about-stat-card{
    position:absolute;
    bottom:-24px;
    left:-24px;
    background:var(--hp-green-900);
    color:#fff;
    padding:22px 26px;
    border-radius:18px;
    box-shadow:var(--shadow-strong);
    z-index:3;
}

.about-stat-card b{
    display:block;
    font-family:'Poppins', sans-serif;
    font-size:2.1rem;
    font-weight:800;
    color:var(--hp-green-400);
    line-height:1;
}

.about-stat-card span{
    font-size:.82rem;
    color:#cfe8db;
}

@media(max-width:991px){
    .about-stat-card{ left:50%; transform:translateX(-50%); bottom:-20px; }
}

#about .about-copy p{
    color:var(--hp-muted);
    font-size:1.03rem;
    line-height:1.8;
    margin-bottom:1.1rem;
}

.about-points{
    list-style:none;
    padding:0;
    margin:1.6rem 0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.about-points li{
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:600;
    font-size:.94rem;
    color:var(--hp-green-900);
}

.about-points li i{
    width:26px;
    height:26px;
    border-radius:50%;
    background:var(--hp-green-100);
    color:var(--hp-green-700);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.75rem;
    flex-shrink:0;
}

/* ============================================================
   MANUFACTURING UNIT SHOWCASE
============================================================ */

.manufacturing-section{
    background:
            radial-gradient(900px 500px at 15% 10%, rgba(212,169,79,0.10), transparent 60%),
            radial-gradient(900px 500px at 90% 90%, rgba(26,188,123,0.14), transparent 60%),
            var(--hp-green-900);
    position:relative;
    overflow:hidden;
}

.manufacturing-section::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(circle, rgba(255,255,255,0.05) 1.4px, transparent 1.4px);
    background-size:26px 26px;
    pointer-events:none;
}

.manufacturing-section .section-head h2,
.manufacturing-section .section-head p{
    color:#fff;
}

.manufacturing-section .section-head p{
    color:#bcd8ca;
}

.manufacturing-section .eyebrow{
    background:rgba(212,169,79,0.14);
    border-color:rgba(212,169,79,0.3);
    color:var(--hp-gold);
}

.manufacturing-section .eyebrow::before{
    background:var(--hp-gold);
    box-shadow:0 0 0 4px rgba(212,169,79,0.2);
}

.mfg-card{
    background:rgba(255,255,255,0.045);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:20px;
    padding:32px 24px;
    text-align:center;
    height:100%;
    position:relative;
    z-index:1;
    transition:transform .3s ease, background .3s ease, border-color .3s ease;
}

.mfg-card:hover{
    transform:translateY(-8px);
    background:rgba(255,255,255,0.075);
    border-color:rgba(212,169,79,0.4);
}

.mfg-card .mfg-icon{
    width:66px;
    height:66px;
    border-radius:18px;
    background:linear-gradient(145deg, rgba(212,169,79,0.18), rgba(212,169,79,0.05));
    border:1px solid rgba(212,169,79,0.3);
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 18px;
    font-size:1.5rem;
    color:var(--hp-gold);
}

.mfg-card h5{
    color:#fff;
    font-size:1.02rem;
    margin-bottom:8px;
}

.mfg-card p{
    color:#b9d3c7;
    font-size:.88rem;
    line-height:1.6;
    margin-bottom:0;
}

/* ============================================================
   WHY CHOOSE US
============================================================ */

.why-section{
    background:var(--hp-green-50);
}

.feature-card{
    background:var(--hp-white);
    border-radius:20px;
    border:1px solid var(--hp-line);
    box-shadow:var(--shadow-soft);
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    height:100%;
    padding:34px 26px;
    text-align:center;
}

.feature-card:hover{
    transform:translateY(-10px);
    box-shadow:var(--shadow-mid);
    border-color:rgba(15,122,76,0.3);
}

.feature-card .icon-wrap{
    width:72px;
    height:72px;
    border-radius:20px;
    background:linear-gradient(145deg, var(--hp-green-100), var(--hp-white));
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 18px;
    font-size:1.7rem;
    color:var(--hp-green-600);
    box-shadow:inset 0 0 0 1px var(--hp-line);
}

.feature-card h5{
    color:var(--hp-green-900);
    font-size:1.06rem;
    margin-bottom:8px;
}

.feature-card p{
    color:var(--hp-muted);
    font-size:.92rem;
    margin-bottom:0;
    line-height:1.65;
}

/* ============================================================
   CERTIFICATION STRIP
============================================================ */

.cert-strip{
    background:var(--hp-white);
    padding:50px 0;
    border-top:1px solid var(--hp-line);
    border-bottom:1px solid var(--hp-line);
}

.cert-item{
    display:flex;
    align-items:center;
    gap:12px;
    justify-content:center;
    color:var(--hp-green-900);
    font-weight:700;
    font-family:'Poppins', sans-serif;
    font-size:.95rem;
}

.cert-item i{
    font-size:1.6rem;
    color:var(--hp-gold);
}

/* ============================================================
   TESTIMONIALS
============================================================ */

.testimonials{
    background:var(--hp-green-900);
    color:#fff;
    position:relative;
    overflow:hidden;
}

.testimonials::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(circle, rgba(255,255,255,0.06) 1.4px, transparent 1.4px);
    background-size:26px 26px;
    pointer-events:none;
}

.testimonials .section-head h2,
.testimonials .section-head p{
    color:#fff;
}

.testimonials .section-head p{
    color:#bcd8ca;
}

.testimonial-card{
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:20px;
    padding:30px;
    height:100%;
    position:relative;
    z-index:1;
}

.testimonial-card .stars{
    color:var(--hp-gold);
    font-size:.85rem;
    margin-bottom:14px;
    letter-spacing:2px;
}

.testimonial-card p.quote{
    font-size:.98rem;
    line-height:1.75;
    color:#e4f2ea;
    margin-bottom:20px;
}

.testimonial-card .author{
    display:flex;
    align-items:center;
    gap:12px;
}

.testimonial-card .avatar{
    width:44px;
    height:44px;
    border-radius:50%;
    background:linear-gradient(135deg, var(--hp-green-600), var(--hp-green-400));
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-family:'Poppins', sans-serif;
    color:#06251a;
    flex-shrink:0;
}

.testimonial-card .author strong{
    display:block;
    font-size:.92rem;
    color:#fff;
}

.testimonial-card .author span{
    font-size:.78rem;
    color:#9fc5b3;
}

/* ============================================================
   CTA BANNER
============================================================ */

.cta-banner{
    padding:0;
}

.cta-banner .inner{
    background:linear-gradient(110deg, var(--hp-green-800), var(--hp-green-600) 75%);
    border-radius:28px;
    padding:60px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:24px;
    position:relative;
    overflow:hidden;
}

.cta-banner .inner::before{
    content:"";
    position:absolute;
    right:-60px;
    top:-60px;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(255,255,255,0.08);
}

.cta-banner h3{
    color:#fff;
    font-size:1.8rem;
    margin-bottom:8px;
    position:relative;
    z-index:1;
}

.cta-banner p{
    color:#d7efe3;
    margin-bottom:0;
    position:relative;
    z-index:1;
}

.cta-banner .btn-light{
    background:#fff;
    color:var(--hp-green-800);
    border-radius:50px;
    padding:.9rem 2.2rem;
    font-weight:700;
    position:relative;
    z-index:1;
    transition:.25s;
    border:none;
}

.cta-banner .btn-light:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 32px rgba(0,0,0,0.2);
}

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

#contact{
    background:var(--hp-white);
}

.contact-wrap{
    background:var(--hp-green-50);
    border-radius:28px;
    padding:56px;
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:50px;
}

@media(max-width:991px){
    .contact-wrap{
        grid-template-columns:1fr;
        padding:34px 24px;
    }
}

.contact-info h3{
    font-size:1.6rem;
    margin-bottom:12px;
}

.contact-info p{
    color:var(--hp-muted);
    line-height:1.75;
    margin-bottom:28px;
}

.contact-info .contact-line{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
}

.contact-info .contact-line .ico{
    width:46px;
    height:46px;
    border-radius:14px;
    background:var(--hp-white);
    border:1px solid var(--hp-line);
    color:var(--hp-green-700);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.contact-info .contact-line a,
.contact-info .contact-line span.txt{
    color:var(--hp-green-900);
    font-weight:600;
    text-decoration:none;
    font-size:.96rem;
}

.contact-info .contact-line small{
    display:block;
    color:var(--hp-muted);
    font-size:.78rem;
    font-weight:400;
}

#contactForm{
    background:var(--hp-white);
    border-radius:22px;
    padding:38px;
    box-shadow:var(--shadow-mid);
    border:1px solid var(--hp-line);
}

#contactForm .form-control{
    border-radius:12px;
    border:1.5px solid #dce8e2;
    padding:.9rem 1rem;
    font-size:.95rem;
}

#contactForm .form-control:focus{
    border-color:var(--hp-green-600);
    box-shadow:0 0 0 .2rem rgba(26,188,123,0.16);
}

#contactForm .btn-success{
    background:linear-gradient(97deg, var(--hp-green-700), var(--hp-green-500));
    border:none;
    border-radius:50px;
    padding:.9rem 2.5rem;
    font-weight:600;
    box-shadow:0 12px 28px rgba(15,122,76,0.3);
    transition:.25s;
}

#contactForm .btn-success:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 32px rgba(15,122,76,0.36);
}

/* ============================================================
   RESPONSIVE
============================================================ */

@media(max-width:992px){

    .hero{ text-align:center; padding-top:150px; }
    .hero p.lead{ margin-left:auto; margin-right:auto; }
    .hero-cta-row, .hero-stats{ justify-content:center; }
    .hero-image{ margin-top:40px; max-width:380px; }
    .about-points{ grid-template-columns:1fr; }
    .cta-banner .inner{ text-align:center; justify-content:center; }

}

@media(max-width:768px){

    section{ padding:64px 0; }
    .hero{ padding-top:130px; }
    .hero h1{ font-size:2.1rem; }
    .hero p.lead{ font-size:1rem; }
    .slider-card{ width:150px; }
    .slider-card img{ height:90px; }
    .medicine-card img{ height:170px; }
    .cta-banner .inner{ padding:40px 26px; }
    .contact-wrap{ border-radius:20px; }

}

@media(max-width:576px){

    .hero h1{ font-size:1.85rem; }
    .section-head h2{ font-size:1.7rem; }
    .feature-card{ margin-bottom:0; }
    .trust-strip .container{ justify-content:center; text-align:center; }

}
/* ============================================================
   PROCESS SECTION ("How It Works")
============================================================ */

.process-section{
    background:var(--hp-green-50);
}

.process-track{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:26px;
    position:relative;
}

.process-step{
    background:var(--hp-white);
    border:1px solid var(--hp-line);
    border-radius:20px;
    padding:34px 26px;
    text-align:center;
    box-shadow:var(--shadow-soft);
    position:relative;
    transition:transform .3s ease, box-shadow .3s ease;
}

.process-step:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-mid);
}

.process-num{
    position:absolute;
    top:14px;
    right:18px;
    font-family:'Poppins', sans-serif;
    font-weight:800;
    font-size:1.6rem;
    color:var(--hp-line);
}

.process-icon{
    width:60px;
    height:60px;
    margin:0 auto 18px;
    border-radius:16px;
    background:linear-gradient(135deg, var(--hp-green-600), var(--hp-green-500));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.4rem;
    box-shadow:0 12px 24px rgba(18,164,99,0.28);
}

.process-step h5{
    font-size:1.08rem;
    margin-bottom:8px;
}

.process-step p{
    color:var(--hp-muted);
    font-size:.92rem;
    line-height:1.6;
    margin:0;
}

@media(max-width:991px){
    .process-track{ grid-template-columns:repeat(2, 1fr); }
}

@media(max-width:576px){
    .process-track{ grid-template-columns:1fr; }
}

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

.faq-section{ background:var(--hp-white); }

.faq-wrap{
    max-width:820px;
    margin:0 auto;
}

.faq-item{
    background:var(--hp-green-50);
    border:1px solid var(--hp-line);
    border-radius:16px;
    margin-bottom:14px;
    overflow:hidden;
}

.faq-question{
    width:100%;
    text-align:left;
    background:transparent;
    border:none;
    padding:20px 24px;
    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:1rem;
    color:var(--hp-green-900);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    cursor:pointer;
}

.faq-question i{
    color:var(--hp-green-600);
    transition:transform .3s ease;
    flex-shrink:0;
}

.faq-question:not(.collapsed) i{
    transform:rotate(180deg);
}

.faq-answer p{
    padding:0 24px 20px;
    margin:0;
    color:var(--hp-muted);
    line-height:1.7;
    font-size:.95rem;
}

/* ============================================================
   SCROLL REVEAL
============================================================ */

.reveal-init{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .6s ease, transform .6s ease;
}

.reveal-in{
    opacity:1;
    transform:translateY(0);
}

/* ============================================================
   FLOATING WHATSAPP BUTTON
============================================================ */

.float-whatsapp{
    position:fixed;
    right:26px;
    bottom:26px;
    width:58px;
    height:58px;
    border-radius:50%;
    background:#25D366;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.7rem;
    box-shadow:0 14px 30px rgba(37,211,102,0.42);
    z-index:1000;
    transition:transform .25s ease, box-shadow .25s ease;
    text-decoration:none;
    animation:waPulse 2.6s ease-in-out infinite;
}

.float-whatsapp:hover{
    transform:scale(1.08);
    color:#fff;
    box-shadow:0 18px 36px rgba(37,211,102,0.5);
}

@keyframes waPulse{
    0%,100%{ box-shadow:0 14px 30px rgba(37,211,102,0.42), 0 0 0 0 rgba(37,211,102,0.35); }
    50%{ box-shadow:0 14px 30px rgba(37,211,102,0.42), 0 0 0 14px rgba(37,211,102,0); }
}

/* ============================================================
   BACK TO TOP
============================================================ */

.back-to-top{
    position:fixed;
    right:26px;
    bottom:96px;
    width:46px;
    height:46px;
    border-radius:50%;
    background:var(--hp-green-800);
    color:#fff;
    border:none;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.05rem;
    box-shadow:var(--shadow-mid);
    z-index:1000;
    opacity:0;
    visibility:hidden;
    transform:translateY(12px);
    transition:opacity .3s ease, transform .3s ease, visibility .3s;
    cursor:pointer;
}

.back-to-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.back-to-top:hover{
    background:var(--hp-green-600);
}

@media(max-width:576px){
    .float-whatsapp{ width:50px; height:50px; font-size:1.4rem; right:16px; bottom:16px; }
    .back-to-top{ width:40px; height:40px; right:16px; bottom:78px; }
}

/* ============================================================
   PHARMACEUTICAL COMPANY SYSTEM
============================================================ */

.company-system{
    background:var(--hp-white);
    padding:88px 0;
}

.company-system-shell{
    background:radial-gradient(600px 320px at 10% 0%, rgba(63,214,148,.12), transparent 70%), var(--hp-green-900);
    border-radius:32px;
    display:grid;
    grid-template-columns:.78fr 1.22fr;
    gap:54px;
    overflow:hidden;
    padding:60px;
    position:relative;
    box-shadow:var(--shadow-strong);
}

.company-system-shell::after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:50%;
    left:-120px;
    bottom:-160px;
}

.company-system-copy{
    align-self:center;
    position:relative;
    z-index:1;
}

.company-system-copy .eyebrow{
    background:rgba(63,214,148,.11);
    border-color:rgba(63,214,148,.2);
    color:var(--hp-green-400);
}

.company-system-copy h2{
    color:var(--hp-white);
    font-size:clamp(2rem, 3vw, 2.8rem);
    line-height:1.15;
    margin-bottom:18px;
}

.company-system-copy p{
    color:#bcd8ca;
    line-height:1.8;
    margin-bottom:28px;
}

.system-link{
    align-items:center;
    color:var(--hp-white);
    display:inline-flex;
    font-weight:700;
    gap:10px;
    text-decoration:none;
}

.system-link i{ color:var(--hp-green-400); transition:transform .2s ease; }
.system-link:hover{ color:var(--hp-green-400); }
.system-link:hover i{ transform:translateX(5px); }

.capability-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    position:relative;
    z-index:1;
}

.capability-card{
    align-items:flex-start;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.12);
    border-radius:20px;
    display:flex;
    gap:16px;
    min-height:150px;
    padding:25px;
    transition:transform .25s ease, background .25s ease, border-color .25s ease;
}

.capability-card:hover{
    background:rgba(255,255,255,.09);
    border-color:rgba(63,214,148,.32);
    transform:translateY(-5px);
}

.capability-card-featured{
    background:linear-gradient(135deg, rgba(18,164,99,.28), rgba(255,255,255,.06));
    grid-row:span 2;
    min-height:316px;
    flex-direction:column;
    justify-content:space-between;
}

.capability-icon{
    align-items:center;
    background:rgba(63,214,148,.13);
    border:1px solid rgba(63,214,148,.22);
    border-radius:14px;
    color:var(--hp-green-400);
    display:flex;
    flex:0 0 48px;
    font-size:1.15rem;
    height:48px;
    justify-content:center;
}

.capability-card small{
    color:var(--hp-green-400);
    display:block;
    font-size:.69rem;
    font-weight:800;
    letter-spacing:.12em;
    margin-bottom:6px;
    text-transform:uppercase;
}

.capability-card h3{
    color:var(--hp-white);
    font-size:1rem;
    line-height:1.45;
    margin:0;
}

.capability-card-featured h3{ font-size:1.45rem; margin-bottom:9px; }

.capability-card p{
    color:#bcd8ca;
    font-size:.88rem;
    line-height:1.65;
    margin:0;
}

/* ============================================================
   LOCATION
============================================================ */

.location-section{ padding-top:90px; padding-bottom:20px; }

.location-card{
    background:var(--hp-green-50);
    border:1px solid var(--hp-line);
    border-radius:30px;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    min-height:410px;
    overflow:hidden;
    box-shadow:var(--shadow-mid);
}

.location-visual{
    background:#e4f3eb;
    min-height:410px;
    overflow:hidden;
    position:relative;
}

.map-grid{
    background-image:linear-gradient(rgba(15,122,76,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(15,122,76,.09) 1px, transparent 1px);
    background-size:42px 42px;
    inset:0;
    position:absolute;
    transform:rotate(-8deg) scale(1.2);
}

.map-route{
    border:10px solid rgba(255,255,255,.9);
    border-left-color:transparent;
    border-radius:48% 52% 42% 58%;
    height:260px;
    left:17%;
    position:absolute;
    top:17%;
    transform:rotate(24deg);
    width:65%;
    box-shadow:0 0 0 2px rgba(15,122,76,.08);
}

.map-pin{
    align-items:center;
    background:var(--hp-white);
    border-radius:50%;
    box-shadow:0 18px 35px rgba(11,61,46,.24);
    color:#e5484d;
    display:flex;
    font-size:2.4rem;
    height:82px;
    justify-content:center;
    left:50%;
    position:absolute;
    top:48%;
    transform:translate(-50%, -50%);
    width:82px;
}

.map-label{
    background:var(--hp-green-900);
    border-radius:50px;
    bottom:18%;
    box-shadow:var(--shadow-mid);
    color:#fff;
    font-family:'Poppins', sans-serif;
    font-size:.85rem;
    font-weight:700;
    left:50%;
    padding:10px 18px;
    position:absolute;
    transform:translateX(-50%);
    white-space:nowrap;
}

.location-copy{ align-self:center; padding:54px; }
.location-copy h2{ font-size:clamp(2rem, 3vw, 2.65rem); margin-bottom:14px; }
.location-copy p{ color:var(--hp-muted); line-height:1.75; margin-bottom:28px; }

.location-actions{
    align-items:center;
    display:flex;
    flex-wrap:wrap;
    gap:18px;
}

.location-actions .btn-success{
    background:linear-gradient(97deg, var(--hp-green-700), var(--hp-green-500));
    border:0;
    border-radius:50px;
    box-shadow:0 12px 26px rgba(15,122,76,.28);
    font-size:.95rem;
    font-weight:700;
    padding:.9rem 1.5rem;
}

.location-call{ color:var(--hp-green-900); font-weight:700; text-decoration:none; }
.location-call i{ color:var(--hp-green-600); margin-right:6px; }
.location-call:hover{ color:var(--hp-green-600); }

.slider-card{ color:inherit; text-decoration:none; }
.slider-price{
    color:var(--hp-green-700);
    display:block;
    font-family:'Poppins', sans-serif;
    font-size:.92rem;
    font-weight:800;
    margin-top:7px;
}

@media(max-width:992px){
    .company-system-shell{ grid-template-columns:1fr; padding:46px; }
    .location-card{ grid-template-columns:1fr; }
    .location-visual{ min-height:320px; }
}

@media(max-width:768px){
    .company-system-shell{ border-radius:24px; padding:34px 24px; }
    .capability-grid{ grid-template-columns:1fr; }
    .capability-card-featured{ grid-row:auto; min-height:230px; }
    .location-copy{ padding:38px 26px; }
}

/* Keep the utility buttons separated from the contact widget. */
.back-to-top{ left:26px; right:auto; bottom:26px; }

@media(max-width:576px){
    .back-to-top{ left:16px; right:auto; bottom:16px; }
}
