/* Supporting pages belong to the same quiet, illustrated app. */
:root { --cream:#faf5e9; --white:#fffaf2; --primary:#12392b; --primary-dark:#0d3025; --brand-text:#13392c; --brown:#27271f; --gold:#bb9342; --gold-text:#87651f; --gold-ink:#87651f; --text-muted:#72695d; --ink:#27271f; --ink-soft:#514b42; --green:#13392c; --green-deep:#0d3025; --card:#fffaf2; --muted:#72695d; }
body.fitf-utility { background:var(--cream); color:var(--ink); }
.fitf-utility :is(button,a,input,textarea,select):focus-visible { outline:3px solid var(--gold-ink); outline-offset:3px; }
.fitf-utility :is(input,textarea,select) { font-size:16px; max-width:100%; }
.fitf-utility :is(.navbar.solid-nav,.page-band,.share-header,.card-header) { background:#0d3025; color:#fff7e6; }
.fitf-utility .page-band h1 { font-size:clamp(2rem,5vw,3rem); line-height:1.15; }
.fitf-utility .page-band p { line-height:1.6; }
.fitf-utility :is(.pricing-card,.tier-card,.need-form-card,.card,.share-verse-card) { background:var(--white); border-radius:12px; box-shadow:none; }
.fitf-utility :is(.btn-gold,.btn-primary,.cta-btn-primary) { background:linear-gradient(110deg,#cbaa60,#b48b38); color:#19291d; border-radius:8px; min-height:44px; }
.fitf-utility :is(.pricing-card,.tier-card) { border:1px solid #13392c24; }
.fitf-utility :is(.pricing-card,.tier-card).featured { border-color:var(--gold); }
.fitf-page-login { background:linear-gradient(#092c24aa,#092c24ee),url('../images/design/original/home-sunrise.webp') center/cover fixed !important; padding:24px 12px !important; }
.fitf-page-login .login-container { flex:none; min-height:0; margin:auto; padding:24px; background:var(--white); color:var(--ink); border-radius:18px; box-shadow:0 20px 70px #001b2040; }
.fitf-page-login .logo { width:100px; margin-bottom:24px; }
.fitf-page-login :is(.form-title,.form-footer a,.forgot-link a) { color:var(--brand-text); }
.fitf-page-login :is(.form-subtitle,.form-footer,.back-link,.terms,.divider) { color:var(--text-muted); }
.fitf-page-login .btn-outline { color:var(--brand-text); border-color:#13392c40; background:transparent; }
.fitf-page-login input { background:var(--cream); border-color:#13392c26; color:var(--ink); }
.fitf-page-login input::placeholder { color:var(--text-muted); opacity:1; }
.fitf-page-login .social-btn { color:var(--ink); border-color:#13392c40; background:var(--cream); }
.fitf-page-verify { background:linear-gradient(#092c24bb,#092c24ee),url('../images/design/original/home-sunrise.webp') center/cover fixed !important; }
.fitf-page-verify .card { overflow:hidden; border:0; }
.fitf-page-verify .card-header :is(h1,p) { color:#fff7e6; }
.fitf-page-verify .card-body { padding:24px; }
:is(.fitf-page-privacy,.fitf-page-terms,.fitf-page-guidelines) .container { max-width:800px; font-size:1rem; line-height:1.75; padding:24px 20px 48px; }
:is(.fitf-page-privacy,.fitf-page-terms,.fitf-page-guidelines) .container h2 { margin-top:2rem; color:var(--brand-text); }
.fitf-page-feedback .brand-name { color:#fff7e6; }
.fitf-page-feedback .brand-sub { color:#e5dccb; }
.fitf-page-share .share-container { max-width:760px; }
.fitf-page-share .share-cta { background:#103629; color:#fff7e6; }
@media(max-width:480px) { .fitf-utility :is(.pricing-section,.project-section,.where-section,.tiers-section) { padding:24px 16px !important; } .fitf-page-login .login-container { padding:24px 20px; } }
@media(prefers-reduced-motion:reduce) { .fitf-utility * { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
.fitf-page-login .btn-social { color:var(--ink); border-color:#13392c40; background:var(--cream); }
.fitf-page-login :is(.auth-divider,.password-toggle,.terms-text,.pw-strength-label) { color:var(--text-muted); }
.fitf-page-login .auth-divider::before,.fitf-page-login .auth-divider::after { background:#13392c26; }
.fitf-page-login .error-msg { color:#913333; background:#fae8e2; }
.fitf-page-login .success-msg { color:#225b3e; background:#e7f1e6; }
.fitf-page-login .oauth-hint { color:#72551b; background:#f6ecd0; }
.fitf-page-login .auth-text-button { border:0; background:transparent; color:var(--brand-text); font:inherit; min-height:44px; padding:4px; cursor:pointer; }
.fitf-page-login .form-fields input { min-width:0; }
.fitf-page-share .share-detail-art { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; object-position:center 25%; border-radius:14px; margin:0 0 28px; }
.fitf-page-share .share-detail-art[data-portrait="true"] { object-position:center 12%; }
.fitf-page-share .share-content-body { font-size:1rem; line-height:1.8; }
.fitf-page-share .share-title { color:var(--brand-text); line-height:1.2; }

.fitf-page-share .share-detail-art[data-portrait="true"] { aspect-ratio:auto; height:clamp(260px,45vw,430px); object-fit:contain; background:var(--card-bg, #f7f3e8); }

/* The native entry keeps its email/guest flow and shares the web visual language. */
.fitf-native-login { min-height:100svh; padding:max(24px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)) !important; }
.fitf-native-login .login-container { width:100%; }
.fitf-native-login .form-view form { width:100%; }
.fitf-native-login :is(.btn-guest,.legal-text,.back-link) { color:var(--text-muted); }
.fitf-native-login .legal-text a { color:var(--gold-ink); }
.fitf-native-login .back-link { min-height:44px; padding:8px 16px; }
.fitf-native-login .password-toggle { min-width:44px; min-height:44px; right:4px; justify-content:center; }
.fitf-native-login .password-toggle[aria-pressed="true"] { color:var(--gold-ink); }
@media(max-height:500px) { .fitf-native-login .logo { width:72px; margin-bottom:12px; } }
