:root{
  --ink:#0d0d0d;
  --ink-2:#1a1a1a;
  --ink-3:#2a2a2a;
  --paper:#f4f1ec;
  --paper-2:#e8e3d9;
  --paper-3:#d8d2c4;
  --rule:#3a3a3a;
  --rule-soft:rgba(255,255,255,.12);
  --red:#c2241f;
  --red-deep:#8a1815;
  --ember:#e8642a;
  --steel:#5a5d62;

  --fs-display:"Bebas Neue", sans-serif;
  --fs-cond:"Barlow Condensed", sans-serif;
  --fs-body:"Barlow", sans-serif;
  --fs-mono:"JetBrains Mono", ui-monospace, monospace;

  --max:1440px;
  --gutter:clamp(20px, 4vw, 56px);
}

*{box-sizing:border-box; margin:0; padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--ink);
  color:var(--paper);
  font-family:var(--fs-body);
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}

/* ============ TYPE SYSTEM ============ */
.eyebrow{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:11px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--paper-3);
}
.eyebrow--red{color:var(--red)}
.eyebrow--ink{color:var(--ink-2)}
.h-display{
  font-family:var(--fs-display);
  font-weight:400;
  letter-spacing:.005em;
  line-height:.86;
  text-transform:uppercase;
}
.h-cond{
  font-family:var(--fs-cond);
  font-weight:700;
  text-transform:uppercase;
  line-height:1;
  letter-spacing:.01em;
}
.lead{
  font-family:var(--fs-body);
  font-size:19px;
  line-height:1.55;
  color:var(--paper-2);
  max-width:62ch;
}
.label{
  font-family:var(--fs-mono);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--steel);
}
.serial{
  font-family:var(--fs-mono);
  font-size:10px;
  letter-spacing:.14em;
  color:var(--steel);
}

/* ============================================
   NAP STRIP — single canonical block
   ============================================ */
.nap{
  background:var(--ink);
  border-bottom:1px solid var(--rule);
  font-family:var(--fs-cond);
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:0;
  text-align:left;
}
.nap-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:10px var(--gutter);
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:28px;
  color:var(--paper-3);
  text-align:left;
}
.nap-inner > span{
  margin:0;
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.nap-inner > span:first-child{margin-left:0; padding-left:0}
.nap-sep{color:var(--rule); user-select:none; gap:0}
.nap-dot{
  width:6px; height:6px;
  background:var(--red);
  border-radius:50%;
  display:inline-block;
  flex-shrink:0;
}
.nap a{color:var(--paper-2)}
.nap a:hover{color:var(--paper)}
@media(max-width:880px){
  .nap{display:none}
}

/* ============================================
   HEADER — single canonical block
   ============================================ */
.header{
  background:var(--ink);
  position:sticky; top:0; z-index:50;
  border-bottom:1px solid var(--rule);
}
.header-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:14px var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
}
.header .logo{
  display:flex;
  align-items:center;
  flex-shrink:0;
  margin:0;
  padding:0;
  line-height:0;
}
.header .logo img,
.header .logo .custom-logo,
.header .logo .custom-logo-link img,
.header .logo a img{
  display:block;
  height:auto;
  max-height:64px;
  width:auto;
  max-width:280px;
  margin:0;
}
.header-right{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:36px;
  margin-left:auto;
}
.nav{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:32px;
  font-family:var(--fs-cond);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:13px;
}
.nav ul, .nav ol, .nav menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:32px;
}
.nav li{list-style:none; margin:0; padding:0}
.nav li::before, .nav li::marker, .nav ul::before{display:none; content:none}
.nav a{color:var(--paper-2); position:relative; padding:6px 0}
.nav a:hover{color:var(--paper)}
.nav a.is-active::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px;
  height:2px; background:var(--red);
}
.cta-call{
  font-family:var(--fs-display);
  font-size:22px;
  letter-spacing:.04em;
  color:var(--paper);
  border-left:3px solid var(--red);
  padding-left:14px;
  white-space:nowrap;
  flex-shrink:0;
  line-height:1;
}
@media(max-width:980px){
  .header-inner{padding:12px var(--gutter); gap:16px}
  .nav{display:none}
  .cta-call{font-size:18px; padding-left:10px}
  .header .logo img,
  .header .logo .custom-logo,
  .header .logo .custom-logo-link img{max-height:52px}
}
@media(max-width:560px){
  .cta-call{
    font-size:20px;
    padding:10px 12px;
    border-left:3px solid var(--red);
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }
}

/* ============ HERO ============ */
.hero{
  position:relative;
  min-height:88vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#000;
  isolation:isolate;
}
.hero-img{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(13,13,13,.2) 0%, rgba(13,13,13,.1) 40%, rgba(13,13,13,.85) 100%),
    linear-gradient(90deg, rgba(13,13,13,.6) 0%, rgba(13,13,13,0) 60%),
    radial-gradient(ellipse at 70% 40%, #2a1a18 0%, #0d0d0d 70%);
  z-index:-1;
}
.hero-img::after{
  content:"";
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0, rgba(255,255,255,.015) 1px, transparent 1px, transparent 3px);
  pointer-events:none;
}
.hero-grain{
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
  opacity:.6;
  pointer-events:none;
  z-index:0;
}
.hero-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:80px var(--gutter) 60px;
  width:100%;
  position:relative;
  z-index:2;
}
.hero-meta{
  display:flex; gap:24px; align-items:center;
  margin-bottom:32px;
  flex-wrap:wrap;
}
.hero-meta .eyebrow{color:var(--red)}
.hero-meta .label{color:var(--paper-3)}
.hero-rule{
  width:60px; height:1px; background:var(--paper-3);
}
.hero h1{
  font-family:var(--fs-display);
  font-size:clamp(60px, 11vw, 168px);
  line-height:.84;
  letter-spacing:0;
  color:var(--paper);
  max-width:14ch;
  margin-bottom:32px;
}
.hero h1 em{
  font-style:normal;
  color:var(--red);
  display:inline-block;
  position:relative;
}
.hero-sub{
  font-family:var(--fs-cond);
  font-size:clamp(18px, 2vw, 24px);
  font-weight:500;
  line-height:1.35;
  color:var(--paper-2);
  max-width:48ch;
  margin-bottom:48px;
}
.hero-foot{
  display:flex; justify-content:space-between; align-items:flex-end;
  border-top:1px solid var(--rule-soft);
  padding-top:24px;
  gap:32px;
  flex-wrap:wrap;
}
.hero-foot-stats{
  display:flex; gap:48px;
}
.stat{display:flex; flex-direction:column; gap:4px}
.stat-num{
  font-family:var(--fs-display);
  font-size:32px;
  color:var(--paper);
  line-height:1;
}
.stat-label{
  font-family:var(--fs-mono);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--steel);
}
.hero-foot-scroll{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--paper-3);
  display:flex; align-items:center; gap:10px;
}
.hero-foot-scroll::after{
  content:"↓"; font-size:16px; color:var(--red);
}

/* ============ DIVISIONS ============ */
.divisions{
  background:var(--paper);
  color:var(--ink);
  padding:96px 0 0;
}
.section-head{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:end;
  margin-bottom:64px;
}
.section-head-left{display:flex; flex-direction:column; gap:16px}
.section-head h2{
  font-family:var(--fs-display);
  font-size:clamp(48px, 7vw, 96px);
  line-height:.86;
  color:var(--ink);
}
.section-head h2 em{font-style:normal; color:var(--red)}
.section-head-right{
  font-family:var(--fs-body);
  font-size:17px;
  line-height:1.55;
  color:var(--ink-3);
  max-width:50ch;
  padding-bottom:8px;
}
.section-head-right strong{color:var(--ink); font-weight:600}

.div-grid{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:1px;
  background:var(--paper-3);
  border-top:1px solid var(--paper-3);
  border-bottom:1px solid var(--paper-3);
}
.div-card{
  background:var(--paper);
  display:flex; flex-direction:column;
  min-height:480px;
  position:relative;
  transition:background .25s ease;
  cursor:pointer;
  overflow:hidden;
}
.div-card:hover{background:var(--paper-2)}
.div-card:hover .div-card-img{filter:brightness(1.05) contrast(1.05)}
.div-card-img{
  aspect-ratio:4/3;
  position:relative;
  overflow:hidden;
  transition:filter .3s ease;
}
.div-card-img::after{
  content:"";
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
  pointer-events:none;
}
.div-card-img[data-div="apparatus"]{
  background:
    linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.45) 100%),
    linear-gradient(135deg, #2a1a14 0%, #4a2a1a 100%);
}
.div-card-img[data-div="equipment"]{
  background:
    linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.45) 100%),
    linear-gradient(135deg, #1a1a1a 0%, #3a3a3a 100%);
}
.div-card-img[data-div="industrial"]{
  background:
    linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.45) 100%),
    linear-gradient(135deg, #3a1a18 0%, #5a2a20 100%);
}
.div-card-img[data-div="ppe"]{
  background:
    linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.45) 100%),
    linear-gradient(135deg, #2a2a2a 0%, #1a2a2e 100%);
}
.div-card-img[data-div="wildland"]{
  background:
    linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.45) 100%),
    linear-gradient(135deg, #2a2a18 0%, #4a3a1a 100%);
}
.div-card-img[data-div="g3"]{
  background:
    linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.45) 100%),
    linear-gradient(135deg, #1a1a2a 0%, #2a2a3a 100%);
}
.div-card-body-wrap{
  padding:24px 22px 22px;
  display:flex; flex-direction:column;
  gap:12px;
  flex:1;
  border-top:3px solid var(--red);
}
.div-card-num{
  font-family:var(--fs-mono);
  font-size:10px;
  letter-spacing:.18em;
  color:var(--steel);
}
.div-card-title{
  font-family:var(--fs-display);
  font-size:28px;
  line-height:.92;
  color:var(--ink);
}
.div-card-meta{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--red);
}
.div-card-body{
  font-size:14px;
  line-height:1.5;
  color:var(--ink-3);
  flex:1;
}
.div-card-link{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink);
  display:flex; align-items:center; gap:10px;
  margin-top:auto;
  border-top:1px solid var(--paper-3);
  padding-top:12px;
}
.div-card-link::after{content:"→"; color:var(--red); font-size:14px}
@media(max-width:1100px){
  .div-grid{grid-template-columns:repeat(3, 1fr)}
}
@media(max-width:680px){
  .div-grid{grid-template-columns:repeat(2, 1fr)}
  .section-head{grid-template-columns:1fr}
}

/* ============ POSITIONING ============ */
.positioning{
  background:var(--paper);
  color:var(--ink);
  padding:120px 0;
  position:relative;
}
.pos-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:80px;
  align-items:start;
}
.pos-headline{
  font-family:var(--fs-display);
  font-size:clamp(56px, 8vw, 124px);
  line-height:.85;
  color:var(--ink);
}
.pos-headline em{font-style:normal; color:var(--red); display:block}
.pos-body{
  display:flex; flex-direction:column; gap:24px;
  padding-top:8px;
}
.pos-body p{
  font-size:17px; line-height:1.6;
  color:var(--ink-3);
}
.pos-body p strong{color:var(--ink); font-weight:600}
.pos-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--paper-3);
  margin-top:16px;
  border:1px solid var(--paper-3);
}
.pos-grid div{
  background:var(--paper);
  padding:20px 18px;
}
.pos-grid h4{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:8px;
}
.pos-grid p{
  font-size:14px;
  line-height:1.45;
  color:var(--ink-2);
  font-weight:500;
}
@media(max-width:980px){
  .pos-inner{grid-template-columns:1fr; gap:48px}
}

/* ============ ROSENBAUER ============ */
.rosenbauer{
  background:var(--ink);
  color:var(--paper);
  padding:120px 0;
  border-top:1px solid var(--rule);
  position:relative;
  overflow:hidden;
}
.rosenbauer::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:100%;
  background-image:
    radial-gradient(circle at 80% 20%, rgba(194,36,31,.08) 0%, transparent 60%);
  pointer-events:none;
}
.ros-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
  position:relative;
  z-index:1;
}
.ros-meta{
  display:flex; gap:24px; align-items:center;
  margin-bottom:48px;
  flex-wrap:wrap;
  padding-bottom:24px;
  border-bottom:1px solid var(--rule);
}
.ros-rule{
  width:60px; height:1px; background:var(--paper-3);
}
.ros-grid{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:80px;
  align-items:start;
}
.ros-headline{
  font-family:var(--fs-display);
  font-size:clamp(60px, 9vw, 132px);
  line-height:.84;
  color:var(--paper);
  letter-spacing:0;
}
.ros-headline em{
  font-style:normal;
  color:var(--red);
}
.ros-body-col{
  display:flex; flex-direction:column;
  gap:40px;
  padding-top:12px;
}
.ros-lead{
  font-family:var(--fs-body);
  font-size:21px;
  line-height:1.5;
  color:var(--paper);
  font-weight:500;
  max-width:54ch;
  border-left:3px solid var(--red);
  padding-left:20px;
}
.ros-pillars{
  display:grid;
  grid-template-columns:1fr;
  gap:1px;
  background:var(--rule);
  border:1px solid var(--rule);
}
.ros-pillar{
  background:var(--ink);
  padding:24px 22px;
  display:grid;
  grid-template-columns:50px 1fr;
  gap:20px;
  align-items:start;
}
.ros-pillar-num{
  font-family:var(--fs-display);
  font-size:32px;
  color:var(--red);
  line-height:1;
}
.ros-pillar h4{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:14px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--paper);
  margin-bottom:8px;
}
.ros-pillar p{
  font-size:15px;
  line-height:1.55;
  color:var(--paper-2);
}
.ros-link{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--paper);
  border:1px solid var(--rule);
  padding:16px 22px;
  display:inline-flex;
  gap:12px;
  align-items:center;
  align-self:flex-start;
  transition:border-color .2s ease;
}
.ros-link:hover{border-color:var(--red); color:var(--paper)}
.ros-link::after{content:"→"; color:var(--red)}

@media(max-width:980px){
  .ros-grid{grid-template-columns:1fr; gap:48px}
}

/* ============ EQUIPMENT LINES ============ */
.lines{
  background:var(--ink);
  padding:120px 0;
  border-top:1px solid var(--rule);
}
.lines-head{
  max-width:var(--max);
  margin:0 auto 64px;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:48px;
}
.lines-head h2{
  font-family:var(--fs-display);
  font-size:clamp(48px, 7vw, 96px);
  line-height:.86;
  color:var(--paper);
}
.lines-head h2 em{font-style:normal; color:var(--red)}
.lines-head-link{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--paper-2);
  border:1px solid var(--rule);
  padding:14px 22px;
  display:inline-flex; align-items:center; gap:10px;
}
.lines-head-link:hover{border-color:var(--red); color:var(--paper)}
.lines-head-link::after{content:"→"; color:var(--red)}

.lines-grid{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.line-card{
  background:var(--ink-2);
  border:1px solid var(--rule);
  padding:0;
  display:flex; flex-direction:column;
  position:relative;
  overflow:hidden;
  transition:border-color .2s ease, transform .3s ease;
}
.line-card:hover{border-color:var(--red)}
.line-img{
  aspect-ratio:4/3;
  background:linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
  position:relative;
  overflow:hidden;
}
.line-img::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 30% 70%, rgba(194,36,31,.15) 0%, transparent 50%),
    repeating-linear-gradient(45deg, transparent 0, transparent 8px, rgba(255,255,255,.02) 8px, rgba(255,255,255,.02) 9px);
}
.line-tag{
  position:absolute; top:14px; left:14px;
  font-family:var(--fs-mono);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--paper);
  background:rgba(0,0,0,.7);
  padding:6px 10px;
  border:1px solid var(--rule-soft);
}
.line-tag--exclusive{background:var(--red); border-color:var(--red)}
.line-body{
  padding:24px;
  display:flex; flex-direction:column; gap:14px;
  flex:1;
}
.line-body h3{
  font-family:var(--fs-display);
  font-size:38px;
  line-height:.92;
  color:var(--paper);
}
.line-body .label{color:var(--steel)}
.line-body p{
  font-size:14px;
  line-height:1.55;
  color:var(--paper-2);
  flex:1;
}
.line-foot{
  border-top:1px solid var(--rule);
  padding-top:14px;
  display:flex; justify-content:space-between; align-items:center;
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.line-foot-cap{color:var(--paper-3)}
.line-foot-go{color:var(--red); display:inline-flex; gap:6px; align-items:center}
.line-foot-go::after{content:"→"}
@media(max-width:980px){
  .lines-grid{grid-template-columns:repeat(2, 1fr)}
}
@media(max-width:640px){
  .lines-grid{grid-template-columns:1fr}
  .lines-head{grid-template-columns:1fr}
}

/* ============ HERITAGE ============ */
.heritage{
  background:var(--paper);
  color:var(--ink);
  padding:120px 0;
  position:relative;
  overflow:hidden;
}
.heritage-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:80px;
  align-items:center;
}
.heritage-img{
  aspect-ratio:4/5;
  background:
    linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.5) 100%),
    linear-gradient(135deg, #4a3a30 0%, #2a1a14 100%);
  position:relative;
  overflow:hidden;
  border:1px solid var(--paper-3);
}
.heritage-img::after{
  content:"";
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
  pointer-events:none;
}
.heritage-img::before{
  content:"ASHTON · IOWA · 1947";
  position:absolute;
  bottom:24px; left:24px;
  font-family:var(--fs-mono);
  font-size:10px;
  letter-spacing:.22em;
  color:var(--paper-3);
  z-index:2;
  border-left:2px solid var(--red);
  padding-left:10px;
}
.heritage-headline{
  font-family:var(--fs-display);
  font-size:clamp(56px, 8vw, 116px);
  line-height:.86;
  color:var(--ink);
  margin-bottom:36px;
}
.heritage-headline em{
  font-style:normal;
  color:var(--red);
}
.heritage-body{
  display:flex; flex-direction:column; gap:18px;
  margin-bottom:40px;
  max-width:54ch;
}
.heritage-lead{
  font-family:var(--fs-body);
  font-size:21px;
  line-height:1.45;
  color:var(--ink);
  font-weight:500;
}
.heritage-body p:not(.heritage-lead){
  font-size:17px;
  line-height:1.6;
  color:var(--ink-3);
}
.heritage-body strong{color:var(--ink); font-weight:600}
.heritage-meta{
  display:flex;
  gap:1px;
  background:var(--paper-3);
  border:1px solid var(--paper-3);
  margin-bottom:36px;
}
.heritage-stat{
  flex:1;
  background:var(--paper);
  padding:20px 18px;
  display:flex; flex-direction:column;
  gap:4px;
}
.heritage-stat-num{
  font-family:var(--fs-display);
  font-size:36px;
  line-height:1;
  color:var(--red);
}
.heritage-stat-label{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-3);
}
.heritage-link{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink);
  border-bottom:2px solid var(--red);
  padding-bottom:6px;
  display:inline-flex;
  gap:10px;
  align-items:center;
}
.heritage-link::after{content:"→"; color:var(--red)}
.heritage-link:hover{color:var(--red)}

@media(max-width:980px){
  .heritage-inner{grid-template-columns:1fr; gap:48px}
  .heritage-img{aspect-ratio:4/5}
}
@media(max-width:540px){
  .heritage-meta{flex-direction:column}
}

/* ============ TEAM ============ */
.team{
  background:var(--ink-2);
  color:var(--paper);
  padding:120px 0;
  position:relative;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.team-inner-full{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
}
.team-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:32px;
  align-items:end;
  margin-bottom:56px;
}
.team-head h2{
  font-family:var(--fs-display);
  font-size:clamp(48px, 7vw, 88px);
  line-height:.86;
  margin-bottom:18px;
}
.team-head h2 em{font-style:normal; color:var(--red)}
.team-head p{
  color:var(--paper-2);
  font-size:17px;
  line-height:1.55;
  max-width:48ch;
}
.team-cta{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--paper);
  border:1px solid var(--rule);
  padding:14px 22px;
  display:inline-flex; gap:10px; align-items:center;
}
.team-cta:hover{border-color:var(--red)}
.team-cta::after{content:"→"; color:var(--red)}

/* TERRITORY MAP */
.territory-map{
  background:var(--ink);
  border:1px solid var(--rule);
  padding:24px;
  margin-bottom:56px;
}
.territory-map svg{
  width:100%;
  height:auto;
  display:block;
}
.state path{
  fill:var(--ink-3);
  stroke:var(--rule);
  stroke-width:1;
  transition:fill .2s ease, stroke .2s ease;
  cursor:pointer;
}
.state:hover path{
  fill:var(--red-deep);
  stroke:var(--red);
}
.state--home path{
  fill:#3a1a18;
  stroke:var(--red);
  stroke-width:1.5;
}
.state--home:hover path{
  fill:var(--red-deep);
}
.state-name{
  font-family:var(--fs-display);
  font-size:22px;
  fill:var(--paper);
  text-anchor:middle;
  letter-spacing:.04em;
  pointer-events:none;
}
.state-rep{
  font-family:var(--fs-cond);
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  fill:var(--paper-3);
  text-anchor:middle;
  pointer-events:none;
}
.state:hover .state-name{fill:var(--paper)}
.state:hover .state-rep{fill:var(--paper)}
.hq-dot{
  fill:var(--red);
  stroke:var(--paper);
  stroke-width:1;
}
.hq-label{
  font-family:var(--fs-mono);
  font-size:9px;
  letter-spacing:.16em;
  fill:var(--red);
  pointer-events:none;
}

/* REP GRID — 4 columns of 3 = 12 */
.rep-grid-full{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1px;
  background:var(--rule);
  border:1px solid var(--rule);
}
.rep{
  background:var(--ink-2);
  padding:22px 18px 18px;
  display:flex; flex-direction:column;
  gap:10px;
  transition:background .2s ease;
}
.rep:hover{background:var(--ink-3)}
.rep-photo{
  aspect-ratio:4/5;
  background:linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%);
  position:relative;
  overflow:hidden;
  margin-bottom:6px;
}
.rep-photo::after{
  content:"";
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06 0'/></filter><rect width='100' height='100' filter='url(%23n)'/></svg>");
  z-index:1;
  pointer-events:none;
}
.rep-photo{position:relative}
.rep-divisions{
  position:absolute;
  top:12px; left:12px;
  display:flex;
  flex-direction:column;
  gap:4px;
  z-index:2;
}
.rep-division{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--paper);
  background:rgba(13,13,13,.85);
  padding:6px 10px;
  border-left:2px solid var(--red);
  line-height:1;
  backdrop-filter:blur(4px);
}
.rep-division--industrial{border-left-color:#f59e0b}
.rep-division--ppe{border-left-color:#3b82f6}
.rep-territory{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--red);
  line-height:1.2;
}
.rep-name{
  font-family:var(--fs-display);
  font-size:22px;
  color:var(--paper);
  line-height:.95;
}
.rep-phone{
  font-family:var(--fs-mono);
  font-size:11px;
  letter-spacing:.04em;
  color:var(--paper-2);
  margin-top:auto;
  border-top:1px solid var(--rule);
  padding-top:10px;
}
.rep-phone:hover{color:var(--paper)}

@media(max-width:1100px){
  .rep-grid-full{grid-template-columns:repeat(3, 1fr)}
}
@media(max-width:780px){
  .team-head{grid-template-columns:1fr}
  .rep-grid-full{grid-template-columns:repeat(2, 1fr)}
}
@media(max-width:440px){
  .rep-grid-full{grid-template-columns:1fr}
}

/* ============ FOOTER ============ */
.footer{
  background:var(--ink);
  color:var(--paper-3);
  padding:80px 0 32px;
  border-top:3px solid var(--red);
}
.footer-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
}
.footer-brand-row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:48px;
  align-items:center;
  padding-bottom:48px;
  margin-bottom:48px;
  border-bottom:1px solid var(--rule);
}
.footer-tagline{
  font-size:14px;
  line-height:1.6;
  color:var(--paper-3);
  max-width:64ch;
}
.nap-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1px;
  background:var(--rule);
  border:1px solid var(--rule);
  margin-bottom:32px;
}
.nap-block{
  background:var(--ink);
  padding:24px 22px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.nap-label{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--red);
}
.nap-name{
  font-family:var(--fs-display);
  font-size:22px;
  letter-spacing:.02em;
  color:var(--paper);
  line-height:1;
  margin-bottom:6px;
}
.nap-block address{
  font-family:var(--fs-cond);
  font-style:normal;
  font-size:14px;
  font-weight:500;
  line-height:1.7;
  color:var(--paper-2);
}
.nap-block address a{color:var(--paper-2)}
.nap-block address a:hover{color:var(--paper)}
.nap-hours{
  display:inline-block;
  margin-top:8px;
  font-family:var(--fs-mono);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--steel);
}
.footer-bottom{
  padding-top:24px;
  border-top:1px solid var(--rule);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  font-family:var(--fs-mono);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--steel);
}
.footer-creds{color:var(--paper-3)}

@media(max-width:980px){
  .nap-grid{grid-template-columns:repeat(2, 1fr)}
  .footer-brand-row{grid-template-columns:1fr; gap:24px}
}
@media(max-width:560px){
  .nap-grid{grid-template-columns:1fr}
}

/* ============ UTILITY ============ */
.hide-mobile{display:initial}
@media(max-width:680px){.hide-mobile{display:none}}

/* ============ ADDITIONS FOR REP SINGLE / TEAM ARCHIVE / RICH TEXT ============ */

.standard-page{
  background:var(--paper);
  color:var(--ink);
  padding:80px 0;
  min-height:60vh;
}
.standard-page-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
  max-width:880px;
}
.standard-page h1{
  font-family:var(--fs-display);
  font-size:clamp(48px, 7vw, 96px);
  line-height:.86;
  margin-bottom:32px;
}
.standard-page-content{
  font-size:17px;
  line-height:1.6;
}
.standard-page-content p{margin-bottom:18px}

.rich-text{padding:80px 0}
.rich-text--paper{background:var(--paper); color:var(--ink)}
.rich-text--ink{background:var(--ink); color:var(--paper)}
.rich-text-inner{
  max-width:880px;
  margin:0 auto;
  padding:0 var(--gutter);
  font-size:17px;
  line-height:1.6;
}

.rep-single{
  background:var(--paper);
  color:var(--ink);
  padding:80px 0;
}
.rep-single-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:64px;
  align-items:start;
}
.rep-single-photo{
  aspect-ratio:4/5;
  background:linear-gradient(180deg,#3a3a3a,#1a1a1a);
  background-size:cover;
  background-position:top center;
  border:1px solid var(--paper-3);
}
.rep-single-name{
  font-family:var(--fs-display);
  font-size:clamp(56px, 8vw, 96px);
  line-height:.86;
  margin:12px 0 18px;
}
.rep-single-title{
  font-family:var(--fs-cond);
  font-weight:600;
  font-size:18px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--ink-3);
  margin-bottom:8px;
}
.rep-single-region{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:24px;
}
.rep-single-contact{
  display:flex;
  gap:16px;
  margin-bottom:32px;
  flex-wrap:wrap;
}
.rep-single-phone, .rep-single-email{
  font-family:var(--fs-mono);
  font-size:14px;
  border:1px solid var(--ink);
  padding:14px 22px;
  color:var(--ink);
}
.rep-single-phone:hover, .rep-single-email:hover{
  background:var(--ink);
  color:var(--paper);
}
.rep-single-bio{
  font-size:17px;
  line-height:1.6;
  margin-bottom:32px;
  max-width:60ch;
}
.rep-single-bio p{margin-bottom:14px}
.rep-single-counties h3{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:14px;
}
.rep-single-counties ul{
  list-style:none;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px 16px;
  font-family:var(--fs-mono);
  font-size:11px;
  letter-spacing:.06em;
  color:var(--ink-3);
}
@media(max-width:880px){
  .rep-single-inner{grid-template-columns:1fr; gap:32px}
  .rep-single-counties ul{grid-template-columns:repeat(2,1fr)}
}

.team-empty{
  background:var(--ink-2);
  margin-top:32px;
}


/* ============ ARCHIVE HEROES ============ */
.archive-hero{
  background:var(--ink);
  color:var(--paper);
  padding:120px 0 80px;
  border-bottom:1px solid var(--rule);
}
.archive-hero-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
}
.archive-hero .eyebrow{margin-bottom:24px; display:block}
.archive-hero-h1{
  font-family:var(--fs-display);
  font-size:clamp(60px, 9vw, 132px);
  line-height:.84;
  margin-bottom:24px;
  color:var(--paper);
}
.archive-hero-h1 em{font-style:normal; color:var(--red)}
.archive-hero-sub{
  font-size:19px;
  line-height:1.55;
  color:var(--paper-2);
  max-width:54ch;
}

/* ============ EQUIPMENT LINE — SINGLE ============ */
.line-single-hero{
  background:var(--ink);
  color:var(--paper);
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:60vh;
  border-bottom:1px solid var(--rule);
}
.line-single-hero-inner{
  padding:80px var(--gutter);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:24px;
}
.line-single-meta{
  display:flex; gap:14px; align-items:center;
  flex-wrap:wrap;
}
.line-single-title{
  font-family:var(--fs-display);
  font-size:clamp(60px, 8vw, 124px);
  line-height:.86;
}
.line-single-lead{
  font-size:21px;
  line-height:1.5;
  color:var(--paper-2);
  max-width:54ch;
  border-left:3px solid var(--red);
  padding-left:20px;
}
.line-single-image{
  background-size:cover;
  background-position:center;
  background-color:var(--ink-2);
}
@media(max-width:880px){
  .line-single-hero{grid-template-columns:1fr}
  .line-single-image{aspect-ratio:4/3}
}

.line-single-body{
  background:var(--paper);
  color:var(--ink);
  padding:80px 0;
}
.line-single-body-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:80px;
}
.line-single-content{
  font-size:17px;
  line-height:1.65;
}
.line-single-content p{margin-bottom:18px}
.line-single-content h2,
.line-single-content h3{
  font-family:var(--fs-display);
  margin:32px 0 16px;
  line-height:.95;
}
.line-single-content h2{font-size:42px}
.line-single-content h3{font-size:28px}
.line-single-content ul{margin:18px 0 18px 22px}
.line-single-content li{margin-bottom:6px}

/* ============ ASIDE BLOCKS (used on multiple single templates) ============ */
.line-single-aside,
.capability-single-aside{
  display:flex; flex-direction:column;
  gap:20px;
  padding-top:8px;
  position:sticky;
  top:120px;
  align-self:start;
}
.aside-block{
  background:var(--paper-2);
  border-left:3px solid var(--red);
  padding:18px 20px;
}
.aside-label{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--red);
  display:block;
  margin-bottom:6px;
}
.aside-block p{
  font-size:14px;
  line-height:1.5;
  color:var(--ink-3);
  margin-bottom:10px;
}
.aside-block p:last-child{margin-bottom:0}
.aside-btn{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink);
  border-bottom:2px solid var(--red);
  padding-bottom:4px;
  display:inline-block;
}
.aside-phone{
  font-family:var(--fs-display);
  font-size:24px;
  color:var(--ink);
  letter-spacing:.02em;
}

@media(max-width:880px){
  .line-single-body-inner,
  .capability-single-body-inner{grid-template-columns:1fr; gap:32px}
  .line-single-aside,
  .capability-single-aside{position:static}
}

/* ============ CAPABILITY — SINGLE ============ */
.capability-single-hero{
  background:var(--ink-2);
  color:var(--paper);
  display:grid;
  grid-template-columns:1.2fr 1fr;
  min-height:50vh;
  border-bottom:1px solid var(--rule);
}
.capability-single-hero-inner{
  padding:80px var(--gutter);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:24px;
}
.capability-single-h1{
  font-family:var(--fs-display);
  font-size:clamp(56px, 7vw, 108px);
  line-height:.86;
}
.capability-single-lead{
  font-size:19px;
  line-height:1.5;
  color:var(--paper-2);
  max-width:54ch;
}
.capability-single-image{
  background-size:cover;
  background-position:center;
  background-color:var(--ink);
}
@media(max-width:880px){
  .capability-single-hero{grid-template-columns:1fr}
  .capability-single-image{aspect-ratio:4/3}
}
.capability-single-body{
  background:var(--paper);
  color:var(--ink);
  padding:80px 0;
}
.capability-single-body-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:80px;
}
.capability-single-content{
  font-size:17px;
  line-height:1.65;
}
.capability-single-content p{margin-bottom:18px}

/* Related capabilities */
.capability-related{
  background:var(--paper-2);
  color:var(--ink);
  padding:80px 0;
  border-top:1px solid var(--paper-3);
}
.capability-related-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
}
.capability-related-inner .eyebrow{display:block; margin-bottom:14px}
.capability-related h2{
  font-family:var(--fs-display);
  font-size:clamp(40px, 5vw, 64px);
  line-height:.9;
  margin-bottom:32px;
}
.capability-related h2 em{font-style:normal; color:var(--red)}
.capability-related-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1px;
  background:var(--paper-3);
  border:1px solid var(--paper-3);
}
.capability-related-card{
  background:var(--paper);
  padding:24px 20px;
  display:flex; flex-direction:column;
  gap:10px;
  transition:background .2s ease;
}
.capability-related-card:hover{background:var(--paper-2)}
.capability-related-card h3{
  font-family:var(--fs-display);
  font-size:24px;
  line-height:.95;
}
.capability-related-card p{
  font-size:13px;
  line-height:1.5;
  color:var(--ink-3);
  flex:1;
}
.capability-related-go{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--red);
}
@media(max-width:980px){
  .capability-related-grid{grid-template-columns:repeat(2, 1fr)}
}
@media(max-width:520px){
  .capability-related-grid{grid-template-columns:1fr}
}

/* ============ CAPABILITIES ARCHIVE ============ */
.capabilities-list{
  background:var(--paper);
  color:var(--ink);
  padding:80px 0;
}
.capabilities-list-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
}
.capabilities-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.capability-card{
  background:var(--paper-2);
  display:flex; flex-direction:column;
  border:1px solid var(--paper-3);
  transition:border-color .2s ease;
  overflow:hidden;
}
.capability-card:hover{border-color:var(--red)}
.capability-card-img{
  aspect-ratio:4/3;
  background-color:var(--ink-2);
  background-size:cover;
  background-position:center;
}
.capability-card-body{
  padding:24px 22px;
  display:flex; flex-direction:column;
  gap:12px;
  flex:1;
  border-top:3px solid var(--red);
}
.capability-card-body h3{
  font-family:var(--fs-display);
  font-size:30px;
  line-height:.94;
}
.capability-card-body p{
  font-size:14px;
  line-height:1.5;
  color:var(--ink-3);
  flex:1;
}
.capability-card-go{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--red);
  border-top:1px solid var(--paper-3);
  padding-top:12px;
}
@media(max-width:980px){
  .capabilities-grid{grid-template-columns:repeat(2, 1fr)}
}
@media(max-width:560px){
  .capabilities-grid{grid-template-columns:1fr}
}

/* ============ CONTACT FORM SECTION ============ */
.contact{
  background:var(--paper);
  color:var(--ink);
  padding:120px 0;
}
.contact-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
}
.contact-head{
  margin-bottom:56px;
  max-width:64ch;
}
.contact-head .eyebrow{display:block; margin-bottom:18px}
.contact-headline{
  font-family:var(--fs-display);
  font-size:clamp(56px, 8vw, 116px);
  line-height:.86;
  margin-bottom:18px;
}
.contact-headline em{font-style:normal; color:var(--red)}
.contact-intro{
  font-size:19px;
  line-height:1.55;
  color:var(--ink-3);
}
.contact-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:64px;
  align-items:start;
}
.contact-form-wrap{
  background:var(--paper-2);
  padding:40px 36px;
  border-left:3px solid var(--red);
}
.contact-form{display:flex; flex-direction:column; gap:18px}
.contact-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.contact-field{display:flex; flex-direction:column; gap:6px}
.contact-field label{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink);
}
.contact-field input,
.contact-field select,
.contact-field textarea{
  font-family:var(--fs-body);
  font-size:16px;
  padding:12px 14px;
  border:1px solid var(--paper-3);
  background:var(--paper);
  color:var(--ink);
  width:100%;
}
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus{
  outline:0;
  border-color:var(--red);
}
.contact-submit{
  font-family:var(--fs-cond);
  font-weight:700;
  font-size:14px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--paper);
  background:var(--ink);
  border:0;
  padding:18px 28px;
  cursor:pointer;
  align-self:flex-start;
  transition:background .2s ease;
}
.contact-submit:hover{background:var(--red)}
.contact-success{
  background:var(--paper);
  border-left:3px solid var(--red);
  padding:32px 28px;
}
.contact-success h3{
  font-family:var(--fs-display);
  font-size:36px;
  line-height:1;
  margin-bottom:8px;
}
.contact-error{
  background:var(--paper);
  border-left:3px solid #d44;
  padding:24px 22px;
}
.contact-error a{color:var(--red); border-bottom:1px solid var(--red)}
.contact-aside{
  display:flex; flex-direction:column;
  gap:18px;
  padding-top:8px;
}
@media(max-width:980px){
  .contact-grid{grid-template-columns:1fr; gap:32px}
  .contact-row{grid-template-columns:1fr}
}

/* ============ ABOUT BLOCK SECTION ============ */
.about-block{
  background:var(--paper);
  color:var(--ink);
  padding:120px 0;
}
.about-block + .about-block{
  border-top:1px solid var(--paper-3);
}
.about-block-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:start;
}
.about-block-img{
  aspect-ratio:4/5;
  background-size:cover;
  background-position:center;
  background-color:var(--paper-2);
  border:1px solid var(--paper-3);
}
.about-block-copy .eyebrow{display:block; margin-bottom:18px}
.about-block-headline{
  font-family:var(--fs-display);
  font-size:clamp(48px, 7vw, 96px);
  line-height:.86;
  margin-bottom:24px;
}
.about-block-headline em{font-style:normal; color:var(--red)}
.about-block-body{
  font-size:17px;
  line-height:1.65;
}
.about-block-body p{margin-bottom:18px}
.about-block-body strong{color:var(--ink); font-weight:600}
@media(max-width:980px){
  .about-block-inner{grid-template-columns:1fr; gap:32px}
  .about-block-img{aspect-ratio:5/4}
}
