.subscriber-gate {
  position: relative;
  overflow: hidden;
  max-width: 1200px;
  margin: 0 auto 3rem;
  padding: clamp(1.1rem, 3vw, 2.2rem);
  border: 1px solid rgba(70, 125, 108, .24);
  border-radius: 2rem;
  background: linear-gradient(120deg, rgba(222, 242, 235, .88), rgba(238, 231, 250, .8), rgba(242, 246, 251, .9));
  background-size: 200% 200%;
  box-shadow: 0 26px 70px rgba(40, 69, 67, .12), inset 0 1px 0 rgba(255, 255, 255, .85);
  animation: subscriber-sheen 18s ease-in-out infinite alternate;
}
#f25-report[hidden] { display: none; }
.subscriber-gate::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: rgba(255, 255, 255, .28);
  pointer-events: none;
}
.subscriber-gate-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(270px, .8fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}
.subscriber-gate-kicker { color: #366d59; font: 700 .78rem/1.2 Arial, sans-serif; letter-spacing: .16em; }
.subscriber-gate h2 { margin: .7rem 0 1rem; font: 400 clamp(2rem, 4vw, 3.4rem)/1.08 Georgia, serif; color: #18382e; }
.subscriber-gate p { color: #394c46; line-height: 1.55; }
.subscriber-gate-copy > a { display: inline-block; margin: .4rem 1rem .2rem 0; color: #245943; font-weight: 650; }
.subscriber-gate-offer { font-weight: 650; }
.subscriber-gate-examples { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; margin: 1rem 0; }
.subscriber-gate-examples > div { padding: .8rem; border: 1px solid rgba(45, 95, 75, .16); border-radius: .8rem; background: rgba(255,255,255,.55); }
.subscriber-gate-examples b { display: block; color: #4d765f; font: 700 .68rem/1.3 Arial, sans-serif; text-transform: uppercase; letter-spacing: .06em; }
.subscriber-gate-examples strong { display: block; margin: .28rem 0; font: 600 1.1rem/1.2 Georgia, serif; color: #18382e; }
.subscriber-gate-examples span { display: block; font-size: .76rem; line-height: 1.4; }
.subscriber-gate-examples a { color: #245943; }
.subscriber-gate-examples-text { font-size: .93rem; }
.subscriber-gate-form { padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid rgba(255,255,255,.75); border-radius: 1.4rem; background: rgba(255,255,255,.62); box-shadow: 0 12px 30px rgba(35, 64, 56, .08); backdrop-filter: blur(14px); }
.subscriber-gate-form label:not(.subscriber-gate-check) { display: block; margin-bottom: .45rem; font-weight: 700; color: #173c30; }
.subscriber-gate-form input[type="text"], .subscriber-gate-form input[type="email"] { width: 100%; box-sizing: border-box; padding: .9rem 1rem; border: 1px solid #a8c4b7; border-radius: .7rem; background: #fff; font: inherit; }
.subscriber-gate-names { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-bottom: .9rem; }
.subscriber-gate-check { display: flex; gap: .65rem; margin: 1rem 0; font-size: .88rem; line-height: 1.4; color: #385249; }
.subscriber-gate-check input { align-self: start; margin-top: .2rem; }
.subscriber-gate-form button { width: 100%; padding: .85rem 1rem; border: 0; border-radius: 999px; background: #244e3f; color: #fff; font: 700 1rem/1.3 Arial, sans-serif; cursor: pointer; }
.subscriber-gate-form button:hover { background: #173a2e; }
.subscriber-gate-form button:disabled { opacity: .6; cursor: wait; }
.subscriber-gate-form .subscriber-gate-secondary { margin-top: .7rem; border: 1px solid #8eb4a3; background: rgba(255,255,255,.68); color: #24513f; }
.subscriber-gate-form .subscriber-gate-secondary:hover { background: #fff; }
.subscriber-gate-status { min-height: 1.4rem; margin: .8rem 0 0; font-weight: 650; }
.subscriber-gate-fine { margin: .5rem 0 0; font-size: .78rem; }
.subscriber-gate-fine a { color: inherit; }
@keyframes subscriber-sheen { from { background-position: 0% 40%; } to { background-position: 100% 60%; } }
@media (max-width: 760px) { .subscriber-gate-inner, .subscriber-gate-examples { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .subscriber-gate-names { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .subscriber-gate { animation: none; } }
