*{box-sizing:border-box;margin:0;padding:0}
:root{
  --tci-navy:#0a1628;
  --tci-dark:#071020;
  --tci-blue:#1a3a6e;
  --tci-accent:#2d6fd4;
  --tci-light:#4a90e2;
  --tci-gold:#c8a84b;
  --tci-text:#e8edf5;
  --tci-muted:#8a9bb5;
  --tci-border:rgba(45,111,212,0.3);
  --tci-card:rgba(26,58,110,0.25);
}
body{background:var(--tci-navy);color:var(--tci-text);font-family:'Segoe UI',system-ui,sans-serif;overflow-x:hidden}

.page-wrap{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 4rem}

.section-header{text-align:center;margin-bottom:3rem}
.section-header .overline{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--tci-gold);margin-bottom:.75rem}
.section-header h2{font-size:clamp(28px,4vw,44px);font-weight:700;color:var(--tci-text);margin-bottom:1rem;line-height:1.2}
.section-header p{font-size:15px;color:var(--tci-muted);max-width:600px;margin:0 auto;line-height:1.7}

.divider{width:60px;height:3px;background:linear-gradient(90deg,var(--tci-accent),var(--tci-gold));margin:.75rem auto 0;border-radius:2px}

/* PRODUCT CARDS */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:5rem}

.prod-card{
  position:relative;
  background:var(--tci-card);
  border:1px solid var(--tci-border);
  border-radius:16px;
  padding:0;
  overflow:hidden;
  cursor:pointer;
  transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s ease,border-color .35s ease;
}
.prod-card:hover{
  transform:translateY(-8px) scale(1.01);
  box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 0 1px var(--tci-accent);
  border-color:var(--tci-accent);
}
.prod-card::before{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(45,111,212,.15) 0%,transparent 60%);
  opacity:0;transition:opacity .35s;z-index:0;
}
.prod-card:hover::before{opacity:1}

.card-img{
  width:100%;height:180px;
  background:linear-gradient(135deg,var(--tci-blue) 0%,var(--tci-dark) 100%);
  display:block;
  position:relative;overflow:hidden;
}
.card-img-media{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  user-select:none;
  -webkit-user-drag:none;
  transition:transform .35s ease,filter .35s ease;
}
.card-img-icon{font-size:56px;opacity:.25;color:var(--tci-light);transition:all .35s ease}
.card-img-label{
  position:absolute;bottom:12px;left:16px;z-index:2;
  font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:var(--tci-gold);font-weight:600;
  text-shadow:0 2px 12px rgba(0,0,0,.7);
}
.card-img::after{
  content:'';position:absolute;inset:0;
  z-index:1;
  background:linear-gradient(to bottom,transparent 50%,rgba(7,16,32,.8));
}
.prod-card:hover .card-img-icon{transform:scale(1.15);opacity:.4}
.prod-card:hover .card-img-media{transform:scale(1.04);filter:saturate(1.08) brightness(.92)}

.card-body{padding:1.25rem 1.5rem 1.5rem;position:relative;z-index:1}
.card-title{font-size:18px;font-weight:600;color:var(--tci-text);margin-bottom:4px}
.card-sub{font-size:12px;color:var(--tci-gold);letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}

.card-features{
  max-height:0;overflow:hidden;
  transition:max-height .5s cubic-bezier(.23,1,.32,1),opacity .4s ease;
  opacity:0;
}
.prod-card:hover .card-features{max-height:300px;opacity:1}

.feat-item{
  display:flex;align-items:flex-start;gap:10px;
  padding:.5rem 0;
  border-bottom:1px solid rgba(45,111,212,.15);
  font-size:13px;color:var(--tci-muted);line-height:1.5;
  transform:translateY(8px);transition:transform .3s ease,opacity .3s ease;
  opacity:0;
}
.prod-card:hover .feat-item{transform:translateY(0);opacity:1}
.prod-card:hover .feat-item:nth-child(1){transition-delay:.1s}
.prod-card:hover .feat-item:nth-child(2){transition-delay:.17s}
.prod-card:hover .feat-item:nth-child(3){transition-delay:.24s}
.feat-item:last-child{border-bottom:none}
.feat-dot{width:6px;height:6px;border-radius:50%;background:var(--tci-accent);flex-shrink:0;margin-top:5px}

.card-cta{
  margin-top:1rem;display:flex;align-items:center;gap:6px;
  font-size:12px;font-weight:600;color:var(--tci-accent);letter-spacing:.5px;
  text-transform:uppercase;
  transform:translateY(4px);opacity:0;
  transition:opacity .3s ease .3s,transform .3s ease .3s;
}
.prod-card:hover .card-cta{opacity:1;transform:translateY(0)}
.cta-arrow{transition:transform .25s ease}
.prod-card:hover .cta-arrow{transform:translateX(4px)}

/* SECTION DIVIDER */
.section-sep{
  display:flex;align-items:center;gap:1rem;margin:2rem 0 3.5rem;
}
.sep-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--tci-border),transparent)}
.sep-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--tci-muted);white-space:nowrap}

/* TMR / PAS SOLUTIONS */
.solution-section{margin-bottom:4rem}
.sol-title-row{margin-bottom:.5rem}
.sol-title{font-size:20px;font-weight:600;color:var(--tci-text)}
.sol-title span{color:var(--tci-gold)}
.sol-desc{font-size:13px;color:var(--tci-muted);margin-bottom:1.5rem;line-height:1.6}

.sol-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}

.sol-card{
  background:rgba(10,22,40,.6);
  border:1px solid var(--tci-border);
  border-radius:14px;
  overflow:hidden;
  cursor:pointer;
  transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s,border-color .3s;
  position:relative;
}
.sol-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 50px rgba(0,0,0,.5),0 0 0 1px rgba(45,111,212,.6);
  border-color:rgba(45,111,212,.6);
}
.sol-card-top{
  height:140px;
  background:linear-gradient(135deg,#0d1f3c 0%,#071020 100%);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.sol-card-top::before{
  content:'';position:absolute;
  width:200px;height:200px;
  background:radial-gradient(circle,rgba(45,111,212,.2) 0%,transparent 70%);
  transition:transform .4s ease,opacity .4s;
  opacity:0;
}
.sol-card:hover .sol-card-top::before{opacity:1;transform:scale(1.3)}
.sol-icon{font-size:44px;color:var(--tci-accent);opacity:.4;transition:all .35s;position:relative;z-index:1}
.sol-card:hover .sol-icon{opacity:.8;transform:scale(1.1)}

.sol-badge{
  position:absolute;top:12px;right:12px;
  font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
  background:rgba(45,111,212,.2);border:1px solid rgba(45,111,212,.4);
  color:var(--tci-light);padding:3px 8px;border-radius:4px;
}

.sol-card-body{padding:1.25rem 1.25rem 1.5rem}
.sol-card-title{font-size:15px;font-weight:600;color:var(--tci-text);margin-bottom:2px}
.sol-card-sub{font-size:11px;color:var(--tci-muted);margin-bottom:.75rem;line-height:1.4}

.sol-points{
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .5s cubic-bezier(.23,1,.32,1),opacity .4s ease;
}
.sol-card:hover .sol-points{max-height:400px;opacity:1}

.sol-point{
  padding:.6rem 0;
  border-bottom:1px solid rgba(45,111,212,.1);
  transform:translateX(-6px);opacity:0;
  transition:transform .3s,opacity .3s;
}
.sol-card:hover .sol-point{transform:translateX(0);opacity:1}
.sol-card:hover .sol-point:nth-child(1){transition-delay:.1s}
.sol-card:hover .sol-point:nth-child(2){transition-delay:.18s}
.sol-card:hover .sol-point:nth-child(3){transition-delay:.26s}
.sol-point:last-child{border-bottom:none}
.sol-point-title{font-size:12px;font-weight:600;color:var(--tci-accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.sol-point-text{font-size:12px;color:var(--tci-muted);line-height:1.5}

/* GLOW ACCENT LINE ON HOVER */
.sol-card::after{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--tci-accent),transparent);
  opacity:0;transition:opacity .35s;
}
.sol-card:hover::after{opacity:1}
.prod-card::after{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--tci-gold),transparent);
  opacity:0;transition:opacity .35s;z-index:2;
}
.prod-card:hover::after{opacity:1}

/* HERO INTRO */
.hero-intro{
  text-align:center;
  padding:3.5rem 1rem 3rem;
  position:relative;
}
.hero-intro::before{
  content:'';position:absolute;
  width:600px;height:600px;
  background:radial-gradient(circle,rgba(45,111,212,.08) 0%,transparent 70%);
  top:-100px;left:50%;transform:translateX(-50%);
  pointer-events:none;
}
.hero-eyebrow{
  font-size:11px;letter-spacing:4px;text-transform:uppercase;
  color:var(--tci-gold);margin-bottom:1rem;
}
.hero-title{
  font-size:clamp(32px,5vw,54px);font-weight:700;
  line-height:1.15;margin-bottom:1.25rem;
  background:linear-gradient(135deg,#e8edf5 0%,#4a90e2 50%,#c8a84b 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-sub{font-size:15px;color:var(--tci-muted);max-width:640px;margin:0 auto;line-height:1.7}

@media(max-width:640px){
  .cards-grid,.sol-grid{grid-template-columns:1fr}
  .page-wrap{padding:1rem 1rem 3rem}
}
  

body[data-page-key="products"] .products-reference > div{padding-top:0;}
body[data-page-key="products"] .ref-cta{background:var(--tci-navy);}
.prod-card.is-open{
  transform:translateY(-8px) scale(1.01);
  box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 0 1px var(--tci-accent);
  border-color:var(--tci-accent);
}
.prod-card.is-open::before,
.prod-card.is-open::after,
.sol-card.is-open::after{opacity:1}
.prod-card.is-open .card-img-icon{transform:scale(1.15);opacity:.4}
.prod-card.is-open .card-img-media{transform:scale(1.04);filter:saturate(1.08) brightness(.92)}
.prod-card.is-open .card-features{max-height:300px;opacity:1}
.prod-card.is-open .feat-item{transform:translateY(0);opacity:1}
.prod-card.is-open .feat-item:nth-child(1){transition-delay:.1s}
.prod-card.is-open .feat-item:nth-child(2){transition-delay:.17s}
.prod-card.is-open .feat-item:nth-child(3){transition-delay:.24s}
.prod-card.is-open .card-cta{opacity:1;transform:translateY(0)}
.prod-card.is-open .cta-arrow{transform:translateX(4px)}
.sol-card.is-open{
  transform:translateY(-6px);
  box-shadow:0 20px 50px rgba(0,0,0,.5),0 0 0 1px rgba(45,111,212,.6);
  border-color:rgba(45,111,212,.6);
}
.sol-card.is-open .sol-card-top::before{opacity:1;transform:scale(1.3)}
.sol-card.is-open .sol-icon{opacity:.8;transform:scale(1.1)}
.sol-card.is-open .sol-points{max-height:400px;opacity:1}
.sol-card.is-open .sol-point{transform:translateX(0);opacity:1}
.sol-card.is-open .sol-point:nth-child(1){transition-delay:.1s}
.sol-card.is-open .sol-point:nth-child(2){transition-delay:.18s}
.sol-card.is-open .sol-point:nth-child(3){transition-delay:.26s}


/* HTML helper classes moved out of inline style attributes */
.products-canvas{background:var(--tci-navy);min-height:100vh}
.card-img-fpga{background:linear-gradient(135deg,#0d2a4a 0%,#071020 100%)}
.card-img-ecs{background:linear-gradient(135deg,#1a2a0d 0%,#071020 100%)}
.card-img-icon-ecs{color:#5dcaa5}
.feat-dot-ecs{background:#1d9e75}
.card-cta-ecs{color:#1d9e75}
.sol-card-pas{--tci-accent:#c8a84b}
.sol-card-top-pas{background:linear-gradient(135deg,#1a1205 0%,#071020 100%)}
.sol-icon-pas{color:#c8a84b}
.sol-badge-pas{border-color:rgba(200,168,75,.4);color:#c8a84b}
.sol-point-title-pas{color:#c8a84b}
