/* Uses the existing corporate theme, Satoshi fonts, and Bootstrap grid. */
.profile-header-stack { position: sticky; top: 0; z-index: 1040; }
.profile-header-stack .main-nav.stick-fixed { position: relative !important; top: 0; background: #fff !important; }
.profile-header-stack .main-nav.dark { background: #0b0b0b !important; }
.profile-announcement { position: relative; min-height: 44px; background: #d4f5e7; color: #073e29; }
.profile-announcement-link { display: block; min-height: 44px; padding: 11px 56px 11px 20px; text-align: center; color: inherit; font-size: 14px; line-height: 22px; text-decoration: none; }
.profile-announcement-link:hover { color: #073e29; background: #c3e6d7; }
.profile-announcement-link strong { font-weight: 700; text-decoration: underline; white-space: nowrap; margin-left: .5em; }
.profile-announcement-close { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: 0; background: transparent; color: inherit; font-size: 26px; cursor: pointer; }
.profile-announcement-close[hidden], .profile-banner-dismissed .profile-announcement { display: none; }
.profile-announcement :focus-visible { outline: 3px solid #073e29; outline-offset: -4px; }
@media (max-width: 600px) { .profile-announcement, .profile-announcement-link { min-height: 66px; } }
@media (max-width: 360px) { .profile-announcement, .profile-announcement-link { min-height: 88px; } }
.profile-page { --section-padding-y: 80px; }
.profile-page .profile-hero { background: #0b0b0b; padding: 170px 0 80px; }
.profile-page .profile-hero .hs-descr { max-width: 760px; color: #fff; }
.profile-page .profile-eyebrow { color: #d4f5e7; font-size: 15px; margin-bottom: 24px; }
.profile-page .profile-width { max-width: 840px; margin-inline: auto; }
.profile-page .profile-card { border: 1px solid #c3e6d7; border-radius: 20px; padding: 28px; background: #fff; }
.profile-page .profile-checklist { list-style: none; padding: 0; margin: 0; }
.profile-page .profile-checklist li { position: relative; padding-left: 32px; margin-bottom: 20px; }
.profile-page .profile-checklist li::before { content: '\2713'; position: absolute; left: 0; color: #087142; font-weight: bold; }
.profile-page .profile-steps { display: grid; grid-template-columns: 1fr; gap: 24px; list-style: none; padding: 0; margin: 0; counter-reset: steps; }
.profile-page .profile-steps li { counter-increment: steps; }
.profile-page .profile-steps li::before { content: counter(steps); display: grid; place-items: center; border: 2px solid #119d60; border-radius: 50%; width: 56px; height: 56px; color: #087142; margin-bottom: 24px; font-size: 24px; }
.profile-page .profile-steps h3 { font-size: 22px; }
.profile-page .profile-note { background: #d4f5e7; border-radius: 20px; padding: 28px; }
.profile-page .profile-note li { margin-bottom: 16px; }
.profile-page .profile-small { font-size: 15px; line-height: 1.6; color: #454545; }
.profile-page details { border-bottom: 1px solid #c3e6d7; padding: 8px 0; }
.profile-page summary { cursor: pointer; padding: 16px 4px; min-height: 44px; font-size: 21px; font-weight: 500; }
.profile-page details p { padding: 0 4px 12px; margin: 0; }
.profile-page #claim-form { scroll-margin-top: 100px; }
.profile-page .profile-cta { background: #d4f5e7; }
.profile-page .btn-color { background: #087142; color: #fff; }
.profile-page .btn-color:hover { background: #075c37; color: #fff; }
.profile-page .btn { min-height: 44px; white-space: normal; line-height: 1.5; }
.profile-page a:not(.btn):not(.logo) { text-underline-offset: 4px; }
.profile-page :focus-visible { outline: 3px solid #087142; outline-offset: 4px; }
.profile-page .light-content :focus-visible { outline-color: #d4f5e7; }
.profile-page .form label { font-size: 18px; margin-bottom: 8px; }
.profile-page .form input, .profile-page .form textarea { font-size: 16px; }
.profile-page .form-status { display: none; margin-top: 24px; padding: 18px 20px; border-radius: 14px; font-size: 15px; line-height: 1.6; border: 1px solid transparent; }
.profile-page .form-status.show { display: block; }
.profile-page .form-status.success { background: #ecfdf3; border-color: #b7ebc6; color: #166534; }
.profile-page .form-status.error { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.profile-page .form-status.loading { background: #f8fafc; border-color: #e2e8f0; color: #334155; }
.profile-page .field-error { border-color: #dc2626 !important; }
.profile-page .field-help { display: none; color: #b91c1c; font-size: 13px; margin-top: 6px; }
.profile-page .field-help.show { display: block; }
.profile-page .btn[disabled] { opacity: .65; pointer-events: none; }
@media (min-width: 768px) {
  .profile-page .profile-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .profile-page .profile-note, .profile-page .profile-card { padding: 40px; }
}
@media (max-width: 767px) {
  .profile-page { --section-padding-y: 56px; }
  .profile-page .profile-hero { padding: 130px 0 60px; }
}
