.cc-auth {
    --ink: #082c2a;
    --teal: #286b61;
    --line: #d0d3d2;
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: none;
    font-family: Inter;
    color: #111
}

.cc-auth.is-open {
    display: block
}

.cc-auth * {
    box-sizing: border-box
}

.cc-auth [hidden] {
    display: none !important
}

.cc-auth-mount {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: 0 !important
}

.cc-auth__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .6)
}

.cc-auth-target {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    overflow: hidden
}

.cc-auth-target:target~.cc-auth {
    display: block
}

#cc-auth-login:target~.cc-auth [data-auth-view="login"] {
    display: block !important
}

#cc-auth-login:target~.cc-auth [data-auth-view="signup"],
#cc-auth-login:target~.cc-auth [data-auth-view="forgot"] {
    display: none !important
}

#cc-auth-signup:target~.cc-auth [data-auth-view="login"],
#cc-auth-signup:target~.cc-auth [data-auth-view="forgot"] {
    display: none !important
}

#cc-auth-signup:target~.cc-auth [data-auth-view="signup"] {
    display: block !important
}

.container.t3-sl.t3-sl-1 {
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: visible !important
}

.cc-auth__social--signup {
    display: none !important
}

.cc-auth__signup-form .cc-auth__divider {
    display: none !important
}

.cc-auth[data-social-pending="true"] .cc-auth__signup-form {
    display: none !important
}

.cc-auth__dialog {
    position: fixed;
    z-index: 1;
    left: 50%;
    top: 50%;
    display: grid;
    grid-template-columns: 46% 54%;
    width: min(1280px, 70vw);
    height: min(820px, 90vh);
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 22px;
    overflow: hidden;
    outline: 0;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .32)
}

.cc-auth__visual {
    position: relative;
    min-height: 100%;
    background: linear-gradient(180deg, rgba(0, 11, 10, .36), rgba(0, 34, 31, .92)), url('../images/signin-signup.png') center/cover #073f39;
    color: #fff;
    border-radius: 20px;
}

.cc-auth__visual-copy {
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 6%;
    z-index: 1
}

.cc-auth__visual-copy span {
    color: #a8e900;
    font-size: 20px
}

.cc-auth__visual-copy h2 {
    margin: 12px 0 16px;
    font-size: 40px;
    line-height: 1.14;
    letter-spacing: -.03em;
    font-weight : 700
}

.cc-auth__visual-copy p {
    max-width: 500px;
    margin: 0;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.3
}

.cc-auth__content {
    position: relative;
    padding: 40px 30px;
    overflow: auto;
}

.cc-auth__close {
    position: absolute;
    right: 17px;
    top: 10px;
    z-index: 3;
    border: 0;
    background: transparent;
    color: var(--ink);
    font-size: 2rem;
    line-height: 1;
    text-decoration: none;
    cursor: pointer
}

.cc-auth h1 {
    margin: 0;
    color: #051F1F;
    font-size: 40px;
    line-height: 1.05;
    letter-spacing: -.05em;
    font-weight: 700;
}

.cc-auth__lead {
    margin: 12px 0 15px;
    font-size: 18px;
    line-height: 28px;
    font-weight: 400;
}

.cc-auth__form {
    display: grid;
    gap: 13px
}

.cc-auth label {
    display: grid;
    gap: 6px;
    color: #0B2421;
    font-size: 15px;
    font-weight: 750
}


.cc-auth select,
.cc-auth textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #bfc4c3;
    border-radius: 18px;
    background: #fff;
    color: var(--ink);
    font: 14px Inter;
    outline: none
}

.cc-auth input{
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #bfc4c3;
    border-radius: 40px;
    background: #fff;
    color: var(--ink);
    font: 14px Inter, sans-serif;
    outline: none;
    height : 50px
}
.cc-auth textarea {
    border-radius: 14px;
    resize: vertical
}

.cc-auth input:focus,
.cc-auth select:focus,
.cc-auth textarea:focus {
    border-color: var(--teal);
    box-shadow: 0 0 0 3px rgba(40, 107, 97, .15)
}

.cc-auth__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.cc-auth__password {
    position: relative
}

.cc-auth__password button {
    position: absolute;
    right: 13px;
    top: 9px;
    border: 0;
    background: transparent;
    color: #a1a7a5;
    font-size: 15px;
    cursor: pointer
}

.cc-auth__forgot {
    float: right;
    border: 0;
    background: transparent;
    color: var(--teal);
    font: inherit;
    font-weight: 750;
    cursor: pointer
}

.cc-auth__check {
    display: flex !important;
    align-items: center;
    gap: 10px !important;
    font-weight: 500 !important
}

.cc-auth__check input {
    width: 20px;
    height: 20px;
    padding: 0;
    border-radius: 4px;
    accent-color: var(--teal)
}

.cc-auth__primary {
    width: 100%;
    border: 0;
    border-radius: 999px;
    padding: 14px;
    background: var(--teal);
    color: #fff;
    font: 700 16px Inter, sans-serif;
    cursor: pointer;
    height: 50px;
}

.cc-auth__primary:hover {
    background: #174f48
}

.cc-auth__switch {
    margin: 18px 0 0;
    text-align: center;
    color: var(--ink);
    font-weight: 700;
    font-size: 15px;

}

.cc-auth__switch button,
.cc-auth__switch a {
    border: 0;
    background: none;
    color: var(--teal);
    font: inherit;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer
}

.cc-auth__social {
    display: grid;
    gap: 11px
}

.cc-auth__social button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid #bfc4c3;
    border-radius: 999px;
    padding: 12px;
    background: #fff;
    color: #565656;
    font-size: 16px;
    height: 50px;
    cursor: pointer;
}

.cc-auth__social svg {
    width: 20px;
    height: 20px;
    fill: #000
}

.cc-auth__social .cc-social-facebook {
    fill: #2767d8
}

.cc-auth__divider {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 26px 0;
    color: #565656;
    text-align: center;
    font-size: 14px;
    font-weight: 400;
}

.cc-auth__divider:before,
.cc-auth__divider:after {
    content: "";
    height: 1px;
    flex: 1;
    background: #d0d3d2
}

.cc-auth__alert {
    margin-bottom: 14px;
    padding: 12px;
    border-radius: 10px
}

.cc-auth__alert p {
    margin: 0
}

.cc-auth__alert--error {
    background: #fff0f1;
    color: #a32939
}

.cc-auth__alert--success {
    background: #eaf8f3;
    color: #08735c
}

/* Pending Service Provider approval (not an invalid-password error). */
.cc-auth__approval-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 20px;
    padding: 15px;
    background: #fffaf0;
    border: 1px solid #eadbb7;
    border-radius: 12px;
    color: #172422;
}

.cc-auth__approval-icon {
    display: inline-flex;
    flex: 0 0 32px;
    align-items: center;
    justify-content: center;
    height: 32px;
    border-radius: 9px;
    background: #f4e8cc;
    color: #80601e;
    font-size: 16px;
}

.cc-auth__approval-copy {
    min-width: 0;
}

.cc-auth__approval-copy strong {
    display: block;
    margin: 0 0 5px;
    color: #172422;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
}

.cc-auth__approval-copy p {
    margin: 0;
    color: #36423f;
    font-size: 14px;
    line-height: 1.6;
}

.cc-auth__choices {
    display: grid;
    gap: 11px;
    margin-top: 42px
}

.cc-auth__choices button {
    position: relative;
    display: grid;
    gap: 5px;
    width: 100%;
    min-height: 94px;
    padding: 18px 70px 16px 20px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
    text-align: left;
    cursor: pointer
}

.cc-auth__choices button:hover {
    border-color: var(--teal);
    box-shadow: 0 4px 15px rgba(8, 44, 42, .08)
}

.cc-auth__choices strong {
    font-size: 1.03rem
}

.cc-auth__choices span {
    font-size: .82rem;
    line-height: 1.3
}

.cc-auth__choices i {
    position: absolute;
    right: 17px;
    top: 50%;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    transform: translateY(-50%);
    border: 1px solid #8e9694;
    border-radius: 50%;
    color: #747b79;
    font-size: 1.4rem;
    font-style: normal
}

.cc-auth__back {
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--teal);
    font-size: .9rem;
    font-weight: 700;
    cursor: pointer
}

.cc-auth__step-label {
    margin: 10px 0;
    color: var(--teal);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em
}

.cc-auth__honeypot {
    position: absolute !important;
    left: -9999px !important
}

.password {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.password label {
    margin-bottom: 0;
}

.keep_signed {
    display: flex;
    align-items: center;
    gap: 10px;
}

.keep_signed input {
   margin-top: 0;
}



@media(max-width:950px) {
    .cc-auth__dialog {
        grid-template-columns: 1fr;
        width: calc(100vw - 24px);
        height: calc(100vh - 24px);
        border-radius: 20px
    }

    .cc-auth__visual {
        display: none
    }

    .cc-auth__content {
        padding: 54px 28px 30px
    }

    .cc-auth h1 {
        font-size: 2.8rem
    }

    .cc-auth__choices {
        margin-top: 30px
    }
}

@media(max-width:550px) {
    .cc-auth__content {
        padding-inline: 19px
    }

    .cc-auth h1 {
        font-size: 2.35rem
    }

    .cc-auth__lead {
        font-size: 1rem
    }

    .cc-auth__grid {
        grid-template-columns: 1fr
    }

    .cc-auth__social button {
        font-size: .9rem
    }

    .cc-auth__choices button {
        padding: 17px 65px 17px 18px
    }
}



/* Password reset view */
.cc-auth__view--forgot {
    max-width: 620px;
    margin: 0 auto;
    padding-top: 18%;
}

.cc-auth__view--forgot .cc-auth__lead {
    max-width: 560px;
    margin-bottom: 34px;
}

.cc-auth__forgot-form {
    gap: 28px;
}

.cc-auth__view--forgot .cc-auth__switch {
    margin-top: 24px;
}


@media(max-width:950px) {
    .cc-auth__view--forgot {
        padding-top: 8%;
    }
}

/* Compact forgot-password card, matching the authentication Figma */
.cc-auth.is-forgot .cc-auth__dialog {
    grid-template-columns: 1fr;
    width: min(620px, calc(100vw - 32px));
    height: auto;
    min-height: 440px;
}

.cc-auth.is-forgot .cc-auth__visual {
    display: none;
}

.cc-auth.is-forgot .cc-auth__content {
    padding: 46px 44px 38px;
    overflow: visible;
}

.cc-auth.is-forgot .cc-auth__view--forgot {
    max-width: none;
    margin: 0;
    padding-top: 0;
}

@media(max-width:550px) {
    .cc-auth.is-forgot .cc-auth__content {
        padding: 42px 22px 28px;
    }
}

/* v1.3.10: stacked forgot-password dialog + reliable text color + page scroll lock */
html.cc-auth-scroll-lock,
body.cc-auth-scroll-lock {
    overflow: hidden !important;
    height: 100% !important;
    overscroll-behavior: none;
}

.cc-auth input,
.cc-auth input[type="email"],
.cc-auth input[type="text"],
.cc-auth input[type="password"] {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    caret-color: #111 !important;
    opacity: 1 !important;
}

.cc-auth input::placeholder {
    color: #7b8381 !important;
    -webkit-text-fill-color: #7b8381 !important;
    opacity: 1;
}

/* Forgot Password is a second layer above Sign In; the Sign In modal stays visible beneath it. */
.cc-auth__submodal {
    position: fixed;
    inset: 0;
    z-index: 20;
    display: grid;
    place-items: center;
    padding: 24px;
}

.cc-auth__submodal[hidden] {
    display: none !important;
}

.cc-auth__subbackdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    padding: 0;
    background: rgba(0, 0, 0, .26);
    cursor: default;
}

.cc-auth__subdialog {
    position: relative;
    z-index: 1;
    width: min(620px, calc(100vw - 32px));
    max-height: calc(100vh - 48px);
    overflow: auto;
    padding: 46px 44px 38px;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .38);
    outline: 0;
}

.cc-auth__subclose {
    position: absolute;
    right: 17px;
    top: 10px;
    border: 0;
    background: transparent;
    color: var(--ink);
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
}

.cc-auth__subdialog .cc-auth__lead {
    max-width: 560px;
    margin-bottom: 34px;
}

.cc-auth__subdialog .cc-auth__forgot-form {
    gap: 28px;
}

.cc-auth__subdialog .cc-auth__switch {
    margin-top: 24px;
}

@media (max-width: 550px) {
    .cc-auth__submodal { padding: 16px; }
    .cc-auth__subdialog {
        width: 100%;
        padding: 42px 22px 28px;
        border-radius: 18px;
    }
}


/* v1.3.12: visually separate the stacked password-reset layer without breaking modal centering. */
.cc-auth.is-forgot-open .cc-auth__dialog {
    opacity: .74;
    transition: opacity .18s ease;
    pointer-events: none;
}

.cc-auth.is-forgot-open .cc-auth__backdrop {
    background: rgba(0, 0, 0, .58);
}

.cc-auth.is-forgot-open .cc-auth__subbackdrop {
    background: rgba(2, 21, 19, .24);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}

@media (prefers-reduced-motion: reduce) {
    .cc-auth.is-forgot-open .cc-auth__dialog {
        transition: none;
    }
}


/* Social OAuth popup feedback */
.cc-auth__social-status {
    margin: 10px 0 0;
    padding: 10px 12px;
    border: 1px solid #d9e7e4;
    border-radius: 10px;
    background: #f4faf8;
    color: #153b36;
    font-size: 14px;
    line-height: 1.4;
}
.cc-auth__social-status.is-error {
    border-color: #f2c9cf;
    background: #fff1f3;
    color: #b42335;
}
.cc-auth.is-social-authenticating .cc-auth__social button {
    cursor: wait;
}

/* Inline create-account validation */
.cc-auth__field-error {
    display: block;
    min-height: 0;
    margin: 1px 4px 0;
    color: #b42318;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}

.cc-auth__field-error:empty {
    display: none;
}

.cc-auth__field.cc-auth__field--error {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.cc-auth__field.cc-auth__field--error > input,
.cc-auth__field.cc-auth__field--error .cc-auth__password > input {
    border-color: #d92d20;
    box-shadow: 0 0 0 3px rgba(217, 45, 32, .08);
}

.cc-auth__field.cc-auth__field--error > input:focus,
.cc-auth__field.cc-auth__field--error .cc-auth__password > input:focus {
    border-color: #d92d20;
    box-shadow: 0 0 0 3px rgba(217, 45, 32, .12);
}

.cc-auth__terms.cc-auth__terms--error {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #b42318;
}

.cc-auth__terms .cc-auth__field-error {
    grid-column: 1 / -1;
    margin-left: 30px;
}


/* v1.3.21: keep the Terms label visible once; put validation below it. */
.cc-auth__terms {
    display: block !important;
    font-weight: 500 !important;
}

.cc-auth__terms-row {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #0B2421;
    font-size: 15px;
    font-weight: 500;
}

.cc-auth__terms-row input[type="checkbox"] {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    padding: 0;
    margin: 0;
    border-radius: 4px;
    accent-color: var(--teal);
}

.cc-auth__terms .cc-auth__field-error {
    display: block;
    margin: 6px 0 0 30px;
}

.cc-auth__terms .cc-auth__field-error:empty {
    display: none;
}

/* v1.3.22 — account type choice before registration */
.cc-auth__signup-choice{display:flex;flex-direction:column;min-height:100%;justify-content:center}
.cc-auth__signup-choice[hidden],.cc-auth__signup-form[hidden]{display:none!important}
.cc-auth__signup-heading{margin-bottom:24px}
.cc-auth__signup-kicker{display:inline-block;margin-bottom:8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0d8072}
.cc-auth__signup-choice h1,.cc-auth__signup-form-head h1{margin:0 0 8px;color:#081f1c;font-size:36px;line-height:1.05;letter-spacing:-.035em}
.cc-auth__account-choices{display:grid;gap:12px}
.cc-auth__account-choice{width:100%;min-height:96px;display:grid;grid-template-columns:46px 1fr 42px;align-items:center;gap:14px;padding:16px 18px;border:1px solid #d8dfdc;border-radius:18px;background:#fff;color:#111;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.cc-auth__account-choice:hover,.cc-auth__account-choice:focus-visible{border-color:#0d8b7b;box-shadow:0 12px 30px rgba(11,92,80,.08);transform:translateY(-1px);outline:none}
.cc-auth__account-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#edf7f4;color:#0d8b7b;font-size:17px}
.cc-auth__account-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.cc-auth__account-copy strong{font-size:17px;font-weight:750;color:#111917}
.cc-auth__account-copy small{font-size:13px;line-height:1.45;color:#64716c}
.cc-auth__account-arrow{width:40px;height:40px;border:1px solid #d7dfdc;border-radius:50%;display:grid;place-items:center;color:#26312e}
.cc-auth__account-choice:hover .cc-auth__account-arrow{border-color:#0d8b7b;color:#0d8b7b}
.cc-auth__signup-choice .cc-auth__switch{margin-top:28px;text-align:center}
.cc-auth__signup-form-head{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;margin-bottom:18px}
.cc-auth__signup-back{width:34px;height:34px;border:1px solid #dce3e0;border-radius:50%;background:#fff;color:#23302c;display:grid;place-items:center;cursor:pointer;margin-top:2px}
.cc-auth__signup-back:hover{border-color:#0d8b7b;color:#0d8b7b}
.cc-auth__signup-form .cc-auth__switch{margin-bottom:0}
@media(max-width:640px){.cc-auth__signup-choice h1,.cc-auth__signup-form-head h1{font-size:30px}.cc-auth__account-choice{grid-template-columns:42px 1fr 36px;padding:14px}.cc-auth__account-icon{width:40px;height:40px}.cc-auth__account-arrow{width:34px;height:34px}}


/* Filantrophy editorial login — design-only overrides (v1.3.23). */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;650;700&display=swap');
.cc-auth { --ink:#192724; --teal:#246d59; --line:#e2e6e3; font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:#192724; }
.cc-auth__backdrop { background:rgba(9,25,19,.57); backdrop-filter:blur(7px); }
.cc-auth__dialog { width:min(1030px,calc(100vw - 36px)); height:min(680px,calc(100dvh - 36px)); max-height:calc(100dvh - 36px); grid-template-columns:44% 56%; border:1px solid rgba(255,255,255,.8); border-radius:24px; box-shadow:0 36px 110px rgba(0,0,0,.28); }
.cc-auth__visual { display:block; position:relative; min-height:0; border-radius:0; overflow:hidden; background:#183b30; isolation:isolate; }
.cc-auth__visual:before { content:''; position:absolute; inset:0; z-index:2; background:linear-gradient(180deg,rgba(5,24,19,.12),rgba(5,24,19,.20) 35%,rgba(3,22,17,.85)); pointer-events:none; }
.cc-auth__slides { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.cc-auth__slide { position:absolute; inset:0; background-position:center; background-size:cover; opacity:0; transition:opacity 850ms ease-in-out; }
.cc-auth__slide.is-active { opacity:1; }
.cc-auth__slide img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.cc-auth__slide.is-broken { display:none; }
.cc-auth__visual-copy { position:absolute; z-index:3; left:42px; right:35px; bottom:66px; }
.cc-auth__visual-copy span { display:block; font-size:12px; line-height:1.5; letter-spacing:.13em; text-transform:uppercase; color:#c3e5d3; font-weight:600; }
.cc-auth__visual-copy h2 { margin:15px 0 14px; font-size:clamp(30px,3vw,39px); letter-spacing:-1.4px; font-weight:600; line-height:1.18; color:#fff; }
.cc-auth__visual-copy p { font-size:14px; font-weight:400; line-height:1.8; color:rgba(255,255,255,.82); }
.cc-auth__dots { position:absolute; z-index:4; bottom:20px; left:42px; display:flex; gap:7px; align-items:center; }
.cc-auth__dot { border:0; height:7px; width:7px; border-radius:50px; padding:0; background:rgba(255,255,255,.55); cursor:pointer; transition:width .2s,background .2s; }
.cc-auth__dot.is-active { width:24px; background:#fff; }
.cc-auth__dot:focus-visible { outline:2px solid white; outline-offset:4px; }
.cc-auth__content { padding:45px 52px 28px; align-self:stretch; min-width:0; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#e1e8e3 transparent; }
.cc-auth__view[data-auth-view="login"] { padding-top:16px; }
.cc-auth__close { display:grid; place-items:center; width:30px; height:30px; top:19px; right:19px; border-radius:50%; background:#f3f4f3; color:#6c7471; font-size:23px; font-weight:400; text-decoration:none; z-index:8; }
.cc-auth h1 { color:#192724; font-size:32px; line-height:1.18; letter-spacing:-1.2px; font-weight:650; }
.cc-auth__lead { font-size:14px; line-height:1.65; color:#75817d; font-weight:400; margin:9px 0 25px; }
.cc-auth__social { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.cc-auth__social button { width:100%; min-width:0; height:46px; border:1px solid #e2e6e3; border-radius:12px; padding:8px 5px; font-size:14px; font-weight:550; color:#26322e; background:#fff; }
.cc-auth__social button:hover { background:#f7faf8; border-color:#c9d7d1; }
.cc-auth__social button:disabled { cursor:not-allowed; opacity:.6; }
.cc-auth__social svg { flex-shrink:0; width:18px; height:18px; }
.cc-auth__divider { margin:23px 0; font-size:12px; color:#99a19d; gap:14px; }
.cc-auth__divider:before,.cc-auth__divider:after { background:#e8ece9; }
.cc-auth__form { gap:16px; }
.cc-auth label { font-size:13px; line-height:1.5; font-weight:600; gap:8px; color:#192724; }
.cc-auth input:not([type="checkbox"]),.cc-auth select { height:49px; border:1px solid #dce3de; border-radius:12px; background:#fbfcfb; color:#142721; padding:0 15px; font-size:14px; box-shadow:none; }
.cc-auth input:not([type="checkbox"]):focus { border-color:#3c8a73; box-shadow:0 0 0 3px #e5f2ec; }
.cc-auth .password { gap:10px; }
.cc-auth__forgot { padding:0; font-size:12px; color:#276c59; font-weight:650; }
.cc-auth__password { display:block; }
.cc-auth__password input { width:100%; padding-right:50px !important; }
.cc-auth__password button { right:7px; top:6px; width:37px; height:37px; display:grid; place-items:center; color:#899590; }
.cc-auth__check { margin-top:-7px; }
.cc-auth__check .keep_signed { gap:9px; font-size:12px; color:#5a6b64; font-weight:400; }
.cc-auth input[type="checkbox"] { width:15px; height:15px; padding:0; margin:0; border-radius:4px; accent-color:#286e5a; flex:0 0 auto; }
.cc-auth__primary { height:49px; padding:10px 16px; border:1px solid #246d59; border-radius:12px; background:#246d59; font-size:14px; font-weight:650; color:white; }
.cc-auth__primary:hover { background:#17533f; }
.cc-auth__switch { margin:23px 0 0; text-align:center; font-size:13px; line-height:1.6; color:#7a8580; font-weight:400; }
.cc-auth__switch a,.cc-auth__switch button { font-size:13px; font-weight:650; color:#276c59; }
.cc-auth__fineprint { margin-top:26px; text-align:center; font-size:11px; color:#a0aaa5; }
.cc-auth__fineprint a { color:#7b8d84; text-decoration:none; }
.cc-auth__signup-form .cc-auth__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.cc-auth__signup-form .cc-auth__signup-form-head { margin-bottom:14px; }
.cc-auth__signup-form .cc-auth__lead { margin-bottom:8px; }
.cc-auth__signup-form .cc-auth__terms { margin-top:0; }
.cc-auth__signup-choice .cc-auth__lead { margin-bottom:22px; }
.cc-auth__account-choice { border-color:#e2e6e3; border-radius:13px; }
.cc-auth__account-choice:hover { border-color:#81ad9a; background:#f7faf8; }
@media(max-width:850px) { .cc-auth__dialog { grid-template-columns:38% 62%; } .cc-auth__visual-copy { left:25px; right:20px; } .cc-auth__visual-copy h2 { font-size:29px; } .cc-auth__dots { left:25px; } .cc-auth__content { padding:44px 30px 28px; } }
@media(max-width:650px) { .cc-auth__dialog { display:flex; flex-direction:column; width:min(460px,calc(100vw - 28px)); height:auto; max-height:calc(100dvh - 28px); overflow-y:auto; scrollbar-width:none; border-radius:21px; } .cc-auth__visual { display:block; flex:0 0 180px; min-height:180px; } .cc-auth__visual-copy { left:28px; right:20px; bottom:22px; } .cc-auth__visual-copy span { font-size:10px; margin-bottom:7px; } .cc-auth__visual-copy h2 { font-size:23px; letter-spacing:-.6px; margin:0; } .cc-auth__visual-copy p { display:none; } .cc-auth__dots { bottom:17px; left:auto; right:24px; } .cc-auth__content { padding:29px 27px 27px; overflow:visible; } .cc-auth__view[data-auth-view="login"] { padding-top:0; } .cc-auth h1 { font-size:27px; } .cc-auth__close { background:rgba(255,255,255,.93); } .cc-auth__signup-form .cc-auth__grid { grid-template-columns:1fr; } .cc-auth__social button { font-size:12px; } }
@media(max-width:390px) { .cc-auth__visual { flex-basis:145px; min-height:145px; } .cc-auth__content { padding:25px 20px; } }
@media(prefers-reduced-motion:reduce) { .cc-auth__slide { transition:none; } }

/* Password show/hide buttons: fixed position and a stable Font Awesome icon. */
.cc-auth__password button[data-password-toggle] {
  display: grid;
  place-items: center;
  padding: 0;
  line-height: 1;
  z-index: 2;
  transition: color .15s ease;
}
.cc-auth__password button[data-password-toggle] i {
  display: inline-block;
  width: 18px;
  text-align: center;
  font-size: 15px;
  line-height: 1;
  pointer-events: none;
}
.cc-auth__password button[data-password-toggle]:focus-visible {
  outline: 2px solid #246d59;
  outline-offset: 2px;
  border-radius: 6px;
}
