/* =========================================================
   Haibo India — corporate stylesheet
   Brand colours sampled from the logo: green #377941, red #B52826
   ========================================================= */

:root{
  --green-900:#0f2b17;
  --green-800:#1a4425;
  --green-700:#265a31;
  --green-600:#377941;   /* brand green */
  --green-500:#4b9155;
  --green-400:#74ad7c;
  --green-300:#a8cfae;
  --green-150:#d9eadc;
  --green-100:#e9f3ea;
  --red-800:#7d1b1a;
  --red-700:#99201f;
  --red-600:#b52826;     /* brand red */
  --red-400:#d4605e;
  --red-200:#f0c4c3;
  --red-100:#fbecec;
  --ink:#1b201c;
  --ink-soft:#55605a;
  --paper:#fcfcfa;
  --white:#ffffff;
  --line:#e2e7e1;

  --r-sm:8px; --r-md:14px; --r-lg:26px;
  --sh-1:0 1px 2px rgba(15,43,23,.06);
  --sh-2:0 10px 28px -10px rgba(15,43,23,.22);
  --sh-3:0 28px 64px -24px rgba(15,43,23,.38);

  --f-display:'Bricolage Grotesque','Segoe UI',sans-serif;
  --f-body:'Inter','Segoe UI',sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--f-body);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
p{margin:0;}
h1,h2,h3,h4,h5{font-family:var(--f-display);margin:0;line-height:1.1;letter-spacing:-.02em;color:var(--green-900);}
:focus-visible{outline:2px solid var(--green-600);outline-offset:3px;}

.wrap{max-width:1220px;margin-inline:auto;padding-inline:clamp(20px,4vw,48px);}

.eyebrow{font-size:.78rem;font-weight:700;color:var(--red-600);display:inline-flex;align-items:center;gap:.55em;letter-spacing:.02em;}
.eyebrow::before{content:"";width:22px;height:3px;border-radius:3px;background:var(--red-600);}
.eyebrow.on-dark{color:var(--green-300);}
.eyebrow.on-dark::before{background:var(--green-400);}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.85em 1.6em;border-radius:6px;font-weight:600;font-size:.94rem;border:1.5px solid transparent;transition:background .18s,color .18s,border-color .18s,transform .15s;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--green-600);color:#fff;box-shadow:var(--sh-2);}
.btn-primary:hover{background:var(--green-700);}
.btn-red{background:var(--red-600);color:#fff;}
.btn-red:hover{background:var(--red-700);}
.btn-ghost{border-color:var(--line);color:var(--ink);}
.btn-ghost:hover{border-color:var(--green-600);color:var(--green-700);}
.btn-light{background:#fff;color:var(--green-800);}
.btn-light:hover{background:var(--green-100);}
.btn-outline-light{border-color:rgba(255,255,255,.4);color:#fff;}
.btn-outline-light:hover{background:rgba(255,255,255,.12);}
.btn-sm{padding:.6em 1.2em;font-size:.85rem;}
.btn-block{width:100%;}

/* ---------------- header ---------------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(252,252,250,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:124px;gap:24px;}
.brand{display:flex;align-items:center;gap:.6em;}
.brand img{height:104px;width:auto;}
.brand-footer img{height:104px;width:auto;background:#fff;border-radius:10px;padding:8px 12px;}
.brand-txt{font-family:var(--f-display);font-weight:700;font-size:1.1rem;color:var(--green-800);line-height:1.05;}
.brand-txt small{display:block;font-family:var(--f-body);font-weight:600;font-size:.62rem;color:var(--red-600);letter-spacing:.18em;}
.main-nav{display:flex;align-items:center;gap:30px;}
.main-nav a{font-weight:600;font-size:.92rem;color:var(--ink-soft);position:relative;padding:.3em 0;}
.main-nav a:hover,.main-nav a.active{color:var(--green-700);}
.main-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2.5px;background:var(--red-600);border-radius:2px;}
.header-actions{display:flex;align-items:center;gap:12px;}
.nav-toggle{display:none;width:44px;height:44px;border-radius:8px;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--green-800);}

/* ---------------- swoosh motif ---------------- */
.swoosh{position:absolute;pointer-events:none;z-index:0;}
.swoosh svg{display:block;}

/* ---------------- hero ---------------- */
.hero{position:relative;overflow:hidden;background:linear-gradient(165deg,var(--green-100) 0%,var(--paper) 62%);}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:44px;align-items:center;padding-block:clamp(52px,7vw,92px);}
.hero h1{font-size:clamp(2.25rem,4.4vw,3.5rem);margin-top:18px;max-width:15ch;}
.hero .lede{margin-top:20px;max-width:48ch;font-size:1.06rem;color:var(--ink-soft);}
.hero-cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.hero-meta{display:flex;gap:clamp(20px,4vw,42px);margin-top:46px;flex-wrap:wrap;}
.hero-meta b{display:block;font-family:var(--f-display);font-size:1.75rem;color:var(--green-700);}
.hero-meta span{font-size:.83rem;color:var(--ink-soft);}
.hero-visual{position:relative;display:flex;justify-content:center;}
.hero-stage{width:min(430px,94%);aspect-ratio:1/1;position:relative;display:flex;align-items:center;justify-content:center;}
.hero-ring{position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle at 34% 26%,#fff,var(--green-100) 58%,var(--green-300) 100%);box-shadow:inset 0 -20px 46px rgba(15,43,23,.16),var(--sh-3);}
.hero-ring::after{content:"";position:absolute;inset:11%;border-radius:50%;border:1.5px dashed rgba(55,121,65,.28);}
.hero-logo{position:relative;width:64%;display:flex;align-items:center;justify-content:center;}
.hero-logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 18px rgba(15,43,23,.14));}
.float-chip{position:absolute;background:#fff;border-radius:12px;box-shadow:var(--sh-2);padding:10px 14px;display:flex;align-items:center;gap:9px;font-size:.76rem;font-weight:700;color:var(--green-800);animation:bob 6s ease-in-out infinite;}
.float-chip svg{width:17px;height:17px;color:var(--red-600);flex:none;}
.chip-a{top:4%;left:-5%;}
.chip-b{bottom:8%;right:-6%;animation-delay:1.4s;}
.chip-c{top:24%;right:-8%;animation-delay:.7s;}
.chip-d{bottom:26%;left:-8%;animation-delay:2.1s;}
@media (max-width:600px){.chip-c{right:-2%;}.chip-d{left:-2%;}}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-11px);}}
@media (prefers-reduced-motion:reduce){.float-chip{animation:none;}}

/* ---------------- CSS product visuals ---------------- */
.pv-stage{width:100%;aspect-ratio:1/1;position:relative;overflow:hidden;background:radial-gradient(120% 100% at 30% 14%,var(--green-100),var(--paper) 72%);}
.pv-stage::after{content:"";position:absolute;left:12%;right:12%;bottom:9%;height:12%;background:radial-gradient(ellipse at center,rgba(15,43,23,.16),transparent 70%);filter:blur(2px);}
.pv{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;}

/* cosmetic jar */
.pv-jar{width:52%;height:40%;position:relative;}
.pv-jar .lid{position:absolute;top:0;left:0;right:0;height:38%;border-radius:12px 12px 4px 4px;background:linear-gradient(150deg,var(--green-500),var(--green-800));box-shadow:var(--sh-1);}
.pv-jar .pot{position:absolute;top:34%;left:4%;right:4%;bottom:0;border-radius:4px 4px 16px 16px;background:linear-gradient(150deg,#fff,var(--green-100) 60%,var(--green-300));box-shadow:inset -8px -10px 20px rgba(38,90,49,.2),inset 6px 8px 14px rgba(255,255,255,.8),var(--sh-2);}
.pv-jar .band{position:absolute;bottom:24%;left:16%;right:16%;height:14%;background:var(--red-600);border-radius:3px;}

/* tube */
.pv-tube{width:26%;height:76%;position:relative;}
.pv-tube .cap{position:absolute;bottom:0;left:26%;width:48%;height:13%;border-radius:3px 3px 6px 6px;background:linear-gradient(150deg,var(--red-400),var(--red-800));}
.pv-tube .body{position:absolute;top:0;left:0;right:0;bottom:11%;border-radius:26px 26px 6px 6px;background:linear-gradient(120deg,#fff,var(--green-100) 55%,var(--green-300));box-shadow:inset -7px -8px 18px rgba(38,90,49,.2),inset 5px 6px 12px rgba(255,255,255,.85),var(--sh-2);}
.pv-tube .label{position:absolute;top:26%;left:10%;right:10%;height:34%;background:linear-gradient(150deg,var(--green-600),var(--green-800));border-radius:4px;}

/* bottle */
.pv-bottle{width:38%;height:78%;position:relative;}
.pv-bottle .cap{position:absolute;top:0;left:50%;transform:translateX(-50%);width:44%;height:13%;border-radius:5px 5px 3px 3px;background:linear-gradient(150deg,var(--green-700),var(--green-900));}
.pv-bottle .neck{position:absolute;top:10%;left:50%;transform:translateX(-50%);width:24%;height:8%;background:linear-gradient(140deg,#fff,var(--green-100));}
.pv-bottle .body{position:absolute;top:16%;left:0;right:0;bottom:0;border-radius:16px 16px 20px 20px;background:linear-gradient(150deg,#fff,var(--green-100) 55%,var(--green-300));box-shadow:inset -10px -13px 24px rgba(38,90,49,.2),inset 7px 9px 16px rgba(255,255,255,.8),var(--sh-2);}
.pv-bottle .label{position:absolute;left:9%;right:9%;top:38%;height:34%;background:linear-gradient(150deg,var(--green-600),var(--green-800));border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;}
.pv-bottle .label i{width:58%;height:3px;background:rgba(255,255,255,.8);border-radius:2px;display:block;}
.pv-bottle .label i:last-child{width:34%;background:var(--red-400);}
.pv-bottle .shine{position:absolute;top:22%;left:13%;width:13%;height:52%;background:rgba(255,255,255,.6);border-radius:50%;filter:blur(3px);}

/* blister */
.pv-blister{width:68%;height:54%;display:grid;grid-template-columns:repeat(4,1fr);gap:8%;position:relative;transform:rotate(-6deg);}
.pv-blister::before{content:"";position:absolute;inset:-11% -8%;background:linear-gradient(160deg,#f6faf6,#dcebde);border-radius:12px;box-shadow:var(--sh-2);z-index:0;}
.pv-pill{position:relative;z-index:1;border-radius:50%;background:radial-gradient(circle at 34% 28%,#fff,var(--green-300) 68%,var(--green-600));box-shadow:inset -4px -5px 8px rgba(15,43,23,.28),inset 3px 4px 6px rgba(255,255,255,.85);}

/* syringe */
.pv-syringe{width:78%;height:22%;position:relative;transform:rotate(-24deg);}
.pv-syringe .barrel{position:absolute;left:14%;right:20%;top:0;bottom:0;border-radius:4px;background:linear-gradient(180deg,#fff,var(--green-100) 60%,var(--green-300));box-shadow:inset 0 -6px 12px rgba(38,90,49,.2),var(--sh-1);}
.pv-syringe .fluid{position:absolute;left:16%;width:34%;top:22%;bottom:22%;background:var(--green-500);border-radius:2px;}
.pv-syringe .plunger{position:absolute;left:0;width:16%;top:24%;bottom:24%;background:linear-gradient(150deg,var(--red-400),var(--red-700));border-radius:3px;}
.pv-syringe .needle{position:absolute;right:0;width:20%;top:44%;height:12%;background:linear-gradient(90deg,var(--green-800),#9aa79c);border-radius:1px;}

/* glove / disposable box */
.pv-box{width:54%;height:68%;position:relative;transform:perspective(640px) rotateY(-17deg) rotateX(4deg);}
.pv-box .face{position:absolute;inset:0;border-radius:7px;background:linear-gradient(160deg,var(--green-600),var(--green-800));box-shadow:var(--sh-2);}
.pv-box .side{position:absolute;top:0;right:-13%;width:13%;height:100%;background:linear-gradient(180deg,var(--green-900),#08190d);border-radius:0 5px 5px 0;}
.pv-box .band{position:absolute;left:9%;right:9%;top:19%;height:18%;background:#fff;border-radius:3px;}
.pv-box .dot{position:absolute;left:50%;top:60%;transform:translate(-50%,-50%);width:26%;height:26%;border-radius:50%;background:var(--red-600);}

/* sachet / strip */
.pv-sachet{width:56%;height:62%;position:relative;transform:rotate(4deg);}
.pv-sachet .face{position:absolute;inset:0;border-radius:6px;background:linear-gradient(155deg,#fff,var(--green-100) 55%,var(--green-300));box-shadow:var(--sh-2);}
.pv-sachet .stripe{position:absolute;left:0;right:0;top:34%;height:16%;background:var(--red-600);}
.pv-sachet .stripe.two{top:56%;height:8%;background:var(--green-700);}
.pv-sachet .zig{position:absolute;left:0;right:0;top:-4%;height:8%;background:repeating-linear-gradient(90deg,var(--green-700) 0 6px,transparent 6px 12px);}

/* ---------------- sections ---------------- */
.section{padding-block:clamp(56px,8vw,100px);position:relative;}
.section-alt{background:var(--green-100);}
.section-dark{background:var(--green-900);color:var(--green-150);}
.section-dark h2,.section-dark h3,.section-dark h4{color:#fff;}
.section-dark p{color:#c9dccd;}
.section-head{max-width:660px;margin-bottom:46px;}
.section-head h2{font-size:clamp(1.75rem,2.9vw,2.4rem);margin-top:14px;}
.section-head p{margin-top:14px;color:var(--ink-soft);}
.section-head.center{margin-inline:auto;text-align:center;}
.section-head.center .eyebrow{justify-content:center;}

/* divisions */
.div-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.div-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s,border-color .2s;}
.div-card:hover{box-shadow:var(--sh-2);transform:translateY(-4px);border-color:var(--green-300);}
.div-card .pv-stage{border-bottom:1px solid var(--line);}
.div-body{padding:22px;display:flex;flex-direction:column;gap:9px;flex:1;}
.div-body h3{font-size:1.08rem;}
.div-body p{font-size:.88rem;color:var(--ink-soft);}
.div-list{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;}
.div-list span{font-size:.72rem;font-weight:600;background:var(--green-100);color:var(--green-800);padding:.3em .65em;border-radius:4px;}
.div-link{margin-top:auto;padding-top:14px;font-size:.86rem;font-weight:700;color:var(--red-600);}
.div-link:hover{color:var(--red-700);}

/* feature rail */
.rail{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.rail.rail-2{grid-template-columns:repeat(2,1fr);}
.rail.rail-4{grid-template-columns:repeat(4,1fr);}
.rail-item{background:#fff;border:1px solid var(--line);border-left:4px solid var(--green-600);border-radius:0 var(--r-md) var(--r-md) 0;padding:26px;}
.rail-item:nth-child(2){border-left-color:var(--red-600);}
.rail-item h4{font-size:1rem;margin-bottom:8px;}
.rail-item p{font-size:.88rem;color:var(--ink-soft);}

/* stats */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;}
.stat-cell{background:#fff;padding:30px 22px;text-align:center;}
.stat-cell b{display:block;font-family:var(--f-display);font-size:2.1rem;color:var(--green-700);line-height:1;}
.stat-cell span{font-size:.82rem;color:var(--ink-soft);display:block;margin-top:8px;}
.section-dark .stat-cell{background:transparent;}
.section-dark .stat-band{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.14);}
.section-dark .stat-cell b{color:#fff;}
.section-dark .stat-cell span{color:#c9dccd;}

/* certifications */
.cert-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.cert{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:24px 14px;text-align:center;}
.cert .ic{width:44px;height:44px;margin:0 auto 12px;border-radius:10px;background:var(--green-100);color:var(--green-700);display:flex;align-items:center;justify-content:center;}
.cert b{display:block;font-family:var(--f-display);font-size:.92rem;color:var(--green-900);}
.cert span{font-size:.76rem;color:var(--ink-soft);}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.split-media{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;background:linear-gradient(160deg,var(--green-600),var(--green-900));}
.split-media .inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.split-media.has-photo{aspect-ratio:auto;background:none;height:auto;padding-top:0;}
.split-media.has-photo img{display:block;width:100%;height:auto;}
.check-list li{display:flex;gap:12px;align-items:flex-start;margin-top:14px;font-size:.92rem;color:var(--ink-soft);}
.check-list svg{flex:none;width:20px;height:20px;color:var(--green-600);margin-top:2px;}
.section-dark .check-list li{color:#c9dccd;}
.section-dark .check-list svg{color:var(--green-400);}

/* product range table */
.range-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;}
.range-tab{padding:.65em 1.3em;border-radius:6px;border:1.5px solid var(--line);background:#fff;font-weight:600;font-size:.88rem;color:var(--ink-soft);}
.range-tab.active{background:var(--green-600);border-color:var(--green-600);color:#fff;}
.range-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.range-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;display:flex;gap:0;flex-direction:column;}
.range-card .pv-stage{aspect-ratio:16/10;border-bottom:1px solid var(--line);}
.range-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.range-body .tag{font-size:.7rem;font-weight:700;color:var(--red-600);letter-spacing:.05em;}
.range-body h3{font-size:1rem;}
.range-body p{font-size:.85rem;color:var(--ink-soft);}
.range-foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;}
.range-foot .pack{font-size:.78rem;color:var(--ink-soft);}

/* timeline */
.timeline{margin-top:36px;padding-left:28px;border-left:2px solid var(--green-300);}
.tl{position:relative;padding-bottom:32px;}
.tl::before{content:"";position:absolute;left:-35px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--green-600);border:3px solid var(--green-100);}
.tl b{display:block;font-family:var(--f-display);color:var(--green-800);}
.tl p{font-size:.9rem;color:var(--ink-soft);}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.team-card{text-align:center;}
.team-photo{aspect-ratio:1/1;border-radius:var(--r-md);background:linear-gradient(155deg,var(--green-300),var(--green-700));margin-bottom:14px;}
.team-card b{display:block;font-family:var(--f-display);}
.team-card span{font-size:.82rem;color:var(--ink-soft);}

/* cta band */
.cta-band{background:linear-gradient(135deg,var(--green-700),var(--green-900));border-radius:var(--r-lg);padding:clamp(32px,5vw,56px);display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;position:relative;overflow:hidden;}
.cta-band h3{color:#fff;font-size:1.55rem;max-width:22ch;}
.cta-band p{color:#c9dccd;margin-top:10px;max-width:44ch;}
.cta-band .acts{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1;}
.cta-band .txt{position:relative;z-index:1;}

/* page hero */
.page-hero{background:linear-gradient(170deg,var(--green-100),var(--paper));padding-block:56px 26px;position:relative;overflow:hidden;}
.page-hero .wrap{position:relative;z-index:1;}
.page-hero h1{font-size:clamp(1.9rem,3.5vw,2.7rem);margin-top:14px;max-width:20ch;}
.crumb{font-size:.84rem;color:var(--ink-soft);margin-top:12px;}
.crumb a:hover{color:var(--green-700);}

/* contact */
.contact-lead{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;}
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px;}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:26px;display:flex;flex-direction:column;gap:6px;}
.contact-card .ic{width:44px;height:44px;border-radius:10px;background:var(--green-100);color:var(--green-700);display:flex;align-items:center;justify-content:center;margin-bottom:8px;}
.contact-card b{font-family:var(--f-display);font-size:.98rem;color:var(--green-900);}
.contact-card span,.contact-card a{font-size:.9rem;color:var(--ink-soft);overflow-wrap:anywhere;}
.contact-card a:hover{color:var(--green-700);}
.info-card{background:var(--green-900);color:#fff;border-radius:var(--r-lg);padding:36px;position:relative;overflow:hidden;}
.info-card h3{color:#fff;font-size:1.4rem;margin-top:10px;}
.info-card p{color:#c9dccd;margin-top:12px;font-size:.94rem;}
.info-card .acts{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;position:relative;z-index:1;}
.info-card .txt{position:relative;z-index:1;}
.map-box{border-radius:var(--r-lg);aspect-ratio:16/6;margin-top:52px;background:linear-gradient(120deg,var(--green-100),var(--green-300));display:flex;align-items:center;justify-content:center;color:var(--green-800);font-weight:700;text-align:center;padding:20px;}
.form-note{font-size:.82rem;color:var(--ink-soft);margin-top:12px;}

/* footer */
.site-footer{background:var(--green-900);color:#c9dccd;padding-top:62px;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.13);}
.footer-grid h5{color:#fff;font-family:var(--f-display);font-size:.92rem;margin-bottom:16px;}
.footer-grid li{margin-bottom:10px;font-size:.87rem;}
.footer-grid a:hover{color:#fff;}
.foot-brand p{margin-top:14px;max-width:34ch;font-size:.87rem;}
.foot-brand .brand-txt{color:#fff;}
.social-row{display:flex;gap:10px;margin-top:18px;}
.social-row a{width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;}
.social-row a:hover{background:rgba(255,255,255,.1);}
.foot-bottom{display:flex;justify-content:space-between;padding-block:22px;font-size:.79rem;flex-wrap:wrap;gap:10px;}

.disclaimer{background:var(--red-100);border-left:4px solid var(--red-600);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:18px 22px;font-size:.86rem;color:var(--ink-soft);}
.disclaimer b{color:var(--red-800);}

/* aspect-ratio fallback for older browsers */
@supports not (aspect-ratio: 1 / 1){
  .pv-stage,.hero-stage,.split-media,.team-photo,.map-box{position:relative;height:0;}
  .pv-stage,.hero-stage,.team-photo{padding-top:100%;}
  .range-card .pv-stage{padding-top:62.5%;}
  .split-media{padding-top:75%;}
  .map-box{padding-top:37.5%;display:block;}
  .pv-stage > .pv,.hero-stage > *{position:absolute;top:0;left:0;right:0;bottom:0;}
}

/* ---------------- responsive ---------------- */
@media (max-width:1080px){
  .div-grid{grid-template-columns:repeat(2,1fr);}
  .cert-row{grid-template-columns:repeat(3,1fr);}
  .range-grid{grid-template-columns:repeat(2,1fr);}
  .rail.rail-4{grid-template-columns:repeat(2,1fr);}
  .contact-cards{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .main-nav{display:none;}
  .main-nav.open{display:flex;position:absolute;top:124px;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--sh-2);padding:6px clamp(20px,4vw,48px) 18px;}
  .main-nav.open a{padding:.8em 0;border-bottom:1px solid var(--line);width:100%;}
  .main-nav.open a.active::after{display:none;}
  .nav-toggle{display:flex;}
  .hero .wrap{grid-template-columns:1fr;}
  .hero-visual{order:-1;}
  .split{grid-template-columns:1fr;gap:34px;}
  .rail,.rail.rail-2,.rail.rail-4{grid-template-columns:1fr;}
  .stat-band{grid-template-columns:1fr 1fr;}
  .contact-lead{grid-template-columns:1fr;gap:30px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .team-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .div-grid{grid-template-columns:1fr;}
  .cert-row{grid-template-columns:1fr 1fr;}
  .range-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .contact-cards{grid-template-columns:1fr;}
  .cta-band{flex-direction:column;align-items:flex-start;}
  .hero-meta{gap:22px;}
  .site-header .wrap{height:96px;}
  .brand img{height:76px;}
  .brand-footer img{height:88px;}
  .main-nav.open{top:96px;}
}

.credit a{color:#fff;font-weight:600;border-bottom:1px solid rgba(255,255,255,.35);}
.credit a:hover{border-bottom-color:#fff;}
.credit .heart{color:var(--red-400);}

/* =========================================================
   CMS additions — dynamic pages & components
   ========================================================= */
.skip-link{position:absolute;left:-999px;top:8px;z-index:100;background:var(--green-700);color:#fff;padding:.6em 1em;border-radius:6px;}
.skip-link:focus{left:12px;}
.muted{color:var(--ink-soft);}
.icon-btn{width:42px;height:42px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--green-800);transition:background .18s,border-color .18s,color .18s;}
.icon-btn:hover{border-color:var(--green-400);}
.wa-color{color:#1faa53;}
.wa-color:hover{background:#e8f8ee;border-color:#9fe0b6;}
.btn svg{flex:none;}
.btn-wa{background:#1faa53;color:#fff;}
.btn-wa:hover{background:#178a43;}

/* nav dropdown */
.nav-drop{position:relative;}
.nav-drop > a{display:inline-flex;align-items:center;gap:4px;}
.nav-drop .caret{transition:transform .2s;}
.nav-menu{position:absolute;top:calc(100% + 14px);left:-18px;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-3);padding:8px;display:none;flex-direction:column;z-index:70;}
.nav-menu::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px;}
.nav-menu a{display:flex;align-items:center;gap:10px;padding:.62em .8em !important;border-radius:8px;font-size:.88rem;color:var(--ink);}
.nav-menu a:hover{background:var(--green-100);color:var(--green-800);}
.nav-menu a::after{display:none !important;}
.nav-menu svg{color:var(--green-600);}
.nav-menu .dot{width:10px;height:10px;border-radius:50%;flex:none;margin-inline:3px;}
.nav-drop:hover .nav-menu,.nav-drop:focus-within .nav-menu{display:flex;}
.nav-drop:hover .caret{transform:rotate(180deg);}

/* product photos inside the illustration frame */
.pv-stage.has-photo{background:#fff;display:flex;align-items:center;justify-content:center;}
.pv-stage.has-photo::after{display:none;}
.pv-stage.has-photo img{width:100%;height:100%;object-fit:contain;padding:6%;}

/* product cards */
.product-card{transition:box-shadow .2s,transform .2s,border-color .2s;}
.product-card:hover{box-shadow:var(--sh-2);transform:translateY(-3px);border-color:var(--green-300);}
.card-media{display:block;}
.card-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.product-card h3 a:hover{color:var(--green-600);}
.product-card .composition{font-size:.82rem;color:var(--ink-soft);}
.card-meta{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--ink-soft);}
.card-meta svg{color:var(--green-500);flex:none;}
.mrp{font-family:var(--f-display);font-weight:700;font-size:1.08rem;color:var(--green-800);}
.mrp small{font-family:var(--f-body);font-size:.66rem;font-weight:700;color:var(--ink-soft);letter-spacing:.06em;margin-right:2px;}
.mrp.muted{font-size:.8rem;font-weight:600;color:var(--ink-soft);}
.rx-badge{font-size:.66rem;font-weight:800;color:var(--red-700);background:var(--red-100);border:1px solid var(--red-200);padding:.12em .5em;border-radius:4px;letter-spacing:.04em;}

/* filters */
.filter-bar{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr auto;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:14px;margin-bottom:22px;box-shadow:var(--sh-1);}
.input-ic{position:relative;}
.input-ic svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ink-soft);pointer-events:none;}
.input-ic input{padding-left:40px;}
.field-ctl,.filter-bar input,.filter-bar select{width:100%;height:46px;border:1.5px solid var(--line);border-radius:8px;padding:0 14px;font:inherit;font-size:.9rem;background:#fff;color:var(--ink);}
.filter-bar select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2355605a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;}
.filter-bar input:focus,.filter-bar select:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px var(--green-100);}
.range-tabs a.range-tab{display:inline-flex;align-items:center;gap:8px;}
.range-tabs a.range-tab:hover{border-color:var(--green-400);color:var(--green-700);}
.range-tabs a.range-tab.active:hover{color:#fff;}
.result-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px;font-size:.9rem;color:var(--ink-soft);}
.result-row a{color:var(--red-600);font-weight:600;}
.empty-state{text-align:center;padding:60px 20px;border:1.5px dashed var(--line);border-radius:var(--r-md);background:#fff;color:var(--ink-soft);}
.empty-state svg{color:var(--green-400);margin-bottom:12px;}
.empty-state h3{margin-bottom:6px;}

.pager{display:flex;justify-content:center;gap:6px;margin-top:38px;flex-wrap:wrap;}
.pager a,.pager span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1.5px solid var(--line);background:#fff;font-weight:600;font-size:.88rem;padding:0 10px;}
.pager a:hover{border-color:var(--green-500);color:var(--green-700);}
.pager .current{background:var(--green-600);border-color:var(--green-600);color:#fff;}
.pager .gap{border:none;background:none;}

/* product detail */
.pd-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:52px;align-items:start;}
.pd-media{position:sticky;top:148px;}
.pd-media .pv-stage{border-radius:var(--r-lg);border:1px solid var(--line);}
.pd-media .pd-code{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.8rem;color:var(--ink-soft);}
.pd-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.pill-tag{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;padding:.35em .8em;border-radius:999px;background:var(--green-100);color:var(--green-800);}
.pill-tag.accent{color:#fff;}
.pd-info h1{font-size:clamp(1.8rem,3.2vw,2.5rem);margin-top:14px;}
.pd-composition{margin-top:14px;font-size:1rem;color:var(--ink-soft);}
.pd-composition b{color:var(--ink);font-weight:600;}
.pd-mrp{margin-top:24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 22px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--green-100),#fff);border:1px solid var(--green-150);}
.pd-mrp .price{font-family:var(--f-display);font-weight:800;font-size:2rem;color:var(--green-800);line-height:1;}
.pd-mrp .price small{font-family:var(--f-body);font-size:.72rem;font-weight:700;color:var(--ink-soft);letter-spacing:.08em;display:block;margin-bottom:6px;}
.pd-mrp .note{font-size:.82rem;color:var(--ink-soft);}
.pd-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;}
.spec-table{width:100%;border-collapse:collapse;margin-top:26px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#fff;}
.spec-table th,.spec-table td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:top;}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:none;}
.spec-table th{width:38%;background:#f7faf6;color:var(--ink-soft);font-weight:600;}
.spec-table th span{display:inline-flex;align-items:center;gap:8px;}
.spec-table th svg{color:var(--green-600);}
.spec-table td a{color:var(--green-700);font-weight:600;}
.spec-table td a:hover{text-decoration:underline;}
.pd-section{margin-top:34px;}
.pd-section h2{font-size:1.2rem;display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.pd-section h2 svg{color:var(--red-600);}
.pd-section p + p{margin-top:10px;}
.pd-section p{color:var(--ink-soft);}
.indication-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.indication-list li{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:.9rem;}
.indication-list svg{color:var(--green-600);flex:none;margin-top:2px;}
.brochure-box{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:var(--r-md);border:1.5px dashed var(--green-300);background:#fff;}
.brochure-box .ic{width:48px;height:48px;border-radius:12px;background:var(--red-100);color:var(--red-600);display:flex;align-items:center;justify-content:center;flex:none;}
.brochure-box b{display:block;font-family:var(--f-display);color:var(--green-900);}
.brochure-box span{font-size:.82rem;color:var(--ink-soft);}
.brochure-box .btn{margin-left:auto;}
.share-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);font-size:.85rem;color:var(--ink-soft);}
.share-row .icon-btn{width:38px;height:38px;}
.rx-note{margin-top:16px;display:flex;gap:10px;align-items:flex-start;font-size:.84rem;color:var(--red-800);background:var(--red-100);border-radius:10px;padding:12px 14px;}
.rx-note svg{flex:none;margin-top:2px;}
.copied{color:var(--green-700) !important;border-color:var(--green-400) !important;}

/* reach counter */
.reach{display:flex;align-items:center;gap:28px;background:linear-gradient(120deg,var(--green-700),var(--green-900));color:#fff;border-radius:var(--r-lg);padding:clamp(28px,4vw,44px) clamp(24px,4vw,52px);position:relative;overflow:hidden;box-shadow:var(--sh-3);}
.reach::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%);}
.reach-ic{width:74px;height:74px;border-radius:20px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex:none;color:#fff;}
.reach-num{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(2.4rem,5.4vw,4rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;}
.reach-label{display:block;font-size:1.05rem;font-weight:600;margin-top:8px;color:var(--green-150);}
.reach-src{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:.78rem;color:#a9c7af;}
.reach-src svg{flex:none;}

/* testimonials */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.testi-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:30px 28px 24px;display:flex;flex-direction:column;position:relative;overflow:hidden;}
.testi-card::before{content:"";position:absolute;right:-18px;bottom:-18px;width:96px;height:96px;opacity:.06;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6v6h6v6h-6v6H9v-6H3V9h6z' fill='%23377941'/%3E%3C/svg%3E");}
.testi-mark{width:46px;height:46px;border-radius:12px;background:var(--green-100);color:var(--green-600);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.testi-card blockquote{margin:0;font-size:1rem;line-height:1.65;color:var(--ink);flex:1;}
.testi-card blockquote::before{content:"\201C";}
.testi-card blockquote::after{content:"\201D";}
.testi-card figcaption{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);}
.testi-ic{width:34px;height:34px;border-radius:50%;background:var(--red-100);color:var(--red-600);display:flex;align-items:center;justify-content:center;flex:none;}
.testi-card figcaption b{display:block;font-family:var(--f-display);color:var(--green-900);font-size:.95rem;}
.testi-card figcaption b::before{content:"— ";color:var(--red-600);}
.testi-card figcaption small{display:block;font-size:.8rem;color:var(--ink-soft);}

/* news */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.news-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;}
.news-card:hover{box-shadow:var(--sh-2);transform:translateY(-3px);}
.news-media{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,var(--green-100),var(--green-150));color:var(--green-600);overflow:hidden;}
.news-media img{width:100%;height:100%;object-fit:cover;}
.news-media.type-launch,.news-media.type-certification{background:linear-gradient(140deg,var(--red-100),#fff5f5);color:var(--red-600);}
.news-ic{width:72px;height:72px;border-radius:20px;background:#fff;box-shadow:var(--sh-2);display:flex;align-items:center;justify-content:center;}
.news-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.news-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.76rem;color:var(--ink-soft);}
.news-type{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--red-600);}
.news-body h3{font-size:1.08rem;}
.news-body h3 a:hover{color:var(--green-600);}
.news-body p{font-size:.88rem;color:var(--ink-soft);}
.news-body .div-link{display:inline-flex;align-items:center;gap:6px;}
.news-article{max-width:780px;margin-inline:auto;}
.news-article .cover{border-radius:var(--r-lg);overflow:hidden;margin-bottom:30px;}
.news-article .body p{margin-top:16px;font-size:1.02rem;color:var(--ink);}
.news-article .body p:first-child{margin-top:0;}

/* division pages */
.div-hero{background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 14%,#fff),var(--paper) 70%);}
.div-hero .eyebrow{color:var(--accent);}
.div-hero .eyebrow::before{background:var(--accent);}
.div-hero-in{display:flex;align-items:center;gap:28px;}
.div-hero-in > div{flex:1;min-width:0;}
.div-hero-logo{flex:none;width:150px;height:150px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:14px;box-shadow:var(--sh-1, 0 2px 8px rgba(15,43,23,.06));}
@media (max-width:600px){.div-hero-in{flex-direction:column-reverse;align-items:flex-start;gap:18px;}.div-hero-logo{width:96px;height:96px;padding:10px;}}
.div-card .div-link{display:inline-flex;align-items:center;gap:6px;}
.div-count{font-size:.76rem;color:var(--ink-soft);font-weight:600;}

/* catalogues */
.cat-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.cat-item{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;transition:border-color .2s,box-shadow .2s;}
.cat-item:hover{border-color:var(--green-300);box-shadow:var(--sh-2);}
.cat-item .ic{width:50px;height:50px;border-radius:12px;background:var(--red-100);color:var(--red-600);display:flex;align-items:center;justify-content:center;flex:none;}
.cat-item b{display:block;font-family:var(--f-display);color:var(--green-900);}
.cat-item span{font-size:.8rem;color:var(--ink-soft);}
.cat-item .btn{margin-left:auto;flex:none;}
.cat-group + .cat-group{margin-top:40px;}
.cat-group h3{font-size:1.15rem;margin-bottom:16px;display:flex;align-items:center;gap:10px;}

/* forms & alerts */
.enquiry-form{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,4vw,36px);box-shadow:var(--sh-1);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-grid .full{grid-column:1/-1;}
.fld label{display:block;font-size:.82rem;font-weight:600;margin-bottom:6px;color:var(--ink);}
.fld input,.fld select,.fld textarea{width:100%;border:1.5px solid var(--line);border-radius:8px;padding:12px 14px;font:inherit;font-size:.92rem;background:#fff;color:var(--ink);}
.fld textarea{min-height:130px;resize:vertical;}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px var(--green-100);}
.hp-field{position:absolute;left:-9999px;}
.alert{display:flex;gap:10px;align-items:flex-start;border-radius:10px;padding:14px 16px;font-size:.9rem;margin-bottom:18px;}
.alert svg{flex:none;margin-top:2px;}
.alert-success{background:var(--green-100);color:var(--green-800);border:1px solid var(--green-150);}
.alert-error{background:var(--red-100);color:var(--red-800);border:1px solid var(--red-200);}
.map-frame{margin-top:52px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/6;}
.map-frame iframe{width:100%;height:100%;border:0;display:block;}

/* footer contact list */
.foot-contact li{display:flex;gap:10px;align-items:flex-start;}
.foot-contact svg{flex:none;margin-top:3px;color:var(--green-400);}

/* floating WhatsApp */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;align-items:center;gap:10px;background:#1faa53;color:#fff;border-radius:999px;padding:12px;box-shadow:0 12px 30px -8px rgba(15,80,40,.55);transition:transform .2s,background .2s,padding .2s;}
.wa-float:hover{background:#178a43;transform:translateY(-2px);}
.wa-float-txt{font-weight:700;font-size:.9rem;max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .3s ease,padding .3s;}
.wa-float:hover .wa-float-txt,.wa-float:focus-visible .wa-float-txt{max-width:140px;padding-right:6px;}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(31,170,83,.5);animation:wa-pulse 2.6s infinite;}
@keyframes wa-pulse{0%{box-shadow:0 0 0 0 rgba(31,170,83,.45);}70%{box-shadow:0 0 0 16px rgba(31,170,83,0);}100%{box-shadow:0 0 0 0 rgba(31,170,83,0);}}
@media (prefers-reduced-motion:reduce){.wa-float::before{animation:none;}}

.stat-cell b{font-variant-numeric:tabular-nums;}
.center-cta{text-align:center;margin-top:36px;}
.error-page{text-align:center;padding-block:100px;}
.error-page .code{font-family:var(--f-display);font-size:5rem;font-weight:800;color:var(--green-150);line-height:1;}

@media (max-width:1080px){
  .filter-bar{grid-template-columns:1fr 1fr 1fr;}
  .filter-bar .input-ic{grid-column:1/-1;}
  .testi-grid,.news-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .nav-drop{width:100%;}
  .nav-drop .nav-menu{display:flex;position:static;box-shadow:none;border:none;padding:0 0 6px 12px;min-width:0;}
  .nav-drop .nav-menu a{border-bottom:none !important;padding:.55em .4em !important;}
  .nav-drop .caret{display:none;}
  .main-nav.open{max-height:calc(100vh - 124px);overflow:auto;}
  .pd-grid{grid-template-columns:1fr;gap:30px;}
  .pd-media{position:static;max-width:520px;}
  .cat-list{grid-template-columns:1fr;}
  .reach{flex-direction:column;align-items:flex-start;gap:18px;}
}
@media (max-width:600px){
  .hide-sm{display:none;}
  .filter-bar{grid-template-columns:1fr;}
  .testi-grid,.news-grid{grid-template-columns:1fr;}
  .indication-list{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .spec-table th,.spec-table td{padding:11px 12px;display:block;width:100%;}
  .spec-table th{border-bottom:none;padding-bottom:2px;background:#fff;font-size:.78rem;}
  .brochure-box{flex-wrap:wrap;}
  .brochure-box .btn{margin-left:0;width:100%;}
  .cat-item{flex-wrap:wrap;}
  .cat-item .btn{margin-left:0;width:100%;}
  .wa-float{right:16px;bottom:16px;}
  .map-frame{aspect-ratio:4/3;}
  .main-nav.open{max-height:calc(100vh - 96px);}
  .range-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;}
  .range-tabs .range-tab{white-space:nowrap;}
}

/* divisions grid adapts to any number of divisions (future expansion) */
.div-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
@media (max-width:600px){.div-grid{grid-template-columns:1fr;}}
.pd-grid > *,.split > *,.hero .wrap > *,.contact-lead > *{min-width:0;}
.pd-info h1,.crumb{overflow-wrap:anywhere;}

/* contact form captcha */
.captcha-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.captcha-row img{border-radius:8px;border:1.5px solid var(--line);background:#f6faf6;width:190px;height:62px;}
.captcha-row input{flex:1;min-width:140px;height:50px;font-size:1.1rem !important;font-weight:700;letter-spacing:.25em;text-transform:uppercase;}
.captcha-row .icon-btn{height:50px;width:46px;}
.captcha-row .icon-btn.spin svg{animation:hb-spin .6s linear;}
@keyframes hb-spin{to{transform:rotate(360deg);}}
.enquiry-form .fld input:invalid:not(:placeholder-shown),.enquiry-form .fld textarea:invalid:not(:placeholder-shown){border-color:var(--red-400);}

/* brand logos (products page, "All divisions") */
.brand-intro{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin:6px 0 22px;}
.brand-intro p{margin:0;color:var(--ink-soft);font-size:.92rem;}
.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.brand-tile{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:30px 26px 18px;display:flex;flex-direction:column;align-items:center;gap:18px;transition:box-shadow .2s,transform .2s,border-color .2s;}
.brand-tile:hover{box-shadow:var(--sh-2);transform:translateY(-4px);border-color:var(--green-300);}
.brand-tile img{width:100%;height:110px;object-fit:contain;}
a.brand-tile{color:inherit;text-decoration:none;}
.brand-active{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:12px 16px;margin-bottom:18px;}
.brand-active img{height:44px;width:auto;max-width:160px;object-fit:contain;}
.brand-active span{flex:1;color:var(--ink-soft);}
.brand-active a{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.88rem;color:var(--green-700);}
.brand-tile figcaption,.brand-tile .cap{font-size:.8rem;font-weight:700;color:var(--ink-soft);letter-spacing:.02em;border-top:1px solid var(--line);padding-top:12px;width:100%;text-align:center;}
@media (max-width:1080px){.brand-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.brand-grid{grid-template-columns:1fr;}.brand-tile img{height:90px;}}

/* presence map (homepage) */
.presence-title{font-size:clamp(1.75rem,2.9vw,2.4rem);margin-top:14px;}
.presence-lede{margin-top:14px;color:var(--ink-soft);max-width:46ch;}
.presence-list{list-style:none;padding:0;margin:24px 0 30px;display:flex;flex-wrap:wrap;gap:10px;}
.presence-list li{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.5em 1.1em .5em .8em;font-weight:600;font-size:.92rem;color:var(--green-800);box-shadow:var(--sh-1);}
.presence-list svg{color:var(--red-600);flex:none;}
.presence-map{position:relative;border-radius:var(--r-lg);background:radial-gradient(90% 80% at 40% 75%,var(--green-100),var(--paper) 75%);padding:clamp(16px,3vw,32px);}
.india-map{display:block;width:100%;max-width:470px;height:auto;margin-inline:auto;overflow:visible;}
.india-map .im-land{fill:#eef4ee;}
.india-map .im-states{fill:none;stroke:#b7cbb9;stroke-width:.8;stroke-linejoin:round;}
.india-map .im-hl{fill:var(--green-600);stroke:#fff;stroke-width:1.2;stroke-linejoin:round;transition:fill .2s;}
.india-map .im-hl:hover{fill:var(--green-700);}
.india-map .im-border{fill:none;stroke:var(--green-700);stroke-width:1.3;stroke-linejoin:round;}
.india-map .im-pin{fill:var(--red-600);pointer-events:none;filter:drop-shadow(0 2px 2px rgba(15,43,23,.35));}
.india-map .im-pulse{fill:var(--red-600);opacity:.35;transform-origin:0 0;animation:im-pulse 2.4s ease-out infinite;}
@keyframes im-pulse{0%{transform:scale(.4);opacity:.55;}100%{transform:scale(2.6);opacity:0;}}
@media (prefers-reduced-motion:reduce){.india-map .im-pulse{animation:none;}}

/* brands inside a division: second tab row, card tags, product detail */
.brand-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-14px 0 24px;padding:12px 14px;background:var(--green-100);border:1px solid var(--green-150);border-radius:var(--r-md);}
.bt-label{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--green-800);margin-right:4px;}
.bt-label svg{color:var(--green-600);}
.brand-tab{--bc:var(--green-600);display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:.35em .9em;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-weight:600;font-size:.84rem;color:var(--ink-soft);transition:border-color .15s,color .15s;}
.brand-tab:hover{border-color:var(--bc);color:var(--ink);}
.brand-tab.active{border-color:var(--bc);box-shadow:inset 0 0 0 1px var(--bc);color:var(--ink);}
.brand-tab img{height:22px;width:auto;max-width:64px;object-fit:contain;}
.bt-dot{width:10px;height:10px;border-radius:50%;background:var(--bc);flex:none;}
.bt-count{font-size:.72rem;font-weight:700;min-width:22px;padding:.1em .45em;border-radius:999px;background:var(--green-100);color:var(--green-800);text-align:center;}
.brand-tab.active .bt-count{background:var(--bc);color:#fff;}
.brand-tag{--bc:var(--green-600);display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:700;letter-spacing:.03em;color:var(--ink-soft);}
.brand-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--bc);}
.brand-active small{display:block;margin-top:2px;font-size:.82rem;}
.brand-active .ba-desc{color:var(--ink-soft);font-weight:400;}
.pd-belongs{margin:14px 0 0;display:grid;gap:8px;}
.pd-belongs > div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.pd-belongs dt{display:inline-flex;align-items:center;gap:6px;min-width:92px;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);}
.pd-belongs dt svg{color:var(--green-600);}
.pd-belongs dd{margin:0;display:flex;gap:6px;flex-wrap:wrap;}
.pd-belongs a.pill-tag:hover{filter:brightness(1.08);}
.brand-chip{--bc:var(--green-600);display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:700;padding:.25em .8em .25em .3em;border-radius:999px;border:1.5px solid var(--bc);background:#fff;color:var(--ink);}
.brand-chip:not(:has(img)){padding-left:.8em;}
.brand-chip img{height:22px;width:auto;max-width:60px;object-fit:contain;border-radius:999px;background:#fff;}
.brand-chip:hover{background:var(--green-100);}
@media (max-width:600px){
  .brand-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:-18px;}
  .brand-tab{white-space:nowrap;flex:none;}
  .bt-label{flex:none;}
}

/* product card: brand logos (two brands sit side by side in one pill) */
.card-brands{display:flex;align-items:center;gap:8px;margin-top:2px;}
.cb-label{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
.cb-logos{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 6px;}
.cb-item{--bc:var(--green-600);display:inline-flex;align-items:center;height:26px;padding:0 6px;border-radius:999px;transition:background .15s;}
.cb-item + .cb-item{border-left:1px solid var(--line);border-radius:0 999px 999px 0;}
.card-brands.multi .cb-item:first-child{border-radius:999px 0 0 999px;}
.cb-item:hover{background:var(--green-100);}
.cb-item img{height:22px;width:auto;max-width:78px;object-fit:contain;}
.card-brands.multi .cb-item img{max-width:62px;}
.cb-name{font-size:.74rem;font-weight:700;color:var(--ink);display:inline-flex;align-items:center;gap:5px;}
.cb-name::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--bc);}

/* product page: more from the same brand(s) */
.bm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px 28px;flex-wrap:wrap;margin-bottom:22px;}
.bm-head h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-top:12px;}
.bm-tabs{display:flex;gap:8px;flex-wrap:wrap;}
.bm-tab{--bc:var(--green-600);display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:.35em 1em .35em .5em;border-radius:999px;border:1.5px solid var(--line);background:#fff;font:inherit;font-weight:600;font-size:.86rem;color:var(--ink-soft);cursor:pointer;transition:border-color .15s,color .15s;}
.bm-tab:hover{border-color:var(--bc);color:var(--ink);}
.bm-tab.active{border-color:var(--bc);box-shadow:inset 0 0 0 1px var(--bc);color:var(--ink);}
.bm-tab img{height:28px;width:auto;max-width:80px;object-fit:contain;}
.bm-tab:focus-visible{outline:2px solid var(--bc);outline-offset:2px;}
.bm-panel[hidden]{display:none;}
.bm-brand{--bc:var(--green-600);display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-left:4px solid var(--bc);border-radius:var(--r-md);padding:14px 18px;margin-bottom:20px;}
.bm-brand img{height:48px;width:auto;max-width:170px;object-fit:contain;}
.bm-brand > span{flex:1;min-width:160px;}
.bm-brand b{display:block;font-size:1rem;}
.bm-brand small{display:block;color:var(--ink-soft);font-size:.84rem;margin-top:2px;}
.bm-brand a{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.88rem;color:var(--green-700);}
.bm-brand a:hover{color:var(--green-600);}
@media (max-width:600px){
  .bm-tabs{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px;}
  .bm-tab{flex:none;white-space:nowrap;}
  .bm-brand img{height:38px;}
}

/* Brand videos */
.vid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.vid-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s;}
.vid-card:hover{box-shadow:var(--sh-2);}
.vid-media{aspect-ratio:16/9;background:var(--green-900);position:relative;}
.vid-media video,.vid-media iframe{width:100%;height:100%;display:block;border:0;background:#000;object-fit:contain;}
.vid-embed{all:unset;box-sizing:border-box;position:absolute;inset:0;cursor:pointer;display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,var(--green-100),var(--green-150));}
.vid-embed:focus-visible{outline:3px solid var(--green-600);outline-offset:-3px;}
.vid-embed > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.vid-brandmark{width:46%;max-height:50%;opacity:.5;display:flex;align-items:center;justify-content:center;color:var(--green-600);}
.vid-brandmark img{max-width:100%;max-height:100%;object-fit:contain;}
.vid-play{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;background:rgba(15,43,23,.78);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px -6px rgba(0,0,0,.45);transition:background .18s,transform .18s;}
.vid-play svg{fill:currentColor;margin-left:4px;}
.vid-embed:hover .vid-play{background:var(--red-600);transform:scale(1.06);}
.vid-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.vid-body h3{font-size:1.05rem;line-height:1.25;}
.vid-body p{font-size:.88rem;color:var(--ink-soft);}
.vid-brand{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:700;color:var(--ink-soft);align-self:flex-start;}
.vid-brand:hover{color:var(--green-700);}
.vid-group{margin-top:44px;}
.vid-group:first-of-type{margin-top:28px;}
.vid-group-h{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.vid-group-h img{height:40px;width:auto;max-width:140px;object-fit:contain;}
.vid-group-h h2{font-size:1.35rem;flex:1;min-width:0;}
.vid-group-h h2 small{display:block;font-family:var(--f-body);font-size:.84rem;font-weight:500;color:var(--ink-soft);letter-spacing:0;margin-top:4px;}
.vid-group-h a{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.88rem;color:var(--green-700);}
.vid-strip{margin:4px 0 30px;}
.vid-strip-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.vid-strip-h h2{font-size:1.15rem;display:flex;align-items:center;gap:8px;}
.vid-strip-h h2 svg{color:var(--red-600);}
.vid-strip-h a{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.88rem;color:var(--green-700);}
@media (max-width:1080px){.vid-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.vid-grid{grid-template-columns:1fr;}.vid-play{width:54px;height:54px;}}
