/* Global pre-footer conversion block.
   Used before the footer on non-legal, non-auth and non-contact pages. */
.prefooter-contact{
  position:relative;
  z-index:4;
  padding:clamp(48px,6.2vw,82px) var(--page-gutter) clamp(24px,4vw,46px);
  color:var(--text);
}
.prefooter-contact-shell{
  position:relative;
  width:min(1240px,100%);
  margin:0 auto;
  padding-top:clamp(22px,2.8vw,34px);
}
.prefooter-contact-shell::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,201,142,.64),rgba(245,242,223,.36),transparent);
  box-shadow:0 0 18px rgba(217,201,142,.18);
  opacity:.86;
}
.prefooter-contact-kicker{
  position:relative;
  width:max-content;
  max-width:100%;
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 clamp(18px,2.2vw,28px);
  color:rgba(255,248,232,.95);
  font-size:clamp(.78rem,.78vw,.93rem);
  font-weight:500;
  letter-spacing:.07em;
  line-height:1.22;
  white-space:nowrap;
  text-shadow:0 0 18px rgba(255,248,232,.14),0 0 28px rgba(156,255,122,.06);
}
.prefooter-contact-kicker::before,
.prefooter-contact-kicker::after{
  content:"";
  display:block;
  width:clamp(30px,4.2vw,76px);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(156,255,122,.66),rgba(245,242,223,.34),transparent);
  box-shadow:0 0 18px rgba(156,255,122,.22);
  opacity:.9;
}
.prefooter-contact-kicker::after{
  width:clamp(18px,2.7vw,48px);
  opacity:.48;
}
.prefooter-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(330px,.52fr);
  align-items:start;
  gap:clamp(24px,4.2vw,66px);
}
.prefooter-contact-copy{min-width:0;}
.prefooter-contact-eyebrow{
  margin:0 0 10px;
  color:rgba(217,201,142,.78);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.18em;
  line-height:1.15;
  text-transform:uppercase;
}
.prefooter-contact h2{
  max-width:780px;
  margin:0;
  color:rgba(255,251,234,.96);
  font-size:clamp(1.54rem,3.05vw,2.95rem);
  line-height:1.06;
  letter-spacing:-.044em;
  text-wrap:balance;
}
.prefooter-contact-copy p:not(.prefooter-contact-eyebrow){
  max-width:760px;
  margin:clamp(14px,2vw,20px) 0 0;
  color:rgba(255,248,232,.68);
  font-size:clamp(.96rem,1.1vw,1.08rem);
  line-height:1.68;
}
.prefooter-contact-side{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding-top:2px;
}
.prefooter-contact-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
.prefooter-action{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  width:max-content;
  max-width:100%;
  min-height:30px;
  padding:0 0 4px;
  margin-bottom:-4px;
  color:rgba(255,248,232,.64);
  text-decoration:none;
  font-size:.9rem;
  font-weight:900;
  line-height:1.2;
  transition:color .18s var(--ease),text-shadow .18s var(--ease),opacity .18s var(--ease);
}
.prefooter-action-primary{color:rgba(255,251,234,.94);}
.prefooter-action-secondary{color:rgba(217,201,142,.86);}
.prefooter-action-plain{color:rgba(255,248,232,.60);}
.prefooter-action::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(244,241,223,.74),rgba(217,201,142,.34),transparent);
  opacity:0;
  transition:opacity .22s var(--ease);
  pointer-events:none;
}
.prefooter-action:hover,
.prefooter-action:focus-visible{
  color:#fffbea;
  text-shadow:0 0 14px rgba(245,242,223,.24);
  outline:none;
}
.prefooter-action:hover::after,
.prefooter-action:focus-visible::after{opacity:1;}
@media (max-width:900px){
  .prefooter-contact-grid{grid-template-columns:1fr;gap:22px;}
  .prefooter-contact-side{align-items:flex-start;padding-top:0;}
  .prefooter-contact-actions{gap:7px;}
}
@media (max-width:620px){
  .prefooter-contact{padding-top:42px;}
  .prefooter-contact-kicker{
    font-size:.72rem;
    letter-spacing:.045em;
    gap:10px;
    white-space:normal;
    margin-bottom:16px;
  }
  .prefooter-contact-kicker::before{width:26px;}
  .prefooter-contact-kicker::after{display:none;}
  .prefooter-contact h2{font-size:clamp(1.42rem,7vw,2.18rem);}
  .prefooter-action{min-height:28px;}
}
