/* Newsletter band */
.cta-band { background: linear-gradient(135deg, var(--g700), #123b2b); padding: 68px 0; }
.cta-shell { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); align-items: center; gap: 64px; }
.cta-kicker { display: inline-block; margin-bottom: 12px; color: #c6e8d1; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cta-title { max-width: 650px; margin: 0 0 12px; color: var(--white); font-family: 'Lora', Georgia, serif; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.16; }
.cta-title em { color: #b8dfc6; font-style: italic; }
.cta-desc { max-width: 590px; margin: 0; color: rgba(255,255,255,.68); font-size: 15px; line-height: 1.75; }
.cta-form { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.08); box-shadow: 0 18px 48px rgba(0,0,0,.18); }
.cta-input { min-width: 0; padding: 13px 14px; border: 1px solid rgba(255,255,255,.15); border-radius: 8px; outline: none; background: rgba(255,255,255,.1); color: var(--white); font: 14px 'Inter', sans-serif; }
.cta-input::placeholder { color: rgba(255,255,255,.45); }
.cta-input:focus { border-color: #b8dfc6; box-shadow: 0 0 0 3px rgba(184,223,198,.14); }
.cta-btn { padding: 13px 20px; border: 0; border-radius: 8px; background: var(--white); color: var(--g700); cursor: pointer; font: 600 14px 'Inter', sans-serif; white-space: nowrap; transition: transform var(--ease), background var(--ease); }
.cta-btn:hover { background: var(--g50); transform: translateY(-1px); }
.cta-trust { grid-column: 1 / -1; padding: 0 4px 2px; color: rgba(255,255,255,.48); font-size: 11px; }

/* Footer */
.site-footer { background: #101a16; padding: 62px 0 30px; }
.footer-grid { display: grid; grid-template-columns: minmax(260px, 1.55fr) repeat(3, minmax(130px, 1fr)); gap: clamp(28px, 5vw, 64px); padding-bottom: 44px; border-bottom: 1px solid rgba(255,255,255,.09); }
.footer-logo { display: inline-flex; align-items: center; margin-bottom: 14px; text-decoration: none; }
.footer-logo-text { color: var(--white); font: 700 22px 'Lora', Georgia, serif; letter-spacing: -.3px; }
.footer-tagline { max-width: 310px; margin: 0 0 22px; color: rgba(255,255,255,.54); font-size: 13px; line-height: 1.75; }
.footer-social { display: flex; gap: 9px; }
.social-link { display: flex; width: 36px; height: 36px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; background: rgba(255,255,255,.05); color: rgba(255,255,255,.58); transition: background var(--ease), color var(--ease), transform var(--ease); }
.social-link:hover { background: var(--g600); color: var(--white); transform: translateY(-2px); }
.footer-col-title { margin: 3px 0 16px; color: #b8dfc6; font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.footer-links { margin: 0; padding: 0; list-style: none; }
.footer-links li { margin: 0; }
.footer-links a { display: inline-block; padding: 5px 0; color: rgba(255,255,255,.6); font-size: 13.5px; line-height: 1.4; transition: color var(--ease), transform var(--ease); }
.footer-links a:hover { color: var(--white); transform: translateX(2px); }
.footer-bottom { display: grid; grid-template-columns: auto minmax(300px, 560px); justify-content: space-between; gap: 36px; padding-top: 26px; color: rgba(255,255,255,.34); font-size: 11.5px; }
.footer-copy { line-height: 1.7; }
.footer-copy a { color: rgba(255,255,255,.52); }
.footer-copy a:hover { color: var(--white); }
.footer-disclaimer { line-height: 1.7; }

@media (max-width: 960px) {
    .cta-shell { grid-template-columns: 1fr; gap: 28px; }
    .footer-grid { grid-template-columns: 1.4fr repeat(3, 1fr); gap: 26px; }
    .footer-bottom { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 760px) {
    .cta-band { padding: 50px 0; }
    .cta-form { grid-template-columns: 1fr; }
    .cta-trust { grid-column: auto; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
    .footer-grid { grid-template-columns: 1fr; }
    .footer-brand { grid-column: auto; }
}
