/* ProtectWealth Assessment — Bright Theme Override
   Remaps Modernist variables to match the new v7 light-green brand system.
   Same technique as the previous dark override: color tokens only, the
   frozen Modernist component (styles.css) itself is never touched. */

@import "tokens.css?v=20260727";

:root {
  --color-bg: #ffffff;
  --color-text: #12201a;
  --color-accent: #087a57;
  --color-accent-100: rgba(8,122,87,0.08);
  --color-divider: rgba(18,32,26,0.10);
  --color-neutral-100: #f1faf5;
  --color-neutral-200: #eaf3ee;
  --color-neutral-300: rgba(18,32,26,0.14);
  --color-neutral-400: rgba(18,32,26,0.20);
  --color-neutral-500: rgba(18,32,26,0.35);
  --color-neutral-600: rgba(18,32,26,0.50);
  --color-neutral-700: rgba(18,32,26,0.72);
  --color-neutral-800: rgba(18,32,26,0.85);
  --color-neutral-900: #12201a;
  --pw-deep: #ffffff; --pw-surface: #f1faf5; --pw-raised: #eaf3ee;
  --pw-brand: #087a57; --pw-brand-hover: #06603f; --pw-brand-glow: rgba(8,122,87,0.15);
  --pw-ink: #12201a; --pw-ink-soft: rgba(18,32,26,0.72); --pw-ink-muted: rgba(18,32,26,0.50); --pw-ink-faint: rgba(18,32,26,0.32);
  --pw-border: rgba(18,32,26,0.08); --pw-border-vis: rgba(18,32,26,0.14);
  --pw-max: 1200px; --pw-edge: clamp(20px,5vw,72px); --pw-unit: 28px; --r: 16px;
}

body { margin:0; background:var(--pw-deep); color:var(--pw-ink); -webkit-font-smoothing:antialiased; }
x-dc .nav { display:none!important; }
x-dc .pw-footer { display:none!important; }
:focus{outline:none;} :focus-visible{outline:2px solid var(--pw-brand); outline-offset:2px;} ::selection{background:rgba(8,122,87,.18);}

.pw-skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:200;padding:8px 16px;background:var(--pw-ink);color:#fff;font-weight:600;font-size:14px;text-decoration:none;}
.pw-skip:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;}

/* "Talk to a Financial Planner" — Result screen CTA. Solid, with a slow
   pulsing glow so it draws the eye without flashing/blinking. Reduced-motion
   visitors get a steady glow instead of the animation. */
@keyframes pw-pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(8,122,87,0.45); }
  50% { box-shadow: 0 0 0 12px rgba(8,122,87,0); }
}
.pw-planner-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  background: var(--pw-brand);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 14px 24px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  cursor: pointer;
  animation: pw-pulse-glow 2.2s ease-in-out infinite;
  transition: transform 0.15s, background 0.15s;
}
.pw-planner-cta:hover { background: var(--pw-brand-hover); color: #fff; transform: translateY(-1px); }
@media (prefers-reduced-motion: reduce) {
  .pw-planner-cta { animation: none; box-shadow: 0 0 0 4px rgba(8,122,87,0.25); }
}

.pn{display:flex;align-items:center;gap:32px;padding:18px 32px;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--pw-border);}
.pn-brand{display:flex;align-items:center;gap:0;font-family:var(--font-heading);font-weight:800;font-size:19px;letter-spacing:-.01em;color:var(--pw-ink);text-decoration:none;margin-right:auto;}
.pn-brand-mark{display:inline-block; width:20px; height:20px; border-radius:6px; background:linear-gradient(135deg, #0e9b6e, var(--pw-brand)); margin-right:8px;} .pn-brand-gold{color:var(--pw-brand);font-weight:800;} .pn-brand-w{color:var(--pw-ink-muted);font-weight:700;}
.pn a{color:var(--pw-ink-soft);text-decoration:none;font-size:14.5px;font-weight:600;transition:color .15s;} .pn a:hover{color:var(--pw-ink);}
.pn-cta{font-weight:700;font-size:14.5px;color:#fff!important;background:var(--pw-brand);padding:11px 22px;border-radius:999px;text-decoration:none;display:inline-flex;transition:background .15s, transform .15s;}
.pn-cta:hover{background:var(--pw-brand-hover);color:#fff!important;transform:translateY(-1px);}
.pn-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;background:none;cursor:pointer;color:var(--pw-ink);}
.pn-links{display:contents;}
@media(max-width:1024px){.pn{gap:16px;padding:14px var(--pw-edge);}.pn-links{display:none;}.pn-cta{display:inline-flex!important;}.pn-toggle{display:flex;}}
@media(max-width:767px){.pn{gap:12px;padding:12px var(--pw-edge);}.pn-brand{font-size:14px;}.pn-cta{font-size:11px;padding:8px 16px;}}

.pn-overlay{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:#ffffff;padding:16px var(--pw-edge);opacity:0;pointer-events:none;transition:opacity .2s ease-out;}
.pn-overlay.is-open{opacity:1;pointer-events:auto;}
.pn-overlay-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--pw-border);margin-bottom:24px;}
.pn-overlay-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;background:none;cursor:pointer;color:var(--pw-ink);}
.pn-overlay-links{list-style:none;margin:0;padding:0;}
.pn-overlay-links li{border-bottom:1px solid var(--pw-border);}
.pn-overlay-links a{display:flex;align-items:center;height:56px;font-size:16px;font-weight:500;color:var(--pw-ink-soft);text-decoration:none;}
.pn-overlay-links a:hover{color:var(--pw-ink);}
.pn-overlay-cta{display:inline-flex;margin-top:24px;font-weight:600;font-size:14px;color:#fff;background:var(--pw-brand);padding:14px 28px;border-radius:8px;text-decoration:none;}

/* DC overrides */
.btn-primary{background:var(--pw-brand)!important;color:#fff!important;border-color:var(--pw-brand)!important;border-radius:8px!important;transition:background .15s!important;}
.btn-primary:hover{background:var(--pw-brand-hover)!important;border-color:var(--pw-brand-hover)!important;}
.btn-secondary{border-color:var(--pw-border-vis)!important;color:var(--pw-ink)!important;background:transparent!important;border-radius:8px!important;}
.btn-secondary:hover{background:rgba(18,32,26,.05)!important;}
.fpc-radio-row{border-bottom-color:var(--pw-border-vis)!important;}
.fpc-radio-row:hover{background:rgba(8,122,87,.05)!important;}
.tag-accent{background:rgba(8,122,87,.10)!important;color:var(--pw-brand-hover)!important;border-color:transparent!important;border-radius:6px!important;}
.tag-outline{border-color:var(--pw-border-vis)!important;color:var(--pw-ink)!important;border-radius:6px!important;}
.tag-neutral{background:rgba(18,32,26,.06)!important;color:var(--pw-ink-soft)!important;border-radius:6px!important;}
.card{background:var(--pw-surface)!important;border-color:var(--pw-border-vis)!important;border-radius:var(--r)!important;}
.card-kicker{color:var(--pw-brand)!important;} .card-title{color:var(--pw-ink)!important;} .card-body{color:var(--pw-ink-soft)!important;}
.elev-sm{box-shadow:0 2px 10px rgba(18,32,26,.10)!important;}
.input{background:#ffffff!important;color:var(--pw-ink)!important;border-color:var(--pw-border-vis)!important;border-radius:8px!important;}
.input:focus,.input:focus-visible{border-color:var(--pw-brand)!important;outline:none!important;box-shadow:0 0 0 3px var(--pw-brand-glow)!important;}
.input::placeholder{color:var(--pw-ink-faint)!important;}
select.input{background:#ffffff!important;color:var(--pw-ink)!important;}
.text-muted{color:var(--pw-ink-muted)!important;}
.hr{background:var(--pw-border-vis)!important;}
[style*="background: var(--color-neutral-300)"]{background:var(--pw-border-vis)!important;}
[style*="background: var(--color-accent)"]{background:var(--pw-brand)!important;}
[style*="background: var(--color-bg)"]{background:linear-gradient(180deg, #eaf8f1 0%, #ffffff 55%)!important;}
.btn-icon{color:var(--pw-ink)!important;border-color:var(--pw-border-vis)!important;border-radius:8px!important;}
.btn-icon:hover{background:rgba(18,32,26,.05)!important;}
[style*="stroke: var(--color-accent)"]{stroke:var(--pw-brand)!important;}
[style*="color-mix(in srgb, var(--color-text) 78%, transparent)"]{color:var(--pw-ink-soft)!important;}
.fpc-radio-row .dot{border-color:var(--pw-border-vis)!important;}
input[type="radio"]:checked + .dot{border-color:var(--pw-brand)!important;background:var(--pw-brand)!important;}
label.radio.fpc-radio-row[style*="accent-100"]{background:rgba(8,122,87,.06)!important;}

.f{max-width:var(--pw-max);margin:0 auto;padding:0 var(--pw-edge);}
.ft-band{border-top:1px solid var(--pw-border);}
.ft{display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;gap:0 40px;padding:calc(3*var(--pw-unit)) 0 calc(1.5*var(--pw-unit));}
.ft-brand{font-family:var(--font-heading);font-weight:800;font-size:15px;letter-spacing:-.01em;color:var(--pw-ink);}
.ft-brand .pn-brand-gold,.ft-brand-w{color:var(--pw-brand);font-weight:700;}
.ft-tagline{font-size:14px;line-height:1.6;color:var(--pw-ink-faint);margin-top:10px;max-width:30ch;}
.ft-head{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--pw-ink-faint);margin-bottom:16px;}
.ft-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.ft-links a{color:var(--pw-ink-muted);font-size:13.5px;font-weight:500;transition:color .15s;text-decoration:none;}.ft-links a:hover{color:var(--pw-ink);}
.ft-legal{font-size:11px;color:var(--pw-ink-faint);padding:var(--pw-unit) 0;border-top:1px solid var(--pw-border);margin-top:var(--pw-unit);}
@media(max-width:767px){.ft{grid-template-columns:1fr;gap:calc(2*var(--pw-unit));}}
