.utility-hero {
  padding: 150px 0 82px;
  background:
    radial-gradient(circle at 82% 18%, rgba(241,100,104,.2), transparent 27%),
    linear-gradient(135deg, #10164f 0%, #1b2375 100%);
  color: #fff;
}
.utility-wrap { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.utility-eyebrow { margin-bottom: 20px; color: #ff9ca0; font: 500 12px/1.4 'DM Mono', monospace; letter-spacing: .13em; text-transform: uppercase; }
.utility-hero h1 { max-width: 900px; margin: 0; font: 500 clamp(46px, 7vw, 86px)/.98 'Playfair Display', Georgia, serif; letter-spacing: -.035em; }
.utility-hero h1 em { color: #ff7378; font-weight: 500; }
.utility-hero p { max-width: 760px; margin-top: 28px; color: rgba(255,255,255,.78); font-size: clamp(18px, 2vw, 22px); line-height: 1.65; }
.utility-section { padding: 88px 0; background: #fff; }
.utility-section.cream { background: #f7f5f2; }
.utility-prose { max-width: 850px; }
.utility-prose h2 { margin: 52px 0 16px; color: #171c60; font: 600 clamp(29px, 4vw, 42px)/1.12 'Playfair Display', Georgia, serif; }
.utility-prose h2:first-child { margin-top: 0; }
.utility-prose h3 { margin: 32px 0 10px; color: #171c60; font-size: 20px; }
.utility-prose p, .utility-prose li { color: #596176; font-size: 17px; line-height: 1.8; }
.utility-prose p + p { margin-top: 18px; }
.utility-prose ul { display: grid; gap: 10px; margin: 18px 0; padding-left: 24px; list-style: disc; }
.utility-prose a { color: #d9454d; text-decoration: underline; text-underline-offset: 3px; }
.utility-meta { margin-top: 26px; color: rgba(255,255,255,.55); font: 400 12px/1.5 'DM Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }
.utility-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.utility-form-card { max-width: 880px; padding: clamp(26px, 5vw, 54px); border: 1px solid #dfe3ec; border-radius: 24px; background: #fff; box-shadow: 0 24px 60px rgba(23,28,96,.08); }
.utility-form-card h2 { margin: 0 0 10px; color: #171c60; font: 600 clamp(32px, 4vw, 48px)/1.05 'Playfair Display', Georgia, serif; }
.utility-form-intro { margin: 0 0 30px; color: #687086; font-size: 17px; line-height: 1.65; }
.utility-field { display: grid; gap: 8px; }
.utility-field.full { grid-column: 1 / -1; }
.utility-field label, .utility-consent { color: #262e67; font-size: 14px; font-weight: 700; }
.utility-field input, .utility-field select, .utility-field textarea {
  width: 100%; min-height: 50px; padding: 13px 15px; border: 1px solid #cfd4e0; border-radius: 10px;
  background: #fff; color: #292f48; font: inherit;
}
.utility-field textarea { min-height: 120px; resize: vertical; }
.utility-field input:focus, .utility-field select:focus, .utility-field textarea:focus { outline: 3px solid rgba(241,100,104,.18); border-color: #f16468; }
.utility-consent { display: flex; align-items: flex-start; gap: 11px; margin: 22px 0; font-weight: 500; line-height: 1.55; }
.utility-consent input { width: 18px; height: 18px; margin-top: 2px; flex: 0 0 auto; }
.utility-submit { min-height: 52px; padding: 14px 24px; border: 0; border-radius: 999px; background: #f16468; color: #fff; font: 700 15px/1 Inter, sans-serif; cursor: pointer; }
.utility-submit:hover { background: #df4f57; }
.form-status { display: none; margin-top: 16px; padding: 14px 16px; border-radius: 10px; font-size: 14px; line-height: 1.55; }
.form-status.is-success { display: block; color: #166534; background: #dcfce7; }
.form-status.is-error { display: block; color: #991b1b; background: #fee2e2; }
.form-recaptcha, #signup-recaptcha-container, #download-recaptcha-container { min-height: 78px; margin: 12px 0 18px; }
.utility-note { margin-top: 18px; color: #7a8192; font-size: 13px; line-height: 1.6; }
.utility-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.utility-card { padding: 24px; border: 1px solid #dfe3ec; border-radius: 16px; background: #fff; }
.utility-card strong { display: block; margin-bottom: 8px; color: #171c60; }
@media (max-width: 720px) {
  .utility-wrap { width: min(100% - 32px, 1180px); }
  .utility-hero { padding: 118px 0 64px; }
  .utility-section { padding: 62px 0; }
  .utility-form-grid, .utility-card-grid { grid-template-columns: 1fr; }
  .utility-field.full { grid-column: auto; }
}
