/* ---------- Page banner ---------- */
.page-banner{
  background:var(--ink);
  color:#fff;
  padding:4.5rem 2rem;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.page-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(135deg, rgba(200,16,46,0.06) 0 2px, transparent 2px 26px);
  pointer-events:none;
}
.page-banner::before{
  content:"";
  position:absolute;
  left:50%;
  top:-140px;
  width:520px;
  height:280px;
  background:radial-gradient(closest-side, rgba(200,16,46,0.22), transparent);
  transform:translateX(-50%);
  pointer-events:none;
}
.page-banner-inner{max-width:640px; margin:0 auto; position:relative; z-index:1;}
.page-banner .hero-eyebrow{
  color:var(--red);
  font-family:'Oswald',sans-serif;
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size:0.85rem;
  display:block;
  margin-bottom:0.9rem;
}
.page-banner h1{font-size:clamp(2.1rem,4vw,2.9rem); margin-bottom:1.1rem;}
.page-banner p{color:#c9c6bc; line-height:1.65; margin:0; font-size:1.02rem;}

/* ---------- Contact info card ---------- */
.info-card{
  background:var(--ink);
  color:#fff;
  padding:1.9rem;
  border-radius:3px;
  box-shadow:0 18px 40px rgba(20,20,20,0.1);
}
.info-card h3{
  font-size:0.85rem;
  margin-bottom:1.3rem;
  color:var(--red);
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-family:'Oswald',sans-serif;
}
.info-row{
  display:flex;
  align-items:flex-start;
  gap:0.9rem;
  padding:0.7rem 0;
  border-bottom:1px solid #333;
  font-size:0.9rem;
}
.info-row:last-child{border-bottom:none; padding-bottom:0;}
.info-row:first-child{padding-top:0;}
.info-row svg{
  width:18px; height:18px;
  color:var(--red);
  flex-shrink:0;
  margin-top:0.15rem;
}
.info-row-text{display:flex; flex-direction:column; gap:0.15rem;}
.info-label{color:#9a978c; font-size:0.76rem; text-transform:uppercase; letter-spacing:0.04em;}
.info-val{color:#fff;}
.info-val a{color:#fff;}
.info-val a:hover{color:var(--red);}

.about-section{background:var(--offwhite); padding:4rem 2rem 5rem;}
.about-layout{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:2.6rem;
  align-items:start;
}
@media (max-width:860px){
  .about-layout{grid-template-columns:1fr;}
}
.about-copy{
  background:#fff;
  padding:2.6rem 2.6rem 2.4rem;
  border-top:3px solid var(--red);
  box-shadow:0 18px 40px rgba(20,20,20,0.06);
}
.about-copy h2{font-size:1.5rem; margin-bottom:1.1rem;}
.about-copy p{
  color:var(--grey);
  line-height:1.7;
  font-size:0.98rem;
  margin:0;
}
.about-contact-card{align-self:start;}
