@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Poppins:wght@400;500;600;700;800&display=swap');
:root{--primary:#0d9488;--primary-dark:#0f766e;--primary-light:#14b8a6;--accent:#6366f1;--navy:#0a0e27;--gold:#f59e0b;--bg:#f8fafc;--bg-card:#ffffff;--bg-section:#f0fdfa;--text:#1f2937;--text-sec:#4b5563;--text-light:#9ca3af;--border:#e5e7eb;--shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.08);--shadow-lg:0 20px 40px rgba(0,0,0,.1);--glass:rgba(255,255,255,.7);--radius:12px;--radius-lg:20px;--transition:.3s cubic-bezier(.4,0,.2,1)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;line-height:1.2}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.section-wrapper{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.section-header{text-align:center;margin-bottom:3rem}
.section-badge{display:inline-block;background:var(--bg-section);color:var(--primary);padding:.4rem 1rem;border-radius:50px;font-size:.85rem;font-weight:600;margin-bottom:.75rem}
.section-title{font-size:2.25rem;font-weight:700;color:var(--navy);margin-bottom:.75rem}
.section-subtitle{color:var(--text-sec);max-width:600px;margin:0 auto;font-size:1rem}
.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:.8rem 1.75rem;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:var(--radius);font-weight:600;font-size:.95rem;cursor:pointer;transition:var(--transition);box-shadow:0 4px 15px rgba(13,148,136,.3)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(13,148,136,.4)}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:.8rem 1.75rem;background:var(--bg-card);color:var(--primary);border:2px solid var(--border);border-radius:var(--radius);font-weight:600;font-size:.95rem;cursor:pointer;transition:var(--transition)}
.btn-secondary:hover{border-color:var(--primary);background:var(--bg-section)}

/* NAV */
.nav-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:var(--transition)}
.nav-header.scrolled{box-shadow:var(--shadow-md)}
.nav-container{max-width:1200px;margin:0 auto;padding:.6rem 1.5rem;display:flex;align-items:center;justify-content:space-between}
.nav-brand{display:flex;align-items:center;gap:10px}
.nav-logo{width:42px;height:42px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:var(--shadow)}
.nav-brand-name{font-family:'Poppins',sans-serif;font-size:1.1rem;font-weight:700;color:var(--navy)}
.nav-brand-sub{display:block;font-size:.65rem;color:var(--text-light);letter-spacing:.5px;font-weight:500}
.nav-links{display:flex;align-items:center;gap:1.5rem}
.nav-link{color:var(--text-sec);font-weight:500;font-size:.9rem;transition:var(--transition);position:relative;padding:.25rem 0}
.nav-link:hover,.nav-link.active{color:var(--primary)}
.nav-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--primary);transition:var(--transition);border-radius:1px}
.nav-link:hover::after,.nav-link.active::after{width:100%}
.nav-actions{display:flex;align-items:center;gap:.75rem}
.nav-whatsapp{width:38px;height:38px;background:#25D366;color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.nav-whatsapp:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(37,211,102,.4)}
.nav-call-btn{display:flex;align-items:center;gap:6px;padding:.5rem 1rem;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-radius:8px;font-weight:600;font-size:.85rem;transition:var(--transition)}
.nav-call-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(13,148,136,.35)}
.nav-mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:5px;z-index:1001;position:relative}
.nav-mobile-toggle span{display:block;width:24px;height:2.5px;background:var(--navy);border-radius:2px;transition:var(--transition)}
.desktop-only{display:flex}
.mobile-only{display:none}

/* HERO */
.hero{min-height:100vh;background:linear-gradient(135deg,#f0fdfa 0%,#ecfdf5 30%,#f0f9ff 70%,#eff6ff 100%);display:flex;align-items:center;padding:7rem 1.5rem 4rem;position:relative;overflow:hidden}
.hero-bg-pattern{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%230d9488' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.6}
.hero-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center;position:relative;z-index:1;width:100%}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border);padding:.5rem 1rem;border-radius:50px;font-size:.85rem;font-weight:500;color:var(--text-sec);margin-bottom:1.25rem;box-shadow:var(--shadow)}
.hero-badge-icon{color:var(--gold)}
.hero-title{font-size:3rem;font-weight:800;color:var(--navy);margin-bottom:1rem}
.hero-highlight{background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-subtitle{font-size:1.05rem;color:var(--text-sec);margin-bottom:1.5rem;max-width:520px;line-height:1.7}
.hero-features{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}
.hero-feature-item{display:flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid var(--border);padding:.5rem 1rem;border-radius:10px;font-size:.9rem;font-weight:500;box-shadow:var(--shadow)}
.hero-cta-row{display:flex;gap:1rem;flex-wrap:wrap}
.hero-stats{display:flex;flex-direction:column;gap:1rem}
.hero-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;box-shadow:var(--shadow-md);backdrop-filter:blur(10px);transition:var(--transition)}
.hero-stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}
.hero-stat-number{font-family:'Poppins',sans-serif;font-size:2.5rem;font-weight:800;color:var(--primary)}
.hero-stat-plus{font-family:'Poppins',sans-serif;font-size:2rem;font-weight:800;color:var(--gold)}
.hero-stat-label{display:block;font-size:.85rem;color:var(--text-sec);margin-top:.25rem}

/* SERVICES */
.services{padding:5rem 1.5rem;background:var(--bg-card)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.service-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;transition:var(--transition);cursor:default}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--primary)}
.service-icon-wrap{width:56px;height:56px;background:linear-gradient(135deg,var(--bg-section),#dbeafe);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:1.25rem}
.service-card h3{font-size:1.1rem;font-weight:700;margin-bottom:.5rem;color:var(--navy)}
.service-card p{color:var(--text-sec);font-size:.9rem;line-height:1.6}

/* PRODUCTS */
.products{padding:4rem 1rem;background:var(--bg-section)}
.products-stats{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.products-stat-item{background:var(--bg-card);border:1px solid var(--border);padding:.6rem 1.2rem;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);min-width:90px}
.products-stat-value{display:block;font-size:1.4rem;font-weight:800;color:var(--primary);font-family:'Poppins',sans-serif}
.products-stat-label{font-size:.72rem;color:var(--text-sec);text-transform:uppercase;letter-spacing:.5px}
.products-stat-value-sep{color:var(--text-light);font-size:1.2rem;font-weight:300}
.products-search{max-width:600px;margin:0 auto 1.25rem;position:relative}
.products-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-light)}
.products-search input{width:100%;padding:.85rem 2.5rem .85rem 2.75rem;background:var(--bg-card);border:2px solid var(--border);border-radius:50px;font-size:.95rem;color:var(--text);transition:var(--transition);font-family:inherit}
.products-search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(13,148,136,.12)}
.search-clear-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:var(--bg-section);border:none;width:28px;height:28px;border-radius:50%;font-size:.85rem;cursor:pointer;color:var(--text-sec);transition:var(--transition);display:flex;align-items:center;justify-content:center}
.search-clear-btn:hover{background:var(--primary);color:#fff}
.products-filter-pills{display:flex;justify-content:center;gap:.45rem;margin-bottom:2rem;flex-wrap:wrap;padding:0 .5rem}
.filter-pill{padding:.45rem .9rem;background:var(--bg-card);border:1.5px solid var(--border);border-radius:50px;font-size:.78rem;font-weight:600;color:var(--text-sec);cursor:pointer;transition:all .25s ease;font-family:inherit;white-space:nowrap}
.filter-pill:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}
.filter-pill.active{background:linear-gradient(135deg,var(--primary),#0f766e);color:#fff;border-color:transparent;box-shadow:0 3px 12px rgba(13,148,136,.3)}
.products-loader{text-align:center;padding:3rem;color:var(--text-sec)}
.loader-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}
@keyframes spin{to{transform:rotate(360deg)}}

/* Company Accordion Cards */
.company-accordion{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;margin-bottom:.85rem;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.company-accordion:hover{box-shadow:0 4px 20px rgba(0,0,0,.08);border-color:rgba(13,148,136,.2)}
.company-accordion-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;transition:var(--transition);user-select:none;gap:.75rem}
.company-accordion-header:hover{background:rgba(13,148,136,.03)}
.company-accordion-title{font-weight:700;font-size:.92rem;color:var(--navy);display:flex;align-items:center;gap:.5rem;line-height:1.3}
.company-accordion-title::before{content:'🏭';font-size:1.1rem}
.company-accordion-count{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#047857;padding:.2rem .7rem;border-radius:50px;font-size:.72rem;font-weight:700;white-space:nowrap}
.company-accordion-arrow{color:var(--text-light);transition:transform .35s cubic-bezier(.4,0,.2,1);font-size:.85rem}
.company-accordion.open .company-accordion-arrow{transform:rotate(180deg);color:var(--primary)}
.company-accordion.open{border-color:rgba(13,148,136,.25);box-shadow:0 4px 24px rgba(13,148,136,.1)}
.company-accordion-body{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1)}
.company-accordion.open .company-accordion-body{max-height:5000px}

/* Product Grid */
.product-list-grid{padding:.75rem 1rem 1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
@media(min-width:480px){.product-list-grid{grid-template-columns:repeat(3,1fr);gap:.55rem}}
@media(min-width:768px){.product-list-grid{grid-template-columns:repeat(4,1fr);gap:.6rem;padding:.75rem 1.25rem 1.25rem}}
@media(min-width:1024px){.product-list-grid{grid-template-columns:repeat(5,1fr)}}

/* Product Chips */
.product-item-wrap{border-radius:10px;transition:all .2s ease;overflow:hidden}
.product-item-wrap.has-detail{cursor:pointer}
.product-list-item{padding:.55rem .65rem;font-size:.78rem;color:var(--navy);font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:4px;background:var(--bg-section);border-radius:10px;border:1px solid transparent;transition:all .2s ease;line-height:1.3;min-height:42px;word-break:break-word}
.product-list-item:hover{border-color:rgba(13,148,136,.25);background:rgba(13,148,136,.04);color:var(--primary)}
.detail-hint{font-size:.7rem;opacity:.5;transition:var(--transition);cursor:pointer;padding:4px;margin:-4px;flex-shrink:0}
.detail-hint:hover{opacity:1;transform:scale(1.15)}
.product-item-wrap.has-detail:hover .detail-hint{opacity:1}

/* Product Detail Popup */
.product-detail-popup{max-height:0;overflow:hidden;visibility:hidden;transition:max-height .35s ease,padding .35s ease,visibility .35s;background:linear-gradient(135deg,#ecfdf5,#eff6ff);border-radius:8px}
.product-item-wrap.expanded .product-detail-popup{max-height:500px;padding:.65rem .75rem;visibility:visible;border-left:3px solid var(--primary);margin:.25rem .35rem .35rem}
.detail-row{display:flex;gap:5px;margin-bottom:.25rem;font-size:.78rem;line-height:1.45}
.detail-label{font-weight:700;color:var(--primary);white-space:nowrap;min-width:auto}
.detail-value.generic{color:var(--accent);font-weight:600}
.detail-value.uses{color:var(--text-sec)}
.disclaimer-strip{overflow:hidden;background:linear-gradient(90deg,#fef2f2,#fff1f2);padding:.5rem 0;margin-bottom:1rem;border-radius:8px;border:1px solid rgba(239,68,68,.15)}
.disclaimer-strip-inner{display:flex;gap:3rem;animation:scrollDisclaimer 35s linear infinite;white-space:nowrap}
.disclaimer-strip-text{font-size:.72rem;color:#b91c1c;font-weight:500}
@keyframes scrollDisclaimer{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.no-results{text-align:center;padding:3rem;color:var(--text-sec);background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border)}

/* Mobile product tweaks */
@media(max-width:480px){
.products{padding:3rem .75rem}
.products-stats{gap:.5rem}
.products-stat-item{padding:.45rem .8rem;min-width:75px}
.products-stat-value{font-size:1.2rem}
.products-stat-value-sep{display:none}
.products-filter-pills{gap:.35rem;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:0 .25rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.products-filter-pills::-webkit-scrollbar{display:none}
.filter-pill{padding:.4rem .7rem;font-size:.72rem}
.company-accordion-header{padding:.85rem 1rem}
.company-accordion-title{font-size:.88rem}
.product-list-grid{padding:.5rem .75rem 1rem;gap:.5rem}
.product-list-item{padding:.6rem .75rem;font-size:.85rem;min-height:48px}
}

/* CALCULATORS */
.calculators{padding:5rem 1.5rem;background:var(--bg-card)}
.calc-container{max-width:700px;margin:0 auto;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--border)}
.calc-tabs{display:flex;flex-wrap:wrap;background:var(--bg);padding:.5rem;gap:.4rem}
.calc-tab{flex:1;min-width:90px;padding:.65rem .75rem;background:transparent;border:none;border-radius:10px;font-size:.82rem;font-weight:600;color:var(--text-sec);cursor:pointer;transition:var(--transition);font-family:inherit}
.calc-tab:hover{background:rgba(13,148,136,.08);color:var(--primary)}
.calc-tab.active{background:var(--bg-card);color:var(--primary);box-shadow:var(--shadow)}
.calc-panel{display:none;padding:2rem}
.calc-panel.active{display:block}
.calc-panel h3{font-size:1.2rem;font-weight:700;margin-bottom:.4rem}
.calc-desc{color:var(--text-sec);font-size:.9rem;margin-bottom:1.5rem}
.calc-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}
.calc-field{display:flex;flex-direction:column}
.calc-field.full{grid-column:1/-1}
.calc-field label{font-size:.85rem;font-weight:600;margin-bottom:.4rem;color:var(--text)}
.calc-field input,.calc-field select{padding:.8rem 1rem;border:2px solid var(--border);border-radius:10px;font-size:.95rem;transition:var(--transition);background:var(--bg);font-family:inherit}
.calc-field input:focus,.calc-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(13,148,136,.1);background:#fff}
.calc-btn{width:100%;margin-bottom:0}
.calc-result{margin-top:1.5rem}
.calc-result-card{padding:1.25rem;border-radius:var(--radius);border:2px solid var(--primary);text-align:center;background:var(--bg-section);margin-bottom:.75rem}
.calc-result-value{font-family:'Poppins',sans-serif;font-size:2.25rem;font-weight:800;color:var(--primary)}
.calc-result-label{font-size:.95rem;font-weight:600;color:var(--text)}
.calc-result-advice{background:var(--bg);padding:1rem;border-radius:10px;font-size:.88rem;color:var(--text-sec);line-height:1.6}
.calc-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.75rem}
.calc-stat-box{background:var(--bg);padding:.75rem;border-radius:10px;text-align:center;border:1px solid var(--border)}
.calc-stat-box strong{display:block;font-size:1.1rem;color:var(--navy)}
.calc-stat-box span{font-size:.75rem;color:var(--text-sec)}
.hr-zone{background:var(--bg);padding:.6rem 1rem;border-radius:8px;margin-bottom:.5rem}
.hr-zone-name{font-weight:600;font-size:.88rem}
.hr-zone-range{font-weight:700;color:var(--primary)}
.hr-zone-desc{font-size:.78rem;color:var(--text-sec)}
.temp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.temp-item{background:var(--bg-section);padding:1rem;border-radius:10px;text-align:center;border:2px solid var(--primary)}
.temp-item strong{display:block;font-size:1.15rem;color:var(--primary)}
.temp-item span{font-size:.78rem;color:var(--text-sec)}
.water-info{display:flex;align-items:center;gap:1rem;background:#f0f9ff;padding:1rem;border-radius:10px;margin-top:.75rem}
.water-info .icon{font-size:2rem}
.water-info p{font-size:.9rem;color:var(--text-sec)}

/* ABOUT */
.about{padding:5rem 1.5rem;background:var(--bg)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.about-image-wrap{position:relative}
.about-image-wrap img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.about-badge-card{position:absolute;bottom:-16px;right:-16px;background:var(--bg-card);padding:1rem 1.25rem;border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px}
.about-badge-icon{font-size:1.5rem}
.about-badge-card strong{display:block;font-size:1.3rem;color:var(--primary)}
.about-badge-card span{font-size:.78rem;color:var(--text-sec)}
.about-content .section-badge{margin-bottom:.5rem}
.about-content p{color:var(--text-sec);margin-bottom:1rem;line-height:1.8}
.about-checklist{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem}
.about-check-item{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500}

/* CONTACT */
.contact{padding:5rem 1.5rem;background:var(--bg-card)}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.contact-card{text-align:center;padding:2rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition)}
.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}
.contact-card-icon{width:60px;height:60px;background:linear-gradient(135deg,var(--bg-section),#dbeafe);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:26px}
.contact-card h3{font-size:1.05rem;font-weight:700;margin-bottom:.5rem}
.contact-card p{color:var(--text-sec);font-size:.9rem}
.contact-card a{color:var(--primary);font-weight:600}
.contact-small{font-size:.8rem;color:var(--text-light);margin-top:.25rem}

/* FOOTER - LIGHT MODE */
.site-footer{background:var(--bg);color:var(--text);padding:3rem 1.5rem 1.5rem;border-top:1px solid var(--border)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2rem}
.footer-brand h3{font-family:'Poppins',sans-serif;font-size:1.2rem;margin-bottom:.75rem;color:var(--navy)}
.footer-brand p{color:var(--text-sec);font-size:.88rem;line-height:1.7;margin-bottom:1rem}
.footer-social{display:flex;gap:.5rem}
.footer-social-btn{width:38px;height:38px;border-radius:10px;background:var(--bg-section);color:var(--text-sec);display:flex;align-items:center;justify-content:center;transition:var(--transition);border:1px solid var(--border)}
.footer-social-btn:hover{background:var(--primary);color:#fff;transform:translateY(-2px);border-color:var(--primary)}
.footer-social-btn.whatsapp:hover{background:#25D366;border-color:#25D366}
.footer-links-col h4{font-size:.95rem;margin-bottom:.75rem;color:var(--navy)}
.footer-links-col ul{list-style:none}
.footer-links-col li{margin-bottom:.5rem;font-size:.88rem;color:var(--text-sec)}
.footer-links-col a{color:var(--text-sec);font-size:.88rem;transition:var(--transition)}
.footer-links-col a:hover{color:var(--primary)}
.footer-bottom{padding-top:1.25rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-light)}
/* DISCLAIMER MARQUEE */
.disclaimer-strip{background:linear-gradient(90deg,#fef2f2,#fff1f2,#fef2f2);border:1px solid rgba(239,68,68,.15);padding:.6rem 0;overflow:hidden;margin-top:1.5rem;border-radius:10px}
.disclaimer-strip-inner{display:flex;animation:marquee 45s linear infinite;white-space:nowrap}
.disclaimer-strip-inner:hover{animation-play-state:paused}
.disclaimer-strip-text{font-size:.8rem;color:#b91c1c;padding:0 3rem;font-weight:500}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* WHATSAPP FLOAT */
.whatsapp-float{position:fixed;bottom:24px;right:24px;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);z-index:999;transition:var(--transition);animation:float-bounce 3s ease-in-out infinite}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 8px 30px rgba(37,211,102,.5)}
@keyframes float-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* SCROLL ANIMATIONS */
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}
/* FAQ SECTION */
.faq{padding:5rem 1.5rem;background:var(--bg-section)}
.faq-container{max-width:800px;margin:0 auto}
.faq-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1rem;overflow:hidden;transition:var(--transition);box-shadow:var(--shadow)}
.faq-item:hover{box-shadow:var(--shadow-md)}
.faq-question{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;cursor:pointer;background:var(--bg-card);transition:var(--transition)}
.faq-question:hover{background:var(--bg)}
.faq-question h3{font-size:1.05rem;font-weight:600;color:var(--navy);margin:0;padding-right:1rem}
.faq-icon{font-size:1.5rem;color:var(--primary);font-weight:400;transition:transform .3s ease;line-height:1}
.faq-item.active .faq-icon{transform:rotate(45deg);color:var(--accent)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease, padding .3s ease;background:var(--bg)}
.faq-item.active .faq-answer{max-height:500px;padding:0 1.5rem 1.25rem}
.faq-answer p{margin:0;color:var(--text-sec);font-size:.95rem;line-height:1.6}

/* RESPONSIVE */
@media(max-width:1024px){
.hero-container{grid-template-columns:1fr;text-align:center}
.hero-title{font-size:2.5rem}
.hero-subtitle{margin:0 auto 1.5rem}
.hero-features{justify-content:center}
.hero-cta-row{justify-content:center}
.hero-stats{flex-direction:row;justify-content:center;gap:1rem}
.hero-stat-card{flex:1}
.services-grid{grid-template-columns:repeat(2,1fr)}
.about-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr 1fr}
.section-title{font-size:2rem}
}
@media(max-width:768px){
.desktop-only{display:none !important}
.mobile-only{display:flex}

/* --- MOBILE NAV FIXES --- */
.nav-brand-sub{display:none}
.nav-logo{width:36px;height:36px;font-size:18px;border-radius:10px}
.nav-brand-name{font-size:.95rem}
.nav-container{padding:.5rem 1rem}

/* Mobile Menu - Full Screen Overlay */
.nav-links{
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:100vh;
    height:100dvh;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(25px);
    -webkit-backdrop-filter:blur(25px);
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:0;
    z-index:9998;
    transition:opacity .3s ease, visibility .3s ease;
    opacity:0;
    visibility:hidden;
    display:flex;
    padding:2rem;
}
.nav-links.open{
    opacity:1;
    visibility:visible;
}
.nav-links .nav-link{
    font-size:1.25rem;
    font-weight:600;
    padding:1rem 2rem;
    color:var(--navy);
    width:100%;
    text-align:center;
    border-radius:var(--radius);
    transition:var(--transition);
}
.nav-links .nav-link:hover,
.nav-links .nav-link.active{
    background:var(--bg-section);
    color:var(--primary);
}
.nav-links .nav-link::after{display:none}

/* Hamburger Toggle */
.nav-mobile-toggle{
    display:flex;
    z-index:9999;
    position:relative;
    width:40px;
    height:40px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    background:none;
    border:none;
    cursor:pointer;
    padding:6px;
}
.nav-mobile-toggle span{
    display:block;
    width:22px;
    height:2.5px;
    background:var(--navy);
    border-radius:2px;
    transition:.3s ease;
    transform-origin:center;
}
.nav-mobile-toggle.open span:nth-child(1){
    transform:rotate(45deg) translate(5px,5px);
}
.nav-mobile-toggle.open span:nth-child(2){
    opacity:0;
    transform:scaleX(0);
}
.nav-mobile-toggle.open span:nth-child(3){
    transform:rotate(-45deg) translate(5px,-5px);
}

/* Mobile Nav Actions inside menu */
.mobile-nav-actions{
    display:flex;
    align-items:center;
    gap:1rem;
    margin-top:1.5rem;
    padding-top:1.5rem;
    border-top:1px solid var(--border);
}
.mobile-nav-actions .nav-whatsapp{
    width:48px;
    height:48px;
    border-radius:14px;
}
.mobile-nav-actions .nav-call-btn{
    padding:.75rem 1.5rem;
    font-size:.9rem;
    border-radius:12px;
}

/* Body scroll lock when menu is open */
body.menu-open{
    overflow:hidden;
    position:fixed;
    width:100%;
}

/* --- HERO MOBILE --- */
.hero{min-height:auto;padding:5.5rem 1rem 2.5rem}
.hero-title{font-size:1.75rem;line-height:1.3}
.hero-subtitle{font-size:.9rem}
.hero-stats{flex-direction:column;gap:.75rem}
.hero-stat-card{padding:1.25rem}
.hero-stat-number{font-size:2rem}
.hero-badge{font-size:.75rem;padding:.4rem .8rem}
.hero-cta-row{flex-direction:column;align-items:center;gap:.75rem}
.hero-cta-row .btn-primary,
.hero-cta-row .btn-secondary{width:100%;justify-content:center;max-width:300px}
.hero-features{gap:.5rem}
.hero-feature-item{font-size:.8rem;padding:.4rem .8rem}

/* --- SECTIONS MOBILE --- */
.services-grid{grid-template-columns:1fr}
.contact-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr;text-align:center}
.footer-bottom{flex-direction:column;gap:.5rem;text-align:center}
.footer-social{justify-content:center}
.service-card,.contact-card{padding:1.5rem}
.section-header{margin-bottom:2rem}
.section-title{font-size:1.5rem}
.section-subtitle{font-size:.88rem}

/* --- PRODUCTS MOBILE --- */
.products-tabs{gap:.3rem}
.products-tab{font-size:.75rem;padding:.5rem .65rem}
.products-stats{gap:.5rem;flex-direction:row;flex-wrap:wrap;padding:.5rem 0}
.products-stat-item{padding:.4rem .8rem;flex:1;min-width:80px}
.products-stat-value{font-size:1.1rem}
.products-stat-label{font-size:.65rem}
.products-search{margin-bottom:.5rem}
.products-search input{font-size:.85rem;padding:.6rem .6rem .6rem 2.4rem}

/* Accordion — compact on mobile */
.company-accordion{margin-bottom:.35rem;border-radius:10px}
.company-accordion-header{padding:.7rem .85rem;flex-direction:row;align-items:center;gap:.5rem}
.company-accordion-title{font-size:.82rem;line-height:1.3;font-weight:700}
.company-accordion-count{font-size:.65rem;padding:.15rem .5rem}
.company-accordion-arrow{font-size:.65rem}

/* Product grid inside accordion */
.product-list-grid{padding:.4rem .5rem .6rem;grid-template-columns:1fr;gap:.2rem}
.product-list-item{font-size:.78rem;padding:.4rem .5rem}
.product-detail-popup{margin:0 .25rem;font-size:.75rem;padding:.5rem}

/* Disclaimer strip compact */
.disclaimer-strip{height:26px;font-size:.6rem}

/* --- CALCULATORS MOBILE --- */
.calc-panel{padding:1.25rem .75rem}
.calc-tab{min-width:60px;padding:.5rem .2rem;font-size:.7rem}
.calc-tabs{justify-content:center;padding:.4rem}
.calc-result-value{font-size:1.6rem}
.calc-inputs{grid-template-columns:1fr}
.calc-stats-row,.temp-grid{grid-template-columns:1fr}

/* --- ABOUT MOBILE --- */
.about-grid{grid-template-columns:1fr}
.about-checklist{grid-template-columns:1fr}
.about-badge-card{right:0;bottom:-10px;padding:.75rem 1rem}
.about-badge-card strong{font-size:1rem}

/* --- TABLE MOBILE --- */
.detail-table thead{display:none}
.detail-table tr{display:block;margin-bottom:1rem;border:1px solid var(--border);border-radius:var(--radius)}
.detail-table td{display:block;padding:.75rem 1rem;border-bottom:none}
.detail-table td::before{content:attr(data-label);font-weight:700;display:block;color:var(--primary);font-size:.78rem;margin-bottom:.2rem}

/* --- WHATSAPP FLOAT MOBILE --- */
.whatsapp-float{
    bottom:16px;
    right:16px;
    width:50px;
    height:50px;
}

/* --- MAP EMBED MOBILE --- */
.map-embed iframe{height:250px}
}

/* Small phones */
@media(max-width:380px){
.hero-title{font-size:1.5rem}
.nav-brand-name{font-size:.85rem}
.nav-logo{width:32px;height:32px;font-size:16px}
.hero-feature-item{font-size:.75rem;padding:.35rem .6rem}
.products-tab{font-size:.68rem;padding:.4rem .5rem}
.calc-tab{font-size:.65rem;min-width:50px}
.company-accordion-header{padding:.6rem .7rem}
.company-accordion-title{font-size:.75rem}
}

/* ============================
   NEWS & NOTICES SECTION
   ============================ */

/* ── Breaking News Ticker ── */
.news-ticker-wrap{
  display:flex;
  align-items:center;
  background:linear-gradient(135deg,#dc2626,#b91c1c);
  border-radius:12px;
  overflow:hidden;
  height:44px;
  box-shadow:0 4px 16px rgba(220,38,38,.25);
}
.news-ticker-label{
  display:flex;
  align-items:center;
  gap:.5rem;
  background:rgba(0,0,0,.25);
  color:#fff;
  font-weight:800;
  font-size:.8rem;
  padding:0 1.25rem;
  height:100%;
  white-space:nowrap;
  flex-shrink:0;
  letter-spacing:.3px;
  font-family:'Poppins',sans-serif;
}
.ticker-dot{
  width:8px;height:8px;
  background:#fff;
  border-radius:50%;
  animation:tickerPulse 1.2s ease-in-out infinite;
  flex-shrink:0;
}
@keyframes tickerPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}
.news-ticker-track{
  flex:1;
  overflow:hidden;
  height:100%;
  display:flex;
  align-items:center;
}
.news-ticker-inner{
  display:flex;
  white-space:nowrap;
  animation:tickerScroll 35s linear infinite;
  color:#fff;
  font-size:.83rem;
  font-weight:500;
}
.news-ticker-inner span{padding:0 1rem}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.news-ticker-wrap:hover .news-ticker-inner{animation-play-state:paused}

/* ── News Section Layout ── */
.news-section{
  padding:5rem 1.5rem;
  background:var(--bg);
  overflow-x:hidden;
}
.news-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:1.5rem;
  align-items:start;
}

/* ── News Cards Base ── */
.news-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:1.75rem 2rem;
  box-shadow:var(--shadow);
  transition:var(--transition);
  position:relative;
  overflow:hidden;
}
.news-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,#dc2626,#f97316);
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}
.news-card:hover{box-shadow:var(--shadow-lg)}

/* ── Featured Card ── */
.news-featured::before{height:5px}

/* ── Side Cards ── */
.news-sidebar{display:flex;flex-direction:column;gap:1.25rem}
.news-side{padding:1.25rem 1.5rem}
.news-side::before{background:linear-gradient(90deg,var(--primary),var(--accent))}

/* ── Badge ── */
.news-card-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  background:linear-gradient(135deg,#fef2f2,#fee2e2);
  color:#dc2626;
  border:1px solid #fca5a5;
  border-radius:50px;
  padding:.3rem .85rem;
  font-size:.73rem;
  font-weight:700;
  margin-bottom:.85rem;
  letter-spacing:.3px;
}
.news-badge-info{
  background:linear-gradient(135deg,#f0fdfa,#ccfbf1);
  color:var(--primary);
  border-color:rgba(13,148,136,.25);
}
.news-badge-warn{
  background:linear-gradient(135deg,#fffbeb,#fef3c7);
  color:#d97706;
  border-color:#fde68a;
}

/* ── Meta ── */
.news-card-meta{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-bottom:.75rem;
  flex-wrap:wrap;
}
.news-source{font-size:.78rem;font-weight:600;color:var(--primary)}
.news-date{font-size:.75rem;color:var(--text-sec);opacity:.8}

/* ── Title ── */
.news-card-title{
  font-size:1.2rem;
  font-weight:800;
  color:var(--navy);
  line-height:1.4;
  margin-bottom:.85rem;
}
.news-side .news-card-title{font-size:.97rem}

/* ── Body ── */
.news-card-body{
  font-size:.88rem;
  color:var(--text-sec);
  line-height:1.75;
  margin-bottom:1.25rem;
}
.news-side .news-card-body{font-size:.83rem;margin-bottom:.75rem}

/* ── Drug Box (H-I list) ── */
.news-drug-box{
  background:linear-gradient(135deg,#fef2f2,#fff);
  border:1px solid #fca5a5;
  border-radius:14px;
  overflow:hidden;
  margin-bottom:1.25rem;
}
.news-drug-header{
  background:linear-gradient(135deg,#dc2626,#b91c1c);
  color:#fff;
  padding:.65rem 1.25rem;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.3px;
}
.news-drug-grid{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  padding:1rem 1.25rem;
}
.drug-tag{
  background:#fff;
  border:1px solid #fca5a5;
  color:#b91c1c;
  border-radius:50px;
  padding:.25rem .75rem;
  font-size:.75rem;
  font-weight:600;
  font-family:'Poppins',sans-serif;
  transition:var(--transition);
}
.drug-tag:hover{background:#dc2626;color:#fff;border-color:#dc2626}

/* ── Rules List ── */
.news-rules{
  display:flex;
  flex-direction:column;
  gap:.65rem;
  margin-bottom:1.25rem;
}
.news-rule-item{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  padding:.65rem 1rem;
  background:var(--bg);
  border-radius:10px;
  border-left:3px solid #dc2626;
  font-size:.84rem;
  color:var(--text-sec);
  line-height:1.6;
}
.rule-icon{font-size:1rem;flex-shrink:0;margin-top:.05rem}

/* ── Card Footer ── */
.news-card-footer{
  border-top:1px solid var(--border);
  padding-top:.85rem;
  margin-top:.85rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:.5rem;
}
.news-authority{font-size:.78rem;color:var(--text-sec);font-style:italic}
.news-ref{font-size:.72rem;color:var(--text-sec);opacity:.6}

/* ── Read More Link ── */
.news-read-more{
  display:inline-flex;
  align-items:center;
  color:var(--primary);
  font-size:.82rem;
  font-weight:700;
  text-decoration:none;
  padding:.35rem .85rem;
  background:var(--bg-section);
  border-radius:8px;
  transition:var(--transition);
}
.news-read-more:hover{background:var(--primary);color:#fff}

/* ── WhatsApp CTA Card ── */
.news-cta-card{
  background:linear-gradient(135deg,#f0fdf4,#dcfce7);
  border:1px solid #86efac;
  border-radius:var(--radius-lg);
  padding:1.5rem;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.news-cta-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,#25D366,#128C7E);
}
.news-cta-icon{font-size:2.5rem;margin-bottom:.75rem}
.news-cta-card h4{font-size:1rem;font-weight:700;color:#14532d;margin-bottom:.4rem}
.news-cta-card p{font-size:.83rem;color:#166534;line-height:1.6;margin-bottom:1rem}
.news-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:.7rem 1.5rem;
  background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff;
  border-radius:12px;
  font-size:.88rem;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 4px 14px rgba(37,211,102,.35);
  transition:var(--transition);
  width:100%;
}
.news-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,211,102,.45)}

/* ── News Responsive ── */
@media(max-width:900px){
  .news-grid{grid-template-columns:1fr}
  .news-featured{order:1}
  .news-sidebar{order:2}
}
@media(max-width:768px){
  .news-section{padding:3rem 1rem}
  .news-ticker-wrap{height:auto;min-height:40px}
  .news-ticker-label{font-size:.72rem;padding:0 .85rem}
  .news-card{padding:1.25rem}
  .news-card-title{font-size:1.05rem}
  .news-sidebar{gap:1rem}
  .news-drug-grid{gap:.35rem}
  .drug-tag{font-size:.7rem;padding:.2rem .6rem}
  .news-card-footer{flex-direction:column;gap:.25rem;align-items:flex-start}
}
@media(max-width:480px){
  .news-ticker-label{display:none}
  .news-ticker-inner{font-size:.75rem}
  .news-rule-item{padding:.5rem .75rem;font-size:.8rem}
}

/* ============================
   TUTORIAL / GUIDE PAGE â€” PREMIUM DESIGN
   ============================ */

/* â”€â”€ Section Background â”€â”€ */
.tutorial-section{
  padding:5rem 1.5rem 4rem;
  background:linear-gradient(180deg,#f0fdfa 0%,#f8fafc 60%,#f0f9ff 100%);
  overflow-x:hidden;
  position:relative;
}
.tutorial-section::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,var(--primary),var(--accent),var(--primary));
}

/* â”€â”€ Tab Navigation â”€â”€ */
.tutorial-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  justify-content:center;
  margin-bottom:2.5rem;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:20px;
  padding:.5rem;
  max-width:700px;
  margin-left:auto;
  margin-right:auto;
  box-shadow:var(--shadow-md);
}
.tut-tab{
  flex:1;
  min-width:120px;
  padding:.7rem 1rem;
  background:transparent;
  border:none;
  border-radius:14px;
  font-size:.85rem;
  font-weight:600;
  color:var(--text-sec);
  cursor:pointer;
  transition:var(--transition);
  font-family:inherit;
  white-space:nowrap;
}
.tut-tab:hover{background:var(--bg-section);color:var(--primary)}
.tut-tab.active{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff;
  box-shadow:0 4px 16px rgba(13,148,136,.35);
  transform:translateY(-1px);
}

/* â”€â”€ Panel Animation â”€â”€ */
.tut-panel{display:none}
.tut-panel.active{display:block;animation:tutFadeIn .4s cubic-bezier(.4,0,.2,1)}
@keyframes tutFadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* â”€â”€ Panel Hero Header â”€â”€ */
.tut-panel-header{
  display:flex;
  align-items:center;
  gap:1.5rem;
  background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);
  border-radius:var(--radius-lg);
  padding:2rem 2.5rem;
  margin-bottom:2.5rem;
  position:relative;
  overflow:hidden;
}
.tut-panel-header::before{
  content:'';
  position:absolute;
  top:-30px;right:-30px;
  width:120px;height:120px;
  background:rgba(255,255,255,.08);
  border-radius:50%;
}
.tut-panel-header::after{
  content:'';
  position:absolute;
  bottom:-20px;right:60px;
  width:80px;height:80px;
  background:rgba(255,255,255,.05);
  border-radius:50%;
}
.tut-panel-icon{
  width:64px;height:64px;
  background:rgba(255,255,255,.2);
  border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  font-size:30px;
  flex-shrink:0;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.3);
  position:relative;z-index:1;
}
.tut-panel-header h3{
  font-size:1.5rem;
  font-weight:800;
  color:#fff;
  margin-bottom:.35rem;
  position:relative;z-index:1;
}
.tut-panel-header p{
  color:rgba(255,255,255,.8);
  font-size:.92rem;
  margin:0;
  position:relative;z-index:1;
}

/* â”€â”€ Step Cards â”€â”€ */
.tut-steps{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-bottom:2rem;
  position:relative;
}
.tut-steps::before{
  content:'';
  position:absolute;
  left:20px;
  top:40px;
  bottom:40px;
  width:2px;
  background:linear-gradient(180deg,var(--primary),rgba(13,148,136,.1));
  z-index:0;
}
.tut-step{
  display:flex;
  gap:1.5rem;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:1.5rem 1.75rem;
  margin-bottom:1rem;
  box-shadow:var(--shadow);
  transition:var(--transition);
  position:relative;
  z-index:1;
}
.tut-step:hover{
  box-shadow:var(--shadow-lg);
  border-color:rgba(13,148,136,.3);
  transform:translateX(4px);
}
.tut-step-num{
  width:42px;height:42px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:1.05rem;
  flex-shrink:0;
  font-family:'Poppins',sans-serif;
  box-shadow:0 4px 12px rgba(13,148,136,.35);
  border:3px solid #fff;
}
.tut-step-content h4{
  font-size:1rem;
  font-weight:700;
  color:var(--navy);
  margin-bottom:.5rem;
  display:flex;align-items:center;gap:.5rem;
}
.tut-step-content p{
  color:var(--text-sec);
  font-size:.88rem;
  line-height:1.75;
  margin-bottom:.75rem;
}
.tut-step-content p:last-child{margin-bottom:0}

/* â”€â”€ List inside Steps â”€â”€ */
.tut-list{list-style:none;padding:0;margin:.5rem 0 .75rem}
.tut-list li{
  padding:.4rem .85rem;
  color:var(--text-sec);
  font-size:.87rem;
  display:flex;align-items:center;gap:.5rem;
  background:var(--bg);
  border-radius:8px;
  margin-bottom:.3rem;
}
.tut-list code{
  background:linear-gradient(135deg,#f0fdfa,#ecfdf5);
  color:var(--primary);
  padding:.15rem .6rem;
  border-radius:6px;
  font-family:monospace;
  font-size:.85rem;
  font-weight:700;
  border:1px solid rgba(13,148,136,.2);
}

/* â”€â”€ Tip / Note â”€â”€ */
.tut-tip{
  display:flex;align-items:flex-start;gap:.6rem;
  background:linear-gradient(135deg,#f0fdfa,#ecfdf5);
  border:1px solid rgba(13,148,136,.2);
  border-radius:10px;
  padding:.8rem 1rem;
  font-size:.84rem;
  color:var(--text-sec);
  margin-top:.75rem;
}
.tut-note{
  font-size:.84rem;
  color:var(--text-sec);
  margin-top:.5rem !important;
  padding:.5rem .85rem;
  background:var(--bg);
  border-radius:8px;
  border-left:3px solid var(--primary);
}

/* â”€â”€ Mock Accordion Visual â”€â”€ */
.tut-visual{margin:.75rem 0}
.tut-mock-accordion{
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.tut-mock-row{
  padding:.75rem 1rem;
  font-size:.83rem;
  color:var(--text-sec);
  display:flex;align-items:center;gap:.4rem;
}
.tut-mock-row.header{
  background:linear-gradient(135deg,#f0fdfa,#ecfdf5);
  font-weight:700;
  color:var(--navy);
  justify-content:space-between;
  border-bottom:1px solid var(--border);
}
.tut-mock-row.item{border-top:1px solid rgba(229,231,235,.5)}
.tut-mock-count{
  background:#fff;
  color:var(--primary);
  padding:.15rem .6rem;
  border-radius:50px;
  font-size:.73rem;
  font-weight:700;
  border:1px solid rgba(13,148,136,.25);
}
.tut-hint{font-size:.73rem;color:var(--primary);font-weight:600;opacity:.8}

/* â”€â”€ Detail Preview â”€â”€ */
.tut-detail-preview{
  background:linear-gradient(135deg,#f0fdfa,#eff6ff);
  border:1px solid rgba(13,148,136,.15);
  border-radius:12px;
  padding:1rem 1.25rem;
  margin:.75rem 0;
}
.tut-detail-row{
  display:flex;gap:.75rem;
  margin-bottom:.4rem;
  font-size:.84rem;
  align-items:flex-start;
}
.tut-detail-row:last-child{margin-bottom:0}
.tut-label{font-weight:700;color:var(--primary);min-width:55px;font-size:.8rem}
.tut-accent{color:var(--accent);font-weight:600}

/* â”€â”€ CTA Buttons â”€â”€ */
.tut-demo-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:.7rem 1.5rem;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff;
  border-radius:12px;
  font-size:.88rem;
  font-weight:700;
  text-decoration:none;
  transition:var(--transition);
  max-width:100%;
  box-shadow:0 4px 14px rgba(13,148,136,.3);
}
.tut-demo-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(13,148,136,.4)}
.tut-demo-btn.whatsapp-btn{
  background:linear-gradient(135deg,#25D366,#128C7E);
  box-shadow:0 4px 14px rgba(37,211,102,.3);
}
.tut-demo-btn.whatsapp-btn:hover{box-shadow:0 8px 24px rgba(37,211,102,.4)}
.tut-demo-btn.call-btn{
  background:linear-gradient(135deg,#6366f1,#4f46e5);
  box-shadow:0 4px 14px rgba(99,102,241,.3);
}
.tut-demo-btn.call-btn:hover{box-shadow:0 8px 24px rgba(99,102,241,.4)}

/* â”€â”€ Info Box â”€â”€ */
.tut-info-box{
  display:flex;gap:1rem;align-items:flex-start;
  background:linear-gradient(135deg,#fffbeb,#fef9c3);
  border:1px solid #fde68a;
  border-radius:var(--radius-lg);
  padding:1.25rem 1.5rem;
  margin-top:1.5rem;
  box-shadow:0 2px 8px rgba(251,191,36,.15);
}
.tut-info-icon{font-size:1.75rem;flex-shrink:0;line-height:1}
.tut-info-box strong{display:block;font-size:.95rem;color:#92400e;margin-bottom:.3rem}
.tut-info-box p{color:#78350f;font-size:.86rem;margin:0;line-height:1.65}

/* â”€â”€ Calc Cards â”€â”€ */
.tut-calc-cards{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:1.25rem;
  margin-bottom:1.5rem;
}
.tut-calc-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:1.5rem;
  transition:var(--transition);
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.tut-calc-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--primary),var(--accent));
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}
.tut-calc-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-lg);
  border-color:rgba(13,148,136,.25);
}
.tut-calc-icon{
  font-size:2.25rem;
  margin-bottom:.85rem;
  display:block;
}
.tut-calc-card h4{
  font-size:1rem;
  font-weight:700;
  color:var(--navy);
  margin-bottom:.5rem;
}
.tut-calc-card p{
  font-size:.85rem;
  color:var(--text-sec);
  line-height:1.6;
  margin-bottom:.75rem;
}
.tut-link{
  display:inline-flex;align-items:center;gap:4px;
  color:var(--primary);
  font-size:.84rem;
  font-weight:700;
  text-decoration:none;
  padding:.4rem .85rem;
  background:var(--bg-section);
  border-radius:8px;
  transition:var(--transition);
}
.tut-link:hover{background:var(--primary);color:#fff}

/* â”€â”€ Order Steps â”€â”€ */
.tut-order-steps{
  display:flex;
  flex-direction:column;
  gap:1rem;
  margin-bottom:2rem;
  position:relative;
}
.tut-order-steps::before{
  content:'';
  position:absolute;
  left:16px;top:52px;bottom:52px;
  width:2px;
  background:linear-gradient(180deg,var(--primary),rgba(13,148,136,.15));
  z-index:0;
}
.tut-order-step{
  width:100%;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:1.5rem 1.75rem;
  box-shadow:var(--shadow);
  transition:var(--transition);
  position:relative;z-index:1;
}
.tut-order-step:hover{
  box-shadow:var(--shadow-lg);
  border-color:rgba(13,148,136,.25);
  transform:translateX(4px);
}
.tut-order-num{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff;
  padding:.3rem .9rem;
  border-radius:50px;
  font-size:.75rem;
  font-weight:800;
  margin-bottom:.85rem;
  letter-spacing:.5px;
  box-shadow:0 3px 10px rgba(13,148,136,.3);
}
.tut-order-step h4{
  font-size:1.05rem;
  font-weight:700;
  color:var(--navy);
  margin-bottom:.5rem;
}
.tut-order-step p{
  color:var(--text-sec);
  font-size:.88rem;
  line-height:1.75;
  margin-bottom:.85rem;
}
.tut-order-arrow{display:none}

/* â”€â”€ WhatsApp Message Bubble â”€â”€ */
.tut-message-preview{margin:.85rem 0;position:relative;padding-left:0}
.tut-msg-bubble{
  background:linear-gradient(135deg,#dcf8c6,#c6f0a8);
  border-radius:4px 16px 16px 16px;
  padding:1rem 1.25rem;
  font-size:.85rem;
  line-height:1.85;
  color:#1a3a1a;
  border:1px solid rgba(37,211,102,.2);
  width:100%;
  box-sizing:border-box;
  box-shadow:0 4px 12px rgba(37,211,102,.15);
  position:relative;
}
.tut-msg-bubble::before{
  content:'ðŸ’¬';
  position:absolute;
  top:-10px;left:0;
  font-size:1rem;
}
.tut-msg-bubble strong{color:#128C7E;display:block;margin-bottom:.6rem;font-size:.88rem}

/* â”€â”€ Payment Grid â”€â”€ */
.tut-payment-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.5rem;
  margin-top:.75rem;
}
.tut-pay-item{
  background:linear-gradient(135deg,var(--bg),var(--bg-section));
  border:1px solid var(--border);
  border-radius:10px;
  padding:.65rem 1rem;
  font-size:.84rem;
  font-weight:600;
  color:var(--text-sec);
  text-align:center;
  transition:var(--transition);
}
.tut-pay-item:hover{border-color:var(--primary);color:var(--primary);background:var(--bg-section)}

/* â”€â”€ Timing Box â”€â”€ */
.tut-timing-box{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff;
  border-radius:var(--radius-lg);
  padding:2rem 2.5rem;
  text-align:center;
  margin-top:1.5rem;
  box-shadow:0 8px 30px rgba(13,148,136,.35);
  position:relative;
  overflow:hidden;
}
.tut-timing-box::before{
  content:'â°';
  position:absolute;
  right:24px;top:16px;
  font-size:3rem;
  opacity:.15;
}
.tut-timing-box h4{font-size:1.1rem;font-weight:700;margin-bottom:1.25rem;opacity:.95}
.tut-timing-grid{
  display:flex;align-items:center;
  justify-content:center;
  gap:2rem;
  margin-bottom:.85rem;
  flex-wrap:wrap;
}
.tut-timing-item{text-align:center}
.tut-time{
  display:block;
  font-size:1.3rem;
  font-weight:800;
  font-family:'Poppins',sans-serif;
  letter-spacing:.5px;
}
.tut-time-label{
  font-size:.75rem;
  opacity:.75;
  margin-top:.25rem;
  display:block;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.tut-timing-divider{font-size:2rem;opacity:.25}
.tut-timing-note{font-size:.82rem;opacity:.7;margin:0;letter-spacing:.3px}

/* â”€â”€ Pages Grid â”€â”€ */
.tut-pages-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1.25rem;
  margin-bottom:2rem;
}
.tut-page-card{
  display:block;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:1.5rem;
  text-decoration:none;
  color:inherit;
  transition:var(--transition);
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.tut-page-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,var(--primary),var(--accent));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s ease;
}
.tut-page-card:hover::before{transform:scaleX(1)}
.tut-page-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-lg);
  border-color:rgba(13,148,136,.2);
}
.tut-page-card.active-card{
  border-color:var(--primary);
  background:linear-gradient(135deg,#f0fdfa,#fff);
}
.tut-page-card.active-card::before{transform:scaleX(1)}
.tut-page-icon{
  font-size:2.25rem;
  margin-bottom:.85rem;
  display:block;
}
.tut-page-card h4{
  font-size:1.05rem;
  font-weight:700;
  color:var(--navy);
  margin-bottom:.4rem;
}
.tut-page-card>p{
  font-size:.84rem;
  color:var(--text-sec);
  line-height:1.65;
  margin-bottom:.85rem;
}
.tut-page-features{list-style:none;padding:0}
.tut-page-features li{
  font-size:.82rem;
  color:var(--text-sec);
  padding:.25rem 0;
  line-height:1.5;
}

/* â”€â”€ RESPONSIVE â”€â”€ */
@media(max-width:768px){
  .tutorial-section{padding:3rem 1rem 2.5rem}
  .tutorial-tabs{
    max-width:100%;
    border-radius:14px;
    gap:.3rem;
    padding:.35rem;
    margin-bottom:2rem;
  }
  .tut-tab{min-width:auto;padding:.6rem .75rem;font-size:.77rem;border-radius:10px}
  .tut-panel-header{
    flex-direction:column;text-align:center;
    padding:1.5rem 1.25rem;gap:1rem;
    border-radius:16px;
    margin-bottom:2rem;
  }
  .tut-panel-header h3{font-size:1.2rem}
  .tut-panel-header p{font-size:.85rem}
  .tut-steps::before{left:17px;top:50px;bottom:50px}
  .tut-step{flex-direction:row;gap:1rem;padding:1.15rem;border-radius:14px}
  .tut-step:hover{transform:none}
  .tut-step-num{width:38px;height:38px;font-size:.9rem;flex-shrink:0}
  .tut-step-content h4{font-size:.93rem}
  .tut-step-content p{font-size:.84rem}
  .tut-order-steps::before{display:none}
  .tut-order-step{padding:1.25rem;border-radius:14px}
  .tut-order-step:hover{transform:none}
  .tut-demo-btn{width:100%;justify-content:center;margin-top:.5rem;border-radius:10px}
  .tut-calc-cards{grid-template-columns:1fr 1fr;gap:1rem}
  .tut-pages-grid{grid-template-columns:1fr 1fr;gap:1rem}
  .tut-timing-box{padding:1.5rem 1.25rem;border-radius:16px}
  .tut-time{font-size:1.05rem}
  .tut-timing-grid{gap:1.25rem}
  .tut-payment-grid{grid-template-columns:1fr 1fr}
  .tut-info-box{padding:1rem 1.15rem;gap:.85rem}
  .tut-msg-bubble{font-size:.82rem;padding:.85rem 1rem}
  .tut-mock-row{font-size:.78rem;padding:.6rem .75rem}
}
@media(max-width:540px){
  .tut-calc-cards{grid-template-columns:1fr}
  .tut-pages-grid{grid-template-columns:1fr}
  .tut-tab{font-size:.73rem;padding:.55rem .6rem}
}
@media(max-width:375px){
  .tutorial-section{padding:2.5rem .75rem}
  .tut-tab{font-size:.7rem;padding:.5rem .5rem}
  .tut-step{padding:.9rem .85rem}
  .tut-order-step{padding:1rem .9rem}
  .tut-panel-header{padding:1.25rem 1rem}
  .tut-info-box{flex-direction:column;gap:.5rem}
  .tut-payment-grid{grid-template-columns:1fr}
}
/* ============================
   NEWS PAGE — EXTRA STYLES
   ============================ */
.news-teaser-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin-bottom:1.5rem}
.news-teaser-card::before{background:linear-gradient(90deg,#dc2626,#f97316)}
.news-page-full{background:var(--bg-section)}
.news-featured-full{display:grid;grid-template-columns:1fr 1.4fr;gap:2rem;align-items:start;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;overflow:hidden;box-shadow:var(--shadow-lg);margin-bottom:2rem}
.news-feat-image-wrap{position:relative;background:#f1f5f9}
.news-feat-image{width:100%;height:100%;object-fit:cover;min-height:300px;display:block}
.news-feat-img-caption{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.6);color:#fff;font-size:.72rem;padding:.5rem .85rem;text-align:center}
.news-feat-body{padding:2rem}
.news-feat-title{font-size:1.4rem;font-weight:800;color:var(--navy);line-height:1.4;margin-bottom:1rem}
.news-feat-text{font-size:.88rem;color:var(--text-sec);line-height:1.75;margin-bottom:.85rem}
.drug-table-wrap{overflow-x:auto;padding:.5rem}
.drug-table{width:100%;border-collapse:collapse;font-size:.8rem}
.drug-table th{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;padding:.5rem .75rem;text-align:left;font-weight:700;white-space:nowrap}
.drug-table td{padding:.45rem .75rem;border-bottom:1px solid var(--border);color:var(--text-sec)}
.drug-table tr:nth-child(even) td{background:var(--bg)}
.drug-table tr:hover td{background:#fef2f2;color:var(--navy)}
.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}
.article-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow);transition:var(--transition);position:relative;overflow:hidden}
.article-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.article-card:hover::before{transform:scaleX(1)}
.article-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.article-cat-badge{display:inline-flex;align-items:center;gap:4px;border-radius:50px;padding:.28rem .8rem;font-size:.72rem;font-weight:700;margin-bottom:.75rem;border:1px solid}
.badge-red{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626;border-color:#fca5a5}
.badge-green{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#16a34a;border-color:#86efac}
.badge-teal{background:linear-gradient(135deg,#f0fdfa,#ccfbf1);color:#0d9488;border-color:rgba(13,148,136,.3)}
.badge-yellow{background:linear-gradient(135deg,#fef9c3,#fef08a);color:#a16207;border-color:#fde047}
.badge-blue{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1d4ed8;border-color:#93c5fd}
.badge-purple{background:linear-gradient(135deg,#fdf4ff,#f3e8ff);color:#7e22ce;border-color:#d8b4fe}
.article-meta{display:flex;align-items:center;gap:.85rem;margin-bottom:.75rem;flex-wrap:wrap}
.article-author{font-size:.78rem;font-weight:700;color:var(--primary)}
.article-date{font-size:.74rem;color:var(--text-sec)}
.article-title{font-size:1rem;font-weight:800;color:var(--navy);line-height:1.4;margin-bottom:.65rem}
.article-excerpt{font-size:.84rem;color:var(--text-sec);line-height:1.7;margin-bottom:.65rem}
.article-tip-box{background:linear-gradient(135deg,#f0fdfa,#ecfdf5);border:1px solid rgba(13,148,136,.2);border-radius:10px;padding:.7rem .9rem;font-size:.81rem;color:var(--text-sec);margin:.65rem 0}
.article-footer{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.65rem;border-top:1px solid var(--border)}
.article-tag{background:var(--bg);border:1px solid var(--border);border-radius:50px;padding:.2rem .6rem;font-size:.72rem;color:var(--text-sec);font-weight:600}
@media(max-width:900px){.news-featured-full{grid-template-columns:1fr}.news-feat-image{min-height:220px}}
@media(max-width:768px){.news-teaser-grid{grid-template-columns:1fr}.articles-grid{grid-template-columns:1fr}.news-feat-body{padding:1.25rem}.news-feat-title{font-size:1.15rem}}

/* ============================
   NEWS PAGE — MOBILE FIXES
   ============================ */

/* Drug table — horizontal scroll on small screens */
.drug-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:8px;
}
.drug-table{min-width:500px}

/* Featured article — full responsive stack */
@media(max-width:900px){
  .news-featured-full{
    grid-template-columns:1fr;
    border-radius:16px;
  }
  .news-feat-image{
    min-height:200px;
    max-height:320px;
    object-position:top;
  }
  .news-feat-body{padding:1.25rem 1.25rem 1.5rem}
  .news-feat-title{font-size:1.1rem}
  .news-feat-text{font-size:.84rem}
}

/* Articles grid — 2 cols on tablet, 1 on mobile */
@media(max-width:900px){
  .articles-grid{grid-template-columns:1fr 1fr;gap:1rem}
}
@media(max-width:600px){
  .articles-grid{grid-template-columns:1fr;gap:.85rem}
  .news-teaser-grid{grid-template-columns:1fr}
  .article-card{padding:1.1rem}
  .article-title{font-size:.95rem}
  .article-excerpt{font-size:.82rem}
}

/* Nav overflow fix — 7 items, wrap on small screens */
@media(max-width:1100px){
  .nav-links .nav-link{font-size:.82rem;padding:.4rem .55rem}
}
@media(max-width:960px){
  /* Hide News/Guide text labels to icons only on tight screens */
  .nav-link[href="/news"]{font-size:.78rem}
  .nav-link[href="/tutorial"]{font-size:.78rem}
}

/* News page section padding mobile */
@media(max-width:768px){
  .news-page-full{padding:2.5rem 1rem}
  .news-feat-body{padding:1rem}
  .news-feat-title{font-size:1rem}
  .drug-table{font-size:.72rem}
  .drug-table th,.drug-table td{padding:.35rem .5rem}
  .news-drug-header{font-size:.75rem;padding:.5rem 1rem}
  .article-cat-badge{font-size:.68rem;padding:.22rem .65rem}
  .article-meta{gap:.5rem}
  .article-author,.article-date{font-size:.72rem}
  .article-tip-box{font-size:.78rem;padding:.6rem .8rem}
  .article-tag{font-size:.68rem;padding:.15rem .5rem}
  .news-card-footer{flex-direction:column;gap:.2rem}
  .news-authority,.news-ref{font-size:.72rem}
}

@media(max-width:480px){
  .news-feat-image{max-height:250px}
  .news-feat-img-caption{font-size:.65rem;padding:.4rem .6rem}
  .news-page-full .news-ticker-label{font-size:.68rem;padding:0 .65rem}
  .news-ticker-inner{font-size:.72rem}
  .articles-grid{gap:.75rem}
  .drug-table{min-width:420px;font-size:.68rem}
}

/* ================================================
   सतगुरु स्वास्थ्य समाचार — NEWS PORTAL CSS
   ================================================ */

/* ── Portal Masthead ── */
.portal-masthead {
  background: linear-gradient(135deg, #b91c1c 0%, #991b1b 50%, #7f1d1d 100%);
  color: #fff;
  text-align: center;
  padding: 8rem 1.5rem 1.5rem;
  position: relative;
  overflow: hidden;
}
.portal-masthead::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.portal-masthead-inner { position: relative; z-index: 1; }
.portal-date-line {
  font-size: .72rem;
  opacity: .8;
  letter-spacing: .5px;
  margin-bottom: .6rem;
  text-transform: uppercase;
  font-family: 'Poppins', sans-serif;
}
.portal-logo {
  font-size: clamp(1.6rem, 5vw, 2.8rem);
  font-weight: 900;
  letter-spacing: -1px;
  margin: 0 0 .4rem;
  line-height: 1.1;
  font-family: 'Poppins', sans-serif;
}
.portal-logo-icon { margin-right: .4rem; }
.portal-tagline {
  font-size: .82rem;
  opacity: .75;
  margin: 0;
  font-style: italic;
}

/* ── Ticker Bar ── */
.portal-ticker-bar {
  display: flex;
  align-items: center;
  background: #1a1a2e;
  height: 40px;
  overflow: hidden;
}
.portal-ticker-label {
  background: #dc2626;
  color: #fff;
  font-weight: 800;
  font-size: .75rem;
  padding: 0 1rem;
  height: 100%;
  display: flex;
  align-items: center;
  gap: .4rem;
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: .5px;
  text-transform: uppercase;
  font-family: 'Poppins', sans-serif;
}
.ticker-blink {
  width: 7px; height: 7px;
  background: #fff;
  border-radius: 50%;
  animation: tickerPulse 1s ease infinite;
  flex-shrink: 0;
}
.portal-ticker-track {
  flex: 1;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.portal-ticker-inner {
  display: flex;
  white-space: nowrap;
  animation: tickerScroll 45s linear infinite;
  color: #e2e8f0;
  font-size: .8rem;
}
.portal-ticker-inner span { padding: 0 1.5rem; border-right: 1px solid rgba(255,255,255,.15); }
.portal-ticker-bar:hover .portal-ticker-inner { animation-play-state: paused; }

/* ── Category Nav ── */
.portal-cat-nav {
  background: #fff;
  border-bottom: 3px solid #dc2626;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  position: sticky;
  top: 70px;
  z-index: 90;
}
.portal-cat-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 0 1rem;
}
.portal-cat-inner::-webkit-scrollbar { display: none; }
.pcat {
  display: block;
  padding: .75rem 1.1rem;
  font-size: .82rem;
  font-weight: 600;
  color: #374151;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 3px solid transparent;
  margin-bottom: -3px;
  transition: all .2s ease;
  font-family: 'Poppins', sans-serif;
}
.pcat:hover { color: #dc2626; }
.pcat.active { color: #dc2626; border-bottom-color: #dc2626; }

/* ── Main Portal Layout ── */
.portal-main {
  background: #f4f4f4;
  min-height: 60vh;
  padding: 1.5rem 0 3rem;
}
.portal-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.25rem;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 1.5rem;
  align-items: start;
}

/* ── HERO ARTICLE ── */
.portal-hero {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.1);
  margin-bottom: 1.5rem;
}
.hero-image-block {
  position: relative;
  overflow: hidden;
  max-height: 420px;
}
.hero-img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: top;
  display: block;
  transition: transform .4s ease;
}
.portal-hero:hover .hero-img { transform: scale(1.02); }
.hero-img-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,.7));
  padding: 2rem 1.5rem 1rem;
}
.hero-cat-tag {
  background: #dc2626;
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  padding: .3rem .8rem;
  border-radius: 4px;
  letter-spacing: .3px;
  font-family: 'Poppins', sans-serif;
  text-transform: uppercase;
}
.hero-body { padding: 1.5rem 2rem 2rem; }
.hero-meta {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .75rem;
  color: #6b7280;
  margin-bottom: .85rem;
}
.hero-source { color: #dc2626; font-weight: 700; }
.hero-dot { color: #d1d5db; }
.hero-headline {
  font-size: clamp(1.2rem, 2.5vw, 1.7rem);
  font-weight: 800;
  color: #111827;
  line-height: 1.35;
  margin-bottom: 1rem;
  font-family: 'Poppins', sans-serif;
}
.hero-excerpt {
  font-size: .9rem;
  color: #4b5563;
  line-height: 1.75;
  margin-bottom: 1.25rem;
}

/* Drug strip */
.hero-drug-strip {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  background: #fef2f2;
  border: 1px solid #fca5a5;
  border-radius: 8px;
  padding: .75rem 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.drug-strip-label {
  font-size: .75rem;
  font-weight: 700;
  color: #dc2626;
  white-space: nowrap;
}
.drug-strip-scroll {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.drug-strip-scroll span {
  background: #fff;
  border: 1px solid #fca5a5;
  color: #991b1b;
  border-radius: 50px;
  padding: .15rem .6rem;
  font-size: .72rem;
  font-weight: 600;
}
.more-tag {
  background: #dc2626 !important;
  color: #fff !important;
  border-color: #dc2626 !important;
}

/* Drug table collapsible */
.drug-table-details {
  border: 1px solid #fca5a5;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: .75rem;
}
.drug-table-summary {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: #fff;
  padding: .7rem 1.25rem;
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.drug-table-summary::-webkit-details-marker { display: none; }
.drug-table-details[open] .drug-table-summary {
  border-radius: 10px 10px 0 0;
}
.drug-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
}
.drug-table { width: 100%; border-collapse: collapse; font-size: .78rem; min-width: 480px; }
.drug-table th {
  background: #1f2937;
  color: #fff;
  padding: .5rem .75rem;
  text-align: left;
  font-weight: 600;
}
.drug-table td { padding: .4rem .75rem; border-bottom: 1px solid #f3f4f6; color: #374151; }
.drug-table tr:nth-child(even) td { background: #fef2f2; }
.drug-table tr:hover td { background: #fee2e2; }

.drug-rules-mini {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  padding: .75rem 1rem;
  background: #f9fafb;
}
.drug-rules-mini div {
  font-size: .75rem;
  color: #4b5563;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: .3rem .7rem;
}
.drug-authority {
  font-size: .72rem;
  color: #6b7280;
  font-style: italic;
  padding: .5rem 1rem .75rem;
  margin: 0;
  background: #f9fafb;
}

/* ── Divider ── */
.portal-divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.portal-divider::before, .portal-divider::after {
  content: '';
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, transparent, #dc2626, transparent);
}
.portal-divider span {
  font-size: .82rem;
  font-weight: 700;
  color: #dc2626;
  white-space: nowrap;
  font-family: 'Poppins', sans-serif;
  letter-spacing: .3px;
}

/* ── ARTICLE CARDS GRID ── */
.portal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.1rem;
}
.pcard {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(0,0,0,.08);
  transition: transform .25s ease, box-shadow .25s ease;
  display: flex;
  flex-direction: column;
}
.pcard:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
}
.pcard-img {
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
}
.pcard-emoji {
  font-size: 2.8rem;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}
.pcard-cat-tag {
  position: absolute;
  bottom: .5rem;
  left: .6rem;
  background: rgba(0,0,0,.45);
  color: #fff;
  font-size: .65rem;
  font-weight: 700;
  padding: .2rem .55rem;
  border-radius: 4px;
  letter-spacing: .3px;
  text-transform: uppercase;
  font-family: 'Poppins', sans-serif;
}
.pcard-body {
  padding: .9rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.pcard-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .68rem;
  color: #9ca3af;
  margin-bottom: .5rem;
}
.pcard-author { color: #dc2626; font-weight: 700; }
.pcard-title {
  font-size: .9rem;
  font-weight: 800;
  color: #111827;
  line-height: 1.4;
  margin-bottom: .5rem;
  font-family: 'Poppins', sans-serif;
  flex: 1;
}
.pcard-excerpt {
  font-size: .78rem;
  color: #6b7280;
  line-height: 1.65;
  margin-bottom: .75rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pcard-readmore {
  display: inline-block;
  color: #dc2626;
  font-size: .75rem;
  font-weight: 700;
  text-decoration: none;
  padding: .3rem .75rem;
  border: 1.5px solid #dc2626;
  border-radius: 6px;
  transition: all .2s ease;
  align-self: flex-start;
}
.pcard-readmore:hover { background: #dc2626; color: #fff; }

/* ── SIDEBAR ── */
.portal-sidebar { display: flex; flex-direction: column; gap: 1.25rem; }
.sidebar-box {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(0,0,0,.08);
}
.sidebar-box-title {
  background: #1f2937;
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  padding: .65rem 1rem;
  letter-spacing: .3px;
  text-transform: uppercase;
  font-family: 'Poppins', sans-serif;
}
.sidebar-top-list {
  list-style: none;
  padding: .5rem 0;
  margin: 0;
  counter-reset: toplist;
}
.sidebar-top-list li {
  counter-increment: toplist;
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  padding: .6rem 1rem;
  border-bottom: 1px solid #f3f4f6;
  font-size: .8rem;
}
.sidebar-top-list li::before {
  content: counter(toplist);
  background: #dc2626;
  color: #fff;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .65rem;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: .1rem;
}
.sidebar-top-list li a {
  color: #1f2937;
  text-decoration: none;
  line-height: 1.4;
  font-weight: 600;
}
.sidebar-top-list li a:hover { color: #dc2626; }
.sidebar-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  padding: .75rem;
}
.stag {
  border-radius: 50px;
  padding: .25rem .7rem;
  font-size: .72rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity .2s;
  border: 1px solid transparent;
}
.stag:hover { opacity: .75; }
.stag-red { background: #fef2f2; color: #dc2626; border-color: #fca5a5; }
.stag-green { background: #f0fdf4; color: #16a34a; border-color: #86efac; }
.stag-teal { background: #f0fdfa; color: #0d9488; border-color: rgba(13,148,136,.3); }
.stag-yellow { background: #fef9c3; color: #a16207; border-color: #fde047; }
.stag-blue { background: #eff6ff; color: #1d4ed8; border-color: #93c5fd; }
.stag-purple { background: #fdf4ff; color: #7e22ce; border-color: #d8b4fe; }
.stag-orange { background: #fff7ed; color: #c2410c; border-color: #fdba74; }

.sidebar-tip { background: linear-gradient(135deg, #fffbeb, #fef3c7) !important; }
.sidebar-tip .sidebar-box-title { background: #92400e; }
.sidebar-tip-text {
  font-size: .82rem;
  color: #78350f;
  line-height: 1.7;
  padding: .75rem 1rem .4rem;
  font-style: italic;
  margin: 0;
}
.sidebar-tip-author {
  display: block;
  font-size: .72rem;
  color: #a16207;
  font-weight: 700;
  padding: 0 1rem .75rem;
  text-align: right;
}
.sidebar-wa {
  background: linear-gradient(135deg, #f0fdf4, #dcfce7) !important;
  text-align: center;
  padding-bottom: 1rem;
}
.sidebar-wa .sidebar-box-title { background: #15803d; }
.sidebar-wa-icon { font-size: 2.2rem; padding-top: 1rem; }
.sidebar-wa-title { font-size: .9rem; font-weight: 800; color: #14532d; margin: .4rem 0 .3rem; }
.sidebar-wa-text { font-size: .78rem; color: #166534; margin: 0 1rem .85rem; line-height: 1.6; }
.sidebar-wa-btn {
  display: block;
  margin: 0 .75rem .5rem;
  padding: .6rem;
  background: linear-gradient(135deg, #25D366, #128C7E);
  color: #fff;
  border-radius: 8px;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 3px 10px rgba(37,211,102,.3);
  transition: all .2s ease;
}
.sidebar-wa-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(37,211,102,.4); }
.sidebar-call-btn {
  display: block;
  margin: 0 .75rem;
  padding: .5rem;
  background: #1f2937;
  color: #fff;
  border-radius: 8px;
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s ease;
}
.sidebar-call-btn:hover { background: #374151; }

/* ── RESPONSIVE ── */
@media(max-width:1024px) {
  .portal-container { grid-template-columns: 1fr 260px; }
  .portal-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width:768px) {
  .portal-container { grid-template-columns: 1fr; }
  .portal-sidebar { order: 2; }
  .portal-content { order: 1; }
  .portal-grid { grid-template-columns: 1fr 1fr; gap: .85rem; }
  .portal-cat-nav { top: 60px; position: relative; }
  .portal-cat-nav::after {
    content: '';
    position: absolute;
    right: 0; top: 0; bottom: 3px;
    width: 40px;
    background: linear-gradient(90deg, transparent, #fff);
    pointer-events: none;
    z-index: 2;
  }
  .pcat { padding: .6rem .8rem; font-size: .75rem; }
  .hero-img { height: 260px; }
  .hero-body { padding: 1rem 1.1rem 1.25rem; }
  .hero-headline { font-size: 1.1rem; }
  .pcard-img { height: 100px; }
  .pcard-emoji { font-size: 2.2rem; }
  .portal-masthead { padding: 6.5rem 1rem 1rem; }
  .portal-logo { font-size: 1.5rem; }
  .portal-tagline { font-size: .72rem; }
}
@media(max-width:480px) {
  .portal-grid { grid-template-columns: 1fr; }
  .hero-img { height: 210px; }
  .portal-ticker-label { font-size: .68rem; padding: 0 .7rem; }
  .portal-ticker-inner { font-size: .72rem; }
  .portal-logo { font-size: 1.3rem; }
  .portal-tagline { font-size: .65rem; }
  .hero-headline { font-size: 1rem; }
  .hero-body { padding: .85rem 1rem 1rem; }
  .pcard-body { padding: .75rem; }
  .pcard-title { font-size: .85rem; }
  .pcard-excerpt { font-size: .75rem; }
}

/* Accordion smooth scroll offset */
.company-accordion {
  scroll-margin-top: 90px;
}
@media (max-width: 767px) {
  .company-accordion {
    scroll-margin-top: 70px;
  }
}

/* =============================================
   NEWS PORTAL — DYNAMIC ARTICLE LISTING
   ============================================= */

/* ── Portal Masthead ── */
.portal-masthead {
  background: linear-gradient(135deg, #0a0e27 0%, #1e293b 50%, #0f172a 100%);
  padding: 7rem 1.5rem 3rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.portal-masthead::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%230d9488' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.portal-masthead::after {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(13,148,136,.15), transparent 70%);
  border-radius: 50%;
}
.portal-masthead-inner {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 auto;
}
.portal-date-line {
  color: rgba(255,255,255,.5);
  font-size: .8rem;
  font-weight: 500;
  margin-bottom: 1rem;
  letter-spacing: .5px;
}
.portal-logo {
  font-family: 'Poppins', sans-serif;
  font-size: 2.5rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: .75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
}
.portal-logo-icon {
  font-size: 2.5rem;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.3));
}
.portal-tagline {
  color: rgba(255,255,255,.6);
  font-size: .9rem;
  max-width: 600px;
  margin: 0 auto 1.5rem;
  line-height: 1.6;
}
.portal-stats-row {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 1.5rem;
}
.portal-stat-chip {
  display: flex;
  align-items: center;
  gap: .5rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(8px);
  padding: .5rem 1.25rem;
  border-radius: 50px;
  color: rgba(255,255,255,.7);
  font-size: .8rem;
  font-weight: 500;
}
.portal-stat-num {
  font-family: 'Poppins', sans-serif;
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--primary-light);
}

/* ── Breaking Ticker ── */
.portal-ticker-bar {
  display: flex;
  align-items: center;
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  overflow: hidden;
  height: 44px;
  box-shadow: 0 4px 16px rgba(220,38,38,.2);
}
.portal-ticker-label {
  display: flex;
  align-items: center;
  gap: .5rem;
  background: rgba(0,0,0,.25);
  color: #fff;
  font-weight: 800;
  font-size: .78rem;
  padding: 0 1.25rem;
  height: 100%;
  white-space: nowrap;
  flex-shrink: 0;
  font-family: 'Poppins', sans-serif;
}
.ticker-blink {
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
  animation: tickerPulse 1.2s ease-in-out infinite;
}
.portal-ticker-track {
  flex: 1;
  overflow: hidden;
  height: 100%;
  display: flex;
  align-items: center;
}
.portal-ticker-inner {
  display: flex;
  white-space: nowrap;
  animation: tickerScroll 40s linear infinite;
  color: #fff;
  font-size: .82rem;
  font-weight: 500;
}
.portal-ticker-inner span { padding: 0 1rem; }
.portal-ticker-bar:hover .portal-ticker-inner { animation-play-state: paused; }

/* ── Category Nav ── */
.portal-cat-nav {
  background: var(--bg-card);
  border-bottom: 1px solid var(--border);
  padding: .75rem 1.5rem;
  position: sticky;
  top: 60px;
  z-index: 50;
  box-shadow: var(--shadow);
}
.portal-cat-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  gap: .5rem;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: .25rem 0;
}
.portal-cat-inner::-webkit-scrollbar { display: none; }
.pcat {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .5rem 1rem;
  border-radius: 50px;
  font-size: .82rem;
  font-weight: 600;
  color: var(--text-sec);
  background: var(--bg);
  border: 1px solid var(--border);
  white-space: nowrap;
  transition: var(--transition);
  text-decoration: none;
  cursor: pointer;
}
.pcat:hover { background: var(--bg-section); color: var(--primary); border-color: var(--primary); }
.pcat.active {
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  color: #fff;
  border-color: var(--primary);
  box-shadow: 0 4px 12px rgba(13,148,136,.3);
}

/* ── Main Layout ── */
.portal-main {
  padding: 2rem 1.5rem 3rem;
  background: var(--bg);
}
.portal-container {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 2rem;
  align-items: start;
}
.portal-content { min-width: 0; }

/* ── Hero Card ── */
.portal-hero-card {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--border);
  transition: var(--transition);
  margin-bottom: 2rem;
}
.portal-hero-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
.portal-hero-link { text-decoration: none; color: inherit; display: block; }
.hero-image-block {
  width: 100%;
  height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.hero-big-emoji {
  font-size: 5rem;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.3));
  animation: floatEmoji 3s ease-in-out infinite;
  position: relative;
  z-index: 1;
}
.hero-img-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: .75rem 1.25rem;
  background: linear-gradient(transparent, rgba(0,0,0,.6));
  display: flex;
  justify-content: flex-start;
}
.hero-cat-tag {
  background: rgba(255,255,255,.2);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  padding: .3rem .85rem;
  border-radius: 50px;
  border: 1px solid rgba(255,255,255,.25);
}
.hero-body {
  padding: 1.5rem 2rem 2rem;
}
.hero-meta {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .85rem;
  flex-wrap: wrap;
  font-size: .78rem;
  color: var(--text-sec);
}
.hero-source { font-weight: 700; color: var(--primary); }
.hero-dot { color: var(--border); }
.hero-headline {
  font-family: 'Poppins', sans-serif;
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--navy);
  line-height: 1.4;
  margin-bottom: .85rem;
}
.hero-excerpt {
  font-size: .9rem;
  color: var(--text-sec);
  line-height: 1.75;
  margin-bottom: 1rem;
}
.hero-tags-row {
  display: flex;
  gap: .4rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.hero-tag {
  background: var(--bg-section);
  color: var(--primary);
  border: 1px solid rgba(13,148,136,.15);
  padding: .2rem .65rem;
  border-radius: 50px;
  font-size: .7rem;
  font-weight: 600;
}

/* ── Divider ── */
.portal-divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1.5rem 0;
  color: var(--text-sec);
  font-size: .85rem;
  font-weight: 700;
}
.portal-divider::before, .portal-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--border);
}

/* ── Article Cards Grid ── */
.portal-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  margin-bottom: 2rem;
}
.pcard {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: var(--transition);
}
.pcard:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.pcard-link { text-decoration: none; color: inherit; display: block; }
.pcard-img {
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.pcard-emoji {
  font-size: 3rem;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
  position: relative;
  z-index: 1;
}
.pcard-cat-tag {
  position: absolute;
  top: .75rem;
  left: .75rem;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(4px);
  font-size: .68rem;
  font-weight: 700;
  padding: .25rem .7rem;
  border-radius: 50px;
  border: 1px solid rgba(0,0,0,.08);
}
.pcard-body {
  padding: 1.25rem 1.5rem 1.5rem;
}
.pcard-meta {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: .6rem;
  font-size: .72rem;
  color: var(--text-light);
  flex-wrap: wrap;
}
.pcard-author { font-weight: 600; color: var(--primary); }
.pcard-title {
  font-family: 'Poppins', sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.4;
  margin-bottom: .6rem;
}
.pcard-excerpt {
  font-size: .83rem;
  color: var(--text-sec);
  line-height: 1.65;
  margin-bottom: .85rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pcard-tags {
  display: flex;
  gap: .35rem;
  flex-wrap: wrap;
  margin-bottom: .85rem;
}
.pcard-tag {
  background: var(--bg);
  color: var(--text-sec);
  border: 1px solid var(--border);
  padding: .15rem .5rem;
  border-radius: 50px;
  font-size: .65rem;
  font-weight: 500;
}
.pcard-readmore {
  display: inline-flex;
  align-items: center;
  color: var(--primary);
  font-size: .82rem;
  font-weight: 700;
  padding: .4rem .85rem;
  background: var(--bg-section);
  border-radius: 8px;
  transition: var(--transition);
  text-decoration: none;
}
.pcard:hover .pcard-readmore,
.portal-hero-card:hover .pcard-readmore {
  background: var(--primary);
  color: #fff;
}

/* ── No Results ── */
.portal-no-results {
  text-align: center;
  padding: 4rem 2rem;
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
}
.no-results-emoji { font-size: 3rem; display: block; margin-bottom: 1rem; }
.portal-no-results h3 { font-size: 1.2rem; color: var(--navy); margin-bottom: .5rem; }
.portal-no-results p { color: var(--text-sec); font-size: .9rem; }

/* ── Pagination ── */
.portal-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  margin: 2rem 0 .75rem;
  flex-wrap: wrap;
}
.page-btn {
  display: inline-flex;
  align-items: center;
  padding: .6rem 1.25rem;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
  font-size: .82rem;
  font-weight: 600;
  color: var(--text-sec);
  text-decoration: none;
  transition: var(--transition);
}
.page-btn:hover { background: var(--primary); color: #fff; border-color: var(--primary); }
.page-numbers { display: flex; gap: .35rem; }
.page-num {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  font-size: .85rem;
  font-weight: 700;
  border: 1px solid var(--border);
  background: var(--bg-card);
  color: var(--text-sec);
  text-decoration: none;
  transition: var(--transition);
}
.page-num:hover { border-color: var(--primary); color: var(--primary); }
.page-num.active {
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  color: #fff;
  border-color: var(--primary);
  box-shadow: 0 4px 12px rgba(13,148,136,.3);
}
.pagination-info {
  text-align: center;
  font-size: .78rem;
  color: var(--text-light);
  margin-bottom: 1rem;
}

/* ── Sidebar ── */
.portal-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  position: sticky;
  top: 120px;
}
.sidebar-box {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
}
.sidebar-box-title {
  background: linear-gradient(135deg, #1e293b, #0f172a);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  padding: .65rem 1.1rem;
}
.sidebar-top-list {
  list-style: none;
  padding: .5rem 0;
  margin: 0;
  counter-reset: toplist;
}
.sidebar-top-list li {
  counter-increment: toplist;
  border-bottom: 1px solid var(--bg);
}
.sidebar-top-list li a {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  padding: .6rem 1rem;
  font-size: .78rem;
  color: var(--text);
  font-weight: 500;
  text-decoration: none;
  line-height: 1.5;
  transition: var(--transition);
}
.sidebar-top-list li a::before {
  content: counter(toplist);
  background: var(--primary);
  color: #fff;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .65rem;
  font-weight: 800;
  flex-shrink: 0;
  margin-top: 1px;
}
.sidebar-top-list li a:hover { background: var(--bg-section); color: var(--primary); }
.sidebar-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  padding: .75rem 1rem;
}
.stag {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  background: var(--bg);
  border: 1px solid var(--border);
  color: var(--text-sec);
  padding: .3rem .7rem;
  border-radius: 50px;
  font-size: .72rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--transition);
}
.stag:hover { background: var(--primary); color: #fff; border-color: var(--primary); }

/* Sidebar Tip */
.sidebar-tip { background: linear-gradient(135deg, #fffbeb, #fef3c7) !important; border-color: #fde68a !important; }
.sidebar-tip .sidebar-box-title { background: linear-gradient(135deg, #d97706, #b45309); }
.sidebar-tip-text {
  padding: 1rem 1rem .25rem;
  font-size: .82rem;
  color: #92400e;
  line-height: 1.7;
  font-style: italic;
}
.sidebar-tip-author {
  display: block;
  padding: 0 1rem .75rem;
  font-size: .72rem;
  color: #b45309;
  font-weight: 600;
}

/* Sidebar WhatsApp */
.sidebar-wa {
  background: linear-gradient(135deg, #f0fdf4, #dcfce7) !important;
  border-color: #86efac !important;
  text-align: center;
  padding: 1.25rem;
}
.sidebar-wa .sidebar-box-title { display: none; }
.sidebar-wa-icon { font-size: 2rem; margin-bottom: .5rem; }
.sidebar-wa-title { font-size: .95rem; font-weight: 700; color: #14532d; margin-bottom: .3rem; }
.sidebar-wa-text { font-size: .8rem; color: #166534; margin-bottom: .75rem; line-height: 1.5; }
.sidebar-wa-btn {
  display: block;
  background: linear-gradient(135deg, #25D366, #128C7E);
  color: #fff;
  padding: .6rem;
  border-radius: 10px;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 3px 10px rgba(37,211,102,.3);
  transition: var(--transition);
  margin-bottom: .5rem;
}
.sidebar-wa-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(37,211,102,.4); }
.sidebar-call-btn {
  display: block;
  background: var(--bg-card);
  color: var(--primary);
  padding: .5rem;
  border-radius: 10px;
  font-size: .8rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid var(--border);
  transition: var(--transition);
}
.sidebar-call-btn:hover { background: var(--primary); color: #fff; }

/* ── Portal Responsive ── */
@media (max-width: 900px) {
  .portal-container { grid-template-columns: 1fr; }
  .portal-sidebar {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .sidebar-wa { grid-column: 1/-1; }
  .portal-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .portal-masthead { padding: 5.5rem 1rem 2rem; }
  .portal-logo { font-size: 1.6rem; gap: .5rem; }
  .portal-logo-icon { font-size: 1.6rem; }
  .portal-tagline { font-size: .78rem; }
  .portal-stats-row { gap: .5rem; }
  .portal-stat-chip { padding: .4rem .85rem; font-size: .72rem; }
  .portal-stat-num { font-size: 1rem; }
  .portal-ticker-bar { height: auto; min-height: 38px; }
  .portal-ticker-label { font-size: .7rem; padding: 0 .85rem; }
  .portal-cat-nav { padding: .5rem 1rem; top: 55px; }
  .pcat { font-size: .75rem; padding: .4rem .75rem; }
  .portal-main { padding: 1.25rem 1rem 2rem; }
  .hero-image-block { height: 200px; }
  .hero-big-emoji { font-size: 3.5rem; }
  .hero-body { padding: 1.25rem 1.25rem 1.5rem; }
  .hero-headline { font-size: 1.15rem; }
  .hero-excerpt { font-size: .82rem; }
  .portal-grid { grid-template-columns: 1fr; gap: 1rem; }
  .pcard-img { height: 140px; }
  .pcard-body { padding: 1rem 1.15rem; }
  .pcard-title { font-size: .92rem; }
  .portal-sidebar { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .portal-masthead { padding: 5rem .75rem 1.5rem; }
  .portal-logo { font-size: 1.3rem; }
  .portal-tagline { font-size: .68rem; }
  .portal-ticker-label { display: none; }
  .portal-ticker-inner { font-size: .72rem; }
  .hero-image-block { height: 170px; }
  .hero-headline { font-size: 1rem; }
  .hero-body { padding: 1rem; }
  .pcard-body { padding: .85rem; }
  .pcard-title { font-size: .85rem; }
  .pcard-excerpt { font-size: .78rem; }
  .page-btn { padding: .5rem .85rem; font-size: .75rem; }
  .page-num { width: 32px; height: 32px; font-size: .78rem; }
}
