.free-guide-modal .modal-dialog { max-width: 480px; }
.free-guide-modal .modal-content {
    position: relative;
    overflow: hidden;
    padding: 42px 38px 32px;
    border: 0;
    border-radius: 24px;
    background: linear-gradient(145deg, #fff9f5 0%, #fff 100%);
    box-shadow: 0 24px 70px rgba(24, 18, 15, .3);
    text-align: center;
}
.free-guide-modal .modal-content::before {
    position: absolute;
    inset: 0 0 auto;
    height: 7px;
    background: #f24405;
    content: "";
}
.free-guide-modal__close {
    position: absolute;
    z-index: 1;
    top: 16px;
    right: 17px;
    display: flex;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #452113;
    color: #fff;
    cursor: pointer;
}
.free-guide-modal__close svg {
    display: block;
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 2;
}
.free-guide-modal__eyebrow {
    margin: 0 0 8px;
    color: #f24405;
    font: 700 11px/1.3 "Plus Jakarta Sans", sans-serif;
    letter-spacing: .13em;
}
.free-guide-modal h2 {
    margin: 0;
    color: #1f1814;
    font: 600 clamp(29px, 4vw, 38px)/1.05 "Cormorant Garamond", serif;
}
.free-guide-modal__copy {
    max-width: 360px;
    margin: 14px auto 22px;
    color: #514840;
    font: 400 14px/1.55 "Plus Jakarta Sans", sans-serif;
}
.free-guide-modal__form { display: grid; gap: 12px; }
.free-guide-modal__form input[type="email"] {
    width: 100%;
    height: 52px;
    border: 1px solid #d8c6bc;
    border-radius: 12px;
    background: #fff;
    color: #201915;
    font: 400 14px/1 "Plus Jakarta Sans", sans-serif;
    padding: 0 16px;
}
.free-guide-modal__form input[type="email"]:focus { outline: 2px solid rgba(242, 68, 5, .25); border-color: #f24405; }
.free-guide-modal__submit { width: 100%; justify-content: center; min-height: 52px; border: 0; }
.free-guide-modal__privacy { margin: 15px 0 0; color: #776a63; font: 400 11px/1.45 "Plus Jakarta Sans", sans-serif; }
.free-guide-modal__notice { margin: 0 0 16px; padding: 10px 12px; border-radius: 10px; font: 600 12px/1.45 "Plus Jakarta Sans", sans-serif; }
.free-guide-modal__notice--success { background: #edf8ef; color: #236138; }
.free-guide-modal__notice--error { background: #fff0eb; color: #9c2c16; }
.free-guide-modal__honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 575px) {
    .free-guide-modal .modal-dialog { width: calc(100% - 24px); margin: 12px auto; }
    .free-guide-modal .modal-content { padding: 38px 22px 26px; }
}
