.fendix-case-study-hub .hub-hero h1{max-width:900px}.hub-cases{padding:clamp(4.5rem,8vw,7rem) 0;background:#f3f3f2}.hub-intro{margin-bottom:2.25rem}.hub-case-list{display:grid;gap:1.5rem}.hub-case{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);overflow:hidden;border:1px solid #d1d5d8;border-radius:4px;background:#fff}.hub-case-image{display:block;min-height:430px;overflow:hidden;background:#d9dcdd}.hub-case-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.hub-case-image:hover img,.hub-case-image:focus-visible img{transform:scale(1.02)}.hub-case-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,4vw,4rem)}.hub-case-meta{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid #d7dadd;color:var(--grey);font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.hub-case h2{max-width:680px;margin:0 0 1rem;font-size:clamp(2rem,4vw,3.6rem)}.hub-case h2 a{color:inherit}.hub-case-copy>p{max-width:680px;margin:0;color:var(--grey);font-size:1rem;line-height:1.65}.hub-case-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.6rem 0;border-top:1px solid #d7dadd;border-bottom:1px solid #d7dadd}.hub-case-facts div{padding:1rem 0}.hub-case-facts div+div{padding-left:1.25rem;border-left:1px solid #d7dadd}.hub-case-facts dt{margin-bottom:.25rem;color:var(--grey);font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.hub-case-facts dd{margin:0;font-size:.83rem;font-weight:700}.hub-case-link{align-self:flex-start;color:var(--red);font-size:.78rem;font-weight:800}.hub-case-link:hover,.hub-case-link:focus-visible{color:#9f2a23}.fendix-case-study-hub .assessment-note{margin:0}.fendix-case-study-hub .contact{padding-block:clamp(3.25rem,6vw,5rem)}
@media(max-width:900px){.hub-case{grid-template-columns:1fr}.hub-case-image{min-height:360px;max-height:520px}.hub-case-copy{padding:2rem}.hub-case h2{font-size:clamp(2rem,8vw,3.2rem)}}
@media(max-width:560px){.hub-case-image{min-height:290px}.hub-case-meta{align-items:flex-start;flex-direction:column;gap:.25rem}.hub-case-facts{grid-template-columns:1fr}.hub-case-facts div+div{padding-left:0;border-top:1px solid #d7dadd;border-left:0}}
@media(prefers-reduced-motion:reduce){.hub-case-image img{transition:none}.hub-case-image:hover img,.hub-case-image:focus-visible img{transform:none}}

/* Technical Hub: fire-collar explainer and consolidated resources. */
.hub-primer {
  padding: clamp(72px, 8vw, 118px) 0 clamp(36px, 4vw, 54px);
  background: var(--paper);
  color: var(--ink);
}
.hub-cases { padding-top: clamp(48px, 5vw, 72px); }
.hub-primer .eyebrow,
.hub-resources .eyebrow { margin: 0 0 16px; color: var(--red); }
.hub-primer-head {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .72fr);
  gap: clamp(38px, 7vw, 112px);
  align-items: end;
}
.hub-primer-head h2,
.hub-resources h2 {
  max-width: 850px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(38px, 5.25vw, 74px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.045em;
}
.hub-primer-head > p {
  max-width: 590px;
  margin: 0;
  color: #55606d;
  font-size: clamp(18px, 1.55vw, 23px);
  line-height: 1.55;
}
.hub-primer-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: clamp(44px, 6vw, 80px);
}
.hub-primer-step {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}
.hub-primer-visual {
  position: relative;
  height: 176px;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,0)), repeating-linear-gradient(0deg, #e6e4df 0, #e6e4df 18px, #e0ded8 19px, #e0ded8 20px);
}
.hub-primer-visual::before {
  position: absolute;
  left: -5%;
  right: -5%;
  top: 60px;
  height: 66px;
  border-top: 1px solid rgba(31,43,58,.14);
  border-bottom: 1px solid rgba(31,43,58,.18);
  background: #b9bab7;
  box-shadow: inset 0 8px 18px rgba(255,255,255,.22), inset 0 -8px 18px rgba(32,43,58,.08);
  content: "";
}
.hub-primer-visual .pipe {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 17px;
  width: 52px;
  height: 146px;
  transform: translateX(-50%);
  border: 1px solid #c3c8cc;
  border-radius: 5px;
  background: linear-gradient(90deg, #eceeef 0, #fff 40%, #d9dddf 100%);
  box-shadow: 0 8px 18px rgba(32,43,58,.14);
}
.hub-primer-visual .heat {
  display: none;
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: 13px;
  width: 50px;
  height: 50px;
  transform: translateX(-50%) rotate(-45deg);
  border-radius: 62% 8% 62% 62%;
  background: #e44836;
  box-shadow: 0 7px 16px rgba(211,59,51,.18);
}
.hub-primer-visual .heat::after {
  position: absolute;
  right: 10px;
  bottom: 9px;
  width: 25px;
  height: 25px;
  border-radius: 62% 8% 62% 62%;
  background: #ffb43d;
  content: "";
}
.hub-primer-visual .intumescent-plug {
  display: none;
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 59px;
  width: 50px;
  height: 68px;
  transform: translateX(-50%);
  border: 1px solid #10151b;
  border-radius: 2px;
  background: linear-gradient(90deg, #151a20 0, #343a42 48%, #11161c 100%);
  box-shadow: inset 8px 0 12px rgba(255,255,255,.04), inset -8px 0 12px rgba(0,0,0,.18);
}
.hub-primer-visual .collar {
  display: none;
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 126px;
  width: 132px;
  height: 14px;
  transform: translateX(-50%);
  border-radius: 2px;
  background: linear-gradient(#24518e, #112f62);
  box-shadow: 0 5px 10px rgba(19,45,84,.28);
}
.hub-primer-visual--fire .pipe { top: 17px; height: 114px; }
.hub-primer-visual--fire .heat,
.hub-primer-visual--collar .collar,
.hub-primer-visual--collar .intumescent-plug { display: block; }
.hub-primer-visual--collar .pipe { height: 44px; }
.hub-primer-step-copy { padding: 28px 28px 31px; }
.hub-primer-step-number {
  display: block;
  margin-bottom: 24px;
  color: var(--red);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .13em;
}
.hub-primer-step h3 {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: 25px;
  line-height: 1.12;
  letter-spacing: -.025em;
}
.hub-primer-step p {
  margin: 0;
  color: var(--grey);
  font-size: 17px;
  line-height: 1.5;
}
.hub-primer-fendix {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 38px;
  align-items: center;
  margin-top: 18px;
  padding: clamp(30px, 4vw, 52px);
  border-radius: 12px;
  background: var(--ink);
  color: #fff;
}
.hub-primer-fendix .mini-eyebrow {
  display: block;
  margin-bottom: 10px;
  color: #f05a50;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.hub-primer-fendix h3 {
  max-width: 780px;
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -.035em;
}
.hub-primer-fendix p {
  max-width: 840px;
  margin: 0;
  color: #bec6d0;
  font-size: 18px;
  line-height: 1.55;
}
.hub-primer-actions { display: grid; gap: 10px; min-width: 245px; }
.hub-primer-actions a {
  display: block;
  padding: 16px 20px;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 6px;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
}
.hub-primer-actions a:first-child { border-color: var(--red); background: var(--red); }
.hub-primer-actions a:hover,
.hub-primer-actions a:focus-visible { border-color: #fff; }
.hub-primer-note { margin: 16px 0 0; color: #77818d; font-size: 13px; line-height: 1.45; }
.hub-resources {
  position: relative;
  padding: clamp(72px, 8vw, 112px) 0;
  background: #fff;
  color: var(--ink);
}
.hub-resources-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr);
  gap: clamp(35px, 7vw, 108px);
  align-items: end;
}
.hub-resources-head > p { margin: 0; color: var(--grey); font-size: 18px; line-height: 1.55; }
.hub-resource-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 46px;
}
.hub-resource-card {
  display: flex;
  min-height: 205px;
  flex-direction: column;
  justify-content: space-between;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--ink);
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.hub-resource-card:hover,
.hub-resource-card:focus-visible {
  transform: translateY(-3px);
  border-color: var(--red);
  box-shadow: 0 14px 34px rgba(32,43,58,.08);
  outline: none;
}
.hub-resource-card span { color: var(--red); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hub-resource-card strong { display: block; margin: 14px 0 8px; color: var(--ink); font-size: 25px; line-height: 1.16; letter-spacing: -.025em; }
.hub-resource-card small { display: block; color: var(--grey); font-size: 15px; line-height: 1.45; }
.hub-resource-card .hub-resource-pdf {
  display: inline-block;
  margin-left: 7px;
  padding: 2px 5px;
  border: 1px solid #9aa2ac;
  border-radius: 3px;
  color: #687381;
  font-size: .5em;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .04em;
  vertical-align: .22em;
}
.hub-resource-card b { color: var(--red); font-size: 15px; }
.hub-resource-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin-top: 18px;
  padding: 22px 24px;
  border-left: 3px solid var(--red);
  background: var(--paper);
}
.hub-resource-note strong { color: var(--ink); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.hub-resource-note p { margin: 0; color: var(--grey); font-size: 15px; line-height: 1.5; }
.hub-resource-note a { color: var(--red); font-size: 14px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.hub-resource-note a:hover,
.hub-resource-note a:focus-visible { color: #9f2a23; text-decoration: underline; }
#why-fire-collars,
#case-studies,
#resources,
#contact,
.hub-anchor-alias { scroll-margin-top: 96px; }
.hub-anchor-alias { display: block; height: 0; }

@media (max-width: 900px) {
  .hub-primer-head,
  .hub-resources-head,
  .hub-primer-fendix { grid-template-columns: 1fr; }
  .hub-primer-steps,
  .hub-resource-grid { grid-template-columns: 1fr; }
  .hub-primer-step { display: grid; grid-template-columns: minmax(180px, .75fr) 1fr; }
  .hub-primer-visual { height: 100%; min-height: 210px; border-right: 1px solid var(--line); border-bottom: 0; }
  .hub-primer-actions { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hub-resource-card { min-height: 170px; }
}
@media (max-width: 640px) {
  .hub-primer { padding: 62px 0 34px; }
  .hub-cases { padding-top: 48px; }
  .hub-primer-head { gap: 24px; }
  .hub-primer-head h2,
  .hub-resources h2 { font-size: clamp(36px, 10vw, 48px); }
  .hub-primer-steps { gap: 12px; margin-top: 34px; }
  .hub-primer-step { display: block; }
  .hub-primer-visual { height: 158px; min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .hub-primer-step-copy { padding: 24px; }
  .hub-primer-fendix { gap: 24px; padding: 28px 24px; }
  .hub-primer-actions { grid-template-columns: 1fr; }
  .hub-resource-grid { margin-top: 32px; }
  .hub-resource-note { grid-template-columns: 1fr; gap: 8px; }
}
