/* Frentis Healthcare — public site design system
   Colors / type / radii / shadows match reference/Frentis Healthcare.dc.html exactly. */

:root{
  --teal-deep:#073646;
  --teal-sec:#0c4a5e;
  --green:#5fb138;
  --green-hover:#54a02f;
  --green-hover-2:#4d9b2c;
  --green-light:#7ec84f;
  --green-tint-text:#bfe6a6;
  --green-chip-bg:#eef6e8;
  --green-chip-fg:#3f8a20;
  --bg:#eef4f1;
  --bg-2:#f2f6f4;
  --bg-card:#fbfdfc;
  --text:#143038;
  --muted:#5a6b70;
  --muted-2:#7d8e8c;
  --muted-3:#6c7d7f;
  --muted-4:#8a9b99;
  --muted-5:#9aa9a7;
  --border:#e7edeb;
  --border-2:#eef2f1;
  --border-3:#dde6e3;
  --whatsapp:#25D366;
  --danger:#c0392b;
  --danger-bg:#fdecea;
  --error-text:#d23b3b;
}

*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth}
/* clip, not hidden — overflow-x:hidden makes html/body a scroll container,
   which silently breaks position:sticky for every sticky element on the
   page (the header, the 3D section's stage). clip prevents the same
   horizontal-scroll bugs without that side effect. */
html,body{overflow-x:clip}
body{font-family:'Mulish',sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.55}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
button,a{transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
input,textarea,select{font-family:inherit}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:'Plus Jakarta Sans',sans-serif;color:var(--teal-deep);line-height:1.12;letter-spacing:-0.01em}
::selection{background:var(--green);color:#fff}

.mono{font-family:'JetBrains Mono',monospace}
.container{max-width:1440px;margin:0 auto;padding:0 24px}
.overline{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:500}
.section{padding:78px 0}
.section-bordered{padding:78px 0;background:#fff;border-top:1px solid var(--border-2);border-bottom:1px solid var(--border-2)}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;border-radius:11px;font-size:15.5px;padding:15px 26px;white-space:nowrap}
.btn-green{background:var(--green);color:#fff;box-shadow:0 10px 24px rgba(96,177,56,.36)}
.btn-green:hover{background:var(--green-hover);transform:translateY(-2px)}
.btn-outline-light{border:1.5px solid rgba(255,255,255,.28);color:#fff}
.btn-outline-light:hover{background:rgba(255,255,255,.08);border-color:var(--green)}
.btn-outline-dark{border:1.5px solid var(--teal-deep);color:var(--teal-deep)}
.btn-outline-dark:hover{background:var(--teal-deep);color:#fff}
.btn-white{background:#fff;color:var(--teal-sec);box-shadow:0 10px 24px rgba(0,0,0,.16)}
.btn-white:hover{background:#eef2f4;transform:translateY(-2px)}
.btn-whatsapp{background:var(--whatsapp);color:#fff}
.btn-whatsapp:hover{background:#1fb957}
.btn-whatsapp-outline{border:1.5px solid var(--whatsapp);color:#1c8a44}
.btn-whatsapp-outline:hover{background:#eafaf0}
.btn-sm{padding:12px 22px;border-radius:10px;font-size:14px}
.btn-nowrap{white-space:nowrap}

/* ===== Header ===== */
.util-bar{background:var(--teal-deep);color:#bcd4d3;border-bottom:1px solid rgba(255,255,255,.08)}
.util-bar-inner{height:40px;display:flex;align-items:center;justify-content:space-between;font-size:12.5px}
.util-links{display:flex;align-items:center;gap:24px}
.util-links a{display:flex;align-items:center;gap:8px;color:#cfe1e0}
.util-links a:hover{color:#fff}
.util-badges{display:flex;align-items:center;gap:14px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.05em;color:#8fb0ad}
.util-badges .dot{color:#3f8a20}

.main-bar{background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid #e6ecea}
.main-bar-inner{height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}
.site-header{position:sticky;top:0;z-index:50}
.logo-link img{height:42px;display:block}
.main-nav{display:flex;align-items:center;gap:2px;justify-self:center}
.main-nav .nav-item{position:relative;padding:11px 18px;font-family:'Plus Jakarta Sans',sans-serif;font-size:14.5px;font-weight:600;color:var(--text);border-radius:9px;display:inline-flex;align-items:center;gap:5px}
.main-nav .nav-item:hover{background:var(--green-chip-bg);color:var(--teal-deep)}
.main-nav .nav-item.active::after{content:'';position:absolute;left:18px;right:18px;bottom:5px;height:2.5px;background:var(--green);border-radius:2px}
.nav-item-wrap{position:relative;display:flex}
.nav-caret{font-size:10px;opacity:.65}
.nav-dropdown{position:absolute;top:100%;left:0;min-width:200px;background:#fff;border:1px solid var(--border-2);border-radius:12px;box-shadow:0 20px 40px -16px rgba(7,54,70,.3);padding:8px;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;z-index:40}
.nav-item-wrap.has-children:hover .nav-dropdown,.nav-item-wrap.has-children:focus-within .nav-dropdown,.nav-item-wrap.has-children.open .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown-item{display:block;padding:10px 12px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--text)}
.nav-dropdown-item:hover{background:var(--green-chip-bg);color:var(--teal-deep)}
.nav-dropdown-item-wrap{position:relative}
.nav-dropdown-item.has-sub{display:flex;align-items:center;justify-content:space-between;gap:10px}
.nav-subdropdown{position:absolute;top:0;left:100%;min-width:200px;background:#fff;border:1px solid var(--border-2);border-radius:12px;box-shadow:0 20px 40px -16px rgba(7,54,70,.3);padding:8px;opacity:0;visibility:hidden;transform:translateX(4px);transition:opacity .15s ease,transform .15s ease;z-index:41}
.nav-dropdown-item-wrap:hover .nav-subdropdown,.nav-dropdown-item-wrap:focus-within .nav-subdropdown{opacity:1;visibility:visible;transform:translateX(0)}
.mobile-drawer .item-child{padding-left:24px;font-size:14px;font-weight:500;color:var(--muted)}
.mobile-drawer .item-grandchild{padding-left:38px;font-size:13.5px;font-weight:500;color:var(--muted)}
.header-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end}
.hamburger{width:44px;height:44px;border:1.5px solid #d7e0de;border-radius:10px;display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.hamburger span{width:18px;height:2px;background:var(--teal-deep);border-radius:2px}

.mega-menu{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #e6ecea;box-shadow:0 24px 48px -24px rgba(7,54,70,.25)}
.mega-menu-inner{padding-top:22px;padding-bottom:24px}
.mega-menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.mega-menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mega-cat{display:flex;align-items:center;gap:13px;text-align:left;padding:12px 14px;border-radius:13px;border:1px solid var(--border-2);background:var(--bg-card);width:100%}
.mega-cat:hover{border-color:var(--green);background:#f4faef;transform:translateY(-2px)}
.mega-cat .thumb{flex-shrink:0;width:46px;height:46px;border-radius:11px;background:repeating-linear-gradient(45deg,#eef2f1,#eef2f1 6px,#e3ebe9 6px,#e3ebe9 12px);border:1px dashed #c2cfcd;display:flex;align-items:center;justify-content:center;color:var(--muted-5);font-family:'JetBrains Mono',monospace;font-size:8px;text-align:center;overflow:hidden}
.mega-cat .thumb img{width:100%;height:100%;object-fit:cover}
.mega-cat .info{min-width:0;flex:1;text-align:left}
.mega-cat .name-row{display:flex;align-items:center;gap:7px}
.mega-cat .cat-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:14px;color:var(--teal-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mega-cat .cat-count{flex-shrink:0;font-size:10.5px;font-weight:700;color:var(--green-chip-fg);background:var(--green-chip-bg);padding:1px 7px;border-radius:20px}
.mega-cat .cat-desc{display:block;font-size:11.5px;color:#6c7d7f;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.mobile-drawer{border-top:1px solid #e6ecea;background:#fff;padding:10px 24px 18px}
.mobile-drawer a.item{display:block;width:100%;text-align:left;padding:13px 4px;font-weight:600;font-size:15.5px;color:var(--text);border-bottom:1px solid var(--border-2)}
.mobile-drawer .phone{display:block;padding:13px 4px;font-weight:700;color:var(--green-chip-fg)}

/* ===== Hero (dark) ===== */
.hero-dark{position:relative;background:radial-gradient(120% 130% at 80% -10%,var(--teal-sec) 0%,var(--teal-deep) 55%);color:#fff;overflow:hidden}
.hero-dark::before{content:'';position:absolute;inset:0;opacity:.5;background:radial-gradient(40% 60% at 90% 80%,rgba(96,177,56,.25),transparent 70%)}
.hero-dark .container{position:relative}
.hero-badge{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--green-tint-text);background:rgba(96,177,56,.14);border:1px solid rgba(96,177,56,.32);padding:7px 14px;border-radius:100px}
.hero-badges{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}
.hero-badges span{font-size:12.5px;font-weight:600;color:#dcebee;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:7px 13px;border-radius:8px}
.hero-h1{color:#fff;font-size:48px;font-weight:800;margin:22px 0 18px;letter-spacing:-0.02em}
.hero-sub{font-size:17.5px;color:#cfe1e0;max-width:520px;line-height:1.6}
.hero-media{position:relative;aspect-ratio:4/3.4;border-radius:20px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.05),rgba(255,255,255,.05) 12px,rgba(255,255,255,.025) 12px,rgba(255,255,255,.025) 24px);border:1.5px dashed rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}
.hero-media-placeholder{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:rgba(255,255,255,.6);line-height:1.7}
.hero-float-stats{position:absolute;left:-22px;bottom:34px;background:#fff;border-radius:14px;padding:16px 20px;box-shadow:0 18px 40px -16px rgba(7,54,70,.4);display:flex;gap:22px;animation:floaty 5s ease-in-out infinite}
.hero-float-stats .num{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:26px;color:var(--teal-deep)}
.hero-float-stats .num span{color:var(--green)}
.hero-float-stats .lbl{font-size:11.5px;color:#6c7d7f;font-weight:600}
.hero-float-stats .sep{width:1px;background:var(--border-2)}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* Sub-page hero (About / Products / Manufacturing / Certifications / Contact) */
.hero-sub{background:var(--teal-deep);color:#fff;width:100%;max-width:100%}
.hero-sub-inner{padding-top:44px;padding-bottom:48px}
.breadcrumb{font-family:'JetBrains Mono',monospace;font-size:12px;color:rgba(255,255,255,.85)}
.breadcrumb a{color:#fff}
.breadcrumb a:hover{color:var(--green-light)}
.breadcrumb .current{color:var(--green-light)}
.breadcrumb.on-light{color:var(--muted-4)}
.breadcrumb.on-light a{color:var(--teal-deep)}
.hero-sub h1{color:#fff;font-size:38px;font-weight:800;margin:14px 0 8px}
.hero-sub p{color:#cfe1e0;max-width:560px;font-size:16px}

/* ===== Trust strip / stats ===== */
.trust-strip{background:#fff;border-bottom:1px solid var(--border-2)}
.trust-strip-inner{padding-top:18px;padding-bottom:18px;display:flex;flex-wrap:wrap;gap:14px 34px;align-items:center;justify-content:center}
.trust-item{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:#37545b}
.trust-item .check{display:inline-flex;width:24px;height:24px;border-radius:50%;background:var(--green-chip-bg);color:var(--green-chip-fg);align-items:center;justify-content:center;font-size:13px;font-weight:700}

.stats-band{background:var(--teal-deep);color:#fff}
.stats-grid{padding-top:54px;padding-bottom:54px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat{text-align:center}
.stat .n{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:46px;color:#fff;letter-spacing:-0.02em}
.stat .n span{color:var(--green-light)}
.stat .l{font-size:14px;color:#a8c4c2;margin-top:4px;font-weight:600}

/* ===== Section headers ===== */
.section-head{max-width:640px;margin-bottom:40px}
.section-head h2{font-size:34px;font-weight:700;margin-top:10px}
.section-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:38px;flex-wrap:wrap}
.section-head-row .lead{max-width:560px}
.section-head-row h2{font-size:34px;font-weight:700;margin-top:10px}

/* ===== Cards ===== */
.card-hover{transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s ease,border-color .25s ease,background-color .25s ease}
.card-hover:hover{border-color:#cfe6bd;box-shadow:0 16px 32px -20px rgba(7,54,70,.28);transform:translateY(-3px)}

.why-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.why-card{background:#fff;border:1px solid var(--border-2);border-radius:16px;padding:24px 20px}
.why-card .num{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:15px;color:#fff;background:linear-gradient(135deg,var(--teal-sec),var(--teal-deep));width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 8px 18px -8px rgba(63,138,32,.7)}
.why-card h3{font-size:16.5px;font-weight:700;margin-bottom:6px}
.why-card p{font-size:13.5px;color:var(--muted-3);line-height:1.55}

.product-card{text-align:left;background:var(--bg-card);border:1px solid var(--border-2);border-radius:16px;overflow:hidden;display:block;width:100%}
.product-card .photo{aspect-ratio:1/1;background:repeating-linear-gradient(45deg,#eef2f1,#eef2f1 10px,#e7edec 10px,#e7edec 20px);display:flex;align-items:center;justify-content:center;color:var(--muted-4);font-family:'JetBrains Mono',monospace;font-size:10.5px;position:relative;overflow:hidden}
.product-card .photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.product-card .form-tag{position:absolute;top:10px;left:10px;font-size:10px;background:var(--teal-deep);color:#fff;padding:3px 8px;border-radius:6px;font-family:'JetBrains Mono',monospace}
.product-card .body{padding:15px 16px 18px}
.product-card .cat{font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-3);font-weight:500}
.product-card h3{font-size:16px;font-weight:700;margin:5px 0 4px;color:var(--teal-deep)}
.product-card .meta{font-size:12px;color:var(--muted-4);font-family:'JetBrains Mono',monospace}
.product-card .form-pill{display:inline-block;font-size:11px;font-weight:600;color:#37545b;background:var(--green-chip-bg);padding:3px 9px;border-radius:6px;margin-top:4px}
.product-card .code-pack{font-size:11.5px;color:var(--muted-4);font-family:'JetBrains Mono',monospace;margin-top:12px;display:flex;justify-content:space-between;gap:8px}
.product-card-link{display:block;color:inherit}
.product-card .card-price{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:800;color:var(--green-chip-fg);margin-top:8px}

/* Bulk ordering: qty stepper + add-to-order row on category cards */
.product-card.has-bulk{display:flex;flex-direction:column}
.bulk-order-row{display:flex;gap:8px;align-items:center;padding:0 16px 16px}
.qty-stepper{display:flex;align-items:center;border:1.5px solid var(--border-3);border-radius:9px;overflow:hidden;flex:1}
.qty-stepper button{width:32px;height:36px;flex-shrink:0;font-size:16px;font-weight:700;color:var(--teal-deep);background:var(--bg-2)}
.qty-stepper button:hover{background:var(--green-chip-bg);color:var(--green-chip-fg)}
.qty-stepper input{width:100%;min-width:0;text-align:center;border:none;font-size:13.5px;font-weight:700;color:var(--text);-moz-appearance:textfield}
.qty-stepper input::-webkit-outer-spin-button,.qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.btn-add-order{flex-shrink:0;padding:9px 18px;border-radius:9px;background:var(--green);color:#fff;font-weight:700;font-size:13.5px}
.btn-add-order:hover{background:var(--green-hover)}
.btn-add-order.added{background:var(--teal-deep)}

/* Sitewide bulk-order cart bar + modal */
.cart-bar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:65;display:flex;align-items:center;gap:16px;background:var(--teal-deep);color:#fff;padding:12px 12px 12px 20px;border-radius:100px;box-shadow:0 16px 36px -12px rgba(7,54,70,.5);max-width:calc(100vw - 32px)}
.cart-bar span{font-size:13.5px;font-weight:600}
.cart-bar button{padding:10px 18px;border-radius:100px;background:var(--green);color:#fff;font-weight:700;font-size:13.5px;flex-shrink:0;white-space:nowrap}
.cart-bar button:hover{background:var(--green-hover)}
.modal-card{position:relative;background:#fff;border-radius:18px;padding:28px;max-height:88vh;overflow-y:auto;box-shadow:0 40px 80px -30px rgba(0,0,0,.5)}
.cart-modal{max-width:560px;width:100%}
.cart-item-row{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-2)}
.cart-item-row .qty-stepper{flex:none;width:96px}
.cart-item-row .qty-stepper input{width:32px;padding:0}
.cart-item-info{display:flex;flex-direction:column;min-width:0}
.cart-item-info strong{font-size:14px;color:var(--teal-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item-info span{font-size:11.5px;color:var(--muted-4);font-family:'JetBrains Mono',monospace}
.cart-item-price{font-size:13.5px;font-weight:700;color:var(--text);white-space:nowrap}
.cart-item-remove{width:26px;height:26px;border-radius:7px;color:var(--muted-3);font-size:16px}
.cart-item-remove:hover{background:var(--danger-bg);color:var(--danger)}
.cart-totals{padding:16px 0;border-top:1.5px solid var(--border-3);margin-top:6px}
.cart-totals-row{display:flex;justify-content:space-between;font-size:13.5px;color:var(--muted);padding:3px 0}
.cart-totals-row.grand{font-size:17px;font-weight:800;color:var(--teal-deep);padding-top:8px}
.cart-actions{display:flex;gap:10px;margin-top:6px}
.cart-actions .btn-clear{padding:13px 20px;border-radius:11px;border:1.5px solid var(--border-3);color:var(--muted);font-weight:700;font-size:14px}
.cart-actions .btn-clear:hover{border-color:var(--danger);color:var(--danger)}
.cart-actions .btn-send-wa{flex:1;padding:13px 20px;border-radius:11px;background:var(--whatsapp);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}
.cart-actions .btn-send-wa:hover{background:#1fb957}
.cart-empty{text-align:center;padding:30px 10px;color:var(--muted-3);font-size:14px}

.monopoly-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.adv-grid{display:flex;flex-direction:column;gap:16px}
.adv-item{display:flex;gap:14px}
.adv-item .n{flex-shrink:0;width:38px;height:38px;border-radius:10px;background:var(--green-chip-bg);color:var(--green-chip-fg);display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700}
.adv-item h3{font-size:15.5px;font-weight:700;margin-bottom:2px}
.adv-item p{font-size:13.8px;color:var(--muted-3)}

.img-placeholder{aspect-ratio:4/3.4;border-radius:18px;background:repeating-linear-gradient(45deg,#eef2f1,#eef2f1 12px,#e7edec 12px,#e7edec 24px);border:1.5px dashed #b9c6c4;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.img-placeholder img,.img-placeholder video{width:100%;height:100%;object-fit:cover}
.img-placeholder-text{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted-2);line-height:1.7}
.img-placeholder-text small{font-size:10.5px;opacity:.8}
.img-placeholder.dark{background:repeating-linear-gradient(45deg,rgba(255,255,255,.05),rgba(255,255,255,.05) 12px,rgba(255,255,255,.025) 12px,rgba(255,255,255,.025) 24px);border-color:rgba(255,255,255,.22)}
.img-placeholder.dark .img-placeholder-text{color:rgba(255,255,255,.6)}

.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.quality-card{padding:26px 22px;border-radius:14px}
.quality-card h3{font-size:16px;font-weight:700;margin-bottom:8px}
.quality-card p{font-size:13.5px;line-height:1.55}

/* ===== Sliders ===== */
.slider-wrap{position:relative}
.hscroll{scrollbar-width:none;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding:4px 2px 14px}
.hscroll::-webkit-scrollbar{display:none}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--teal-deep);border:1px solid #e3e9e8;box-shadow:0 8px 20px -8px rgba(7,54,70,.35);display:flex;align-items:center;justify-content:center;font-size:0}
.slider-btn::before{content:'';width:9px;height:9px;border-style:solid;border-color:currentColor;border-width:0 2.5px 2.5px 0;display:inline-block}
.slider-btn.prev::before{transform:translateX(2px) rotate(135deg)}
.slider-btn.next::before{transform:translateX(-2px) rotate(-45deg)}
.slider-btn:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep)}
.slider-btn.prev{left:-18px}
.slider-btn.next{right:-18px}
.slider-btn-disabled{opacity:.35;pointer-events:none}
.slider-btn.on-dark{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.28);backdrop-filter:blur(6px)}
.slider-btn.on-dark:hover{background:var(--green);border-color:var(--green)}

.testimonial-card{flex:0 0 386px;scroll-snap-align:start;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-2);border-radius:18px;padding:28px 26px}
.testimonial-card .stars{display:flex;gap:3px;margin-bottom:16px;color:var(--green);font-size:15px}
.testimonial-card p{font-size:15px;color:#37545b;line-height:1.65;flex:1}
.testimonial-card .who{display:flex;align-items:center;gap:13px;margin-top:22px;padding-top:20px;border-top:1px solid var(--border-2)}
.testimonial-card .avatar{flex-shrink:0;width:46px;height:46px;border-radius:50%;background:var(--teal-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:15px}
.testimonial-card .name{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:15px;color:var(--teal-deep)}
.testimonial-card .role{display:block;font-size:12.5px;color:var(--muted-4);margin-top:1px}

.video-card{flex:0 0 386px;scroll-snap-align:start;text-align:left;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:18px;overflow:hidden;display:block;width:386px}
.video-card:hover{border-color:var(--green);transform:translateY(-3px);background:rgba(255,255,255,.07)}
.video-card .thumb{position:relative;aspect-ratio:16/9;background:repeating-linear-gradient(45deg,rgba(255,255,255,.06),rgba(255,255,255,.06) 12px,rgba(255,255,255,.03) 12px,rgba(255,255,255,.03) 24px);display:flex;align-items:center;justify-content:center}
.video-card .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-card .play{position:relative;z-index:1;width:60px;height:60px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;padding-left:4px;box-shadow:0 8px 24px rgba(96,177,56,.5)}
.video-card .len{position:absolute;bottom:10px;right:10px;z-index:1;font-family:'JetBrains Mono',monospace;font-size:11px;background:rgba(7,28,34,.78);color:#fff;padding:3px 8px;border-radius:6px}
.video-card .body{padding:18px 18px 20px}
.video-card h3{color:#fff;font-size:16px;font-weight:700;line-height:1.35}
.video-card .person{font-size:12.5px;color:#9bbab7;margin-top:7px;font-family:'JetBrains Mono',monospace}

.ym-card{flex:0 0 386px;scroll-snap-align:start;text-align:left;background:var(--bg-card);border:1px solid var(--border-2);border-radius:18px;overflow:hidden;display:block;width:386px}
.ym-card:hover{border-color:#cfe6bd;box-shadow:0 16px 32px -20px rgba(7,54,70,.28);transform:translateY(-3px)}
.ym-card .thumb{position:relative;aspect-ratio:16/9;background:repeating-linear-gradient(45deg,#eef2f1,#eef2f1 12px,#e7edec 12px,#e7edec 24px);display:flex;align-items:center;justify-content:center}
.ym-card .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ym-card .thumb .play{position:relative;z-index:1}
.ym-card .thumb .len{z-index:1}
.ym-card .play{width:54px;height:38px;border-radius:10px;background:#FF0000;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(255,0,0,.35)}
.ym-card .len{position:absolute;bottom:9px;right:9px;font-family:'JetBrains Mono',monospace;font-size:11px;background:rgba(7,54,70,.82);color:#fff;padding:3px 8px;border-radius:6px}
.ym-card .body{padding:16px 17px 19px}
.ym-card h3{font-size:15px;font-weight:700;line-height:1.35;color:var(--teal-deep)}
.ym-card .meta-row{display:flex;align-items:center;justify-content:space-between;margin-top:9px}
.ym-card .channel{font-size:12px;color:var(--muted-4);font-family:'JetBrains Mono',monospace}
.ym-card .views{font-size:11.5px;color:var(--muted-4)}

/* ===== Process steps ===== */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:60px}
.step{text-align:center;padding:0 14px}
.step .badge{width:50px;height:50px;border-radius:50%;background:var(--teal-deep);color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:19px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.step h3{font-size:16.5px;font-weight:700;margin-bottom:7px}
.step p{font-size:13.8px;color:var(--muted-3);max-width:240px;margin:0 auto}

.cta-banner{border-radius:20px;background:linear-gradient(120deg,var(--teal-sec),var(--teal-deep));padding:56px 40px;text-align:center;color:#fff}
.cta-banner h2{color:#fff;font-size:30px;font-weight:800;max-width:680px;margin:0 auto 14px}
.cta-banner p{color:rgba(255,255,255,.92);max-width:560px;margin:0 auto 28px;font-size:15.5px}

/* ===== Products catalog ===== */
.catalog-controls{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:22px}
.search-box{position:relative;flex:1;min-width:240px;max-width:380px}
.search-box .icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted-5)}
.search-box input{width:100%;padding:12px 14px 12px 38px;border-radius:10px;border:1.5px solid #e3e9e8;font-size:14.5px;background:#fff}
.search-box input:focus{border-color:var(--green);outline:none}
.result-count{font-size:13.5px;color:var(--muted-3);font-weight:600}
.chip-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}
.chip{padding:9px 16px;border-radius:100px;font-size:13.5px;font-weight:600;background:#fff;color:#37545b;border:1.5px solid #e3e9e8;white-space:nowrap}
.chip.active{font-weight:700;background:var(--teal-deep);color:#fff;border-color:var(--teal-deep)}
.chip .count{opacity:.6}
.chip-row-tags{margin-top:-18px}
.chip-tag{padding:7px 14px;font-size:12.5px;background:var(--green-chip-bg);color:var(--green-chip-fg);border-color:transparent}
.chip-tag.active{background:var(--teal-deep);color:#fff}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.empty-state{text-align:center;padding:70px 20px;background:#fff;border:1px dashed #d7e0de;border-radius:16px}
.empty-state .icon{font-size:34px}
.empty-state h3{font-size:19px;font-weight:700;margin:10px 0 6px}
.empty-state p{font-size:14px;color:var(--muted-3)}

/* ===== Product detail ===== */
.product-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start;padding:48px 0}
.product-hero .photo{aspect-ratio:1/1;border-radius:18px}
.product-gallery{display:flex;gap:14px}
.product-gallery-thumbs{display:flex;flex-direction:column;gap:10px;width:74px;flex-shrink:0;max-height:460px;overflow-y:auto;scrollbar-width:thin}
.product-gallery-thumb{position:relative;aspect-ratio:1/1;border-radius:10px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:none;flex-shrink:0}
.product-gallery-thumb img,.product-gallery-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.product-gallery-thumb.active{border-color:var(--green)}
.product-gallery-thumb .thumb-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(7,28,34,.35);color:#fff}
.product-gallery-main{flex:1;min-width:0}
.product-cat-badge{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--green-chip-fg);background:var(--green-chip-bg);padding:6px 12px;border-radius:7px;font-weight:500}
.product-hero h1{font-size:36px;font-weight:800;margin:16px 0 6px}
.product-code{font-family:'JetBrains Mono',monospace;font-size:13.5px;color:var(--muted-4);margin-bottom:12px}
.product-price{font-family:'Plus Jakarta Sans',sans-serif;font-size:26px;font-weight:800;color:var(--green-chip-fg);margin-bottom:22px}
.product-price span{font-size:13px;font-weight:600;color:var(--muted-3)}
.product-description{padding:0 0 60px}
.product-videos-section{padding:0 0 60px}
.product-videos-card{background:var(--bg-card);border:1px solid var(--border-2);border-radius:18px;padding:34px 38px}
@media (max-width:640px){
  .product-videos-card{padding:24px 20px;border-radius:14px}
}
.product-description > h2{font-size:21px;font-weight:800;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.product-description > h2::before{content:'';width:5px;height:22px;border-radius:3px;background:var(--green);flex-shrink:0}
.product-description-body{font-size:15px;color:var(--muted);line-height:1.75;background:var(--bg-card);border:1px solid var(--border-2);border-radius:18px;padding:34px 38px}
.product-description-body > *:first-child{margin-top:0}
.product-description-body h2,.product-description-body h3,.product-description-body h4{color:var(--teal-deep);font-weight:800;margin:28px 0 12px;padding-top:22px;border-top:1px solid var(--border-2)}
.product-description-body h2:first-child,.product-description-body h3:first-child,.product-description-body h4:first-child{padding-top:0;border-top:none;margin-top:0}
.product-description-body h2{font-size:19px}
.product-description-body h3{font-size:16.5px;position:relative;padding-left:15px}
.product-description-body h3::before{content:'';position:absolute;left:0;top:26px;bottom:4px;width:4px;border-radius:3px;background:var(--green)}
.product-description-body h3:first-child::before{top:4px}
.product-description-body h4{font-size:15.5px}
.product-description-body h5{font-size:14px;font-weight:800;color:var(--teal-deep);margin:22px 0 6px}
.product-description-body h5 + strong{color:var(--green-chip-fg);font-weight:800;font-size:13px;margin-right:2px}
.product-description-body p{margin-bottom:14px}
.product-description-body ul{list-style:none;margin:0 0 16px 2px;padding:0}
.product-description-body ul li{position:relative;padding-left:20px;margin-bottom:9px}
.product-description-body ul li::before{content:'';position:absolute;left:1px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--green)}
.product-description-body ol{margin:0 0 16px 20px;padding:0}
.product-description-body ol li{padding-left:4px;margin-bottom:9px}
.product-description-body ol li::marker{color:var(--green-chip-fg);font-weight:800}
.product-description-body .rt-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 20px;border-radius:10px;border:1px solid var(--border-2)}
.product-description-body table{width:100%;border-collapse:collapse;font-size:14px}
.product-description-body table td,.product-description-body table th{border-bottom:1px solid var(--border-2);padding:10px 14px;text-align:left;white-space:nowrap}
.product-description-body table th{background:var(--green-chip-bg);color:var(--green-chip-fg);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.product-description-body table tr:last-child td{border-bottom:none}
.product-description-body b,.product-description-body strong{color:var(--teal-deep)}
.product-description-body details{border:1px solid var(--border-2);border-radius:12px;margin-bottom:12px;overflow:hidden}
.product-description-body summary{cursor:pointer;padding:14px 46px 14px 16px;font-weight:800;color:var(--teal-deep);list-style:none;position:relative}
.product-description-body summary::-webkit-details-marker{display:none}
.product-description-body summary::after{content:'+';position:absolute;right:16px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:var(--green-chip-bg);color:var(--green-chip-fg);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px}
.product-description-body details[open] summary::after{content:'\2212'}
.product-description-body details > *:not(summary){padding:0 16px 16px}
.product-description-body details > *:not(summary):first-of-type{margin-top:0}
@media (max-width:640px){
  .product-description-body{padding:24px 20px;border-radius:14px}
}
.detail-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px}
.detail-box{background:var(--bg-card);border:1px solid var(--border-2);border-radius:12px;padding:16px}
.detail-box .lbl{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-4);font-weight:600;margin-bottom:5px}
.detail-box .val{font-size:16px;font-weight:700;color:var(--teal-deep);font-family:'Plus Jakarta Sans',sans-serif}
.detail-box.wide{padding:18px;margin-bottom:26px}
.detail-box.wide .val{font-size:15.5px;color:var(--text);font-weight:600;line-height:1.5}
.product-actions{display:flex;gap:14px;flex-wrap:wrap}
.product-disclaimer{font-size:12.5px;color:var(--muted-5);margin-top:18px;line-height:1.5}
.related-heading{font-size:24px;font-weight:700;margin-bottom:22px}

/* ===== About page ===== */
.split-2{display:grid;gap:48px;align-items:center;padding:72px 0}
.split-2.story{grid-template-columns:1.15fr .85fr}
.split-2 h2{font-size:30px;font-weight:700;margin:10px 0 16px}
.split-2 p{font-size:15.5px;color:var(--muted);line-height:1.65;margin-bottom:14px}
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pillar-card{border:1px solid var(--border-2);border-radius:16px;padding:30px 26px}
.pillar-card h3{font-size:19px;font-weight:700;margin-bottom:10px}
.pillar-card p{font-size:14px;line-height:1.6}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.team-card{display:flex;gap:22px;background:#fff;border:1px solid var(--border-2);border-radius:16px;padding:26px}
.team-photo{width:104px;height:104px;border-radius:14px;flex-shrink:0;background:repeating-linear-gradient(45deg,#eef2f1,#eef2f1 9px,#e7edec 9px,#e7edec 18px);border:1.5px dashed #b9c6c4;display:flex;align-items:center;justify-content:center;color:var(--muted-5);font-family:'JetBrains Mono',monospace;font-size:9.5px;overflow:hidden}
.team-photo img{width:100%;height:100%;object-fit:cover;display:block}
.team-card h3{font-size:19px;font-weight:700}
.team-card .role{font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--green-chip-fg);font-weight:500;margin:5px 0 9px}
.team-card p{font-size:13.8px;color:var(--muted-3);line-height:1.55}

/* ===== Manufacturing page ===== */
.mfg-hero{position:relative;background:radial-gradient(120% 130% at 80% -10%,var(--teal-sec) 0%,var(--teal-deep) 55%);color:#fff;overflow:hidden;padding-top:44px;padding-bottom:56px}
.mfg-hero::before{content:'';position:absolute;inset:0;opacity:.5;background:radial-gradient(40% 60% at 88% 90%,rgba(96,177,56,.25),transparent 70%)}
.mfg-hero-inner{position:relative;display:grid;grid-template-columns:1.15fr 0.85fr;gap:40px;align-items:center}
.mfg-hero h1{color:#fff;font-size:40px;font-weight:800;margin:0 0 12px;letter-spacing:-0.02em;max-width:720px}
.mfg-hero p{color:#cfe1e0;max-width:600px;font-size:16.5px;line-height:1.6}
.mfg-media{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0px,rgba(255,255,255,.06) 2px,transparent 2px,transparent 14px),linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;box-shadow:0 20px 44px rgba(0,0,0,.28);text-align:center}
.mfg-media img,.mfg-media video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.mfg-specs{background:#fff;border-bottom:1px solid var(--border-2);padding-top:30px;padding-bottom:30px}
.mfg-specs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.mfg-specs-grid .n{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:30px;color:var(--teal-deep);letter-spacing:-0.02em;text-align:center}
.mfg-specs-grid .l{font-size:13px;color:var(--muted-3);margin-top:3px;font-weight:600;text-align:center}
.forms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.form-card{display:flex;gap:16px;background:#fff;border:1px solid var(--border-2);border-radius:16px;padding:24px 22px}
.form-card .icon{flex-shrink:0;width:48px;height:48px;border-radius:12px;background:repeating-linear-gradient(45deg,#eef2f1,#eef2f1 6px,#e3ebe9 6px,#e3ebe9 12px);border:1px dashed #c2cfcd;overflow:hidden}
.form-card .icon img{width:100%;height:100%;object-fit:cover;display:block}
.form-card h3{font-size:16.5px;font-weight:700;color:var(--teal-deep);margin-bottom:5px}
.form-card p{font-size:13.5px;color:var(--muted-3);line-height:1.55}
.why-dark{background:var(--teal-deep);color:#fff;padding:74px 0}
.why-dark-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.why-dark h2{color:#fff;font-size:30px;font-weight:700;margin:10px 0 26px}
.why-dark .overline{color:#9bbab7}
.reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.reason-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:20px}
.reason-card .num{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:14px;color:var(--green-light);margin-bottom:10px}
.reason-card h3{color:#fff;font-size:15.5px;font-weight:700;margin-bottom:5px}
.reason-card p{font-size:13px;color:#a8c4c2;line-height:1.55}
.range-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.range-card{background:var(--bg-card);border:1px solid var(--border-2);border-radius:14px;padding:22px 20px}
.range-card:hover{border-color:#cfe6bd;box-shadow:0 14px 28px -20px rgba(7,54,70,.24);transform:translateY(-3px)}
.range-card h3{font-size:15.5px;font-weight:700;color:var(--teal-deep);margin-bottom:6px}
.range-card p{font-size:12.8px;color:var(--muted-3);line-height:1.5}
.includes-section{background:var(--bg-card);border-top:1px solid var(--border-2);border-bottom:1px solid var(--border-2);padding:64px 0}
.includes-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}
.includes-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.includes-item{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid var(--border-2);border-radius:12px;padding:16px}
.includes-item .check{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--green-chip-bg);color:var(--green-chip-fg);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px}
.includes-item span.txt{font-size:13.8px;font-weight:600;color:#37545b;line-height:1.45}
.mfg-steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.mfg-step-card{background:#fff;border:1px solid var(--border-2);border-radius:16px;padding:24px 20px}
.mfg-step-card .badge{width:42px;height:42px;border-radius:11px;background:var(--green-chip-bg);color:var(--green-chip-fg);font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.mfg-step-card h3{font-size:15.5px;font-weight:700;color:var(--teal-deep);margin-bottom:6px}
.mfg-step-card p{font-size:13px;color:var(--muted-3);line-height:1.55}

/* ===== Certifications ===== */
.certs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:60px 0 30px}
.cert-card{text-align:left;background:#fff;border:1px solid var(--border-2);border-radius:16px;overflow:hidden;display:block;width:100%}
.cert-card .photo{aspect-ratio:1/1.18;background:repeating-linear-gradient(45deg,#eef2f1,#eef2f1 11px,#e7edec 11px,#e7edec 22px);border-bottom:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;color:var(--muted-5);font-family:'JetBrains Mono',monospace;font-size:10.5px;text-align:center;padding:20px}
.cert-card .photo:has(img){padding:0}
.cert-card .photo img{width:100%;height:100%;object-fit:cover;display:block}
.media-pdf-badge{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fdeceb;color:#c0392b;font-weight:800;font-size:18px;letter-spacing:.03em}
.cert-card .body{padding:18px 18px 20px}
.cert-card h3{font-size:17px;font-weight:700;color:var(--teal-deep)}
.cert-card p{font-size:13px;color:var(--muted-3);margin-top:5px;line-height:1.5}
.cert-card .link{font-size:12.5px;color:var(--green-chip-fg);font-weight:700;margin-top:12px;display:block}

/* ===== Blog ===== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:#fff;border:1px solid var(--border-2);border-radius:16px;overflow:hidden;display:block}
.blog-card .thumb{aspect-ratio:16/10;background:repeating-linear-gradient(45deg,#eef2f1,#eef2f1 10px,#e7edec 10px,#e7edec 20px);overflow:hidden}
.blog-card .thumb img{width:100%;height:100%;object-fit:cover}
.blog-card .body{padding:18px 20px 22px}
.blog-card .date{font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-3)}
.blog-card h3{font-size:18px;font-weight:700;margin:8px 0 8px;line-height:1.3}
.blog-card p{font-size:13.8px;color:var(--muted);line-height:1.55}
.blog-post-header{max-width:760px;margin:0 auto;padding:48px 24px 0;text-align:center}
.blog-post-header .date{font-family:'JetBrains Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-3)}
.blog-post-header h1{font-size:38px;font-weight:800;margin:14px 0}
.blog-post-hero{max-width:900px;margin:24px auto 0;padding:0 24px}
.blog-post-hero img{width:100%;border-radius:18px;aspect-ratio:16/9;object-fit:cover}
.blog-post-body{max-width:720px;margin:0 auto;padding:40px 24px 80px;font-size:16.5px;line-height:1.75;color:var(--text)}
.blog-post-body h2{font-size:26px;font-weight:800;margin:32px 0 14px}
.blog-post-body h3{font-size:20px;font-weight:700;margin:26px 0 12px}
.blog-post-body p{margin-bottom:16px}
.blog-post-body img{max-width:100%;border-radius:12px;margin:16px 0}
.blog-post-body ul{margin:0 0 16px 22px}
.blog-post-body a{color:var(--green-chip-fg);text-decoration:underline}
.blog-post-body .rt-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:16px 0}
.blog-post-body table{width:100%;border-collapse:collapse}
.blog-post-body table td,.blog-post-body table th{padding:8px 12px;border:1px solid var(--border-2);white-space:nowrap}

/* ===== Contact ===== */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start;padding:60px 0 84px}
.contact-info-list{display:flex;flex-direction:column;gap:18px}
.contact-info-item{display:flex;gap:14px;align-items:flex-start}
.contact-info-item .icon{flex-shrink:0;width:42px;height:42px;border-radius:11px;background:#eef2f4;color:var(--teal-sec);display:flex;align-items:center;justify-content:center}
.contact-info-item .lbl{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-4);font-weight:600;margin-bottom:3px}
.contact-info-item .val{font-size:14.5px;color:var(--text);font-weight:600;line-height:1.5}
.contact-form-panel{background:#fff;border:1px solid var(--border-2);border-radius:18px;padding:34px;box-shadow:0 24px 48px -32px rgba(7,54,70,.3)}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column}
.field.span-2{grid-column:1/-1}
.field label{font-size:12.5px;font-weight:600;color:#37545b;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid #e3e9e8;font-size:14.5px;background:#fff}
.field textarea{height:96px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);outline:none}
.field .err{font-size:12px;color:var(--error-text);margin-top:5px}
.form-success{text-align:center;padding:30px 10px}
.form-success .check-circle{width:64px;height:64px;border-radius:50%;background:var(--green-chip-bg);color:var(--green-chip-fg);display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 18px}
.form-success h3{font-size:22px;font-weight:700;margin-bottom:8px}
.form-success p{font-size:14.5px;color:var(--muted-3);max-width:360px;margin:0 auto 22px}

/* ===== Footer ===== */
footer{background:var(--teal-deep);color:#a8c4c2;font-size:14px}
.footer-grad{height:4px;background:linear-gradient(90deg,var(--green),#3f8a20 55%,var(--teal-deep))}
.footer-cta{border-bottom:1px solid rgba(255,255,255,.1);padding-top:30px;padding-bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-cta .headline{font-family:'Plus Jakarta Sans',sans-serif;font-size:21px;font-weight:700;color:#fff}
.footer-cta .sub{font-size:13.5px;color:#9bbab7;margin-top:3px}
.footer-cta .actions{display:flex;gap:12px;flex-wrap:wrap}
.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1.5fr 1.4fr;gap:44px;padding-top:56px}
.footer-grid h4{color:#fff;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px;font-family:'JetBrains Mono',monospace;font-weight:700}
.footer-col p{line-height:1.65;max-width:330px}
.footer-gst{margin-top:16px;color:#7ea09d;font-family:'JetBrains Mono',monospace;font-size:12.5px}
.footer-social{display:flex;gap:10px;margin-top:20px}
.footer-social a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#cfe1e0;font-weight:700;font-size:13px}
.footer-social a:hover{background:var(--green);color:#fff}
.footer-links{display:flex;flex-direction:column;gap:4px}
.footer-links a{text-align:left;color:#a8c4c2;padding:6px 0}
.footer-links a:hover{color:var(--green-light)}
.footer-therapy-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.footer-therapy-grid a{color:#a8c4c2;padding:4px 0;display:inline-block}
.footer-therapy-grid a:hover{color:var(--green-light)}
.footer-contact-block{display:flex;flex-direction:column;gap:15px;line-height:1.5}
.footer-contact-block .row{display:flex;gap:12px}
.footer-contact-block .icon-box{flex-shrink:0;width:30px;height:30px;border-radius:9px;background:rgba(96,177,56,.14);border:1px solid rgba(96,177,56,.28);display:flex;align-items:center;justify-content:center;color:var(--green-light)}
.footer-contact-block a{color:#a8c4c2}
.footer-contact-block a:hover{color:var(--green-light)}
.footer-bottom{margin-top:48px;padding-top:22px;padding-bottom:28px;border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:#9ab6b3}
.footer-legal-link{color:#9ab6b3;text-decoration:underline;text-underline-offset:2px}
.footer-legal-link:hover{color:#fff}
.footer-bottom .credit{color:var(--green-light);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.footer-bottom .credit:hover{color:#fff}

/* ===== Floating elements ===== */
.brochure-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:60;background:var(--teal-deep);color:#fff;border-radius:13px 0 0 13px;padding:16px 9px;display:flex;flex-direction:column;align-items:center;gap:9px;box-shadow:-6px 6px 20px rgba(7,54,70,.28)}
.brochure-tab:hover{background:#0a4456;padding-right:13px}
.brochure-tab .lbl{writing-mode:vertical-rl;font-size:11.5px;font-weight:700;letter-spacing:.12em}
.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:56px;height:56px;border-radius:50%;background:var(--whatsapp);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(37,211,102,.5);transition:bottom .25s ease}
.wa-float:hover{transform:scale(1.06)}
/* While the footer is in view, nudge the button up so it clears the "Designed and developed by" credit line instead of sitting on top of it. */
body.footer-in-view .wa-float{bottom:78px}

/* ===== Modals ===== */
.modal-overlay{position:fixed;inset:0;z-index:95;background:rgba(7,28,34,.82);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:24px}
.modal-overlay[hidden]{display:none}
.quote-modal{background:#fff;border-radius:20px;overflow:hidden;max-width:920px;width:100%;max-height:92vh;overflow-y:auto;display:grid;grid-template-columns:.85fr 1.15fr;box-shadow:0 40px 80px -30px rgba(0,0,0,.5);position:relative}
.modal-close{position:absolute;top:16px;right:16px;z-index:3;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--teal-deep);font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.modal-close:hover{background:#fff}
.quote-modal-panel{background:linear-gradient(150deg,var(--green),#3f8a20);color:#fff;padding:44px 36px;display:flex;flex-direction:column;justify-content:center}
.quote-modal-panel img{height:46px;margin-bottom:26px;align-self:flex-start}
.quote-modal-panel h2{color:#fff;font-size:25px;font-weight:800;line-height:1.18;margin-bottom:14px}
.quote-modal-panel .sub{color:rgba(255,255,255,.94);font-size:14.5px;line-height:1.6}
.quote-benefits{display:flex;flex-direction:column;gap:11px;margin-top:26px}
.quote-benefits .item{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600}
.quote-benefits .item .tick{display:inline-flex;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.2);align-items:center;justify-content:center;font-size:12px}
.quote-form-panel{padding:40px 38px}
.quote-form-head{display:flex;align-items:center;gap:9px;margin-bottom:4px}
.quote-form-head .dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.quote-form-head h2{font-size:23px;font-weight:800}
.quote-form-note{font-size:13px;color:var(--muted-4);margin-bottom:20px}
.quote-product-ctx{grid-column:1/-1;display:flex;align-items:center;gap:13px;background:#f4faef;border:1px solid #d8ecc6;border-radius:11px;padding:13px 15px;margin-bottom:0}
.quote-product-ctx .badge{flex-shrink:0;width:40px;height:40px;border-radius:9px;background:var(--teal-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:13px}
.quote-product-ctx .lbl{font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--green-chip-fg);font-weight:500}
.quote-product-ctx .name{font-size:15px;font-weight:700;color:var(--teal-deep)}
.quote-product-ctx .code{font-size:12px;color:var(--muted-3);font-family:'JetBrains Mono',monospace}

.video-modal-overlay{position:fixed;inset:0;z-index:96;background:rgba(7,28,34,.9);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:30px}
.video-modal-overlay[hidden]{display:none}
.video-modal{width:100%;max-width:920px;position:relative}
.video-modal-close{position:absolute;top:-52px;right:0;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center}
.video-modal-close:hover{background:rgba(255,255,255,.22)}
.video-modal-frame{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.video-modal-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.lightbox-overlay{position:fixed;inset:0;z-index:90;background:rgba(7,28,34,.82);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:30px}
.lightbox-overlay[hidden]{display:none}
.lightbox-box{background:#fff;border-radius:16px;padding:18px;max-width:560px;width:100%}
.lightbox-photo{aspect-ratio:1/1.3;border-radius:10px;background:repeating-linear-gradient(45deg,#eef2f1,#eef2f1 14px,#e7edec 14px,#e7edec 28px);border:1.5px dashed #b9c6c4;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.lightbox-photo:has(img){border-style:solid;border-color:var(--border-2)}
.lightbox-photo img{width:100%;height:100%;object-fit:contain}
.lightbox-close{margin-top:14px;width:100%;padding:12px;border-radius:9px;background:var(--teal-deep);color:#fff;font-weight:700}

.admin-edit-toggle{position:fixed;left:22px;bottom:22px;z-index:60;display:flex;align-items:center;gap:9px;padding:12px 18px;border-radius:100px;background:var(--teal-deep);color:#fff;font-weight:700;font-size:13.5px;box-shadow:0 10px 26px rgba(7,54,70,.4);border:1.5px solid rgba(255,255,255,.15)}
.admin-edit-toggle:hover{background:#0c4a5e}
.admin-edit-toggle .dot{width:9px;height:9px;border-radius:50%}

/* ===== Responsive (matches reference breakpoints: 1024 / 900 / 640) ===== */
@media (max-width:1024px){
  [data-util]{display:none !important}
  [data-nav="desktop"]{display:none !important}
  [data-hide="sm"]{display:none !important}
  [data-show="sm"]{display:flex !important}
  .main-bar-inner{display:flex !important;justify-content:space-between !important}
  .why-grid,.forms-grid,.mfg-steps-grid,.range-grid,.quality-grid{grid-template-columns:repeat(2,1fr) !important}
  .stats-grid,.mega-menu-grid,.mfg-specs-grid,.footer-therapy-grid{grid-template-columns:repeat(2,1fr) !important}
  .product-hero{grid-template-columns:1fr 1fr !important;gap:34px !important}
}
@media (max-width:900px){
  .split-2,.contact-grid,.includes-inner,.why-dark-grid,.mfg-hero-inner,.hero-dark .container,.monopoly-grid{grid-template-columns:1fr !important}
  .monopoly-grid{gap:32px !important}
  .product-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:34px}
  .detail-grid-2,.includes-grid,.team-grid,.reason-grid{grid-template-columns:1fr !important}
  .pillars-grid,.certs-grid{grid-template-columns:1fr !important}
  .quote-modal{grid-template-columns:1fr}
  .quote-modal-panel{padding:32px 28px}
  .product-hero{grid-template-columns:1fr !important;gap:28px !important;padding:32px 0 !important}
  .product-hero .photo{max-width:340px;margin:0 auto;width:100%}
  .product-gallery{flex-direction:column-reverse;max-width:340px;margin:0 auto;width:100%}
  .product-gallery-thumbs{flex-direction:row;width:100%;max-height:none;overflow-x:auto;overflow-y:visible}
  .product-gallery-thumb{width:56px;flex-shrink:0}
}
@media (max-width:640px){
  .container{padding:0 13px}
  .product-grid{gap:13px}
  .product-card .body{padding:10px 10px 10px}
  .product-card .code-pack{flex-flow:row wrap}
  .bulk-order-row{flex-direction:column;align-items:stretch;gap:10px;padding:0 10px 10px}
  .bulk-order-row .qty-stepper{width:100%}
  .bulk-order-row .btn-add-order{width:100%;text-align:center}
  .modal-overlay{padding:14px}
  .modal-card{padding:22px 18px}
  .cart-item-row{grid-template-columns:1fr auto;grid-template-areas:"info remove" "stepper price";row-gap:12px;column-gap:10px}
  .cart-item-row .cart-item-info{grid-area:info}
  .cart-item-row .cart-item-remove{grid-area:remove;align-self:start}
  .cart-item-row .qty-stepper{grid-area:stepper;width:auto;max-width:112px}
  .cart-item-row .cart-item-price{grid-area:price;justify-self:end;align-self:center}
  .cart-actions{flex-wrap:wrap}
  .cart-actions .btn-clear,.cart-actions .btn-send-wa{flex:1 1 auto}
  .chip-row{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px;scrollbar-width:none}
  .chip-row::-webkit-scrollbar{display:none}
  .chip-row .chip{flex-shrink:0}
  .product-grid,.why-grid,.forms-grid,.mfg-steps-grid,.range-grid,.stats-grid,.mega-menu-grid,.mfg-specs-grid{grid-template-columns:repeat(2,1fr) !important}
  .steps-grid,.blog-grid,.forms-grid,.quality-grid{grid-template-columns:1fr !important}
  h1{font-size:30px !important}
  h2{font-size:24px !important}
  section,.section,.section-bordered{padding-top:52px !important;padding-bottom:52px !important}
  .hero-dark .container{padding:44px 20px 52px !important}
  .testimonial-card{flex:0 0 82vw !important}
  .video-card{flex:0 0 82vw !important;width:82vw !important}
  .ym-card{flex:0 0 62vw !important;width:62vw !important}
  .slider-btn{display:none !important}
  .hero-float-stats{left:8px !important}
  .footer-cta{padding-top:22px}
  .footer-grid{grid-template-columns:1fr;gap:30px;padding-top:38px}
  .footer-therapy-grid{grid-template-columns:1fr 1fr !important}
  .footer-bottom{margin-top:48px !important;padding-top:22px !important;padding-bottom:28px !important;text-align:left}
  .why-grid{gap:13px}
  .contact-form-grid{grid-template-columns:1fr}
  .brochure-tab{top:auto !important;bottom:96px !important;transform:none !important}
  .cart-bar{left:14px !important;right:14px !important;bottom:14px !important;transform:none !important;width:auto !important;max-width:none !important;justify-content:space-between}
  body.has-cart-bar .wa-float{bottom:calc(14px + var(--cart-bar-h, 74px) + 14px)}
  body.has-cart-bar .brochure-tab{bottom:calc(14px + var(--cart-bar-h, 74px) + 14px + 56px + 12px) !important}
  body.footer-in-view:not(.has-cart-bar) .brochure-tab{bottom:152px !important}
}

/* ===== Scroll-reveal animations (class added by JS; safe by default if JS never runs) ===== */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease, transform .55s ease}
.reveal-in{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* ===== Manufacturing 3D process animation (namespaced mfg3d- to avoid clashing with existing classes) =====
   Lives inside one .section-bordered wrapper (same white-card treatment every
   other distinct section on the site uses) so the intro copy, the sticky 3D
   stage, and the outro CTA read as one continuous section with no background
   seams — .container gives the intro/outro text the same page width as
   every other section, the scroll-wrap/stage stay full-bleed for the canvas. */
/* bg-card, not the .section-bordered default white — the spec strip right
   above this section is already solid white, so two adjacent white sections
   would flatten the page's alternating rhythm. bg-card is the same "breather"
   tone this page already uses between its two mint sections (Range → Includes
   → Steps), reused here for the same reason: white → near-white → mint. */
.mfg3d-section{background:var(--bg-card)}
.mfg3d-intro{padding-bottom:8px}
.mfg3d-scroll-wrap{position:relative;height:520vh}
.mfg3d-stage{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:minmax(320px,38%) 1fr;align-items:center;overflow:hidden;background:var(--bg-card)}
.mfg3d-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
@media (min-width:901px){
  /* Confine the 3D render to the right-hand column so the object composes
     within its own space instead of centering under/behind the text panel
     and leaving a large empty gap on wide screens. canvas is a replaced
     element, so width:auto resolves to its drawing-buffer attributes (set
     by the renderer) rather than filling the left/right gap — an explicit
     calc() width is required instead. */
  .mfg3d-stage canvas{left:max(320px, 38%);width:calc(100% - max(320px, 38%))}
}
.mfg3d-panel{position:relative;z-index:2;padding:0 clamp(28px,5vw,80px)}
.mfg3d-steps{position:relative;height:260px}
.mfg3d-step{position:absolute;inset:0;display:grid;grid-template-columns:auto 1fr;gap:18px;align-content:center;align-items:start;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease;pointer-events:none}
.mfg3d-step.on{opacity:1;transform:none;pointer-events:auto}
.mfg3d-step .num{width:42px;height:42px;border-radius:11px;background:var(--green-chip-bg);color:var(--green-chip-fg);font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mfg3d-ticks{display:flex;gap:10px;margin-bottom:26px}
.mfg3d-ticks b{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--teal-deep);opacity:.28;font-variant-numeric:tabular-nums;transition:opacity .4s ease,color .4s ease;font-style:normal}
.mfg3d-ticks b.on{opacity:1;color:var(--green)}
.mfg3d-step h3{margin:0;font-size:clamp(20px,2vw,26px);font-weight:800;letter-spacing:-.01em;color:var(--teal-deep)}
.mfg3d-step p{margin:8px 0 0;font-size:15px;line-height:1.6;color:var(--muted);max-width:38ch}
.mfg3d-step .meta{margin-top:10px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--green-chip-fg);opacity:1;font-weight:700}
.mfg3d-rail{position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--border-2)}
.mfg3d-rail i{position:absolute;left:0;top:0;width:2px;background:var(--green);height:0;font-style:normal}
.mfg3d-panel-inner{position:relative;padding-left:26px}
.mfg3d-hud{position:absolute;right:clamp(24px,4vw,56px);bottom:40px;z-index:2;text-align:right;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-deep);opacity:.55;font-weight:700}
.mfg3d-outro{padding-top:56px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}

/* Fallback: no WebGL / script failed to load — show all steps stacked, no scroll-jack */
.mfg3d-fallback .mfg3d-scroll-wrap{height:auto}
.mfg3d-fallback .mfg3d-stage{position:static;height:auto;display:block;padding:20px 0}
.mfg3d-fallback .mfg3d-stage canvas{display:none}
.mfg3d-fallback .mfg3d-steps{position:static;height:auto;display:flex;flex-direction:column;gap:28px}
.mfg3d-fallback .mfg3d-step{position:static;opacity:1;transform:none;pointer-events:auto}
.mfg3d-fallback .mfg3d-hud{display:none}
.mfg3d-fallback .mfg3d-rail{display:none}
.mfg3d-fallback .mfg3d-panel-inner{padding-left:0}

@media (max-height:640px){
  .mfg3d-steps{height:220px}
  .mfg3d-step h3{font-size:20px}
  .mfg3d-ticks{margin-bottom:16px}
}
@media (max-width:900px){
  .mfg3d-stage{grid-template-columns:1fr;align-items:end}
  .mfg3d-panel{padding-bottom:56px}
  .mfg3d-step p{max-width:46ch}
}
