.profile-page { min-height: 100vh; display: flex; flex-direction: column; }
.profile-main { flex: 1; }
.profile-heading { margin-bottom: 40px; }
.profile-heading > p { margin-top: 9px; color: var(--muted); font-size: 14px; }
.profile-section { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 420px); gap: 64px; padding: 30px 0; border-top: 1px solid var(--line); max-width: 900px; }
.profile-section h2 { font-size: 16px; font-weight: 550; letter-spacing: -.025em; }
.profile-section > div > p:not(.profile-email, .auth-feedback) { max-width: 280px; margin-top: 7px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.profile-label { color: var(--muted); font-size: 12px; }
.notification-preference { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; cursor: pointer; margin-bottom: 10px; }
.notification-preference input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--ink); flex-shrink: 0; }
#notifications .field-hint { line-height: 1.7; color: var(--muted); font-size: 12px; }
.profile-email { margin: 5px 0 13px; overflow-wrap: anywhere; }
.profile-details select { width: 100%; height: 42px; padding: 8px 12px; border: 1px solid #dedfe5; border-radius: 7px; background: #fff; }
.profile-details .field > input { width: 100%; }
.profile-page .header-nav .account-button { margin-left: auto; }
#billing { position: relative; isolation: isolate; }
#billing::before { content: ""; position: absolute; inset: 0 -16px; z-index: -1; border-radius: 10px; background: #f0f3f6; opacity: 0; pointer-events: none; }
#billing.billing-arrival::before { animation: billing-arrival 3.2s ease-in-out both; }
@keyframes billing-arrival {
  0%, 100% { opacity: 0; }
  15%, 40% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  #billing.billing-arrival::before { animation: none; opacity: 1; }
}
#billing-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
.billing-address-grid { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 14px; }
.billing-continue { margin-top: 16px; }
#billing-feedback { margin-top: 16px; }
#billing-feedback[data-success] { color: #377655; }
.account-notice { margin-bottom: 24px; padding: 13px 16px; border: 1px solid #e6d9d9; border-radius: 7px; background: #fffafa; color: #934c4c; font-size: 13px; line-height: 1.6; }
@media (max-width: 680px) {
  #billing::before { inset-inline: -10px; }
  .profile-section { grid-template-columns: 1fr; gap: 22px; padding: 25px 0; }
  .profile-heading { margin-bottom: 30px; }
  .profile-page .header-nav { padding-left: 0; border-left: 0; gap: 15px; }
  .profile-page .header-inner { gap: 22px; }
}
@media (max-width: 540px) {
  .profile-page .header-nav { gap: 6px; }
  .profile-page .header-inner { gap: 10px; }
}
