.home-open-letter{
  position:relative;
  width:100%;
  margin:0;
  padding:clamp(34px,5vw,62px) max(22px,calc((100vw - 1220px)/2));
  overflow:hidden;
  background:
    radial-gradient(circle at 17% 40%,rgba(239,200,74,.17),transparent 27%),
    linear-gradient(118deg,#050b10 0%,#0b2232 72%,#07131d 100%);
  color:#fff;
  border-top:8px solid #efc84a;
  border-bottom:8px solid #efc84a;
}

.home-open-letter::after{
  content:"★";
  position:absolute;
  right:clamp(-42px,-2vw,-14px);
  bottom:clamp(-64px,-4vw,-24px);
  color:rgba(239,200,74,.085);
  font:900 clamp(180px,25vw,360px)/.8 Georgia,serif;
  pointer-events:none;
}

.home-open-letter-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(360px,.9fr) minmax(430px,1.1fr);
  gap:clamp(34px,5vw,70px);
  align-items:center;
  padding:clamp(28px,4vw,48px);
  border:1px solid rgba(239,200,74,.62);
  box-shadow:0 0 0 7px rgba(239,200,74,.08),0 24px 64px rgba(0,0,0,.38);
  background:linear-gradient(125deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
}

.home-open-letter-lead{
  padding-right:clamp(0px,3vw,36px);
  border-right:2px solid rgba(239,200,74,.45);
}

.home-open-letter-badge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 20px;
  padding:8px 12px;
  background:#efc84a;
  color:#07131d;
  font-size:14px;
  line-height:1;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
  box-shadow:6px 6px 0 var(--ivdb-blood-red, #eb2929);
}

.home-open-letter-badge span{
  color:var(--ivdb-blood-red, #eb2929);
  font-size:18px;
}

.home-open-letter-kicker{
  margin:0 0 13px;
  color:#efc84a;
  font-size:14px;
  line-height:1.35;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.home-open-letter h2{
  margin:0;
  color:#fff!important;
  font-size:clamp(52px,7vw,98px)!important;
  line-height:.88!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
  text-transform:none!important;
  text-wrap:balance;
}

.home-open-letter-copy blockquote{
  max-width:720px;
  margin:0 0 18px;
  padding-left:22px;
  border-left:7px solid var(--ivdb-blood-red, #eb2929);
  color:#fff;
  font:700 clamp(23px,2.55vw,35px)/1.32 Georgia,serif;
}

.home-open-letter-copy p{
  max-width:720px;
  margin:0 0 24px;
  color:#cfd9df;
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.6;
}

.home-open-letter-copy a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:58px;
  padding:14px 20px;
  border:2px solid #efc84a;
  background:var(--ivdb-blood-red, #eb2929);
  color:#fff!important;
  text-decoration:none!important;
  font-size:15px;
  line-height:1;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:8px 8px 0 #efc84a;
}

.home-open-letter-copy a strong{
  color:#efc84a;
  font-size:24px;
  line-height:1;
}

.home-open-letter-copy a:hover,
.home-open-letter-copy a:focus-visible{
  background:var(--ivdb-blood-red, #eb2929);
  border-color:#fff;
  outline:3px solid #efc84a;
  outline-offset:3px;
}

.home-open-letter-copy small{
  display:block;
  margin-top:17px;
  color:#efc84a;
  font-size:14px;
  line-height:1.4;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}

/* Compact homepage feature: preserve the letter's weight without a second hero. */
body.page-index .home-open-letter{
  padding:0 max(22px,calc((100vw - 1120px)/2));
  background:#081925;
  border:0;
}
body.page-index .home-open-letter-inner{
  display:block;
  padding:34px 0 36px;
  border:0;
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.16);
  background:transparent;
  box-shadow:none;
}
body.page-index .home-open-letter::after{display:none}
body.page-index .home-open-letter-lead{
  display:flex;
  align-items:baseline;
  gap:16px;
  padding:0;
  border:0;
}
body.page-index .home-open-letter-badge{
  margin:0;
  padding:0;
  background:transparent;
  color:#efc84a;
  font-size:12px;
  box-shadow:none;
}
body.page-index .home-open-letter-badge span{display:none}
body.page-index .home-open-letter-kicker{display:none}
body.page-index .home-open-letter h2{
  font-size:clamp(34px,4vw,52px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
body.page-index .home-open-letter-copy{margin-top:20px}
body.page-index .home-open-letter-copy blockquote{
  max-width:1000px;
  margin:0 0 14px;
  padding-left:18px;
  border-left:4px solid var(--ivdb-blood-red, #eb2929);
  font:700 clamp(20px,2.1vw,28px)/1.34 Georgia,serif;
}
body.page-index .home-open-letter-copy p{
  max-width:940px;
  margin-bottom:18px;
  font-size:16px;
  line-height:1.48;
}
body.page-index .home-open-letter-copy a{
  min-height:44px;
  padding:10px 16px;
  border:1px solid var(--ivdb-blood-red, #eb2929);
  background:var(--ivdb-blood-red, #eb2929);
  box-shadow:none;
}

@media(max-width:780px){
  body.page-index .home-open-letter{padding:0 20px}
  body.page-index .home-open-letter-inner{padding:28px 0 30px}
  body.page-index .home-open-letter-lead{display:block}
  body.page-index .home-open-letter-badge{margin-bottom:10px}
}

@media(max-width:780px){
  .home-open-letter-inner{grid-template-columns:1fr;gap:27px}
  .home-open-letter-lead{padding:0 0 28px;border-right:0;border-bottom:2px solid rgba(239,200,74,.45)}
  .home-open-letter h2{font-size:clamp(46px,14vw,70px)!important}
}

@media(max-width:480px){
  .home-open-letter{padding:30px 14px 34px}
  .home-open-letter-inner{padding:28px 20px}
  .home-open-letter-badge{font-size:13px}
  .home-open-letter-copy blockquote{padding-left:15px;border-left-width:5px}
  .home-open-letter-copy a{width:100%}
}

/* Homepage editorial band: one centered hierarchy, without a nested feature card. */
body.page-index .home-open-letter{padding:0 22px;background:#081925}
body.page-index .home-open-letter-inner{width:min(100%,1120px);margin:0 auto;padding:42px 0 44px;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);text-align:center}
body.page-index .home-open-letter-lead{display:block;padding:0;border:0}
body.page-index .home-open-letter-badge{margin:0 0 9px;color:#efc84a;font-size:13px;letter-spacing:.13em}
body.page-index .home-open-letter h2{margin:0;font-size:clamp(36px,4.2vw,52px)!important;line-height:1.05!important}
body.page-index .home-open-letter-copy{margin:20px auto 0}
body.page-index .home-open-letter-copy blockquote{max-width:900px;margin:0 auto 14px;padding:0;border:0;font:700 clamp(20px,2.1vw,27px)/1.38 Georgia,serif}
body.page-index .home-open-letter-copy p{max-width:820px;margin:0 auto 20px}
body.page-index .home-open-letter-copy a{margin:0 auto}
body.page-index .home-open-letter-copy a strong{display:none}
@media(max-width:780px){
  body.page-index .home-open-letter{padding:0 18px}
  body.page-index .home-open-letter-inner{padding:32px 0 34px}
  body.page-index .home-open-letter-lead{border:0}
  body.page-index .home-open-letter h2{font-size:clamp(34px,10vw,46px)!important}
}
