/* Loaded only by the four Pro Sign-Up screens. */
.reno-pro-signup {
    --color-primary: #174c3c;
    --color-secondary: #174c3c;
    --color-light-bg: #f7f6ef;
    --color-border: #dfe6e1;
    --color-gray: #13201c;
    --color-muted: #62716b;
    --color-accent: #174c3c;
    background: #f7f6ef;
    color: #13201c;
    font: 16px/1.55 "DM Sans", sans-serif;
}
.reno-pro-signup *, .reno-pro-signup *::before, .reno-pro-signup *::after { box-sizing: border-box; }
.reno-pro-signup .container { max-width: 1180px; }
.reno-pro-signup :is(h1, h2, h3, .service-title, .categories-title) {
    font-family: Manrope, sans-serif;
    font-weight: 800;
    color: #174c3c;
    letter-spacing: -.035em;
    line-height: 1.15;
}
.reno-pro-signup h1 { font-size: clamp(2rem, 4vw, 3.25rem); margin-bottom: 24px; }
.reno-pro-signup h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.reno-pro-signup p { color: #62716b; }
.reno-pro-signup a { color: #174c3c; text-underline-offset: 3px; }
.reno-pro-signup a:hover { color: #0d3027; }
.reno-pro-signup :is(.hs-text-gray, .leads-subtitle, .location-note, .subtitle) { color: #62716b; }
.reno-pro-signup :is(.btn, input, select, textarea) { font-family: "DM Sans", sans-serif; }
.reno-pro-signup .btn {
    padding: 13px 24px;
    border-radius: 999px;
    font-weight: 700;
    line-height: 1.4;
    min-height: 48px;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.reno-pro-signup .btn-cta-post-job {
    background: #d9ff68;
    border-color: #d9ff68;
    color: #0d3027 !important;
    box-shadow: none;
}
.reno-pro-signup .btn-cta-post-job:hover { background: #c9f34e; border-color: #c9f34e; }
.reno-pro-signup .btn-cta-post-job::before { display: none; }
.reno-pro-signup :is(.btn-outline-see-how-it-works, .btn-outline-primary) {
    background: transparent;
    border: 1px solid #174c3c;
    color: #174c3c;
}
.reno-pro-signup :is(.btn-outline-see-how-it-works, .btn-outline-primary):hover {
    background: #174c3c;
    border-color: #174c3c;
    color: #fff;
}
.reno-pro-signup :is(a, button):focus-visible { outline: 3px solid #174c3c; outline-offset: 4px; }
.reno-pro-signup :is(.form-control, .form-select, .search-input, .postcode-input) {
    min-height: 52px;
    border: 1px solid #dfe6e1;
    border-radius: 12px;
    background-color: #f7f6ef;
    color: #13201c;
    font-size: 15px;
    padding: 12px 16px;
}
.reno-pro-signup .form-select { padding-right: 40px; }
.reno-pro-signup :is(.form-control, .search-input, .postcode-input)::placeholder { color: #62716b; opacity: 1; }
.reno-pro-signup :is(.form-control, .form-select, .search-input, .postcode-input):focus {
    background-color: #fff;
    border-color: #174c3c;
    outline: none;
    box-shadow: 0 0 0 3px rgba(23,76,60,.13);
}
.reno-pro-signup textarea.form-control { min-height: 140px; resize: vertical; }
.reno-pro-signup :is(.form-label, .radio-group > label, .form-group > label) {
    font-size: 14px;
    font-weight: 700;
    color: #13201c;
    margin-bottom: 8px;
}
.reno-pro-signup input[type="radio"] { accent-color: #174c3c; }
.reno-pro-signup .form-check-input:checked { background-color: #174c3c; border-color: #174c3c; }
.reno-pro-signup .form-check-input:focus { border-color: #174c3c; box-shadow: 0 0 0 3px rgba(23,76,60,.13); }
/* Register hero; the later signup steps keep their shared styles. */
.reno-pro-signup .signup-component {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 66px 0 74px;
    background: #092c22 url('../assets/images/Craftsman-Cutting.webp') right / cover no-repeat;
}
.reno-pro-signup .signup-component::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    /* background: linear-gradient(90deg, rgba(6,39,29,.76), rgba(6,39,29,.35) 55%, rgba(3,34,27,.55)); */
        background: #10382dba;
}
.reno-pro-signup .signup-component::after {
    content: "";
    position: absolute;
    width: 560px;
    height: 560px;
    left: -445px;
    top: 135px;
    border: 55px solid rgba(127,171,64,.09);
    border-radius: 50%;
    box-shadow: 0 0 0 45px rgba(127,171,64,.04);
    z-index: -1;
    pointer-events: none;
}
.reno-pro-signup .signup-hero-grid {
    max-width: 1268px;
    width: calc(100% - 12%);
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.2083fr) minmax(0, 1fr);
    gap: 70px;
    align-items: center;
}
.reno-pro-signup .signup-eyebrow {
    color: #7dc968;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .35em;
    margin: 0 0 14px;
}
.reno-pro-signup .signup-intro h1 {
    color: #fff;
    font-family: "DM Sans", sans-serif;
    font-size: clamp(38px, 4.9vw, 72px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -.025em;
    margin: 0 0 16px;
    white-space: nowrap;
}
.reno-pro-signup .signup-intro h1 span { color: #c7f54b; }
.reno-pro-signup .signup-subtitle {
    color: #bfcdc6;
    font-size: clamp(19px, 1.95vw, 29px);
    line-height: 1.4;
    margin: 0 0 28px;
}
.reno-pro-signup .signup-benefits { display: grid; gap: 23px; }
.reno-pro-signup .signup-benefit { display: flex; align-items: center; gap: 30px; }
.reno-pro-signup .signup-benefit-icon {
    width: 84px;
    height: 84px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(149,195,62,.17);
    color: #d2fa51;
    font-size: 40px;
}
.reno-pro-signup .signup-benefit h2 {
    color: #fff;
    font-family: "DM Sans", sans-serif;
    font-size: 21px;
    font-weight: 700;
    letter-spacing: -.015em;
    margin: 0 0 4px;
}
.reno-pro-signup .signup-benefit p { color: #bacbc2; font-size: 18px; line-height: 1.4; margin: 0; }
.reno-pro-signup .register-form {
    width: 100%;
    padding: 36px 40.8px;
    background: #fff;
    border: 1px solid #e1e8e2;
    border-radius: 19px;
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
}
.reno-pro-signup .register-form h2 {
    font-family: "DM Sans", sans-serif;
    font-size: clamp(31.2px, 2.76vw, 36px);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.15;
    margin: 0 0 26.4px;
    color: #073b2e;
}
.reno-pro-signup .register-form form { display: grid; gap: 15.6px; margin: 0; }
.reno-pro-signup .register-form .form-control { min-height: 52px; font-size: 16.8px; background: #f6f5ef; border-color: #e4e9e2; padding: 13px 19.2px; }
.reno-pro-signup .register-form form .small { font-size: 14.4px; line-height: 1.45; margin: 4.8px 0 7.2px !important; }
.reno-pro-signup .register-form .small p { color: #708077; margin-top: 7.2px !important; margin-bottom: 7.2px !important; }
.reno-pro-signup .register-form .btn-cta-post-job { width: 100%; min-height: 56.4px; font-size: 16.8px; padding: 14.4px; background: linear-gradient(110deg, #d6ff59, #cfff57); }
.reno-pro-signup .register-form .btn-cta-post-job::after { content: "→"; margin-left: 16.8px; font-size: 24px; line-height: 1; }
@media (max-width: 1100px) {
    .reno-pro-signup .signup-hero-grid { width: 92%; gap: 36px; grid-template-columns: 1.05fr 1fr; }
    .reno-pro-signup .signup-intro h1 { font-size: 4.8vw; }
    .reno-pro-signup .signup-benefit { gap: 20px; }
    .reno-pro-signup .signup-benefit-icon { width: 68px; height: 68px; font-size: 34px; }
    .reno-pro-signup .register-form { padding: 33.6px; }
}
@media (max-width: 800px) {
    .reno-pro-signup .signup-component { padding: 42px 0; }
    .reno-pro-signup .signup-hero-grid { width: min(600px, calc(100% - 40px)); grid-template-columns: 1fr; gap: 38px; }
    .reno-pro-signup .signup-intro h1 { font-size: clamp(32px, 7.6vw, 48px); }
    .reno-pro-signup .signup-subtitle { font-size: 21px !important; }
    .reno-pro-signup .signup-benefit h2 { font-size: 19px; }
    .reno-pro-signup .signup-benefit p { font-size: 16px !important; }
    .reno-pro-signup .signup-benefits { gap: 18px; }
}
.reno-pro-signup #service-suggestions { border-radius: 12px; box-shadow: 0 12px 30px rgba(17,52,42,.15); }
.reno-pro-signup #service-suggestions .list-group-item { padding: 12px 16px; border-color: #dfe6e1; }
.reno-pro-signup #service-suggestions .list-group-item:hover { background: #eaf2ee; color: #174c3c; }
/* Existing informational sections keep their content and links. */
.reno-pro-signup :is(.how-to-hire-section, .reliable-section, .cta-section) { padding: 72px 0; background: #f7f6ef; }
.ask-a-pro-section{ padding: 0px 0 72px; background: #f7f6ef; }
.reno-pro-signup .how-to-hire-section, .reno-pro-signup .ask-a-pro-section { background: #fff; }
.reno-pro-signup .step-item { padding: 24px; }
.reno-pro-signup .step-number { color: #174c3c; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.reno-pro-signup .step-text { font-size: 22px; margin-bottom: 14px; }
.reno-pro-signup .reliable-text { max-width: 720px; margin: 20px auto 32px; }
.reno-pro-signup .reliable-section img { border-radius: 24px; }
.reno-pro-signup :is(.work-section, .question-card) {
    height: 100%;
    padding: 28px;
    border: 1px solid #dfe6e1;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(17,52,42,.04);
}
.reno-pro-signup .work-section-title { font-size: 22px; margin-bottom: 18px; }
.reno-pro-signup .work-section li { margin-bottom: 12px; color: #62716b; }
.reno-pro-signup .question-card .card-title { font-size: 20px; }
.reno-pro-signup .cta-section { margin-top: 56px; border-radius: 24px; }
.reno-pro-signup .cta-heading { margin-bottom: 24px; }
/* Location, business details and category steps. */
.reno-pro-signup .why-365Reno-section { background: #f7f6ef; padding: 64px 0; min-height: 65vh; }
.reno-pro-signup :is(.leads-form-card, .main-content) {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    padding: 40px;
    background: #fff;
    border: 1px solid #dfe6e1;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(17,52,42,.08);
}
.reno-pro-signup .leads-title { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.reno-pro-signup .leads-form-card h1 { font-weight: 800; }
.reno-pro-signup .location-option { background: #f7f6ef; border: 1px solid #dfe6e1; border-radius: 16px; padding: 24px; }
.reno-pro-signup .location-details { margin-top: 20px; }
.reno-pro-signup .location-details .row { row-gap: 12px; }
.reno-pro-signup .button-group { margin-top: 32px; }
.reno-pro-signup .company-size-options { gap: 12px; }
.reno-pro-signup .size-option { border-radius: 12px; background: #f7f6ef; }
.reno-pro-signup .size-option:hover { background: #eaf2ee; border-color: #174c3c; }
.reno-pro-signup .size-option:has(input:checked) { background: #eaf2ee; border-color: #174c3c; }
.reno-pro-signup .size-option input:checked + .size-label { color: #174c3c; font-weight: 700; }
.reno-pro-signup .radio-options { margin-top: 12px; }
.reno-pro-signup #sendOtpBtn { padding: 12px 20px; }
.reno-pro-signup .iti { width: 100%; }
.reno-pro-signup .service-card-main { background: #eaf2ee; border-color: #174c3c; border-radius: 16px; padding: 24px; }
.reno-pro-signup .categories-title { font-size: 20px; margin: 24px 0 16px; }
.reno-pro-signup .category-tag { background: #eaf2ee; color: #174c3c; border: 1px solid #dfe6e1; }
.reno-pro-signup .category-tag i { color: #174c3c; }
.reno-pro-signup .restore-link { font-size: 14px; }
.reno-pro-signup .search-dropdown { border: 1px solid #dfe6e1; border-radius: 12px; }
.reno-pro-signup .search-dropdown .dropdown-item:hover { background: #eaf2ee; color: #174c3c; }
.reno-pro-signup .leads-section { margin-top: 24px; background: #0d3027; border-radius: 20px; padding: 32px; }
.reno-pro-signup .leads-count { font-family: Manrope, sans-serif; font-size: 48px; color: #d9ff68; }
.reno-pro-signup .leads-text { color: #fff; margin-bottom: 24px; }
.reno-pro-signup .loading-text { color: #174c3c; font-family: Manrope, sans-serif; }
.reno-pro-signup .loading-bar-background { background: #0d3027; }
.reno-pro-signup .loading-bar { background: #d9ff68; }
@media (max-width: 600px) {
    .reno-pro-signup .register-form { padding: 31.2px 26.4px; }
    .reno-pro-signup .container { padding-left: 16px; padding-right: 16px; }
    .reno-pro-signup :is(.leads-form-card, .main-content) { padding: 28px 22px; border-radius: 20px; }
    .reno-pro-signup :is(.why-365Reno-section, .how-to-hire-section, .reliable-section, .ask-a-pro-section, .cta-section) { padding: 40px 0; }
    .reno-pro-signup .location-option { padding: 18px; }
    .reno-pro-signup .location-details .col { flex: 0 0 100%; }
    .reno-pro-signup .company-size-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .reno-pro-signup .button-group { flex-direction: column; gap: 12px; }
    .reno-pro-signup .work-section { margin-bottom: 16px; height: auto; }
    .reno-pro-signup .leads-section { padding: 28px 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .reno-pro-signup .btn { transition: none; }
}
