:root{
  --paper:#F5F6F4;
  --paper-2:#EDEFEA;
  --ink:#181A17;
  --ink-soft:#4A4E48;
  --teal:#0F7C99;
  --teal-deep:#0B5A70;
  --teal-pale:#DCEAEC;
  --biochar:#221F1B;
  --biochar-2:#2E2A24;
  --amber:#BD8340;
  --line: rgba(24,26,23,0.12);
  --radius: 2px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'IBM Plex Sans', sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Space Grotesk', sans-serif;
  font-weight:600;
  margin:0 0 0.5em 0;
  letter-spacing:-0.01em;
}
.eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.75rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--teal-deep);
  margin:0 0 0.9em 0;
  display:flex;
  align-items:center;
  gap:0.6em;
}
.eyebrow::before{
  content:"";
  width:22px;
  height:1px;
  background:var(--teal);
  display:inline-block;
}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px;}
section{padding:96px 0;}

/* ---------- NAV ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(245,246,244,0.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
nav.wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:16px;padding-bottom:16px;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{height:55px;width:auto;}
.brand-text{font-family:'Space Grotesk';font-weight:600;font-size:0.95rem;letter-spacing:0.01em;line-height:1.15;}
.brand-text span{display:block;font-family:'IBM Plex Mono';font-weight:400;font-size:0.62rem;color:var(--ink-soft);letter-spacing:0.08em;}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{
  font-size:0.86rem;text-decoration:none;color:var(--ink-soft);
  font-weight:500;
  transition:color .15s ease;
}
.nav-links a:hover{color:var(--teal-deep);}
.nav-links a.active{color:var(--teal-deep);}
.nav-cta{
  background:var(--ink);color:var(--paper);
  padding:10px 18px;border-radius:var(--radius);
  font-size:0.82rem;font-weight:600;text-decoration:none;
}
.nav-links a.nav-cta,
.nav-links a.nav-cta:hover{color:#fff;}
.nav-toggle{
  display:none;background:none;border:none;cursor:pointer;padding:8px;margin:-8px;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
.nav-toggle span{
  display:block;width:22px;height:2px;background:var(--ink);border-radius:1px;
  transition:transform .2s ease, opacity .2s ease;
}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------- HERO ---------- */
.hero{padding:88px 0 40px 0;overflow:hidden;}
.hero-grid{
  display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;
}
.hero h1, .hero h2{
  font-size:clamp(2.3rem, 4vw, 3.4rem);
  line-height:1.05;
}
.hero h1 em, .hero h2 em{
  font-style:normal;color:var(--teal-deep);
}
.hero p.lead{
  font-size:1.08rem;color:var(--ink-soft);max-width:46ch;margin:20px 0 32px 0;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.btn-primary{
  background:var(--teal-deep);color:#fff;padding:14px 24px;border-radius:var(--radius);
  text-decoration:none;font-weight:600;font-size:0.92rem;
  transition:background .15s ease;
}
.btn-primary:hover{background:var(--ink);}
.btn-secondary{
  border:1px solid var(--line);padding:14px 24px;border-radius:var(--radius);
  text-decoration:none;font-weight:600;font-size:0.92rem;color:var(--ink);
}
.hero-stats{display:flex;gap:32px;margin-top:44px;padding-top:28px;border-top:1px solid var(--line);}
.hero-stats div{font-family:'IBM Plex Mono';}
.hero-stats b{display:block;font-size:1.5rem;font-family:'Space Grotesk';font-weight:600;}
.hero-stats span{font-size:0.72rem;color:var(--ink-soft);letter-spacing:0.04em;}

/* signature layered-stack graphic */
.stack-wrap{position:relative;display:flex;justify-content:center;}
.stack-svg{width:100%;max-width:400px;}
.stack-caption{
  position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);
  font-family:'IBM Plex Mono';font-size:0.68rem;color:var(--ink-soft);
  text-align:center;letter-spacing:0.04em;white-space:nowrap;
}

/* ---------- ABOUT US ---------- */
.mark-wrap{position:relative;display:flex;justify-content:center;}
.mark-svg{width:100%;max-width:380px;}
.mark-caption{
  position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);
  font-family:'IBM Plex Mono';font-size:0.68rem;color:var(--ink-soft);
  text-align:center;letter-spacing:0.04em;white-space:nowrap;
}
.band-dark{
  color:#EFEDE7;
  background-color:var(--biochar);
  background-image:linear-gradient(rgba(34,31,27,0.72), rgba(34,31,27,0.72)), url('foam-bg-01.jpeg');
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
.band-dark .eyebrow{color:#7FC4D6;}
.band-dark .eyebrow::before{background:#7FC4D6;}
.band-dark .section-head p{color:#B8B4AB;}
.info-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.12);
}
.info-card{
  background:var(--biochar);padding:32px 28px;min-height:210px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.info-card .num{font-family:'IBM Plex Mono';font-size:0.72rem;color:#7FC4D6;letter-spacing:0.08em;}
.info-card h3{font-family:'Space Grotesk';font-weight:600;font-size:1.1rem;color:#EFEDE7;margin:18px 0 8px 0;}
.info-card p{margin:0;font-size:0.92rem;color:#B8B4AB;}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.value-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;
}
.value-card .eyebrow{margin-bottom:14px;}
.value-card p{margin:0;color:var(--ink-soft);font-size:0.94rem;}
.location{
  background:var(--teal-pale);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.location .fact{margin-bottom:24px;}
.location .fact:last-child{margin-bottom:0;}
.map-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:36px;
}
.map-card .addr{font-family:'Space Grotesk';font-weight:600;font-size:1.15rem;margin-bottom:6px;}
.map-card .addr-sub{font-size:0.92rem;color:var(--ink-soft);margin-bottom:22px;}

/* ---------- SECTION HEADS ---------- */
.section-head{max-width:640px;margin-bottom:52px;}
.section-head h2{font-size:clamp(1.7rem,2.6vw,2.3rem);}
.section-head p{color:var(--ink-soft);font-size:1.02rem;max-width:56ch;}

/* ---------- TECH / SPLIT LAYOUT ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.split.reverse .split-visual{order:2;}
.pill-list{list-style:none;margin:24px 0 0 0;padding:0;display:flex;flex-direction:column;gap:10px;}
.pill-list li{
  display:flex;gap:10px;align-items:baseline;
  font-family:'IBM Plex Mono';font-size:0.82rem;color:var(--ink-soft);
}
.pill-list li::before{content:"—";color:var(--teal);flex-shrink:0;}

/* input diagram card */
.diagram-card{
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:36px;
}
.diagram-row{display:flex;align-items:center;gap:0;font-family:'IBM Plex Mono';font-size:0.78rem;}
.diagram-node{
  background:#fff;border:1px solid var(--line);padding:14px 16px;border-radius:var(--radius);
  flex:1;text-align:center;
}
.diagram-arrow{padding:0 10px;color:var(--teal);font-size:1.1rem;}

/* ---------- BENEFITS ---------- */
.benefits-band{
  color:#EFEDE7;
  background-color:var(--biochar);
  background-image:linear-gradient(rgba(34,31,27,0.72), rgba(34,31,27,0.72)), url('foam-bg-01.jpeg');
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
.benefits-band .eyebrow{color:#7FC4D6;}
.benefits-band .eyebrow::before{background:#7FC4D6;}
.benefits-band .section-head p{color:#B8B4AB;}
.benefits-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.12);
}
.benefit-card{
  background:var(--biochar);padding:32px 28px;min-height:190px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.benefit-card .num{font-family:'IBM Plex Mono';font-size:0.72rem;color:#7FC4D6;letter-spacing:0.08em;}
.benefit-card p{margin:18px 0 0 0;font-size:0.98rem;color:#EFEDE7;}
.benefit-card.center{background:var(--teal-deep);}
.benefit-card.center .num{color:#BFE4EC;}
.benefit-card.center p{font-family:'Space Grotesk';font-weight:600;font-size:1.15rem;}

/* ---------- SUSTAINABILITY ---------- */
.cycle{
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:40px;display:flex;flex-direction:column;gap:0;
}
.cycle-step{display:flex;gap:18px;padding:16px 0;}
.cycle-step:not(:last-child){border-bottom:1px dashed var(--line);}
.cycle-step .idx{
  font-family:'IBM Plex Mono';font-size:0.75rem;color:var(--teal-deep);
  width:28px;flex-shrink:0;padding-top:2px;
}
.cycle-step p{margin:0;font-size:0.95rem;color:var(--ink-soft);}
.cycle-step b{color:var(--ink);font-family:'Space Grotesk';font-weight:600;}

/* ---------- IISc PARTNERSHIP ---------- */
.partnership{
  background:var(--teal-pale);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.collab-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:center;margin-bottom:52px;}
.collab-intro .section-head{margin-bottom:0;}
.collab-lockup{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 24px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
}
.collab-lockup img{height:38px;width:auto;object-fit:contain;}
.collab-lockup .iisc-mark{display:flex;align-items:center;gap:12px;}
.collab-lockup .iisc-mark img{height:48px;width:48px;}
.collab-lockup .iisc-mark .name{font-family:'Space Grotesk';font-weight:600;font-size:0.92rem;color:var(--ink);line-height:1.3;}
.collab-lockup .iisc-mark .name span{display:block;font-family:'IBM Plex Mono';font-weight:400;font-size:0.66rem;color:var(--ink-soft);letter-spacing:0.04em;margin-top:2px;}
.collab-x{
  font-family:'Space Grotesk';font-weight:500;font-size:1.1rem;color:var(--teal);
  flex-shrink:0;
}
.partner-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start;}
.quote-block{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:36px 40px;position:relative;
}
.quote-block p.quote{
  font-family:'Space Grotesk';font-weight:500;font-size:1.2rem;line-height:1.5;color:var(--ink);
  margin:0 0 20px 0;
}
.quote-block .cite{font-size:0.85rem;color:var(--ink-soft);}
.quote-block .cite b{display:block;color:var(--ink);font-family:'Space Grotesk';font-size:1rem;font-weight:600;margin-bottom:3px;}
.partner-facts{display:flex;flex-direction:column;gap:22px;}
.fact{border-left:2px solid var(--teal);padding-left:16px;}
.fact b{display:block;font-family:'Space Grotesk';font-size:1rem;margin-bottom:4px;}
.fact span{font-size:0.88rem;color:var(--ink-soft);}

/* ---------- PRESS ---------- */
#press{padding:56px 0;}
.press-card{
  display:flex;align-items:center;gap:20px;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:24px 28px;text-decoration:none;color:var(--ink);
  transition:border-color .15s ease, background .15s ease;
}
.press-card:hover{border-color:var(--teal);background:var(--paper-2);}
.press-source{
  font-family:'IBM Plex Mono';font-size:0.72rem;color:var(--teal-deep);
  letter-spacing:0.06em;text-transform:uppercase;flex-shrink:0;
  border-right:1px solid var(--line);padding-right:20px;
}
.press-headline{font-family:'Space Grotesk';font-weight:500;font-size:1.02rem;flex:1;}
.press-arrow{color:var(--teal);font-size:1.2rem;flex-shrink:0;}

/* ---------- CLIENTS ---------- */
.clients{padding:72px 0;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.marquee{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.marquee-track{
  display:flex;align-items:center;gap:64px;
  width:max-content;
  animation:marquee-scroll 38s linear infinite;
}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-group{display:flex;align-items:center;gap:64px;flex-shrink:0;}
.marquee-item{
  display:flex;align-items:center;justify-content:center;
  height:46px;flex-shrink:0;
}
.marquee-item img{height:100%;width:auto;max-width:150px;object-fit:contain;}
.marquee-item.dark-chip{
  height:46px;box-sizing:border-box;padding:0 20px;
  background:var(--ink);border-radius:var(--radius);
}
.marquee-item.dark-chip img{height:60%;}
@keyframes marquee-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media (prefers-reduced-motion: reduce){
  .marquee-track{animation:none;}
}

/* ---------- PRODUCT RANGE ---------- */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.product-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:32px 28px;display:flex;flex-direction:column;
  overflow:hidden;
}
.product-card .product-media{
  margin:-32px -28px 24px;height:190px;
  background:var(--paper-2);border-bottom:1px solid var(--line);
}
.product-card .product-media img{
  width:100%;height:100%;object-fit:cover;
}
.product-card .range-tag{
  align-self:flex-start;
  font-family:'IBM Plex Mono';font-size:0.68rem;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--teal-deep);background:var(--teal-pale);
  padding:4px 10px;border-radius:var(--radius);margin-bottom:16px;
}
.product-card h3{font-size:1.25rem;margin-bottom:10px;}
.product-card p{margin:0 0 20px 0;color:var(--ink-soft);font-size:0.94rem;}
.product-card .product-facts{list-style:none;margin:auto 0 0 0;padding:16px 0 0 0;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:8px;}
.product-card .product-facts li{
  font-family:'IBM Plex Mono';font-size:0.78rem;color:var(--ink-soft);
  display:flex;justify-content:space-between;gap:12px;
}
.product-card .product-facts li b{font-family:'Space Grotesk';font-weight:600;color:var(--ink);}

/* ---------- SPEC TABLES ---------- */
.spec-block{margin-bottom:40px;}
.spec-block:last-child{margin-bottom:0;}
.spec-block h3{
  font-family:'IBM Plex Mono';font-size:0.82rem;letter-spacing:0.04em;
  color:var(--teal-deep);font-weight:500;margin-bottom:14px;text-transform:uppercase;
}
.spec-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;}
table.spec-table{width:100%;border-collapse:collapse;min-width:560px;font-size:0.86rem;}
table.spec-table th, table.spec-table td{
  padding:12px 16px;text-align:left;white-space:nowrap;
  border-bottom:1px solid var(--line);
}
table.spec-table th{
  font-family:'IBM Plex Mono';font-size:0.7rem;letter-spacing:0.05em;text-transform:uppercase;
  color:var(--ink-soft);background:var(--paper-2);
}
table.spec-table td{font-family:'IBM Plex Mono';color:var(--ink);}
table.spec-table td:first-child{font-family:'Space Grotesk';font-weight:600;}
table.spec-table tbody tr:last-child td{border-bottom:none;}
.spec-note{font-size:0.85rem;color:var(--ink-soft);margin-top:16px;}

/* ---------- APPLICATIONS ---------- */
.tag-list{display:flex;flex-wrap:wrap;gap:12px;}
.tag-list .tag{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:10px 18px;font-family:'IBM Plex Mono';font-size:0.82rem;color:var(--ink-soft);
}

/* ---------- CONTACT ---------- */
.contact{
  color:var(--paper);
  background-color:var(--ink);
  background-image:linear-gradient(rgba(24,26,23,0.75), rgba(24,26,23,0.75)), url('foam-bg-02.jpeg');
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
.contact .section-head p{color:#B8BAB6;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;}
.contact-cta h2{font-size:clamp(1.9rem,3.2vw,2.6rem);margin-bottom:14px;}
.contact-methods{display:flex;flex-direction:column;gap:18px;}
.contact-method{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 0;border-bottom:1px solid rgba(255,255,255,0.15);
}
.contact-method span.label{font-family:'IBM Plex Mono';font-size:0.72rem;color:#9B9E97;letter-spacing:0.08em;text-transform:uppercase;}
.contact-method a{font-family:'Space Grotesk';font-size:1.1rem;font-weight:500;text-decoration:none;color:var(--paper);}
.contact-method a:hover{color:#7FC4D6;}

footer{
  background:var(--ink);color:#8C8F88;
  border-top:1px solid rgba(255,255,255,0.12);
  padding:28px 0;
  font-size:0.8rem;
}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.footer-inner{gap:20px;}
.footer-logo{height:35px;width:auto;opacity:0.75;margin-right:auto;}

@media (max-width:860px){
  .band-dark, .benefits-band, .contact{background-attachment:scroll;}
  .brand img{height:42px;}
  .nav-toggle{display:flex;}
  .nav-links{
    display:none;
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    padding:8px 32px 20px;
    box-shadow:0 16px 24px rgba(0,0,0,0.08);
  }
  .nav-links.open{display:flex;}
  .nav-links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:0.95rem;}
  .nav-links a.nav-cta{
    display:block;text-align:center;margin-top:14px;border-bottom:none;
  }
  .hero-grid{grid-template-columns:1fr;}
  .stack-wrap{margin-top:24px;}
  .mark-wrap{margin-top:24px;}
  .split{grid-template-columns:1fr;gap:36px;}
  .split.reverse .split-visual{order:0;}
  .benefits-grid{grid-template-columns:1fr;}
  .info-grid{grid-template-columns:1fr;}
  .value-grid{grid-template-columns:1fr;}
  .partner-grid{grid-template-columns:1fr;}
  .location-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;gap:36px;align-items:start;}
  .collab-intro{grid-template-columns:1fr;gap:28px;}
  .press-card{flex-direction:column;align-items:flex-start;gap:10px;}
  .press-source{border-right:none;padding-right:0;}
  .clients{padding:52px 0;}
  .marquee-track, .marquee-group{gap:40px;}
  .marquee-item{height:36px;}
  .marquee-item.dark-chip{height:36px;padding:0 14px;}
  .diagram-row{flex-direction:column;align-items:stretch;gap:10px;}
  .diagram-arrow{text-align:center;padding:0;}
  .product-grid{grid-template-columns:1fr;}
  section{padding:64px 0;}
  .hero{padding:56px 0 20px 0;}
  .hero-stats{flex-wrap:wrap;row-gap:20px;}
}

@media (max-width:480px){
  .wrap{padding:0 20px;}
  .nav-links{padding-left:20px;padding-right:20px;}
  .brand img{height:36px;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-stats{gap:24px;}
  .quote-block{padding:28px 24px;}
  .collab-lockup{padding:24px 18px;}
  .diagram-card{padding:24px;}
  .map-card{padding:28px 24px;}
}
