:root{
    --ink:#0b1f1c;
    --paper:#f5f7f5;
    --surface:#ffffff;
    --surface-2:#eef2ef;
    --steel:#546862;
    --line:#dde4e0;
    --green:#188a41;
    --green-ink:#0f6b30;
    --blue:#03488b;
    --blue-ink:#023569;
    --amber:#c97a05;
    --amber-ink:#8f5600;
    --teal:#0d8f83;
    --teal-ink:#075d55;
    --shadow: 0 1px 2px rgba(11,31,28,.06), 0 8px 24px -12px rgba(11,31,28,.18);
    --grad-brand: linear-gradient(135deg, var(--green) 0%, var(--teal) 55%, var(--blue) 100%);
    --grad-warm: linear-gradient(135deg, var(--amber) 0%, var(--green) 100%);
    --band-1:#023569;
    --band-2:#075d55;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --ink:#e9f1ee;
      --paper:#081411;
      --surface:#0e1d19;
      --surface-2:#122822;
      --steel:#9fb3ac;
      --line:#1d3630;
      --green:#39c96a;
      --green-ink:#57dd85;
      --blue:#5b9ee6;
      --blue-ink:#7fb4ee;
      --amber:#f0ac3f;
      --amber-ink:#f7c874;
      --teal:#2fc8ba;
      --teal-ink:#6ee0d4;
      --shadow: 0 1px 2px rgba(0,0,0,.4), 0 12px 28px -14px rgba(0,0,0,.6);
    }
  }
  :root[data-theme="dark"]{
    --ink:#e9f1ee;
    --paper:#081411;
    --surface:#0e1d19;
    --surface-2:#122822;
    --steel:#9fb3ac;
    --line:#1d3630;
    --green:#39c96a;
    --green-ink:#57dd85;
    --blue:#5b9ee6;
    --blue-ink:#7fb4ee;
    --amber:#f0ac3f;
    --amber-ink:#f7c874;
    --teal:#2fc8ba;
    --teal-ink:#6ee0d4;
    --shadow: 0 1px 2px rgba(0,0,0,.4), 0 12px 28px -14px rgba(0,0,0,.6);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
    -webkit-font-smoothing:antialiased;
    padding-inline:0;
    font-size:17.5px;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  .wrap{max-width:1180px; margin-inline:auto; padding-inline:max(20px, calc((100% - 1180px)/2 + 20px));}
  .wrap-inner{max-width:1180px; margin-inline:auto; padding-inline:20px;}

  h1,h2,h3{
    font-family:"Sora", "IBM Plex Sans", ui-sans-serif, sans-serif;
    text-transform:none;
    letter-spacing:-.01em;
    text-wrap:balance;
    margin:0;
    font-weight:700;
  }
  .eyebrow{
    font-family:"IBM Plex Mono", ui-monospace, monospace;
    font-size:13.5px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    background:var(--grad-brand);
    -webkit-background-clip:text; background-clip:text; color:transparent;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:"";
    width:26px; height:2px;
    background:var(--grad-brand);
    display:inline-block;
    border-radius:2px;
  }
  p{line-height:1.7; color:var(--steel); margin:0; font-size:16px;}
  .section{padding-block:80px; border-bottom:1px solid var(--line);}
  .section-head{max-width:660px; margin-bottom:42px; display:flex; flex-direction:column; gap:14px;}
  .section-head h2{font-size:clamp(26px,3vw,36px); color:var(--ink); line-height:1.15;}

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:40;
    background:color-mix(in srgb, var(--surface) 92%, transparent);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .topbar{
    display:flex; justify-content:flex-end; gap:24px;
    font-family:"IBM Plex Mono", monospace;
    font-size:13px;
    padding:8px 20px;
    background:linear-gradient(90deg, var(--band-1) 0%, var(--band-2) 100%);
    color:#eaf2ff;
  }
  .topbar a{text-decoration:none; opacity:.92;}
  .topbar a:hover{opacity:1; text-decoration:underline;}
  .navrow{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 20px;
    max-width:1180px; margin-inline:auto;
    gap:20px;
  }
  .brand{display:flex; align-items:center; gap:10px; text-decoration:none;}
  .brand img{height:80px; width:auto;}
  nav{display:flex; gap:30px; align-items:center;}
  nav a{
    text-decoration:none;
    font-size:15.5px; font-weight:600;
    color:var(--ink);
    letter-spacing:.02em;
    padding-bottom:3px;
    border-bottom:2px solid transparent;
  }
  nav a:hover{color:var(--green-ink);}
  nav a.active{color:var(--green-ink); border-bottom-color:var(--green);}

  /* ---------- Breadcrumb / page header (inner pages) ---------- */
  .page-head{
    background:
      linear-gradient(135deg, color-mix(in srgb, var(--green) 10%, transparent) 0%, transparent 45%),
      linear-gradient(315deg, color-mix(in srgb, var(--blue) 10%, transparent) 0%, transparent 50%),
      var(--surface-2);
    border-bottom:1px solid var(--line);
    padding-block:48px;
  }
  .page-head .eyebrow{margin-bottom:12px;}
  .page-head h1{font-size:clamp(30px,4vw,42px); color:var(--ink); line-height:1.12;}
  .page-head p{margin-top:12px; max-width:60ch; font-size:17px;}
  .page-head-photo{
    background-size:cover; background-position:center 35%;
    padding-block:84px; border-bottom:none;
  }

  /* ---------- Home teasers ---------- */
  .teaser-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:32px; flex-wrap:wrap;}
  .teaser-head .section-head{margin-bottom:0;}
  .link-more{
    font-family:"IBM Plex Mono"; font-size:13.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
    color:var(--green-ink); text-decoration:none; white-space:nowrap; display:inline-flex; align-items:center; gap:6px;
  }
  .link-more:hover{text-decoration:underline;}
  .cta-band{
    background:linear-gradient(120deg, var(--band-1) 0%, var(--band-2) 100%); color:#eef4ff; text-align:center;
    padding-block:68px;
  }
  .cta-band h2{color:#fff; font-size:clamp(24px,3.2vw,34px); margin-bottom:16px; line-height:1.2;}
  .cta-band p{color:#c9dbf3; max-width:60ch; margin-inline:auto; margin-bottom:28px; font-size:17px;}
  .cta-band .hero-cta{justify-content:center;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    font-family:"IBM Plex Sans", sans-serif;
    font-weight:700; font-size:15.5px;
    padding:13px 24px;
    border-radius:4px;
    text-decoration:none;
    border:1px solid transparent;
    cursor:pointer;
    white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn-primary{background:linear-gradient(120deg, var(--green) 0%, var(--teal) 100%); color:#06210f;}
  .btn-primary:hover{background:var(--green-ink); color:#fff; transform:translateY(-1px); box-shadow:0 10px 22px -10px rgba(15,107,48,.55);}
  :root[data-theme="dark"] .btn-primary, @media (prefers-color-scheme: dark){ .btn-primary{color:#06210f;} }
  .btn-ghost{border-color:color-mix(in srgb, var(--ink) 25%, transparent); color:var(--ink);}
  .btn-ghost:hover{border-color:var(--ink);}
  .btn-onhero{border-color:rgba(255,255,255,.55); color:#fff;}
  .btn-onhero:hover{border-color:#fff; background:rgba(255,255,255,.08);}

  .menu-toggle{display:none; background:none; border:1px solid var(--line); border-radius:3px; padding:8px 10px; color:var(--ink);}

  /* ---------- Hero (carousel) ---------- */
  .hero{
    position:relative;
    color:#f2f7f4;
    overflow:hidden;
    background:var(--ink);
  }
  .hero-slide{
    position:absolute; inset:0;
    background-size:cover; background-position:center;
    opacity:0; visibility:hidden;
    transition:opacity 1.2s ease;
    z-index:0;
  }
  .hero-slide.active{opacity:1; visibility:visible; z-index:1;}
  .hero-slide::before{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(100deg, rgba(2,10,8,.78) 0%, rgba(3,20,15,.55) 42%, rgba(3,20,15,.28) 72%);
  }
  .hero::after{
    content:"";
    position:absolute; inset:0; z-index:2;
    background-image: repeating-linear-gradient(90deg, rgba(255,255,255,.07) 0 2px, transparent 2px 46px);
    opacity:.5;
    pointer-events:none;
  }
  .hero-inner{
    position:relative; z-index:3;
    max-width:1180px; margin-inline:auto;
    padding:88px 20px 96px;
    display:grid; gap:26px;
    max-width:720px;
  }
  .hero h1{
    font-size:clamp(34px, 4.6vw, 54px);
    line-height:1.08;
    color:#fff;
  }
  .hero h1 em{
    font-style:normal;
    background:linear-gradient(100deg, var(--green-ink) 0%, #6fe6b0 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero p{color:#d7e6df; font-size:18.5px; max-width:56ch;}
  .hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-top:6px;}
  .hero-strip{
    position:relative; z-index:3;
    border-top:1px solid rgba(255,255,255,.18);
    background:linear-gradient(90deg, rgba(4,16,12,.68) 0%, rgba(6,40,34,.5) 100%);
  }
  .hero-strip-inner{
    max-width:1180px; margin-inline:auto; padding:17px 20px;
    display:flex; gap:32px; flex-wrap:wrap;
    font-family:"IBM Plex Mono", monospace; font-size:13.5px; letter-spacing:.06em;
    color:#cfe3da;
  }
  .hero-strip b{color:#fff; font-weight:500;}
  .hero-dots{display:flex; gap:9px; margin-top:4px;}
  .hero-dot{
    width:9px; height:9px; border-radius:50%; padding:0;
    background:rgba(255,255,255,.35); border:1px solid rgba(255,255,255,.5);
    cursor:pointer;
  }
  .hero-dot.active{background:var(--green); border-color:var(--green);}
  .hero-arrow{
    position:absolute; top:42%; transform:translateY(-50%); z-index:4;
    width:42px; height:42px; border-radius:50%;
    background:rgba(4,16,12,.45); border:1px solid rgba(255,255,255,.4); color:#fff;
    display:flex; align-items:center; justify-content:center; cursor:pointer;
  }
  .hero-arrow:hover{background:rgba(4,16,12,.75); border-color:#fff;}
  .hero-arrow.prev{left:16px;}
  .hero-arrow.next{right:16px;}
  @media (max-width:700px){ .hero-arrow{display:none;} }

  /* ---------- Impact banner (full-bleed photo break) ---------- */
  .impact-banner{
    position:relative;
    min-height:280px;
    display:flex; align-items:center; justify-content:center; text-align:center;
    background:
      linear-gradient(0deg, rgba(3,14,10,.72), rgba(3,14,10,.72)),
      url("hero.jpg") center 30%/cover no-repeat;
    padding-block:56px;
  }
  .impact-banner .wrap-inner{max-width:820px;}
  .impact-banner p.quote{
    font-family:"Sora", "IBM Plex Sans", sans-serif; font-weight:700; text-transform:none; color:#fff;
    font-size:clamp(22px,3.2vw,34px); line-height:1.25; text-wrap:balance; letter-spacing:-.01em;
  }
  .impact-banner span.cite{
    display:block; margin-top:16px; font-family:"IBM Plex Mono"; font-size:13px; letter-spacing:.1em;
    color:#a9ddc0; text-transform:uppercase; font-weight:600;
  }

  /* ---------- About ---------- */
  .about-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start;}
  .about-copy p + p{margin-top:16px;}
  .about-copy h3{font-size:16.5px; color:var(--ink); text-transform:none; font-family:"IBM Plex Sans"; font-weight:700; margin-top:26px; margin-bottom:8px; letter-spacing:0;}
  .stat-panel{
    position:relative; overflow:hidden;
    background:var(--surface); border:1px solid var(--line); border-radius:8px;
    padding:30px 28px 28px; display:grid; gap:22px; box-shadow:var(--shadow);
  }
  .stat-panel::before{
    content:""; position:absolute; top:0; left:0; right:0; height:5px;
    background:var(--grad-brand);
  }
  .stat-row{display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding-bottom:18px; border-bottom:1px dashed var(--line);}
  .stat-row:last-child{border-bottom:none; padding-bottom:0;}
  .stat-num{
    font-family:"Big Shoulders Display"; font-size:44px; font-weight:700; line-height:1;
    background:var(--grad-brand); -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .stat-label{font-size:14px; font-weight:500; color:var(--steel); max-width:20ch; text-align:right; line-height:1.4;}

  .photo-collage{display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:repeat(2,1fr); gap:12px; margin-bottom:26px; height:340px;}
  .photo-collage img{width:100%; height:100%; object-fit:cover; border-radius:8px; border:1px solid var(--line); box-shadow:var(--shadow);}
  .photo-collage a:first-child{grid-row:1/3;}
  .photo-collage a{display:block; height:100%; overflow:hidden; border-radius:8px;}
  .photo-collage a img{transition:transform .4s ease;}
  .photo-collage a:hover img{transform:scale(1.05);}
  @media (max-width:560px){ .photo-collage{height:auto; grid-template-columns:1fr 1fr; grid-template-rows:140px 140px;} .photo-collage a:first-child{grid-row:auto; grid-column:1/3;}}

  .about-photo-single{margin-bottom:26px; height:340px; border-radius:8px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow);}
  .about-photo-single img{width:100%; height:100%; object-fit:cover; display:block;}
  @media (max-width:560px){ .about-photo-single{height:240px;} }

  /* ---------- Why choose ---------- */
  .why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden;}
  .why-card{background:var(--surface); padding:30px; display:grid; gap:11px; align-content:start; transition:background .2s ease;}
  .why-card:hover{background:linear-gradient(160deg, color-mix(in srgb, var(--green) 7%, var(--surface)) 0%, color-mix(in srgb, var(--blue) 7%, var(--surface)) 100%);}
  .why-idx{font-family:"IBM Plex Mono"; font-size:13px; font-weight:700; color:var(--teal-ink);}
  .why-card h3{font-family:"IBM Plex Sans"; text-transform:none; font-size:18.5px; letter-spacing:0; font-weight:700;}
  .why-card p{font-size:15.5px;}

  /* ---------- Products ---------- */
  .prod-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:18px;}
  .prod-card{
    background:var(--surface); border:1px solid var(--line); border-radius:6px; overflow:hidden;
    box-shadow:var(--shadow);
    display:flex; flex-direction:column;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .prod-card:hover{transform:translateY(-3px); box-shadow:0 14px 26px -14px rgba(11,31,28,.35);}
  .prod-photo{aspect-ratio:1/1; background:#fff; overflow:hidden; border-bottom:1px solid var(--line);}
  .prod-photo img{width:100%; height:100%; object-fit:cover; transition:transform .4s ease;}
  .prod-card:hover .prod-photo img{transform:scale(1.07);}
  .prod-body{padding:14px 16px 16px; display:grid; gap:4px;}
  .prod-code{font-family:"IBM Plex Mono"; font-size:12px; font-weight:700; color:var(--teal-ink); letter-spacing:.05em;}
  .prod-body h3{font-family:"IBM Plex Sans"; text-transform:none; font-size:16.5px; font-weight:700; letter-spacing:0;}
  .prod-body span{font-size:13.5px; color:var(--steel);}
  .prod-grid.teaser{grid-template-columns:repeat(3,1fr); gap:22px;}
  .prod-grid.teaser .prod-photo{aspect-ratio:4/3;}
  .prod-grid.teaser .prod-body{padding:18px 20px 20px;}
  .prod-grid.teaser .prod-body h3{font-size:20.5px;}
  .prod-grid.teaser .prod-body span{font-size:14.5px;}
  @media (max-width:920px){ .prod-grid.teaser{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .prod-grid.teaser{grid-template-columns:1fr;} }

  /* ---------- Product marquee (home page, scrolling like brands) ---------- */
  .prod-marquee{
    overflow:hidden; position:relative; margin-top:32px;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  }
  .prod-track{display:flex; gap:16px; width:max-content; animation:brand-scroll 46s linear infinite;}
  .prod-marquee:hover .prod-track{animation-play-state:paused;}
  .prod-tile{
    flex:none; width:168px;
    background:var(--surface); border:1px solid var(--line); border-radius:8px; overflow:hidden;
    box-shadow:var(--shadow); transition:transform .2s ease, box-shadow .2s ease;
  }
  .prod-tile:hover{transform:translateY(-3px); box-shadow:0 14px 26px -14px rgba(11,31,28,.35);}
  .prod-tile-photo{aspect-ratio:1/1; background:#fff; overflow:hidden; border-bottom:1px solid var(--line);}
  .prod-tile-photo img{width:100%; height:100%; object-fit:cover;}
  .prod-tile-body{padding:10px 12px 12px; display:grid; gap:2px;}
  .prod-tile-body .prod-code{font-size:10px;}
  .prod-tile-body h3{font-family:"IBM Plex Sans"; text-transform:none; font-weight:700; font-size:14px; letter-spacing:0; margin:0;}
  @media (max-width:560px){ .prod-tile{width:140px;} }

  /* ---------- Vision / Mission / Infrastructure (photo cards) ---------- */
  .vmi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .vmi-card{background:var(--surface); border:1px solid var(--line); border-radius:10px; overflow:hidden; box-shadow:var(--shadow);}
  .vmi-photo{position:relative; aspect-ratio:4/3; overflow:hidden; background:#000;}
  .vmi-photo img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease;}
  .vmi-card:hover .vmi-photo img{transform:scale(1.06);}
  .vmi-photo .icon-badge{position:absolute; left:18px; bottom:-23px; border:3px solid var(--surface); box-shadow:0 6px 14px rgba(0,0,0,.25);}
  .vmi-body{padding:34px 22px 22px;}
  .vmi-body h3{font-family:"IBM Plex Sans"; text-transform:none; font-size:19px; letter-spacing:0; font-weight:700; margin-bottom:8px;}
  .vmi-body p{font-size:15.5px;}
  @media (max-width:920px){ .vmi-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .vmi-grid{grid-template-columns:1fr;} }

  /* ---------- Industries (detail cards) ---------- */
  .industry-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:32px;}
  .industry-card{background:var(--surface); border:1px solid var(--line); border-radius:6px; padding:22px; display:grid; gap:10px; align-content:start; transition:box-shadow .2s ease, transform .2s ease;}
  .industry-card:hover{transform:translateY(-2px); box-shadow:var(--shadow);}
  .industry-card h3{font-family:"IBM Plex Sans"; text-transform:none; font-size:17.5px; font-weight:700; letter-spacing:0;}
  .industry-card p{font-size:14.5px;}
  @media (max-width:920px){ .industry-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .industry-grid{grid-template-columns:1fr;} }

  .industry-photocard{
    background:var(--surface); border:1px solid var(--line); border-radius:8px; overflow:hidden;
    box-shadow:var(--shadow); display:flex; flex-direction:column;
  }
  .industry-photocard .ip-media{position:relative; aspect-ratio:4/3; overflow:hidden;}
  .industry-photocard .ip-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease;}
  .industry-photocard:hover .ip-media img{transform:scale(1.06);}
  .industry-photocard .ip-banner{
    position:absolute; left:0; right:0; bottom:0;
    background:var(--grad-brand);
    color:#fff; padding:10px 12px; display:flex; align-items:center; gap:10px;
  }
  .industry-photocard .ip-banner .icon-badge{
    background:rgba(255,255,255,.24); width:32px; height:32px; border-radius:8px; flex:none;
  }
  .industry-photocard .ip-banner .icon-badge svg{width:17px; height:17px;}
  .industry-photocard .ip-banner span:last-child{font-family:"IBM Plex Sans"; font-weight:700; font-size:14.5px;}
  .industry-photocard .ip-body{padding:13px 16px 17px;}
  .industry-photocard .ip-body p{font-size:14px; color:var(--steel);}

  .icon-badge{
    width:46px; height:46px; border-radius:11px; flex:none;
    background:var(--grad-brand);
    display:flex; align-items:center; justify-content:center; color:#fff;
  }
  .icon-chip-row{display:flex; flex-wrap:wrap; gap:12px;}
  .icon-chip{
    display:flex; align-items:center; gap:12px;
    border:1px solid var(--line); background:var(--surface);
    border-radius:12px; padding:10px 18px 10px 10px;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .icon-chip:hover{transform:translateY(-2px); box-shadow:var(--shadow);}
  .icon-chip .icon-badge{width:38px; height:38px; border-radius:9px;}
  .icon-chip .icon-badge svg{width:19px; height:19px;}
  .icon-chip span{font-size:14.5px; font-weight:600;}

  .schematic-card{
    border-radius:10px; overflow:hidden; box-shadow:var(--shadow);
    background:#04140f; padding:14px 14px 18px;
  }
  .schematic-card svg{width:100%; height:auto; display:block;}
  .schematic-card img{width:100%; height:auto; display:block; border-radius:6px;}
  .schematic-card .sch-label{
    font-family:"IBM Plex Sans", sans-serif; font-size:13px; font-weight:700;
    letter-spacing:.03em; fill:#eaf6f0;
  }
  .schematic-card .sch-hub{
    font-family:"Big Shoulders Display", sans-serif; font-size:15px; font-weight:700;
    letter-spacing:.03em; fill:#ffffff;
  }
  .schematic-card .sch-hub-sub{
    font-family:"IBM Plex Mono", monospace; font-size:8.5px; letter-spacing:.12em;
    fill:#8fe6ac;
  }
  .schematic-caption{
    text-align:center; color:#a9ddc0; font-family:"IBM Plex Mono"; font-size:12.5px; font-weight:600;
    letter-spacing:.05em; margin-top:10px; text-transform:uppercase;
  }

  /* ---------- What Drives Us: energetic accent treatment ---------- */
  .accent-word{
    background:linear-gradient(90deg, var(--green) 0%, var(--blue) 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .obj-chip{transition:transform .15s, box-shadow .15s;}
  .obj-chip:hover{transform:translateX(4px); box-shadow:var(--shadow);}
  .obj-chip span:last-child{font-weight:700; font-size:15.5px; letter-spacing:.01em;}
  .obj-green .icon-badge{background:linear-gradient(135deg, var(--green) 0%, var(--green-ink) 100%);}
  .obj-green span:last-child{color:var(--green-ink);}
  .obj-blue .icon-badge{background:linear-gradient(135deg, var(--blue) 0%, var(--blue-ink) 100%);}
  .obj-blue span:last-child{color:var(--blue-ink);}
  .obj-amber .icon-badge{background:linear-gradient(135deg, var(--amber) 0%, var(--amber-ink) 100%);}
  .obj-amber span:last-child{color:var(--amber-ink);}
  .obj-teal .icon-badge{background:linear-gradient(135deg, var(--teal) 0%, var(--teal-ink) 100%);}
  .obj-teal span:last-child{color:var(--teal-ink);}

  /* ---------- Brands ---------- */
  .brand-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:14px;}
  .brand-tile{
    background:var(--surface); border:1px solid var(--line); border-radius:6px;
    aspect-ratio:21/11; display:flex; align-items:center; justify-content:center; padding:10px;
    box-shadow:var(--shadow);
    transition:transform .15s, box-shadow .15s;
  }
  .brand-tile:hover{transform:translateY(-3px); box-shadow:0 10px 22px -6px color-mix(in srgb, var(--teal) 35%, rgba(0,0,0,.15));}
  .brand-tile img{max-width:100%; max-height:100%; object-fit:contain;}
  .brand-text{
    font-family:"Big Shoulders Display"; font-weight:700; font-size:26px; text-align:center;
    color:var(--ink); letter-spacing:.01em;
  }
  .brand-text small{display:block; font-family:"IBM Plex Mono"; font-size:10.5px; letter-spacing:.1em; color:var(--steel); text-transform:uppercase; font-weight:600; margin-top:2px;}

  .brand-marquee{
    overflow:hidden; position:relative;
    padding-block:6px 4px;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  }
  .brand-track{display:flex; gap:14px; width:max-content; animation:brand-scroll 34s linear infinite;}
  .brand-marquee:hover .brand-track{animation-play-state:paused;}
  .brand-track .brand-tile{width:190px; height:100px; flex:none; aspect-ratio:auto;}
  @keyframes brand-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  @media (prefers-reduced-motion: reduce){ .brand-track{animation:none; flex-wrap:wrap; width:auto;} }
  @media (max-width:560px){ .brand-track .brand-tile{width:150px; height:82px;} }

  /* ---------- Industries ---------- */
  .chip-row{display:flex; flex-wrap:wrap; gap:10px;}
  .chip{
    border:1px solid var(--line); background:var(--surface);
    padding:11px 19px; border-radius:100px; font-size:14.5px; font-weight:600;
    display:flex; align-items:center; gap:8px;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .chip:hover{transform:translateY(-2px); box-shadow:var(--shadow);}
  .chip::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--grad-brand);}

  /* ---------- Contact ---------- */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
  .contact-list{display:grid; gap:22px;}
  .contact-item{display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start;}
  .contact-icon{
    width:38px; height:38px; border-radius:6px; background:var(--surface-2); border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; color:var(--green-ink); flex:none;
  }
  .contact-label{font-family:"IBM Plex Mono"; font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--steel); margin-bottom:3px;}
  .contact-value{font-size:17px; font-weight:500; color:var(--ink); text-decoration:none;}
  .contact-value:hover{color:var(--green-ink);}
  .quote-panel{
    background:linear-gradient(140deg, var(--band-1) 0%, var(--band-2) 100%); color:#eef4ff; border-radius:10px; padding:38px;
    display:grid; gap:17px; align-content:start; box-shadow:var(--shadow);
  }
  .quote-panel h3{font-size:26px; color:#fff;}
  .quote-panel p{color:#c9dbf3; font-size:17px;}
  .quote-panel .btn-primary{align-self:start;}

  footer{background:var(--ink); color:var(--paper); border-top:4px solid; border-image:var(--grad-brand) 1;}
  .footer-grid{
    display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px;
    padding-block:54px; border-bottom:1px solid rgba(255,255,255,.12);
  }
  footer :is(h4){
    font-family:"IBM Plex Mono"; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase;
    color:color-mix(in srgb, var(--paper) 65%, transparent); margin-bottom:17px; font-weight:600;
  }
  footer .fbrand{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
  footer .fbrand img{height:62px;}
  footer p{color:color-mix(in srgb, var(--paper) 68%, transparent); font-size:14.5px; max-width:34ch;}
  footer ul{list-style:none; margin:0; padding:0; display:grid; gap:11px;}
  footer a{text-decoration:none; font-size:14.5px; color:color-mix(in srgb, var(--paper) 84%, transparent);}
  footer a:hover{color:#fff;}
  .bottom-bar{
    max-width:1180px; margin-inline:auto; padding:18px 20px;
    display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
    font-family:"IBM Plex Mono"; font-size:12.5px; color:color-mix(in srgb, var(--paper) 58%, transparent);
  }

  @media (max-width:920px){
    nav{position:fixed; inset:64px 0 auto 0; background:var(--surface); flex-direction:column; align-items:flex-start; padding:18px 24px; gap:18px; border-bottom:1px solid var(--line); box-shadow:var(--shadow); display:none;}
    nav.open{display:flex;}
    .menu-toggle{display:inline-flex;}
    .about-grid{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:1fr 1fr;}
    .prod-grid{grid-template-columns:repeat(3,1fr);}
    .brand-grid{grid-template-columns:repeat(3,1fr);}
    .contact-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .topbar{justify-content:center;}
  }
  @media (max-width:560px){
    .brand img{height:52px;}
    .why-grid{grid-template-columns:1fr;}
    .prod-grid{grid-template-columns:repeat(2,1fr);}
    .brand-grid{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr;}
    .stat-panel{order:-1;}
  }
