.pricing-page { min-height: 100vh; background: var(--cream); }
.pricing-nav { max-width: 1220px; margin: auto; padding: 24px 28px; display: flex; justify-content: space-between; align-items: center; }
.pricing-nav .brand { color: var(--ink); }
.pricing-nav .brand-mark { border-color: var(--ink); }
.pricing-nav > a:last-child { color: var(--coral); text-decoration: none; font-size: 11px; font-weight: 700; }
.pricing-main { max-width: 1220px; margin: auto; padding: 35px 28px 70px; }
.pricing-hero { max-width: 720px; margin: 0 auto 42px; text-align: center; }
.pricing-hero h1 { margin: 9px 0 13px; font-size: clamp(42px, 6vw, 68px); line-height: .98; }
.pricing-hero > p { max-width: 590px; margin: auto; color: var(--muted); line-height: 1.65; font-size: 13px; }
.value-strip { display: grid; gap: 8px; max-width: 660px; margin: 22px auto 0; }
.value-strip span { padding: 10px 13px; border: 1px solid rgba(19,46,48,.08); border-radius: 999px; background: white; color: var(--ink); font-size: 11px; font-weight: 700; box-shadow: 0 7px 20px rgba(25,50,47,.04); }
.billing-toggle { display: inline-flex; margin-top: 25px; padding: 4px; border-radius: 30px; background: white; box-shadow: var(--shadow); }
.billing-toggle button { border: 0; background: none; padding: 8px 13px; border-radius: 25px; color: var(--muted); font-size: 10px; font-weight: 700; }
.billing-toggle button.active { background: var(--ink); color: white; }
.billing-toggle span { color: var(--gold); margin-left: 4px; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; align-items: stretch; }
.price-card { position: relative; padding: 27px; border: 1px solid rgba(19,46,48,.1); border-radius: 17px; background: var(--paper); box-shadow: 0 10px 25px rgba(25,50,47,.05); }
.price-card.recommended { transform: translateY(-10px); border: 2px solid var(--coral); box-shadow: var(--shadow); }
.price-card.crew { background: var(--ink); color: white; }
.tier-kicker { color: var(--coral); font-size: 9px; letter-spacing: 1.3px; text-transform: uppercase; font-weight: 700; }
.price-card.crew .tier-kicker { color: var(--gold); }
.price-card h2 { margin: 7px 0 4px; font-size: 28px; }
.price { display: flex; align-items: end; gap: 7px; margin: 15px 0 17px; }
.price strong { font: 42px "DM Serif Display", serif; }
.price span { color: var(--muted); font-size: 9px; margin-bottom: 8px; }
.crew .price span { color: #b2c2c0; }
.price-card p { min-height: 52px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.crew p { color: #b9c7c5; }
.price-card .primary-button, .price-card .secondary-button { width: 100%; display: block; text-align: center; text-decoration: none; }
.price-card ul { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 13px; }
.price-card li { position: relative; padding-left: 20px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.price-card li::before { content: "✓"; position: absolute; left: 0; color: var(--coral); font-weight: 700; }
.crew li { color: #d3dddb; }
.crew li::before { color: var(--gold); }
.popular-label { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); padding: 5px 12px; border-radius: 20px; background: var(--coral); color: white; text-transform: uppercase; letter-spacing: 1px; white-space: nowrap; font-size: 8px; font-weight: 700; }
.pricing-promise { margin-top: 45px; padding: 37px; border-radius: 17px; text-align: center; color: white; background: var(--ink); }
.pricing-promise h2 { margin: 8px 0 7px; font-size: 27px; }
.pricing-promise p { color: #bacac7; font-size: 11px; margin: 0; }
.select-plan:disabled { opacity: .7; cursor: wait; transform: none; }
.success-main { min-height: 100vh; max-width: 660px; margin: auto; padding: 60px 25px; display: grid; place-content: center; justify-items: center; text-align: center; }
.success-main h1 { margin: 10px 0; font-size: clamp(45px, 8vw, 72px); line-height: 1; }
.success-main p { max-width: 500px; margin: 0 0 25px; color: var(--muted); line-height: 1.6; font-size: 13px; }
.success-main .primary-button { text-decoration: none; }
.success-badge { width: 62px; height: 62px; display: grid; place-items: center; margin-bottom: 22px; border-radius: 50%; background: var(--gold); color: var(--ink); font-size: 27px; font-weight: 700; box-shadow: var(--shadow); }
.login-page { min-height: 100vh; background: linear-gradient(135deg, var(--cream), #e8e1d3); }
.login-shell { min-height: 100vh; max-width: 480px; margin: auto; padding: 40px 20px; display: grid; align-content: center; gap: 24px; }
.login-shell .brand { color: var(--ink); justify-self: center; }
.login-shell .brand-mark { border-color: var(--ink); }
.login-card { padding: 32px; border-radius: 18px; background: var(--paper); box-shadow: var(--shadow); }
.login-card h1 { margin: 8px 0; font-size: 37px; line-height: 1.05; }
.login-card > p { color: var(--muted); font-size: 11px; line-height: 1.55; }
.login-card form { display: grid; gap: 14px; margin-top: 22px; }
.login-card label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 700; }
.login-card input { width: 100%; padding: 11px; border: 1px solid var(--line); border-radius: 7px; }
.login-card .auth-switch { width: 100%; margin-top: 18px; }
.forgot-button { width: 100%; margin-top: 12px; color: var(--muted); }
.forgot-button:hover { color: var(--coral); }
.guest-link { display: block; margin-top: 12px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); text-align: center; text-decoration: none; font-size: 10px; font-weight: 700; }
.guest-link:hover { border-color: var(--coral); color: var(--coral); }
.auth-message { min-height: 18px; margin: 10px 0 0 !important; color: var(--coral) !important; text-align: center; }

@media (max-width: 800px) {
  .pricing-main { padding-top: 20px; }
  .pricing-hero { margin-bottom: 35px; }
  .pricing-hero h1 { font-size: 43px; }
  .pricing-grid { grid-template-columns: 1fr; }
  .price-card.recommended { transform: none; order: -1; }
  .price-card p { min-height: 0; }
  .pricing-promise { padding: 28px 20px; }
}
