:root {
  --page-bg: #fbf9f6;
  --warm-white: #fbf9f6;
  --teal-deep: #0b3733;
  --teal-bright: #1c7c72;
  --vibrant-cyan: #00A3E0;
  --brass: #c79a56;
  --brass-soft: #e3c98c;
  --line: rgba(11, 55, 51, 0.1);
  --ink: #0b3733;
  --ink-soft: #607572;
  --paper: #f8f4ea;
  --teal-line: rgba(11, 55, 51, 0.1);
}

/* Global transparent structure — one canonical header rule used on every page */
header, .site-header {
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
  background-color: var(--page-bg) !important;
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  transition: transform 0.3s ease-in-out;
}
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  html{scroll-behavior:smooth !important; scroll-padding-top: 120px;}
  body{
    background:var(--warm-white);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    font-size:16px;
    line-height:1.7;
    overflow-x:hidden;
  }
  ::selection{background:var(--brass-soft);color:var(--teal-deep);}
  .mono{font-family:'IBM Plex Mono',monospace;letter-spacing:0.04em;}
  h1,h2,h3,.serif{font-family:'Fraunces',serif; letter-spacing:-0.01em;}
  p{font-size:16px; line-height:1.75; color:var(--ink-soft);}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;height:auto;}
  .wrap{max-width:1280px;margin:0 auto;padding:0 40px;}
  @media(max-width:900px){.wrap{padding:0 24px;}}

  /* ---------- reduced motion ---------- */
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
  }

  main > section,
  footer{
    content-visibility:auto;
    contain-intrinsic-size:1px 900px;
  }

  /* ---------- scroll reveal ---------- */
  .reveal{opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- calibration ring (signature element) ---------- */
  #dial{
    position:fixed; right:28px; bottom:28px; width:74px; height:74px; z-index:500;
    cursor:pointer;
  }
  #dial svg{width:100%;height:100%;transform:rotate(-90deg);}
  #dial circle.track{fill:none;stroke:var(--line);stroke-width:1.5;}
  #dial circle.progress{fill:none;stroke:var(--brass);stroke-width:1.5;stroke-linecap:butt;
    stroke-dasharray:213; stroke-dashoffset:213; transition:stroke-dashoffset .1s linear;}
  #dial .core{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--teal-deep); letter-spacing:0.03em;}
  #dial .ticks{position:absolute;inset:0;}
  @media(max-width:760px){#dial{display:none;}}

  /* ---------- nav ---------- */
  nav{display:flex;align-items:center;justify-content:space-between;height:84px;max-width:1280px;margin:0 auto;}
  .logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;letter-spacing:0.01em;}
  .logo .mark{width:28px;height:28px;flex:none;}
  .logo .name{font-family:'Fraunces',serif;font-weight:600;}
  .logo .name b{color:var(--teal-bright);font-weight:600;}
  .navlinks{display:flex;gap:40px;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;}
  .navlinks a{position:relative;color:var(--ink-soft);transition:color .25s;}
  .navlinks a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--brass);transition:width .3s ease;}
  .navlinks a:hover{color:var(--ink);}
  .navlinks a:hover::after{width:100%;}
  .navcta{display:flex;align-items:center;gap:24px;}
  @media(max-width:900px){.navlinks{display:none;}}

  /* ---------- mobile nav toggle + slide-down menu ---------- */
  .nav-toggle{
    display:none; flex-direction:column; justify-content:center; align-items:center;
    gap:5px; width:36px; height:36px; padding:0; border:none; background:transparent; cursor:pointer;
  }
  .nav-toggle span{display:block; width:22px; height:2px; background:var(--teal-deep); transition:transform .25s ease, opacity .25s ease;}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  @media(max-width:900px){
    .nav-toggle{display:flex;}
    .navlinks{
      display:flex; flex-direction:column; gap:0;
      position:absolute; top:100%; left:0; right:0;
      background:var(--page-bg); border-bottom:1px solid var(--line);
      max-height:0; overflow:hidden; transition:max-height .3s ease;
      text-transform:none; font-size:15px;
    }
    .navlinks.open{max-height:320px;}
    .navlinks a{padding:16px 24px; border-top:1px solid var(--line);}
    .navlinks a::after{display:none;}
    header{position:sticky; overflow:visible;}
  }

  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:13px 26px; font-size:13px; letter-spacing:0.05em; text-transform:uppercase;
    border:1px solid var(--teal-deep); color:var(--teal-deep); background:transparent;
    font-family:'Inter',sans-serif; font-weight:500; cursor:pointer;
    transition:transform .35s cubic-bezier(.2,.8,.2,1), background .35s, color .35s, box-shadow .35s;
    position:relative;
  }
  .btn-solid{background:var(--teal-deep);color:var(--warm-white);}
  .btn-solid:hover{background:var(--teal-bright);transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(11,55,51,0.45);}
  .btn-ghost:hover{transform:translateY(-2px);background:var(--teal-deep);color:var(--warm-white);}
  .btn-brass{border-color:var(--brass);color:var(--brass);}
  .btn-brass:hover{background:var(--brass);color:var(--teal-deep);transform:translateY(-2px);}

  /* ---------- hero ---------- */
  .hero{
    position:relative; padding:120px 0 0 0; background:var(--warm-white);
    overflow:hidden;
  }
  .hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:end;}
  @media(max-width:980px){.hero-grid{grid-template-columns:1fr;}}
  .eyebrow{
    display:flex;align-items:center;gap:12px;font-size:12px;color:var(--teal-bright);
    margin-bottom:26px; text-transform:uppercase; letter-spacing:0.14em;
  }
  .eyebrow .dash{width:30px;height:1px;background:var(--teal-bright);}
  .hero h1{
    font-size:clamp(38px,4.6vw,68px); line-height:1.02; font-weight:500; letter-spacing:-0.01em;
    color:var(--teal-deep);
  }
  .hero h1 .word{display:inline-block;overflow:hidden;vertical-align:top;}
  .hero h1 .word span{display:inline-block;transform:translateY(110%);transition:transform .9s cubic-bezier(.16,1,.3,1);}
  .hero h1 em{font-style:italic;color:var(--brass);font-weight:400;}
  .hero.loaded h1 .word span{transform:translateY(0);}
  .hero p.lede{
    margin-top:28px; font-size:18px; line-height:1.65; color:var(--ink-soft); max-width:480px;
    opacity:0; transform:translateY(14px); transition:opacity .8s ease .5s, transform .8s ease .5s;
  }
  .hero.loaded p.lede{opacity:1;transform:translateY(0);}
  .hero-actions{margin-top:40px;display:flex;gap:18px;flex-wrap:wrap;
    opacity:0; transform:translateY(14px); transition:opacity .8s ease .7s, transform .8s ease .7s;}
  .hero.loaded .hero-actions{opacity:1;transform:translateY(0);}

  .hero-figure{position:relative;}
  .hero-figure .frame{
    position:relative; border:1px solid var(--line); padding:14px;
    background:linear-gradient(180deg,#fff,#f6f1e6);
  }
  .hero-figure img{width:100%;height:420px;object-fit:cover;filter:saturate(0.92) contrast(1.02);}
  .hero-figure .crosshair{position:absolute;width:18px;height:18px;}
  .hero-figure .crosshair::before,.hero-figure .crosshair::after{content:"";position:absolute;background:var(--brass);}
  .hero-figure .crosshair::before{width:100%;height:1px;top:50%;}
  .hero-figure .crosshair::after{height:100%;width:1px;left:50%;}
  .hero-figure .crosshair.tl{top:-9px;left:-9px;}
  .hero-figure .crosshair.br{bottom:-9px;right:-9px;}
  .hero-figure .gallery-slide{
    position:absolute; inset:0; opacity:0; transition:opacity 1.1s ease-in-out;
    pointer-events:none;
  }
  .hero-figure .gallery-slide.active{opacity:1;}
  .hero-figure .tag{
    position:absolute; bottom:-22px; left:18px; background:var(--teal-deep); color:var(--warm-white);
    font-family:'IBM Plex Mono',monospace; font-size:11px; padding:10px 16px; letter-spacing:0.04em;
    display:flex; gap:10px; align-items:center;
  }
  .hero-figure .tag .dot{width:6px;height:6px;border-radius:50%;background:var(--brass);animation:pulse 2.4s ease-in-out infinite;}
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.25;}}

  .scroll-hint{
    position:absolute; left:48px; bottom:24px; display:flex; align-items:center; gap:10px;
    font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-soft);
  }
  .scroll-hint .line{width:1px;height:40px;background:var(--line);position:relative;overflow:hidden;}
  .scroll-hint .line::after{content:"";position:absolute;top:-40px;left:0;width:100%;height:40px;background:var(--brass);
    animation:drip 2.2s ease-in-out infinite;}
  @keyframes drip{0%{top:-40px;}100%{top:40px;}}
  @media(max-width:760px){.scroll-hint{display:none;}}

  /* ---------- trust strip ---------- */
  .trust{
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:26px 0; margin-top:120px; background:var(--paper);
  }
  .trust .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;}
  .trust .label{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);letter-spacing:0.08em;}
  .trust .marks{display:flex;gap:42px;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--ink);letter-spacing:0.06em;}
  .trust .marks span b{color:var(--teal-bright);font-weight:500;}

  /* ---------- section shell ---------- */
section{padding:120px 0;}

#overview {
  padding-top: 120px !important;
  padding-bottom: 70px !important;
}

.overview-intro {
  max-width: 860px;
  margin-bottom: 36px;
}

.overview-intro h2 {
  font-size: clamp(32px, 3.1vw, 42px);
  line-height: 1.15;
  color: var(--teal-deep);
  margin: 0 0 12px;
}

.overview-intro p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--ink-soft);
  margin: 0;
  max-width: 720px;
}

.infrastructure-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.infrastructure-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 28px 24px;
  box-shadow: 0 8px 24px rgba(11, 55, 51, 0.04);
}

.icon-badge {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(0, 163, 224, 0.12);
  color: var(--vibrant-cyan);
  font-weight: 700;
  margin-bottom: 16px;
}

.infrastructure-card h3 {
  font-size: 21px;
  line-height: 1.25;
  color: var(--teal-deep);
  margin: 0 0 12px;
}

.infrastructure-card p {
  font-size: 15.4px;
  line-height: 1.72;
  color: var(--ink-soft);
  margin: 0;
}

@media (max-width: 900px) {
  .infrastructure-grid {
    grid-template-columns: 1fr;
  }
}

.ticker-text-container {
  position: relative;
  width: 100%;
  min-height: 340px;
  display: flex;
  align-items: center;
}

.text-slide {
  position: absolute;
  top: auto;
  left: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s cubic-bezier(.16,1,.3,1), transform 0.6s cubic-bezier(.16,1,.3,1);
  transform: translateY(10px);
}

.text-slide.active {
  position: relative;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.img-frame-container {
  position: relative;
  width: 100%;
  height: 360px;
  background: #000;
  border: 1px solid var(--line);
  padding: 8px;
  overflow: hidden;
}

.img-frame-container .img-slide {
  position: absolute;
  top: 8px;
  left: 8px;
  width: calc(100% - 16px);
  height: calc(100% - 16px);
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.15s ease-in-out;
  z-index: 1;
}

.img-frame-container .img-slide.active {
  opacity: 1;
  z-index: 2;
}
/* ---------- section shell ends, rest of your code continues below ---------- */

/* Custom Override for Devices Header Spacing */
#devices .section-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

#devices h2 {
  font-weight: 700 !important;
}
/* ---------- products: exploded spec diagrams ---------- */
  .product{
    display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
    padding:64px 0; border-top:1px solid var(--line);
  }
  .product:last-child{border-bottom:1px solid var(--line);}
  @media(max-width:900px){.product{grid-template-columns:1fr;gap:40px;}}
  .product:nth-child(even) .pmedia{order:2;}
  @media(max-width:900px){.product:nth-child(even) .pmedia{order:0;}}

  .pmedia{position:relative;}
  .pmedia .imgbox{position:relative; border:1px solid var(--line); background:#fff; padding:10px;}
  .pmedia img{width:100%;height:340px;object-fit:cover;}
  .leader{position:absolute; pointer-events:none;}
  .leader svg{overflow:visible;}
  .leader path{fill:none;stroke:var(--teal-bright);stroke-width:1; stroke-dasharray:200; stroke-dashoffset:200; transition:stroke-dashoffset 1s cubic-bezier(.16,1,.3,1);}
  .product.in .leader path{stroke-dashoffset:0;}
  .leader circle{fill:var(--brass);}
  .callout{
    position:absolute; font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--teal-deep);
    background:var(--warm-white); padding:3px 7px; border:1px solid var(--teal-line);
    opacity:0; transition:opacity .5s ease .8s;
  }
  .product.in .callout{opacity:1;}

  .pbody .pindex{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--brass);letter-spacing:0.08em;}
  .pbody h3{font-size:clamp(26px,3vw,38px);font-weight:500;color:var(--teal-deep);margin-top:10px;}
  .pbody p.desc{margin-top:16px;color:var(--ink-soft);line-height:1.7;font-size:15px;max-width:440px;}
  .specs{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;}
  .specs div{border-top:1px solid var(--line);padding-top:10px;}
  .specs .k{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.07em;}
  .specs .v{font-size:14.5px;margin-top:4px;color:var(--ink);}
  .pbody .pcta{margin-top:30px;}

  /* ---------- stats ---------- */
  .stats-section{background:var(--teal-deep);color:var(--warm-white);position:relative;overflow:hidden;}
  .stats-section::before{
    content:""; position:absolute; inset:0;
    background-image:
      linear-gradient(var(--teal-line) 1px, transparent 1px),
      linear-gradient(90deg, var(--teal-line) 1px, transparent 1px);
    background-size:64px 64px; opacity:0.35;
  }
  .stats-section .wrap{position:relative;}
  .stats-section .section-head h2{color:var(--warm-white);}
  .stats-section .section-head p{color:rgba(250,246,239,0.65);}
  .statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--teal-line);border:1px solid var(--teal-line);}
  @media(max-width:900px){.statgrid{grid-template-columns:1fr;}}
  .stat{background:var(--teal-deep);padding:40px 28px;}
  .stat .num{font-family:'Fraunces',serif;font-size:42px;font-weight:500;color:var(--brass-soft);display:flex;align-items:baseline;gap:3px;}
  .stat .unit{font-size:22px;color:var(--brass-soft);font-family:'IBM Plex Mono',monospace;}
  .stat .lbl{margin-top:10px;font-size:15px;color:rgba(250,246,239,0.92);line-height:1.5;font-weight:600;}
  .stat-copy{margin-top:12px;font-size:14px;line-height:1.7;color:rgba(250,246,239,0.7);}

  /* ---------- process timeline ---------- */
  .process{position:relative;}
  .ptrack{position:relative; padding-left:0;}
  .pline{position:absolute; left:0; right:0; top:13px; height:1px; background:var(--line);}
  .pline-fill{position:absolute; left:0; top:0; height:1px; background:var(--brass); width:0%; transition:width 1.4s cubic-bezier(.16,1,.3,1);}
  .psteps{display:grid; grid-template-columns:repeat(4,1fr); gap:32px; position:relative;}
  @media(max-width:900px){.psteps{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.psteps{grid-template-columns:1fr;}}
  .pstep .pdot{width:9px;height:9px;border:1.5px solid var(--teal-deep);background:var(--warm-white);border-radius:50%;position:relative;z-index:2;transition:background .4s, border-color .4s;}
  .ptrack.in .pstep .pdot{background:var(--brass);border-color:var(--brass);}
  .pstep{padding-top:0;}
  .pstep .pn{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--brass);margin-top:22px;letter-spacing:0.06em;}
  .pstep h4{font-family:'Fraunces',serif;font-size:21px;font-weight:500;margin-top:8px;color:var(--teal-deep);}
  .pstep p{margin-top:10px;font-size:14px;color:var(--ink-soft);line-height:1.6;}

  /* ---------- quote ---------- */
  .quote{background:var(--paper);}
  .quote-wrap{max-width:840px;margin:0 auto;text-align:center;}
  .quote blockquote{font-family:'Fraunces',serif;font-size:clamp(24px,3.4vw,38px);font-weight:400;line-height:1.4;color:var(--teal-deep);}
  .quote blockquote em{color:var(--brass);font-style:italic;}
  .quote .attrib{margin-top:32px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink-soft);letter-spacing:0.04em;}
  .quote .mark{font-size:60px;font-family:'Fraunces',serif;color:var(--brass-soft);line-height:0;display:block;margin-bottom:8px;}

  /* ---------- demo form ---------- */
  .demo{background:var(--teal-deep);color:var(--warm-white);position:relative;}
  .demo-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:0;border:1px solid var(--teal-line);}
  @media(max-width:900px){.demo-grid{grid-template-columns:1fr;}}
  .demo-media{position:relative;min-height:420px;}
  .demo-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(0.85);}
  .demo-media .overlay{position:absolute;inset:0;background:linear-gradient(0deg, rgba(11,55,51,0.92), rgba(11,55,51,0.15));}
  .demo-media .stamp{position:absolute;bottom:28px;left:28px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--brass-soft);letter-spacing:0.05em;}
  .demo-form{padding:56px;background:rgba(250,246,239,0.03);}
  @media(max-width:560px){.demo-form{padding:36px 24px;}}
  .demo-form h2{font-size:clamp(26px,3vw,36px);font-weight:500;}
  .demo-form p.sub{margin-top:14px;color:rgba(250,246,239,0.65);font-size:14.5px;max-width:420px;}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px;}
  @media(max-width:560px){.field-row{grid-template-columns:1fr;}}
  .field{position:relative;}
  .field label{display:block;font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.08em;color:rgba(250,246,239,0.55);margin-bottom:8px;}
  .field input, .field select, .field textarea{
    width:100%; background:transparent; border:none; border-bottom:1px solid var(--teal-line);
    color:var(--warm-white); padding:10px 0; font-family:'Inter',sans-serif; font-size:15px;
    transition:border-color .3s;
  }
  .field select option{color:var(--ink);}
  .field input:focus, .field select:focus, .field textarea:focus{outline:none;border-bottom-color:var(--brass);}
  .field textarea{resize:none;height:64px;}
  .demo-submit{margin-top:36px;}
  .field.full{grid-column:1/-1;}

  /* ---------- footer ---------- */
  footer{padding:72px 0 40px;}
  .foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px;padding-bottom:56px;border-bottom:1px solid var(--line);}
  @media(max-width:760px){.foot-top{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.foot-top{grid-template-columns:1fr;gap:36px;}}
  .foot-brand .logo{margin-bottom:18px;}
  .foot-brand p{color:var(--ink-soft);font-size:14px;line-height:1.6;max-width:280px;}
  .foot-col h5{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--brass);margin-bottom:18px;}
  .foot-col a{display:block;font-size:14px;color:var(--ink-soft);margin-bottom:12px;transition:color .25s;}
  .foot-col a:hover{color:var(--teal-deep);}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:14px;}
  .foot-bottom span{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--ink-soft);}

/* ---------- Cinematic Split Tracker Layout Correction Engine ---------- */
.overview-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items: center;
}

.ticker-text-container {
  position: relative;
  width: 100%;
  min-height: 340px;
  display: flex;
  align-items: center;
}

.text-slide {
  position: absolute;
  top: auto;
  left: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s cubic-bezier(.16,1,.3,1), transform 0.6s cubic-bezier(.16,1,.3,1);
  transform: translateY(10px);
}

.text-slide.active {
  position: relative;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.img-frame-container {
  position: relative;
  width: 100%;
  height: 360px;
  background: #000;
  border: 1px solid var(--line);
  padding: 8px;
  overflow: hidden;
}

.img-frame-container .img-slide {
  position: absolute;
  top: 8px;
  left: 8px;
  width: calc(100% - 16px);
  height: calc(100% - 16px);
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.15s ease-in-out;
  z-index: 1;
}

.img-frame-container .img-slide.active {
  opacity: 1;
  z-index: 2;
}

/* ---------- Product Display Centering Fix ---------- */
.product {
  max-width: 1200px;
  margin: 0 auto !important; /* Perfect horizontal centering alignment */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  padding: 64px 0;
  border-top: 1px solid var(--line);
}

/* ---------- Section Tightening: Precision Value Banner ---------- */
#devices {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.sales-banner-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 80px;
  align-items: flex-start;
}

@media (max-width: 768px) {
  .sales-banner-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* Image Frame Fix: Gives it a solid, uncollapsible scale */
.img-frame-container {
  position: relative;
  width: 100%;
  min-height: 380px; /* Forces the black box to match the tall text height */
  background: #000;
  border: 1px solid var(--line);
  padding: 8px;
  overflow: hidden;
}

.img-frame-container .img-slide {
  position: absolute;
  top: 8px;
  left: 8px;
  width: calc(100% - 16px);
  height: calc(100% - 16px);
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.15s ease-in-out;
  z-index: 1;
}

.img-frame-container .img-slide.active {
  opacity: 1;
  z-index: 2;
}
/* ---------- Cinematic Infinite Review Marquee Engine ---------- */
.marquee-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: flex;
}

.marquee-track {
  display: flex;
  width: max-content;
  gap: 24px;
  padding: 8px 0;
}

/* Individual Review Card Micro-Architecture */
.review-card {
  flex-shrink: 0;
  width: 420px;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid var(--line);
  padding: 32px;
  border-radius: 2px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}

.review-card .quote {
  font-family: 'Fraunces', serif;
  font-size: 17px;
  line-height: 1.5;
  color: var(--teal-deep);
  margin: 0;
}

.review-card .meta {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

/* Constant Linear Translation Animations */
.animation-forward {
  animation: scrollForward 35s linear infinite;
}

.animation-reverse {
  animation: scrollReverse 35s linear infinite;
}

/* Pause scroll when procurement officers want to read a specific card */
.marquee-wrapper:hover .marquee-track {
  animation-play-state: paused;
}

@keyframes scrollForward {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-50% - 12px)); }
}

@keyframes scrollReverse {
  0% { transform: translateX(calc(-50% - 12px)); }
  100% { transform: translateX(0); }
}
/* ---------- Clean Marquee Star Architectural Rules ---------- */
.star-rating {
  display: flex;
  gap: 5px;
  margin-bottom: -4px;
  align-items: center;
}

.star-rating .star {
  width: 18px;
  height: 18px;
  fill: var(--brass); /* Matches your beautiful brass branding color */
  display: inline-block;
}
/* Proxion Medtech Brand Identity Color Rule */
.brand-color {
  color: #00A3E0 !important;
  font-weight: inherit;
}
/* ---------- Modernized Brand Logo UI Architecture ---------- */
.logo-container {
  display: flex;
  align-items: center;
  user-select: none;
}

/* Rounded Blue Icon with Smooth Gradient/Shadow */
.brand-mark-box {
  width: 38px;
  height: 38px;
  background: linear-gradient(135deg, #00B2FE 0%, #00A3E0 100%);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 163, 224, 0.2);
}

.brand-mark-box span {
  color: #FFFFFF;
  font-weight: 800;
  font-size: 19px;
}
/* Rounded Blue Icon with a Lighter, Brighter Cyan Gradient */
.brand-mark-box {
  width: 38px;
  height: 38px;
  /* Updated to lighter, vibrant sky-cyan tones */
  background: linear-gradient(135deg, #00D2FF 0%, #00A3E0 100%);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Lightened glow effect */
  box-shadow: 0 3px 10px rgba(0, 210, 255, 0.3);
}

/* Bold Typography Layout */
.brand-text-name {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -0.02em;
  color: #FFFFFF; /* If running on a dark navbar, change to var(--teal-deep) if your header background is light cream */
  text-transform: uppercase;
}

/* Target Custom Cyan Accenting */
.brand-medtech-accent {
  color: #00A3E0 !important;
  font-weight: 400;
  text-transform: lowercase;
}
/* Optimized color contrast for a light header background */
.brand-text-name {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -0.02em;
  color: #0b3733; /* Dark teal instead of white so "PROXION" stands out beautifully */
  text-transform: uppercase;
}

.brand-medtech-accent {
  color: #00A3E0 !important; /* Keeps your crisp brand blue/cyan */
  font-weight: 400;
  text-transform: lowercase;
}
/* Top white space ko remove karne ke liye resets */
body, html {
  margin: 0;
  padding: 0;
  background-color: #fbf9f6;
}

/* Header ke default wrapper gaps ko close karne ke liye */
header {
  margin-bottom: 0 !important;
}

/* Horizontal alignment security */
.hero-container {
  box-sizing: border-box;
}

.hero-image-wrapper img {
  max-width: 100%;
  height: auto;
}
/* ---------- index.html hero-intro (mobile-safe replacement for old inline flex row) ---------- */
.hero-intro-row{
  display: flex;
  gap: 44px;
  align-items: stretch;
  width: 100%;
}
.hero-intro-text{
  flex: 1.1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 12px 0 0;
  box-sizing: border-box;
}
.hero-intro-media{
  flex: 0.9;
  position: relative;
  display: flex;
  align-items: stretch;
}
.hero-intro-media-frame{
  width: 100%;
  position: relative;
  min-height: 320px;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 20px 40px rgba(11, 55, 51, 0.04);
  border-bottom: 3px solid #c79a56;
}
@media (max-width: 900px){
  .hero-intro-row{ flex-direction: column; gap: 32px; }
  .hero-intro-text{ padding: 0; }
  .hero-intro-media-frame{ min-height: 260px; }
}
@media (max-width: 520px){
  #hero-intro h1{ font-size: 36px !important; }
}

@media (max-width: 768px){
  #hero-intro{ padding: 88px 0 48px !important; }
  #hero-intro .wrap{ padding: 0 20px; }
  #hero-intro h1{ font-size: clamp(34px, 9vw, 44px) !important; line-height: 1.08 !important; }
  #hero-intro p{ font-size: 15px !important; line-height: 1.72 !important; text-align: left !important; }
  #overview{ padding: 72px 0 56px !important; }
  #pipeline{ padding: 28px 0 80px !important; }
  #inquiry{ padding: 46px 0 52px !important; }
  .sales-banner-grid{ gap: 24px !important; }
  .psteps{ gap: 24px !important; }
  .demo-grid{ gap: 0 !important; }
}

@media (max-width: 560px){
  #hero-intro h1{ font-size: 34px !important; }
  .hero-intro-media-frame{ min-height: 220px; }
  .hero-intro-text p{ font-size: 15px !important; }
}
/* Container for the icons underneath the heading */
.social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 20px; /* Spaces the icons out nicely and prevents overflow */
  margin-top: 12px; /* Pushes them slightly below "Connect With Us" */
}

/* Adjust size and default color of the icons */
.social-icon {
  width: 35px;
  height: 30px;
  fill: #0b3733; /* Matches your dark teal text color */
  transition: fill 0.2s ease-in-out, transform 0.2s ease-in-out;
}

/* Smooth hover effect */
.social-icon:hover {
  fill: #00a2e8; /* Bright blue matching your 'medtech' logo color */
  transform: translateY(-2px); /* Subtle lift on hover */
}
