.home-newsletter, .home-social, .community-about { margin-top: 24px; border-radius: 18px; background: linear-gradient(120deg,#0b141bec,#0b1119d9); }
.home-newsletter { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 36px; align-items: center; padding: 38px; backdrop-filter: none; background: linear-gradient(100deg,#0b111bd4,#090d14e8),url('../images/bg-city.webp') center/cover; }
.community-copy h2 { font: 36px/1.14 Georgia,serif; margin: 14px 0; }
.home-newsletter .community-copy h2 { font-size: clamp(36px,4.5vw,52px); }
.community-copy > p:not(.eyebrow) { color: #d1ccd0; max-width: 560px; font-size: 17px; line-height: 1.6; }
.community-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 26px; color: #e2d6c9; font-size: 13px; text-align: center; }
.community-benefits span { display: block; color: #c44b5e; font: 30px/1.4 Georgia,serif; margin-bottom: 6px; }
.community-benefits svg { display: inline-block; width: 30px; height: 42px; vertical-align: top; }
.home-signup-card { min-width: 0; padding: 24px; border: 1px solid #ffffff26; border-radius: 14px; background: #080e16e8; }
.home-signup-card h3 { font: 25px/1.3 Georgia,serif; margin: 10px 0 22px; }
.home-signup-card label { display: block; font-size: 13px; margin-bottom: 8px; }
.home-signup-card input[type=email] { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid #ffffff42; border-radius: 8px; background: #19222bdd; color: #fff; font: 16px/1.5 "Source Sans 3",sans-serif; }
.home-signup-card input::placeholder { color: #b8b3b8; }
.home-signup-card input:focus-visible { outline: 2px solid #b9636b; outline-offset: 2px; }
.home-signup-card .ml-form-embedSubmit { margin-top: 14px; }
.home-signup-card .ml-form-embedSubmit button { width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid #b45262; border-radius: 8px; background: linear-gradient(120deg,#902e43,#642635); color: #fff; font: 600 17px/1.5 Georgia,serif; cursor: pointer; }
.home-signup-card .ml-form-embedSubmit button:disabled { opacity: .65; cursor: wait; }
.home-signup-card .subscription-note, .home-signup-card .signup-fallback { margin-top: 14px; font-size: 12px; line-height: 1.5; color: #bdb4ba; }
.home-signup-card .form-status { margin-top: 12px; font-size: 14px; color: #e2c9bb; }
.home-signup-card .form-status:empty { display: none; }
.home-signup-card .row-success h3 { margin-bottom: 14px; }
.home-signup-card .row-success p { color: #d1ccd0; }
.home-signup-card .ml-error input { border-color: #f19b9b; }
.home-signup-card .ml-server-error { margin-top: 12px; color: #f19b9b; font-size: 14px; }
.home-signup-card .d-none { display: none; }
.home-social, .community-about { display: grid; grid-template-columns: minmax(0,230px) minmax(0,1fr); gap: 34px; align-items: center; padding: 30px; }
.social-emblem { padding: 22px; border-right: 1px solid #ffffff20; color: #d4a8af; }
.social-emblem > span { color: #f1e9e2; font-size: 52px; }
.social-emblem p { font: italic 36px/1.1 Georgia,serif; margin-top: 12px; }
.social-account { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 22px; padding: 16px; border: 1px solid #ffffff2c; border-radius: 10px; background: #ffffff05; }
.social-account strong { font: 18px/1.4 Georgia,serif; overflow-wrap: anywhere; }
.social-account span { display: block; font-size: 12px; color: #bbb2b9; margin-top: 5px; }
.about-brand img { display: block; width: min(203px,100%); height: auto; border-radius: 12px; margin: auto; }
.community-about .site-button { margin-top: 20px; }
.community-footer { align-items: center; gap: 24px; padding: 28px 0; }
.community-footer .author-link { font: 25px/1.2 Georgia,serif; color: #eee5de; text-decoration: none; }
.community-footer p { font-size: 13px; color: #bfb6b9; }
.footer-social { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.footer-social-copy strong { font: 18px/1.4 Georgia,serif; color: #eee5de; overflow-wrap: anywhere; }
.footer-social .site-button { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 10px 16px; border-color: #c49caa40; border-radius: 8px; background: #111920b3; color: #e8dedc; font: 500 14px/1.4 "Source Sans 3",sans-serif; white-space: nowrap; transition: background .18s, border-color .18s; }
.footer-social .x-icon { width: 18px; height: 18px; flex-shrink: 0; }
.footer-social .external-icon { width: 14px; height: 14px; margin-left: 2px; color: #bf9aa3; flex-shrink: 0; }
.footer-social .site-button:focus-visible { outline: 2px solid #b9636b; outline-offset: 4px; }
@media (hover: hover) { .footer-social .site-button:hover { background: #261b23; border-color: #b9636b99; filter: none; } }
.verification-overlay { position: fixed; inset: 0; z-index: 1000; background: #020409cc; display: grid; place-items: center; padding: 12px; }
.verification-dialog { position: relative; width: min(390px,100%); max-height: calc(100dvh - 24px); overflow-y: auto; padding: 24px; border: 1px solid #b96a7480; border-radius: 16px; background: #0d151f; color: #fff; box-shadow: 0 20px 90px #0008; }
.verification-dialog h3 { margin: 0 32px 12px 0; font: 25px/1.25 Georgia,serif; }
.verification-dialog p { font-size: 14px; color: #d1ccd0; }
.verification-dialog .ml-form-recaptcha { margin-top: 20px; min-height: 78px; }
.verification-close { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; background: transparent; color: #eee5de; font: 28px/1 sans-serif; cursor: pointer; }
.verification-dialog a { display: inline-block; margin-top: 16px; font-size: 13px; }
@media (max-width: 860px) { .home-newsletter { grid-template-columns: minmax(0,1fr); gap: 26px; } .home-signup-card { width: 100%; } .home-social, .community-about { grid-template-columns: minmax(0,170px) minmax(0,1fr); gap: 24px; } }
@media (max-width: 640px) { .home-newsletter, .home-social, .community-about { padding: 24px 18px; } .home-social, .community-about { grid-template-columns: minmax(0,1fr); } .social-emblem { border-right: 0; border-bottom: 1px solid #ffffff20; padding: 0 0 18px; display: flex; align-items: center; gap: 24px; } .social-emblem p { font-size: 28px; margin: 0; } .community-copy h2 { font-size: 28px; } .home-signup-card { padding: 20px 16px; } .community-benefits { font-size: 12px; gap: 8px; } .community-footer { align-items: flex-start; gap: 20px; } }
