/* Marketing, authentication, onboarding, family-care, legal, and public states. */

/* Public marketing home */
html[data-pp-ui][data-pp-surface="marketing"] body {
  color: var(--pp-text) !important;
  background:
    linear-gradient(180deg, rgba(244, 250, 253, 0.52), rgba(241, 247, 250, 0.82) 46%, rgba(248, 250, 251, 0.96)),
    url("/static/parting_portal_webui_bg.jpg") center top / cover fixed no-repeat !important;
}

html[data-pp-ui][data-pp-surface="marketing"] body::before {
  background: radial-gradient(circle at 12% 5%, rgba(54, 142, 165, 0.12), transparent 30rem) !important;
}

html[data-pp-ui][data-pp-surface="marketing"] .shell {
  width: min(74rem, calc(100% - 2rem)) !important;
}

html[data-pp-ui][data-pp-surface="marketing"] .site-nav {
  top: 0.75rem !important;
  width: min(74rem, calc(100% - 2rem)) !important;
  padding: 0.65rem 0.75rem !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  border-radius: var(--pp-radius-xl) !important;
  background: rgba(255, 255, 255, 0.8) !important;
  box-shadow: var(--pp-shadow-sm), var(--pp-inset-highlight) !important;
  backdrop-filter: blur(20px) saturate(1.1) !important;
}

html[data-pp-ui][data-pp-surface="marketing"] .brand img {
  width: 3.55rem !important;
  height: 3.55rem !important;
  padding: 0 !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: 1rem !important;
  box-shadow: var(--pp-shadow-sm) !important;
}

html[data-pp-ui][data-pp-surface="marketing"] .brand strong {
  color: var(--pp-heading);
  font-size: 1rem !important;
}

html[data-pp-ui][data-pp-surface="marketing"] .brand span {
  color: var(--pp-text-muted) !important;
  font-size: 0.7rem !important;
}

html[data-pp-ui][data-pp-surface="marketing"] .nav-links {
  gap: 0.2rem !important;
}

html[data-pp-ui][data-pp-surface="marketing"] .nav-links a {
  padding: 0.55rem 0.7rem;
  border-radius: var(--pp-radius-sm);
  color: var(--pp-text-soft) !important;
  font-size: 0.82rem;
  text-decoration: none;
}

html[data-pp-ui][data-pp-surface="marketing"] .nav-links a:hover {
  color: var(--pp-primary-hover) !important;
  background: var(--pp-primary-soft);
}

html[data-pp-ui][data-pp-surface="marketing"] .button {
  min-height: 2.75rem;
  border-radius: var(--pp-radius-pill) !important;
}

html[data-pp-ui][data-pp-surface="marketing"] .hero {
  padding-top: clamp(4rem, 9vw, 7rem) !important;
}

html[data-pp-ui][data-pp-surface="marketing"] h1 {
  max-width: 52rem;
  color: var(--pp-heading) !important;
  font-size: clamp(2.75rem, 6vw, 5rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.055em !important;
}

html[data-pp-ui][data-pp-surface="marketing"] .hero-copy {
  color: var(--pp-text-soft) !important;
}

html[data-pp-ui][data-pp-surface="marketing"] :where(.hero-card, .feature-card, .story-panel, .workflow-card, .lead-form-card, .cta-card, .quote-card) {
  border-color: var(--pp-border) !important;
  border-radius: var(--pp-radius-xl) !important;
  background: var(--pp-surface-glass) !important;
  box-shadow: var(--pp-shadow-sm) !important;
  backdrop-filter: blur(14px) saturate(1.04);
}

html[data-pp-ui][data-pp-surface="marketing"] :where(.feature-card, .workflow-card, .audience-grid article) {
  transition: transform var(--pp-duration), border-color var(--pp-duration), box-shadow var(--pp-duration) !important;
}

html[data-pp-ui][data-pp-surface="marketing"] :where(.feature-card, .workflow-card, .audience-grid article):hover {
  border-color: var(--pp-primary-border) !important;
  box-shadow: var(--pp-shadow-md) !important;
  transform: translateY(-3px);
}

html[data-pp-ui][data-pp-surface="marketing"] .icon {
  border-radius: var(--pp-radius-md) !important;
  color: var(--pp-primary-foreground) !important;
  background: var(--pp-primary) !important;
  box-shadow: 0 8px 18px rgba(23, 21, 15, 0.22);
}

html[data-pp-ui][data-pp-surface="marketing"] .wide-band {
  border: 2px solid rgba(181, 138, 43, 0.48) !important;
  border-left: 8px solid var(--pp-accent) !important;
  border-radius: var(--pp-radius-lg) !important;
  color: #17150f !important;
  background: #fffdf8 !important;
  box-shadow: 0 16px 38px rgba(23, 21, 15, 0.12) !important;
}

html[data-pp-ui][data-pp-surface="marketing"] .wide-band h2,
html[data-pp-ui][data-pp-surface="marketing"] .wide-band p {
  color: #17150f !important;
}

html[data-pp-ui][data-pp-surface="marketing"] .wide-band .button {
  border-color: #17150f !important;
  color: #fff8e7 !important;
  background: #17150f !important;
}

html[data-pp-ui][data-pp-surface="marketing"] .lead-form :where(input, select, textarea) {
  background: rgba(255, 255, 255, 0.92) !important;
}

html[data-pp-ui][data-pp-surface="marketing"] .pp-public-menu-toggle {
  display: none;
}

/* Authentication */
html[data-pp-ui][data-pp-surface="auth"] body.portal-login-body {
  isolation: isolate;
  display: grid !important;
  place-items: center !important;
  min-height: 100vh;
  padding: clamp(1rem, 4vw, 3rem) !important;
  color: var(--pp-text) !important;
  background: #f7f3ea !important;
}

html[data-pp-ui][data-pp-surface="auth"] .portal-login-bg {
  opacity: 0.72 !important;
  background-image:
    linear-gradient(135deg, rgba(245, 250, 253, 0.38), rgba(231, 242, 246, 0.32)),
    url("/static/parting_portal_login_bg.jpg") !important;
}

html[data-pp-ui][data-pp-surface="auth"] .portal-login-shell {
  width: min(65rem, 100%) !important;
  grid-template-columns: minmax(0, 1fr) minmax(21rem, 27rem) !important;
  gap: clamp(1.5rem, 6vw, 4rem) !important;
}

html[data-pp-ui][data-pp-surface="auth"] .login-intro h2 {
  margin: 1.25rem 0 0.8rem !important;
  color: var(--pp-heading) !important;
  font-size: clamp(2.35rem, 5.6vw, 4rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.05em !important;
}

html[data-pp-ui][data-pp-surface="auth"] .login-intro p {
  color: var(--pp-text-soft) !important;
}

html[data-pp-ui][data-pp-surface="auth"] .login-eyebrow,
html[data-pp-ui][data-pp-surface="auth"] .login-proof span {
  border-color: var(--pp-primary-border) !important;
  color: var(--pp-accent) !important;
  background: rgba(255, 255, 255, 0.68) !important;
  box-shadow: var(--pp-shadow-xs) !important;
}

html[data-pp-ui][data-pp-surface="auth"] .portal-login-card {
  padding: clamp(1.4rem, 5vw, 2.25rem) !important;
  border: 1px solid rgba(255, 255, 255, 0.78) !important;
  border-radius: var(--pp-radius-2xl) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: var(--pp-shadow-lg), var(--pp-inset-highlight) !important;
  backdrop-filter: blur(22px) saturate(1.08) !important;
}

html[data-pp-ui][data-pp-surface="auth"] .login-brand img {
  width: clamp(8.5rem, 24vw, 11rem) !important;
  max-height: 6.6rem;
}

html[data-pp-ui][data-pp-surface="auth"] .login-kicker {
  color: var(--pp-accent) !important;
}

html[data-pp-ui][data-pp-surface="auth"] .login-copy h1 {
  color: var(--pp-heading) !important;
  font-size: clamp(1.75rem, 4vw, 2.25rem) !important;
}

html[data-pp-ui][data-pp-surface="auth"] .login-copy p,
html[data-pp-ui][data-pp-surface="auth"] .login-support {
  color: var(--pp-text-muted) !important;
}

html[data-pp-ui][data-pp-surface="auth"] .portal-login-card label {
  color: var(--pp-text-soft) !important;
}

html[data-pp-ui][data-pp-surface="auth"] .portal-login-card button[type="submit"] {
  min-height: 3rem;
}

/* Signup and account onboarding */
html[data-pp-ui][data-pp-surface="onboarding"] body {
  color: var(--pp-text) !important;
  background:
    radial-gradient(circle at 12% 0, rgba(48, 133, 155, 0.12), transparent 28rem),
    linear-gradient(180deg, #f8fbfc, var(--pp-bg)) !important;
}

html[data-pp-ui][data-pp-surface="onboarding"] .brand-header {
  position: sticky;
  z-index: 50;
  top: 0;
  padding: 0.75rem clamp(1rem, 3vw, 1.5rem) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(225, 238, 245, 0.14) !important;
  background: rgba(23, 21, 15, 0.96) !important;
  box-shadow: 0 12px 32px rgba(10, 10, 8, 0.22) !important;
  backdrop-filter: blur(18px) saturate(1.08);
}

html[data-pp-ui][data-pp-surface="onboarding"] .brand-link {
  color: #f6fafc !important;
  font-size: 0.92rem;
}

html[data-pp-ui][data-pp-surface="onboarding"] .brand-header {
  display: block !important;
  padding: 0 1.125rem !important;
  border-bottom: 1px solid rgba(225, 188, 91, 0.3) !important;
  background: rgba(23, 21, 15, 0.97) !important;
  box-shadow: 0 12px 32px rgba(23, 21, 15, 0.2) !important;
}

html[data-pp-ui][data-pp-surface="onboarding"] .brand-header-inner {
  width: 100%;
  max-width: 77.5rem;
  min-height: 4.5rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

html[data-pp-ui][data-pp-surface="onboarding"] .brand-link {
  min-width: 0;
  gap: 0.75rem;
  font-size: 0.92rem;
}

html[data-pp-ui][data-pp-surface="onboarding"] .brand-mark {
  width: 2.625rem;
  height: 2.625rem;
  flex: 0 0 2.625rem;
  display: grid;
  place-items: center;
  padding: 0 !important;
  border: 1px solid rgba(225, 188, 91, 0.58) !important;
  border-radius: 0.75rem !important;
  background: linear-gradient(145deg, #fff8e7, #f5cf6d) !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.75);
  overflow: hidden;
}

html[data-pp-ui][data-pp-surface="onboarding"] .brand-mark img {
  width: 1.875rem !important;
  height: 1.875rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  object-fit: contain;
}

html[data-pp-ui][data-pp-surface="onboarding"] .brand-lockup {
  gap: 0.2rem;
}

html[data-pp-ui][data-pp-surface="onboarding"] .brand-lockup strong {
  color: #fff8e7 !important;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0;
}

html[data-pp-ui][data-pp-surface="onboarding"] .brand-lockup small {
  color: #d8bd73 !important;
  font-size: 0.56rem;
  line-height: 1.1;
  letter-spacing: 0.14em;
}

html[data-pp-ui][data-pp-surface="onboarding"] .signup-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.625rem;
  flex: 0 0 auto;
}

html[data-pp-ui][data-pp-surface="onboarding"] .signup-header-actions a {
  min-height: 2.5rem;
  padding: 0.56rem 0.82rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  line-height: 1;
  white-space: nowrap;
}

html[data-pp-ui][data-pp-surface="onboarding"] .signup-header-actions a:first-child {
  color: #dfd0ad !important;
  border-color: rgba(255, 248, 231, 0.12);
  background: rgba(255, 248, 231, 0.04);
}

html[data-pp-ui][data-pp-surface="onboarding"] .signup-header-actions a:first-child::before {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  margin-right: 0.5rem;
  border-radius: 50%;
  background: #f5cf6d;
  box-shadow: 0 0 0 0.25rem rgba(245, 207, 109, 0.12);
}

html[data-pp-ui][data-pp-surface="onboarding"] .signup-header-actions a:last-child {
  padding-inline: 1rem;
  color: #17150f !important;
  background: #f5cf6d !important;
  border-color: #f5cf6d !important;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.14);
}

@media (max-width: 560px) {
  html[data-pp-ui][data-pp-surface="onboarding"] .brand-header {
    padding: 0 0.75rem !important;
  }

  html[data-pp-ui][data-pp-surface="onboarding"] .brand-header-inner {
    min-height: 4rem;
    gap: 0.75rem;
  }

  html[data-pp-ui][data-pp-surface="onboarding"] .brand-mark {
    width: 2.375rem;
    height: 2.375rem;
    flex-basis: 2.375rem;
    border-radius: 0.6875rem !important;
  }

  html[data-pp-ui][data-pp-surface="onboarding"] .brand-mark img {
    width: 1.6875rem !important;
    height: 1.6875rem !important;
  }

  html[data-pp-ui][data-pp-surface="onboarding"] .brand-lockup small,
  html[data-pp-ui][data-pp-surface="onboarding"] .signup-header-actions a:first-child {
    display: none;
  }

  html[data-pp-ui][data-pp-surface="onboarding"] .brand-lockup strong {
    font-size: 0.94rem;
  }

  html[data-pp-ui][data-pp-surface="onboarding"] .signup-header-actions a {
    min-height: 2.25rem;
    padding: 0.5rem 0.68rem;
  }

  html[data-pp-ui][data-pp-surface="onboarding"] .signup-header-actions a:last-child {
    padding-inline: 0.82rem;
  }
}

html[data-pp-ui][data-pp-surface="onboarding"] body > main {
  width: min(70rem, calc(100% - 2rem)) !important;
  margin: 0 auto !important;
  padding: clamp(1.5rem, 4vw, 3rem) 0 4rem !important;
}

html[data-pp-ui][data-pp-surface="onboarding"] .hero {
  gap: clamp(1rem, 3vw, 2rem) !important;
  margin-bottom: var(--pp-space-6);
  padding: clamp(1.25rem, 3vw, 2rem) !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: var(--pp-radius-2xl) !important;
  background: linear-gradient(135deg, var(--pp-surface-glass-strong), rgba(231, 242, 245, 0.74)) !important;
  box-shadow: var(--pp-shadow-md), var(--pp-inset-highlight) !important;
  backdrop-filter: blur(14px);
}

html[data-pp-ui][data-pp-surface="onboarding"] .hero-copy h1 {
  color: var(--pp-heading) !important;
  font-size: clamp(2.25rem, 5vw, 3.8rem) !important;
  line-height: 1 !important;
  letter-spacing: -0.05em !important;
}

html[data-pp-ui][data-pp-surface="onboarding"] .hero-copy p {
  color: var(--pp-text-soft) !important;
}

html[data-pp-ui][data-pp-surface="onboarding"] .visual-card {
  border-color: var(--pp-border) !important;
  border-radius: var(--pp-radius-xl) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: var(--pp-shadow-sm) !important;
}

html[data-pp-ui][data-pp-surface="onboarding"] .flow-card,
html[data-pp-ui][data-pp-surface="onboarding"] .step {
  border-color: var(--pp-border) !important;
  border-radius: var(--pp-radius-md) !important;
  background: var(--pp-surface) !important;
  box-shadow: var(--pp-shadow-xs) !important;
}

html[data-pp-ui][data-pp-surface="onboarding"] .panel.form-panel {
  padding: clamp(1rem, 3vw, 1.5rem) !important;
  border-radius: var(--pp-radius-2xl) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  box-shadow: var(--pp-shadow-md) !important;
}

html[data-pp-ui][data-pp-surface="onboarding"] .form-panel > section:not(.summary-band) {
  padding: clamp(1rem, 3vw, 1.4rem) !important;
  border-color: var(--pp-border) !important;
  border-radius: var(--pp-radius-lg) !important;
  background: var(--pp-surface) !important;
  box-shadow: var(--pp-shadow-xs) !important;
}

html[data-pp-ui][data-pp-surface="onboarding"] .form-panel > section:not(.summary-band)::before {
  color: var(--pp-accent) !important;
  border-color: var(--pp-primary-border) !important;
  background: var(--pp-primary-soft) !important;
}

html[data-pp-ui][data-pp-surface="onboarding"] .summary-band {
  padding: clamp(1rem, 3vw, 1.4rem) !important;
  border-color: var(--pp-primary-border) !important;
  border-radius: var(--pp-radius-lg) !important;
  background: linear-gradient(135deg, var(--pp-surface), var(--pp-primary-soft)) !important;
  box-shadow: var(--pp-shadow-sm) !important;
}

html[data-pp-ui][data-pp-surface="onboarding"] .summary-item {
  border-bottom-color: var(--pp-divider) !important;
}

html[data-pp-ui][data-pp-surface="onboarding"] :where(.discount-status, .field-status) {
  min-height: 1.25rem;
  color: var(--pp-text-muted);
  font-size: 0.8rem;
}

html[data-pp-ui][data-pp-surface="onboarding"] :where(.discount-status.ok, .field-status.ok) {
  color: var(--pp-success) !important;
}

html[data-pp-ui][data-pp-surface="onboarding"] :where(.discount-status.error-text, .field-status.error-text) {
  color: var(--pp-danger) !important;
}

/* Public arrangements, family portals, payments, and fillable forms */
html[data-pp-ui][data-pp-surface="care"] body {
  color: var(--pp-text) !important;
  background:
    linear-gradient(180deg, rgba(245, 250, 253, 0.82), rgba(239, 245, 248, 0.92)),
    url("/static/parting_portal_webui_bg.jpg") center top / cover fixed no-repeat !important;
}

html[data-pp-ui][data-pp-surface="care"] .site-head {
  position: sticky !important;
  z-index: 50;
  top: 0;
  border: 0 !important;
  border-bottom: 1px solid rgba(225, 238, 245, 0.14) !important;
  color: #f4fafc !important;
  background: rgba(23, 21, 15, 0.96) !important;
  box-shadow: 0 14px 38px rgba(10, 10, 8, 0.26) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
}

html[data-pp-ui][data-pp-surface="care"] .head-inner {
  width: min(77.5rem, calc(100% - 2rem)) !important;
  min-height: 6rem !important;
  padding: 0.65rem 0 !important;
}

html[data-pp-ui][data-pp-surface="care"] .brand-lockup {
  gap: 0.45rem !important;
}

html[data-pp-ui][data-pp-surface="care"] .brand-lockup > img {
  width: auto !important;
  max-width: min(17rem, 100%) !important;
  max-height: 4.65rem !important;
  padding: 0.35rem 0.6rem !important;
  border: 1px solid rgba(225, 238, 245, 0.18) !important;
  border-radius: var(--pp-radius-md) !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 9px 22px rgba(0, 0, 0, 0.18) !important;
}

html[data-pp-ui][data-pp-surface="care"] .brand-initials {
  width: 4rem !important;
  height: 4rem !important;
  border-radius: var(--pp-radius-md) !important;
  color: var(--pp-primary-hover) !important;
  border-color: rgba(225, 238, 245, 0.18) !important;
  background: rgba(255, 255, 255, 0.94) !important;
}

html[data-pp-ui][data-pp-surface="care"] .brand-copy strong {
  color: #f7fbfd !important;
  font-size: clamp(1rem, 2vw, 1.28rem) !important;
}

html[data-pp-ui][data-pp-surface="care"] .brand-kicker,
html[data-pp-ui][data-pp-surface="care"] .head-contact {
  color: rgba(231, 241, 246, 0.65) !important;
}

html[data-pp-ui][data-pp-surface="care"] body > main,
html[data-pp-ui][data-pp-surface="care"] .site-head + main {
  width: min(77.5rem, calc(100% - 2rem)) !important;
  max-width: 100%;
  margin-inline: auto !important;
  padding: clamp(1.25rem, 3vw, 2.25rem) 0 7rem !important;
}

html[data-pp-ui][data-pp-surface="care"] body > main:has(> header:first-child) {
  width: min(58rem, calc(100% - 2rem)) !important;
  margin: clamp(1.25rem, 4vw, 2.5rem) auto !important;
  padding: 0 0 2rem !important;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.76) !important;
  border-radius: var(--pp-radius-xl) !important;
  background: var(--pp-surface-glass-strong) !important;
  box-shadow: var(--pp-shadow-md) !important;
  backdrop-filter: blur(16px);
}

html[data-pp-ui][data-pp-surface="care"] body > main:has(> header:first-child) > header {
  padding: clamp(1rem, 3vw, 1.5rem) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(225, 238, 245, 0.14) !important;
  color: #fff8e7 !important;
  background: #17150f !important;
}

html[data-pp-ui][data-pp-surface="care"] body > main:has(> header:first-child) > header h1 {
  color: #fff8e7 !important;
}

html[data-pp-ui][data-pp-surface="care"] body > main:has(> header:first-child) > header p {
  color: rgba(231, 241, 246, 0.68) !important;
}

html[data-pp-ui][data-pp-surface="care"] .hero {
  margin-bottom: var(--pp-space-5);
}

html[data-pp-ui][data-pp-surface="care"] .hero-copy {
  padding: clamp(1rem, 3vw, 1.5rem) !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: var(--pp-radius-xl) !important;
  background: linear-gradient(135deg, var(--pp-surface-glass-strong), rgba(230, 242, 246, 0.74)) !important;
  box-shadow: var(--pp-shadow-sm) !important;
  backdrop-filter: blur(14px);
}

html[data-pp-ui][data-pp-surface="care"] .hero-copy p {
  color: var(--pp-text-soft) !important;
}

html[data-pp-ui][data-pp-surface="care"] .app-grid {
  grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr) minmax(15rem, 18rem) !important;
  gap: var(--pp-space-4) !important;
}

html[data-pp-ui][data-pp-surface="care"] :where(.side-panel, .assistant-panel, .wizard-panel, .portal-panel, .case-panel) {
  border-color: var(--pp-border) !important;
  border-radius: var(--pp-radius-lg) !important;
  background: var(--pp-surface-glass-strong) !important;
  box-shadow: var(--pp-shadow-sm) !important;
  backdrop-filter: blur(12px);
}

html[data-pp-ui][data-pp-surface="care"] :where(.side-panel, .assistant-panel) {
  top: 7rem !important;
}

html[data-pp-ui][data-pp-surface="care"] .step-nav button {
  justify-content: flex-start !important;
  color: var(--pp-text-soft) !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

html[data-pp-ui][data-pp-surface="care"] .step-nav button:hover {
  color: var(--pp-heading) !important;
  background: var(--pp-surface-soft) !important;
}

html[data-pp-ui][data-pp-surface="care"] .step-nav button[aria-current="step"] {
  color: var(--pp-primary-foreground) !important;
  border-color: var(--pp-primary-border) !important;
  background: var(--pp-primary) !important;
  box-shadow: 0 8px 18px rgba(23, 21, 15, 0.22) !important;
}

html[data-pp-ui][data-pp-surface="care"] .step-number {
  border-color: currentColor !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

html[data-pp-ui][data-pp-surface="care"] .wizard-panel {
  overflow: visible;
}

html[data-pp-ui][data-pp-surface="care"] .wizard-step {
  padding: clamp(1rem, 3vw, 1.6rem) !important;
}

html[data-pp-ui][data-pp-surface="care"] .assistant-head {
  padding: 1rem !important;
  color: #fff8e7 !important;
  background: linear-gradient(135deg, #17150f, #2d2412) !important;
}

html[data-pp-ui][data-pp-surface="care"] .assistant-head p {
  color: rgba(232, 242, 247, 0.68) !important;
}

html[data-pp-ui][data-pp-surface="care"] .chat-log,
html[data-pp-ui][data-pp-surface="care"] .chat-form {
  background: var(--pp-surface-soft) !important;
}

html[data-pp-ui][data-pp-surface="care"] .chat-message {
  border-color: var(--pp-border) !important;
  border-radius: var(--pp-radius-md) !important;
  color: var(--pp-text-soft) !important;
  background: var(--pp-surface) !important;
}

html[data-pp-ui][data-pp-surface="care"] .chat-message.user {
  border-color: var(--pp-primary-border) !important;
  background: var(--pp-primary-soft) !important;
}

html[data-pp-ui][data-pp-surface="care"] :where(.form-strip, .review-box, .document-request-card) {
  border-color: var(--pp-border) !important;
  border-radius: var(--pp-radius-md) !important;
  background: var(--pp-surface-soft) !important;
}

html[data-pp-ui][data-pp-surface="care"] .metric-grid {
  gap: var(--pp-space-3) !important;
}

html[data-pp-ui][data-pp-surface="care"] .family-shell {
  width: min(77.5rem, calc(100% - 2rem)) !important;
  margin-inline: auto;
}

html[data-pp-ui][data-pp-surface="care"] .family-hero,
html[data-pp-ui][data-pp-surface="care"] .case-hero,
html[data-pp-ui][data-pp-surface="care"] .completion-card {
  border-color: var(--pp-border) !important;
  border-radius: var(--pp-radius-xl) !important;
  color: var(--pp-text) !important;
  background: linear-gradient(135deg, var(--pp-surface-glass-strong), rgba(230, 242, 246, 0.74)) !important;
  box-shadow: var(--pp-shadow-sm) !important;
}

html[data-pp-ui][data-pp-surface="care"] :where(.family-hero, .case-hero, .completion-card) h1,
html[data-pp-ui][data-pp-surface="care"] :where(.family-hero, .case-hero, .completion-card) h2 {
  color: var(--pp-heading) !important;
}

html[data-pp-ui][data-pp-surface="care"] :where(.family-hero, .case-hero, .completion-card) p {
  color: var(--pp-text-muted) !important;
}

html[data-pp-ui][data-pp-surface="care"] .family-card {
  padding: clamp(1rem, 3vw, 1.4rem) !important;
}

html[data-pp-ui][data-pp-surface="care"] .powered-card {
  border-color: rgba(255, 255, 255, 0.78) !important;
  border-radius: var(--pp-radius-md) !important;
  color: var(--pp-text-muted) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: var(--pp-shadow-sm) !important;
}

html[data-pp-ui][data-pp-surface="care"] .powered-card img {
  width: 3.1rem !important;
  height: 4.5rem !important;
}

html[data-pp-ui][data-pp-surface="care"] .form-stepper {
  border-color: var(--pp-border) !important;
  border-radius: var(--pp-radius-lg) !important;
  background: var(--pp-surface) !important;
  box-shadow: var(--pp-shadow-xs) !important;
}

html[data-pp-ui][data-pp-surface="care"] .form-step {
  color: var(--pp-text-muted) !important;
}

html[data-pp-ui][data-pp-surface="care"] .form-step::before {
  background: var(--pp-border-strong) !important;
}

html[data-pp-ui][data-pp-surface="care"] .step-dot {
  border-color: var(--pp-border-strong) !important;
  background: var(--pp-surface) !important;
}

html[data-pp-ui][data-pp-surface="care"] .form-step.is-current .step-dot {
  border-color: var(--pp-primary) !important;
  box-shadow: var(--pp-focus) !important;
}

html[data-pp-ui][data-pp-surface="care"] .form-step.is-complete .step-dot {
  border-color: var(--pp-success) !important;
  background: var(--pp-success) !important;
}

html[data-pp-ui][data-pp-surface="care"] .wizard-panel-head,
html[data-pp-ui][data-pp-surface="care"] .wizard-actions,
html[data-pp-ui][data-pp-surface="care"] .review-category h3 {
  border-color: var(--pp-divider) !important;
  background: var(--pp-surface-soft) !important;
}

html[data-pp-ui][data-pp-surface="care"] .form-preview {
  border: 1px solid var(--pp-border) !important;
  border-radius: var(--pp-radius-lg) !important;
  box-shadow: var(--pp-shadow-md) !important;
}

html[data-pp-ui][data-pp-surface="care"] .overlay-field {
  border-radius: 0.25rem;
}

/* Legal prose */
html[data-pp-ui][data-pp-surface="legal"] body {
  color: var(--pp-text) !important;
  background:
    radial-gradient(circle at 12% 0, rgba(48, 133, 155, 0.1), transparent 28rem),
    linear-gradient(180deg, #f8fbfc, var(--pp-bg)) !important;
}

html[data-pp-ui][data-pp-surface="legal"] .shell {
  width: min(61rem, calc(100% - 2rem));
  max-width: none !important;
  padding: clamp(1.25rem, 4vw, 3rem) 0 4rem !important;
}

html[data-pp-ui][data-pp-surface="legal"] .brand {
  margin-bottom: var(--pp-space-5) !important;
  padding: 0.8rem 1rem !important;
  border: 1px solid rgba(244, 211, 125, 0.2) !important;
  border-radius: var(--pp-radius-xl) !important;
  color: #fff8e7 !important;
  background: linear-gradient(135deg, #17150f, #2d2412) !important;
  box-shadow: var(--pp-shadow-md) !important;
}

html[data-pp-ui][data-pp-surface="legal"] .brand img {
  width: 3.2rem !important;
  height: 3.2rem !important;
  padding: 0.25rem !important;
  border-color: rgba(244, 211, 125, 0.26) !important;
  border-radius: 0.85rem !important;
  background: rgba(255, 255, 255, 0.94) !important;
}

html[data-pp-ui][data-pp-surface="legal"] .brand strong {
  color: #fff8e7 !important;
}

html[data-pp-ui][data-pp-surface="legal"] .brand span {
  color: rgba(230, 240, 246, 0.66) !important;
}

html[data-pp-ui][data-pp-surface="legal"] main {
  padding: clamp(1.35rem, 4vw, 2.35rem) !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: var(--pp-radius-xl) !important;
  color: var(--pp-text) !important;
  background: var(--pp-surface-glass-strong) !important;
  box-shadow: var(--pp-shadow-md) !important;
  backdrop-filter: blur(14px);
}

html[data-pp-ui][data-pp-surface="legal"] main h1 {
  color: var(--pp-heading) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
}

html[data-pp-ui][data-pp-surface="legal"] main h2 {
  margin: 2rem 0 0.55rem !important;
  padding-top: 0.2rem;
  color: var(--pp-heading) !important;
  font-size: 1.25rem !important;
}

html[data-pp-ui][data-pp-surface="legal"] main p,
html[data-pp-ui][data-pp-surface="legal"] main li {
  color: var(--pp-text-soft) !important;
}

html[data-pp-ui][data-pp-surface="legal"] .subtitle,
html[data-pp-ui][data-pp-surface="legal"] .footer {
  color: var(--pp-text-muted) !important;
}

/* Raw outcome/error pages and shared state shell */
html[data-pp-ui][data-pp-state-page="true"] body,
html[data-pp-ui][data-pp-surface="public-state"] body {
  display: grid;
  place-items: center;
  min-height: 100vh;
  padding: clamp(1rem, 5vw, 3rem) !important;
}

html[data-pp-ui] .pp-state-card {
  position: relative;
  isolation: isolate;
  width: min(38rem, 100%) !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: clamp(1.5rem, 5vw, 2.75rem) !important;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.76) !important;
  border-radius: var(--pp-radius-2xl) !important;
  color: var(--pp-text) !important;
  background: var(--pp-surface-glass-strong) !important;
  box-shadow: var(--pp-shadow-lg), var(--pp-inset-highlight) !important;
  font-family: var(--pp-font-sans) !important;
  text-align: center;
  backdrop-filter: blur(20px) saturate(1.08);
}

html[data-pp-ui] .pp-state-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -8rem;
  right: -7rem;
  width: 17rem;
  height: 17rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(48, 133, 155, 0.16), transparent 68%);
}

html[data-pp-ui] .pp-state-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: var(--pp-space-6);
  color: var(--pp-heading) !important;
  font-size: 0.9rem;
  font-weight: 780;
  text-decoration: none;
}

html[data-pp-ui] .pp-state-brand img {
  width: 2.8rem;
  height: 2.8rem;
  object-fit: contain;
}

html[data-pp-ui] .pp-state-mark {
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 auto var(--pp-space-4);
  border: 1px solid var(--pp-primary-border);
  border-radius: 50%;
  color: var(--pp-accent);
  background: var(--pp-primary-soft);
  box-shadow: var(--pp-shadow-xs);
}

html[data-pp-ui] .pp-state-mark::before {
  content: "i";
  font-family: var(--pp-font-serif);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}

html[data-pp-ui] .pp-state-card[data-tone="success"] .pp-state-mark {
  color: var(--pp-success);
  border-color: color-mix(in srgb, var(--pp-success) 30%, transparent);
  background: var(--pp-success-soft);
}

html[data-pp-ui] .pp-state-card[data-tone="success"] .pp-state-mark::before {
  content: "✓";
  font-family: var(--pp-font-sans);
}

html[data-pp-ui] .pp-state-card[data-tone="error"] .pp-state-mark {
  color: var(--pp-danger);
  border-color: color-mix(in srgb, var(--pp-danger) 30%, transparent);
  background: var(--pp-danger-soft);
}

html[data-pp-ui] .pp-state-card[data-tone="error"] .pp-state-mark::before {
  content: "!";
  font-family: var(--pp-font-sans);
}

html[data-pp-ui] .pp-state-card h1 {
  margin: 0 0 var(--pp-space-3) !important;
  color: var(--pp-heading) !important;
  font-size: clamp(1.8rem, 5vw, 2.6rem) !important;
}

html[data-pp-ui] .pp-state-card > p,
html[data-pp-ui] .pp-state-message {
  margin: 0 auto;
  color: var(--pp-text-muted) !important;
  font-size: 1rem;
  line-height: 1.6;
}

html[data-pp-ui] .pp-state-details {
  margin-top: var(--pp-space-5);
  padding: var(--pp-space-4);
  border: 1px solid var(--pp-border);
  border-radius: var(--pp-radius-md);
  color: var(--pp-text-soft);
  background: var(--pp-surface-soft);
  text-align: left;
}

html[data-pp-ui] .pp-state-actions {
  display: flex;
  justify-content: center;
  gap: var(--pp-space-2);
  flex-wrap: wrap;
  margin-top: var(--pp-space-6);
}

/* Accessible private-feedback survey */
html[data-pp-ui][data-pp-surface="public-state"] .pp-survey-card {
  width: min(48rem, 100%) !important;
  text-align: left;
}

html[data-pp-ui] .pp-survey-card .pp-state-brand {
  margin-bottom: var(--pp-space-4);
}

html[data-pp-ui] .pp-survey-card h1 {
  max-width: 42rem;
}

html[data-pp-ui] .pp-survey-form {
  display: grid;
  gap: var(--pp-space-5);
  margin-top: var(--pp-space-6);
}

html[data-pp-ui] .pp-survey-group {
  display: grid;
  gap: var(--pp-space-3);
  margin: 0;
  padding: var(--pp-space-4);
  border: 1px solid var(--pp-border);
  border-radius: var(--pp-radius-md);
  background: var(--pp-surface-soft);
}

html[data-pp-ui] .pp-survey-group legend {
  margin: 0;
  padding: 0 var(--pp-space-2);
  color: var(--pp-heading);
  font-size: 0.95rem;
  font-weight: 780;
}

html[data-pp-ui] .pp-survey-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--pp-space-3);
}

html[data-pp-ui] .pp-survey-form .pp-field {
  display: grid;
  gap: var(--pp-space-2);
  color: var(--pp-text-soft);
  font-size: 0.88rem;
  font-weight: 740;
}

html[data-pp-ui] .pp-choice-group {
  display: flex;
  gap: var(--pp-space-3);
  flex-wrap: wrap;
}

html[data-pp-ui] .pp-survey-form .pp-choice {
  display: inline-flex;
  align-items: center;
  gap: var(--pp-space-2);
  min-width: 6rem;
  min-height: 2.75rem;
  margin: 0;
  padding: 0.6rem 0.8rem;
  border: 1px solid var(--pp-border);
  border-radius: var(--pp-radius-sm);
  color: var(--pp-text-soft);
  background: var(--pp-surface);
  font-weight: 700;
  cursor: pointer;
}

html[data-pp-ui] .pp-survey-form .pp-choice:has(input:checked) {
  border-color: var(--pp-primary);
  color: var(--pp-heading);
  background: var(--pp-primary-soft);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--pp-primary) 14%, transparent);
}

html[data-pp-ui] .pp-survey-form .pp-choice input {
  flex: 0 0 auto;
  margin: 0;
}

html[data-pp-ui] .pp-survey-form > button {
  justify-self: start;
  min-width: 11rem;
}

@media (max-width: 40rem) {
  html[data-pp-ui] .pp-survey-grid {
    grid-template-columns: 1fr;
  }

  html[data-pp-ui] .pp-choice-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  html[data-pp-ui] .pp-survey-form > button {
    width: 100%;
  }
}

@media (max-width: 61.25rem) {
  html[data-pp-ui][data-pp-surface="marketing"] .site-nav {
    align-items: center;
    flex-wrap: wrap;
  }

  html[data-pp-ui][data-pp-surface="marketing"] .pp-public-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.65rem;
    padding: 0.55rem 0.8rem;
    border: 1px solid var(--pp-border-strong);
    border-radius: var(--pp-radius-sm);
    color: var(--pp-text-soft);
    background: var(--pp-surface);
    font: inherit;
    font-size: 0.84rem;
    font-weight: 740;
  }

  html[data-pp-ui][data-pp-surface="marketing"] .nav-links {
    order: 4;
    width: 100%;
    padding: 0.5rem;
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius-md);
    background: var(--pp-surface);
    box-shadow: var(--pp-shadow-sm);
  }

  html[data-pp-ui][data-pp-surface="marketing"]:not(.has-js) .nav-links {
    display: flex !important;
  }

  html[data-pp-ui][data-pp-surface="marketing"].has-js .nav-links:not([data-open="true"]) {
    display: none !important;
  }

  html[data-pp-ui][data-pp-surface="marketing"].has-js .nav-links[data-open="true"] {
    display: flex !important;
  }

  html[data-pp-ui][data-pp-surface="auth"] .portal-login-shell {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  html[data-pp-ui][data-pp-surface="care"] .app-grid {
    grid-template-columns: 1fr !important;
  }

  html[data-pp-ui][data-pp-surface="care"] :where(.side-panel, .assistant-panel) {
    position: static !important;
  }

  html[data-pp-ui][data-pp-surface="care"] .step-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  html[data-pp-ui][data-pp-surface="care"] .step-nav button {
    justify-content: center !important;
  }
}

@media (max-width: 47.99rem) {
  html[data-pp-ui][data-pp-surface="marketing"] .site-nav {
    width: min(100% - 1rem, 74rem) !important;
  }

  html[data-pp-ui][data-pp-surface="marketing"] .brand span,
  html[data-pp-ui][data-pp-surface="marketing"] .nav-actions .secondary {
    display: none !important;
  }

  html[data-pp-ui][data-pp-surface="marketing"] .nav-links {
    align-items: stretch;
    flex-direction: column;
  }

  html[data-pp-ui][data-pp-surface="marketing"] .nav-links a {
    width: 100%;
  }

  html[data-pp-ui][data-pp-surface="auth"] .login-intro {
    display: none !important;
  }

  html[data-pp-ui][data-pp-surface="auth"] .portal-login-card {
    margin-top: 0 !important;
    border-radius: var(--pp-radius-xl) !important;
  }

  html[data-pp-ui][data-pp-surface="onboarding"] body > main,
  html[data-pp-ui][data-pp-surface="care"] body > main,
  html[data-pp-ui][data-pp-surface="care"] .site-head + main,
  html[data-pp-ui][data-pp-surface="care"] .family-shell {
    width: min(100% - 1rem, 77.5rem) !important;
  }

  html[data-pp-ui][data-pp-surface="care"] .head-inner {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    gap: 0.55rem !important;
    padding: 0.55rem 0 !important;
  }

  html[data-pp-ui][data-pp-surface="care"] .brand-lockup,
  html[data-pp-ui][data-pp-surface="care"] .head-meta {
    grid-column: 1 !important;
    justify-content: center !important;
  }

  html[data-pp-ui][data-pp-surface="care"] .head-contact {
    justify-items: center !important;
  }

  html[data-pp-ui][data-pp-surface="care"] .head-contact span {
    text-align: center !important;
  }

  html[data-pp-ui][data-pp-surface="care"] .step-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html[data-pp-ui][data-pp-surface="care"] .site-foot {
    position: static !important;
    justify-content: center !important;
    padding: 0 0 1rem;
  }

  html[data-pp-ui][data-pp-surface="care"] .powered-card {
    grid-template-columns: auto auto;
    align-items: center;
    min-width: 0;
  }

  html[data-pp-ui][data-pp-surface="care"] .powered-card img {
    width: 2.25rem !important;
    height: 2.75rem !important;
  }

  html[data-pp-ui] .pp-state-actions > * {
    flex: 1 1 9rem;
  }
}

@media (max-width: 25rem) {
  html[data-pp-ui][data-pp-surface="care"] .step-nav {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-transparency: reduce) {
  html[data-pp-ui] :where(
    .site-nav,
    .portal-login-card,
    .hero,
    .form-panel,
    .site-head,
    .hero-copy,
    .side-panel,
    .assistant-panel,
    .wizard-panel,
    .family-card,
    .pp-state-card
  ) {
    backdrop-filter: none !important;
  }
}
