/* IDS Tools hub v2 — cinematic interactive archive */
.tools-hub-page{
  background:
    radial-gradient(circle at 82% 4%,rgba(154,43,52,.12),transparent 27%),
    radial-gradient(circle at 12% 27%,rgba(69,106,135,.10),transparent 28%),
    #05070a;
}
.tools-hero{
  max-width:var(--max);
  margin:0 auto;
  padding:70px 20px 28px;
}
.tools-hero-top{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:40px;
  align-items:end;
}
.tools-hero .tools-kicker{
  margin:0 0 10px;
  color:#c64b55;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.tools-hero h1{
  margin:0;
  max-width:980px;
  color:#f3f6f8;
  font:900 clamp(4.3rem,9.2vw,8.9rem)/.84 "Arial Narrow",Impact,sans-serif;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.tools-hero-side{
  padding-bottom:8px;
}
.tools-hero-side p{
  margin:0;
  color:#b8c3cd;
  font-size:1.03rem;
  line-height:1.7;
}
.tools-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.tools-hero-actions a{
  min-height:45px;
  padding:0 17px;
  display:inline-flex;
  align-items:center;
  border:1px solid #394653;
  background:#0b1016;
  color:#edf2f5;
  text-decoration:none;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.tools-hero-actions a:first-child{
  border-color:#a73b45;
  background:rgba(167,59,69,.14);
}
.tools-hero-actions a:hover{
  border-color:#8193a1;
  background:#101821;
}
.tools-hero-strip{
  margin-top:34px;
  display:grid;
  grid-template-columns:1fr 1.14fr 1fr;
  gap:8px;
}
.tools-hero-shot{
  position:relative;
  min-height:300px;
  overflow:hidden;
  border:1px solid rgba(143,159,173,.24);
  background:#0a0f15;
}
.tools-hero-shot img{
  width:100%;
  height:100%;
  min-height:300px;
  object-fit:cover;
  display:block;
}
.tools-hero-shot.source-left img{object-position:52% center}
.tools-hero-shot.fusion-center img{object-position:center 28%}
.tools-hero-shot.source-right img{object-position:55% center}
.tools-hero-shot:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:45%;
  background:linear-gradient(180deg,transparent,rgba(3,5,8,.88));
}
.tools-hero-shot-copy{
  position:absolute;
  z-index:2;
  left:17px;
  right:17px;
  bottom:15px;
}
.tools-hero-shot-copy span{
  display:block;
  color:#9eadb9;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.tools-hero-shot-copy strong{
  display:block;
  margin-top:5px;
  color:#f4f6f7;
  font:900 1.42rem/1 "Arial Narrow",Impact,sans-serif;
  text-transform:uppercase;
}
.tools-stat-strip{
  max-width:var(--max);
  margin:0 auto;
  padding:0 20px 72px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
}
.tools-stat-strip div{
  padding:19px 20px;
  border:1px solid rgba(143,159,173,.22);
  background:#0a0f15;
  margin-left:-1px;
}
.tools-stat-strip strong{
  display:block;
  color:#e8edf1;
  font:900 1.55rem/1 "Arial Narrow",Impact,sans-serif;
  text-transform:uppercase;
}
.tools-stat-strip span{
  display:block;
  margin-top:7px;
  color:#7f8d99;
  font-size:.66rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.tools-feature-shell{
  max-width:var(--max);
  margin:0 auto;
  padding:0 20px 82px;
}
.tools-section-head{
  display:flex;
  justify-content:space-between;
  gap:32px;
  align-items:end;
  margin-bottom:24px;
}
.tools-section-head h2{
  margin:5px 0 0;
  color:#f2f5f7;
  font:900 clamp(2.8rem,5.4vw,5.3rem)/.9 "Arial Narrow",Impact,sans-serif;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.tools-section-head>p{
  max-width:560px;
  margin:0;
  color:#8e9ca8;
  line-height:1.65;
  text-align:right;
}
.tools-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.tool-feature-card{
  min-height:510px;
  display:grid;
  grid-template-rows:245px 1fr;
  overflow:hidden;
  border:1px solid rgba(143,159,173,.24);
  background:#0d141c;
  color:inherit;
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.tool-feature-card:hover{
  transform:translateY(-3px);
  border-color:#667b8d;
  background:#101923;
}
.tool-card-image{
  position:relative;
  overflow:hidden;
  background:#090d12;
}
.tool-card-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .35s ease;
}
.tool-feature-card:hover .tool-card-image img{transform:scale(1.025)}
.tool-card-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(4,6,9,.05),rgba(4,6,9,.34));
  pointer-events:none;
}
.tool-card-image.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:#26313c;
}
.tool-card-image.split img{min-width:0}
.tool-card-image.triptych{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:#26313c;
}
.tool-card-image.triptych img{min-width:0}
.tool-card-image .visual-label{
  position:absolute;
  z-index:3;
  right:13px;
  top:13px;
  padding:6px 8px;
  border:1px solid rgba(230,236,240,.28);
  background:rgba(6,8,11,.75);
  color:#dfe5ea;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  backdrop-filter:blur(6px);
}
.tool-feature-copy{
  padding:24px 26px 25px;
  display:flex;
  flex-direction:column;
}
.tool-no{
  color:#c64b55;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.tool-feature-card h3{
  margin:11px 0 10px;
  color:#f1f4f6;
  font:900 clamp(2.15rem,3.4vw,3.65rem)/.92 "Arial Narrow",Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:-.02em;
}
.tool-feature-card p{
  margin:0;
  color:#b8c2cb;
  line-height:1.6;
}
.tool-feature-card b{
  margin-top:auto;
  padding-top:20px;
  color:#aebdca;
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.tool-feature-card.sith-analysis-card{
  grid-column:1/-1;
  min-height:470px;
  grid-template-columns:1.16fr .84fr;
  grid-template-rows:1fr;
}
.sith-analysis-card .tool-card-image{
  grid-column:1;
  grid-row:1;
  min-height:470px;
}
.sith-analysis-card .tool-card-image img{object-position:center 42%}
.sith-analysis-card .tool-feature-copy{
  grid-column:2;
  grid-row:1;
  justify-content:center;
  padding:42px;
  border-left:1px solid rgba(143,159,173,.2);
}

.tools-question-band{
  max-width:var(--max);
  margin:0 auto;
  padding:0 20px 76px;
}
.tools-question-shell{
  border:1px solid rgba(143,159,173,.22);
  background:linear-gradient(135deg,#0b1118,#070a0e);
  padding:30px;
}
.tools-question-head{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:end;
  margin-bottom:22px;
}
.tools-question-head h2{
  margin:5px 0 0;
  color:#f1f4f6;
  font:900 clamp(2rem,4vw,3.9rem)/.94 "Arial Narrow",Impact,sans-serif;
  text-transform:uppercase;
}
.tools-question-head p{
  max-width:520px;
  margin:0;
  color:#8d9aa5;
  line-height:1.6;
  text-align:right;
}
.tools-question-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:9px;
}
.tools-question-grid a{
  min-height:145px;
  padding:17px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(143,159,173,.2);
  background:#080d12;
  color:inherit;
  text-decoration:none;
}
.tools-question-grid span{
  color:#687987;
  font-size:.59rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.tools-question-grid strong{
  margin-top:18px;
  color:#e8edf1;
  font:900 1.25rem/1.02 "Arial Narrow",Impact,sans-serif;
  text-transform:uppercase;
}
.tools-question-grid b{
  margin-top:auto;
  color:#b64953;
  font-size:1.15rem;
}

.tools-discovery{
  max-width:var(--max);
  margin:0 auto;
  padding:0 20px 96px;
}
.discovery-panel{
  padding:30px;
  border:1px solid rgba(143,159,173,.22);
  background:linear-gradient(135deg,#0c131b,#070a0e);
}
.discovery-panel-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:22px;
}
.discovery-panel-head h2{
  margin:5px 0 0;
  color:#f1f4f6;
  font:900 clamp(2.25rem,4.5vw,4.3rem)/.93 "Arial Narrow",Impact,sans-serif;
  text-transform:uppercase;
}
.discovery-panel-head p{
  max-width:530px;
  margin:0;
  color:#8d9aa5;
  line-height:1.6;
  text-align:right;
}
.discovery-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:9px;
}
.discovery-grid a{
  position:relative;
  min-height:155px;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  border:1px solid rgba(143,159,173,.2);
  background:#080d12;
  text-decoration:none;
}
.discovery-grid a:before{
  content:"";
  position:absolute;
  inset:auto -20% -60% 20%;
  height:120px;
  background:radial-gradient(circle,rgba(166,59,69,.13),transparent 65%);
}
.discovery-grid a:hover{border-color:#657887}
.discovery-grid span{
  position:relative;
  color:#6e7e8b;
  font-size:.61rem;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.discovery-grid strong{
  position:relative;
  color:#e8edf1;
  font:900 1.45rem/1 "Arial Narrow",Impact,sans-serif;
  text-transform:uppercase;
}
.discovery-grid b{
  position:relative;
  align-self:flex-end;
  color:#c64b55;
  font-size:1.25rem;
}

@media(max-width:1050px){
  .tools-hero-top{grid-template-columns:1fr}
  .tools-hero-side{max-width:760px}
  .tools-question-grid{grid-template-columns:repeat(3,1fr)}
  .discovery-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:850px){
  .tools-hero{padding-top:48px}
  .tools-hero-strip{grid-template-columns:1fr 1fr}
  .tools-hero-shot:last-child{display:none}
  .tools-stat-strip{grid-template-columns:repeat(2,1fr)}
  .tools-feature-grid{grid-template-columns:1fr}
  .tool-feature-card.sith-analysis-card{
    grid-column:auto;
    min-height:0;
    grid-template-columns:1fr;
    grid-template-rows:245px 1fr;
  }
  .sith-analysis-card .tool-card-image{
    grid-column:1;
    grid-row:1;
    min-height:245px;
  }
  .sith-analysis-card .tool-feature-copy{
    grid-column:1;
    grid-row:2;
    padding:24px 26px 25px;
    border-left:0;
    border-top:1px solid rgba(143,159,173,.2);
  }
  .tools-section-head,
  .tools-question-head,
  .discovery-panel-head{
    align-items:start;
    flex-direction:column;
  }
  .tools-section-head>p,
  .tools-question-head p,
  .discovery-panel-head p{text-align:left}
  .discovery-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:580px){
  .tools-hero h1{font-size:clamp(4.2rem,22vw,6.8rem)}
  .tools-hero-strip{grid-template-columns:1fr}
  .tools-hero-shot{min-height:245px}
  .tools-hero-shot img{min-height:245px}
  .tools-hero-shot:nth-child(3){display:block}
  .tools-stat-strip{padding-inline:12px}
  .tools-feature-shell,.tools-question-band,.tools-discovery{padding-inline:12px}
  .tool-feature-card{min-height:0;grid-template-rows:210px 1fr}
  .tool-card-image{min-height:210px}
  .tools-question-grid,.discovery-grid{grid-template-columns:1fr}
  .tools-question-shell,.discovery-panel{padding:20px}
}
@media(prefers-reduced-motion:reduce){
  .tool-feature-card,.tool-card-image img{transition:none}
}
