/* Shared editorial identity. Layouts and member behaviors remain in their own stylesheets. */
body.cf-site {
    --text-main: #fff3eb;
    --text-muted: #dcc1cc;
    --card-bg: #29172b;
    --card-bg-solid: #29172b;
    --border-color: #72505e;
    --shadow: 0 16px 48px #10081330;
    --shadow-lg: 0 24px 70px #10081350;
    font-family: "Trebuchet MS", sans-serif;
    background: radial-gradient(ellipse at 85% 0, #592338 0, transparent 600px), #1c0d22;
    background-attachment: scroll;
    color: var(--text-main);
}
.cf-site::before { display: none; }
.cf-site main { min-width: 0; min-height: 50vh; }
.cf-site h1, .cf-site h2, .cf-site h3 { font-weight: 400; letter-spacing: -.035em; text-shadow: none; }
.cf-site a:focus-visible, .cf-site button:focus-visible, .cf-site summary:focus-visible { outline: 3px solid #ffca3a; outline-offset: 4px; }
.cf-site input, .cf-site select, .cf-site textarea, .cf-site button { font-family: inherit; }
.cf-site input[type=checkbox], .cf-site input[type=radio] { accent-color: #ffca3a; }
.cf-site .btn-primary, .cf-site .signup-btn, .cf-site .cta-button {
    background: #ffca3a; color: #291326; border: 1px solid transparent; border-radius: 100px;
    min-height: 48px; padding: 14px 24px; box-shadow: none; font-weight: 700; text-align: center;
}
.cf-site .btn-primary:hover, .cf-site .cta-button:hover { background: #ffda74; box-shadow: 0 6px 24px #ffca3a20; }
.cf-site .btn-secondary, .cf-site .member-secondary, .cf-site .cta-button.secondary { border-radius: 100px; border: 1px solid #ab7f92; background: transparent; color: #fff3eb; }
.cf-site .main-nav { background: #1c0d22f5; border-bottom: 1px solid #624051; backdrop-filter: blur(14px); }
.cf-site .logo { text-shadow: none; letter-spacing: -.04em; }
.cf-site .nav-link { font-size: .9rem; }
.cf-site .nav-links { gap: 22px; }
.cf-site .user-button { max-width: 200px; overflow-wrap: anywhere; }
.cf-site .mobile-menu-toggle { min-width: 44px; min-height: 44px; }
.cf-skip-link { position: fixed; top: -100px; left: 16px; z-index: 2000; padding: 12px 20px; background: #ffca3a; color: #291326; }
.cf-skip-link:focus { top: 12px; }
.cf-site .cf-eyebrow { color: #ffb6a4; font: 700 .7rem/1.8 "Trebuchet MS", sans-serif; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 18px; }
.cf-site .cf-page-hero { padding: 80px 24px 48px; max-width: 1200px; margin: auto; text-align: left; border-bottom: 1px solid #654252; }
.cf-site .cf-page-hero h1 { font-size: clamp(42px, 5.8vw, 78px); max-width: 900px; letter-spacing: -.055em; line-height: 1.05; margin-bottom: 24px; }
.cf-site .cf-page-hero h1 em { display: block; color: #ffb18d; font-family: Georgia, serif; font-weight: 400; }
.cf-site .cf-page-hero > p:not(.cf-eyebrow) { max-width: 660px; margin: 0; font-size: 17px; color: var(--text-muted); line-height: 1.7; }
.cf-site .cf-page-hero > .cf-eyebrow { max-width: none; margin: 0 0 18px; font-size: .7rem; }
.cf-site .safety-content { max-width: 960px; padding: 48px 24px 80px; }
.cf-site .tip-section { margin-bottom: 44px; }
.cf-site .tip-section > h2 { border-bottom: 1px solid #654252; padding-bottom: 18px; font-size: clamp(25px, 3vw, 34px); color: #ffb6a4; }
.cf-site .tip-list, .cf-site .card, .cf-site .faq-card { border: 1px solid #654252; background: #29172b; box-shadow: none; border-radius: 16px; }
.cf-site .tip-list { line-height: 1.85; }
.cf-site .tip-list h3 { font-size: 21px; color: #ffe4d6; }
.cf-site .tip-icon { background: #ffca3a; color: #291326; }
.cf-site .pricing-container { padding-top: 55px; }
.cf-site .pricing-grid { gap: 24px; }
.cf-site .pricing-card { background: #29172b; border: 1px solid #795161; border-radius: 18px; box-shadow: none; }
.cf-site .pricing-card.featured { background: linear-gradient(150deg, #513044, #29172b 65%); border: 2px solid #ffca3a; transform: none; box-shadow: none; }
.cf-site .pricing-card:hover, .cf-site .pricing-card.featured:hover { transform: translateY(-4px); }
.cf-site .tier-icon { font-size: 2.2rem; margin-bottom: 18px; }
.cf-site .tier-name { font-family: Georgia, serif; font-size: 38px; font-weight: 400; }
.cf-site .faq-card:hover { transform: none; }
.cf-auth-shell { min-height: 72vh; display: grid; place-items: center; padding: 64px 24px; }
.cf-auth-card { background: #29172b; border: 1px solid #795161; border-radius: 24px 64px 24px 24px; box-shadow: var(--shadow); padding: 42px; max-width: 560px; width: 100%; min-width: 0; }
.cf-site .cf-auth-card h1 { font-size: clamp(32px, 5vw, 44px) !important; color: #fff3eb !important; font-family: Georgia, serif; margin-bottom: 20px; }
.cf-auth-card > p { margin: 18px 0; line-height: 1.8; }
.cf-site .form-group input:not([type=checkbox]):not([type=radio]), .cf-site .form-group select, .cf-site .form-group textarea { background: #1c0d22; border: 1px solid #926877; color: #fff3eb; border-radius: 8px; font-size: 16px; color-scheme: dark; }
.cf-site .form-group input::placeholder, .cf-site .form-group textarea::placeholder { color: #bb9fae; }
.cf-site .form-group label { color: #f5d9d5; }
.cf-site .member-shell { padding-top: 56px; }
.cf-site .member-heading { padding-bottom: 22px; border-bottom: 1px solid #654252; }
.cf-site .member-shell h1, .cf-site .photo-manager h1 { font-size: clamp(32px, 4.8vw, 58px); font-weight: 400; letter-spacing: -.045em; line-height: 1.13; color: #fff3eb; margin-bottom: 20px; }
.cf-site .member-eyebrow { color: #ffb6a4; }
.cf-site .member-tabs a { border-radius: 100px; }
.cf-site .member-tabs a[aria-current=page] { background: #ffca3a; color: #291326; }
.cf-site .member-panel, .cf-site .member-filters, .cf-site .member-card, .cf-site .photo-card { background: #29172b; border-color: #795161; border-radius: 16px; }
.cf-site .member-card h2 { font-family: Georgia, serif; font-size: 25px; }
.cf-site .member-card-photo { background: #402638; }
.cf-site .member-notice { background: #422536; border-color: #ffb18d; }
.cf-site .member-shell input:not([type=checkbox]):not([type=radio]), .cf-site .member-shell select, .cf-site .member-shell textarea { background: #1c0d22; border-color: #926877; color: #fff3eb; color-scheme: dark; font-size: 16px; }
.cf-site .member-shell input[type=checkbox] { width: 20px; height: 20px; vertical-align: middle; margin: 3px 8px 3px 0; }
.cf-site .message-bubble { background: #392439; }
.cf-site .message-bubble.mine { background: #66354e; }
.cf-site .photo-manager { padding-top: 56px; padding-bottom: 64px; }
.cf-site .photo-manager button { border: 1px solid #ab7f92; background: #29172b; color: #fff3eb; min-height: 44px; }
.cf-site .photo-manager button.btn-primary { background: #ffca3a; color: #291326; }
.cf-site .cf-dashboard { margin-top: 20px !important; }
.cf-site .cf-dashboard h1 { font-family: Georgia, serif; font-weight: 400; }
.cf-site .profile-progress ul { padding-left: 18px; }
.cf-site [data-valmsg-for].field-validation-error, .cf-site .validation-summary-errors { color: #ffc2c2 !important; }
.cf-site .cf-auth-card input:not([type=checkbox]):not([type=hidden]) { background: #1c0d22 !important; border-color: #926877 !important; }
.cf-site .cf-profile-form { padding: 36px; }
.cf-site .cf-auth-card h2 { color: #ffb6a4 !important; }
.cf-site .cf-status-panel { margin: 16px 0; line-height: 1.8; }
.cf-login-options { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 25px; }
.cf-login-options input[type=checkbox] { flex-shrink: 0; }
.cf-footer { padding: 64px max(6vw, 24px) 28px; background: #160b1b; border-top: 1px solid #654252; }
.cf-footer-grid { max-width: 1200px; margin: auto; display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 60px; }
.cf-footer-logo { display: inline-flex; align-items: center; gap: 6px; color: #ffca3a; font-size: 32px; letter-spacing: -.04em; }
.cf-footer-logo svg { flex-shrink: 0; }
.cf-footer-about > p { font-family: Georgia, serif; font-size: 26px; line-height: 1.35; margin-top: 20px; }
.cf-footer nav { display: flex; flex-direction: column; gap: 12px; }
.cf-footer nav h2 { font: 700 .7rem/1.6 "Trebuchet MS", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #ffb6a4; margin-bottom: 12px; }
.cf-footer nav a { color: #f3d8df; font-size: 14px; padding: 5px 0; }
.cf-footer nav a:hover { color: #ffca3a; text-decoration: underline; }
.cf-footer .cf-footer-small { font: 13px/1.8 "Trebuchet MS", sans-serif; color: #c8a8ba; max-width: 290px; margin-top: 16px; }
.cf-footer-bottom { max-width: 1200px; margin: 50px auto 0; padding-top: 22px; border-top: 1px solid #654252; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; font-size: 11px; color: #c8a8ba; }
@media(max-width: 1000px) { .cf-site .nav-links { gap: 14px; } .cf-site .nav-link { font-size: .8rem; } .cf-footer-grid { gap: 32px; } }
@media(max-width: 768px) {
    .cf-site .cf-page-hero { padding: 48px 24px 30px; }
    .cf-site .cf-page-hero h1 { font-size: 44px; }
    .cf-site .nav-link { font-size: 1rem; }
    .cf-site .nav-links.mobile-menu-open { background: #241326; }
    .cf-site .cf-auth-shell { padding: 36px 18px; }
    .cf-site .cf-auth-card { padding: 28px 22px; border-top-right-radius: 45px; }
    .cf-site .member-shell { padding-top: 30px; }
    .cf-site .safety-content { padding: 32px 20px 50px; }
    .cf-site .tip-list { padding: 22px; }
    .cf-site .pricing-container { padding-top: 36px; }
    .cf-site .pricing-card { padding: 32px 24px; }
    .cf-site .cf-form-columns { grid-template-columns: 1fr !important; }
    .cf-site .cf-profile-form { padding: 24px 20px; }
    .cf-site .cf-dashboard-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .cf-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 20px; }
    .cf-footer-about { grid-column: 1 / -1; }
    .cf-footer-about > p { font-size: 30px; }
}
@media(max-width: 380px) { .cf-site .cf-page-hero h1 { font-size: 38px; } .cf-footer-grid { grid-template-columns: 1fr; } }
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .cf-site *, .cf-site *::before, .cf-site *::after { animation: none !important; transition: none !important; } }
/* Dedicated account creation and shared provider buttons. */
.cf-register-shell{max-width:1160px;margin:0 auto;padding:64px 24px 90px;display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:start}
.cf-register-story{padding-top:34px;min-width:0}.cf-register-kicker{color:var(--accent);font-size:.72rem;letter-spacing:.17em;font-weight:700;margin-bottom:18px}
.cf-register-story h1{font-size:clamp(3rem,5.5vw,5.6rem);line-height:1.04;letter-spacing:-.05em;margin:0 0 24px}.cf-register-story h1 em{font-family:Georgia,serif;color:#ff8a8e;font-weight:400}
.cf-register-story>p:not(.cf-register-kicker){line-height:1.7;max-width:360px;color:var(--text-muted)}.cf-register-story figure{margin:35px 0 18px}.cf-register-story img{display:block;width:100%;height:310px;object-fit:cover;border-radius:100px 12px 100px 12px}.cf-register-story figcaption{font-size:.68rem;color:var(--text-muted);margin-top:8px}
.cf-register-card{width:100%;max-width:none;margin:0;padding:34px!important;min-width:0}.cf-register-card h2{font-size:2rem;line-height:1.2;margin:0 0 12px}.cf-register-form{margin-top:24px}.cf-register-form .form-group{margin-bottom:18px}.cf-register-form label{display:block;font-size:.9rem;font-weight:600;margin-bottom:7px}
.cf-register-form input:not([type=checkbox]):not([type=hidden]),.cf-register-form select{box-sizing:border-box;display:block;width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--border-color);border-radius:10px;background:#241a27;color:var(--text-main);font:inherit;color-scheme:dark}
.cf-register-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cf-register-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;margin:20px 0}.cf-register-check input,.cf-register-emails input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0;margin:2px 0 0}.cf-register-check label{line-height:1.5;margin:0}.cf-register-emails{border:1px solid var(--border-color);border-radius:12px;padding:16px;margin:20px 0}.cf-register-emails legend{padding:0 6px;font-size:.85rem}.cf-register-emails label{display:flex;gap:10px;align-items:start;margin-bottom:12px}.cf-register-form>.btn-primary{width:100%;min-height:52px}.cf-auth-note{font-size:.82rem;line-height:1.6;color:var(--text-muted)}.cf-auth-switch{text-align:center;font-size:.9rem;margin-top:24px}
.cf-auth-divider{display:flex;align-items:center;gap:14px;color:var(--text-muted);font-size:.8rem;margin:28px 0 18px}.cf-auth-divider:before,.cf-auth-divider:after{content:"";height:1px;background:var(--border-color);flex:1}.cf-social-signin form{margin:0 0 10px}.cf-social-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;width:100%;padding:12px;border-radius:10px;border:1px solid #b9abbc;background:#fff;color:#231626;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.cf-social-button i{font-size:20px;width:22px}.cf-social-button small{font-size:.65rem;font-weight:400}.cf-social-button:disabled{cursor:not-allowed;background:#342b37;color:#c6bcca;border-color:#55485b}.cf-register-form .field-validation-error,.cf-register-form .validation-summary-errors{color:#ffadb8;font-size:.85rem}.cf-register-form .validation-summary-valid{display:none}.cf-join-invite{align-self:center}.cf-join-invite>p{line-height:1.65}.cf-join-invite>.cf-button{margin:20px 0}
@media(max-width:760px){.cf-register-shell{grid-template-columns:1fr;gap:28px;padding:28px 16px 54px}.cf-register-story{padding:0}.cf-register-story h1{font-size:3.2rem}.cf-register-story figure{display:none}.cf-register-story>p{margin-bottom:12px}.cf-register-card{padding:24px!important}.cf-register-story h1 br{display:none}.cf-register-story h1 em:before{content:" "}}
@media(max-width:370px){.cf-register-pair{grid-template-columns:1fr;gap:0}.cf-register-card{padding:20px!important}.cf-social-button{gap:8px;font-size:.82rem}}

/* Plainly visible, readable safety guidance on every shared-footer page. */
.cf-footer-safety{max-width:1200px;margin:36px auto 0;padding-top:24px;border-top:1px solid #654252;font-size:16px;line-height:1.7;color:#f3d8df}
.cf-footer-safety p{margin:0;font-size:inherit;line-height:inherit}
.cf-footer-safety strong{color:#fff3eb}
.cf-footer-safety a{color:#ffca3a;text-decoration:underline;text-underline-offset:3px}
.cf-footer-safety + .cf-footer-bottom{margin-top:24px}
