/* Nelson Capital family / Sage Peak. Existing colors and theme preference remain authoritative. */
.family-public{--family-ground:var(--ivory);--family-ink:var(--navy);--family-surface:var(--white);--family-line:var(--stone)}
.family-diagnostic{--family-ground:var(--paper);--family-ink:var(--ink);--family-surface:var(--surface);--family-line:var(--line)}
.family-workspace{--family-ground:rgb(var(--ink-900));--family-ink:rgb(var(--bone-50));--family-surface:rgb(var(--ink-800));--family-line:rgb(var(--ink-700))}
.family-public,.family-diagnostic,.family-workspace{background-color:var(--family-ground);background-image:radial-gradient(ellipse at 95% 0%,#c7a35c0c,transparent 50%);color:var(--family-ink)}
.family-public:before,.family-diagnostic:before{content:"";position:fixed;inset:0;pointer-events:none;background:url('/assets/family/contours.svg') right top/1100px auto no-repeat;opacity:.09;z-index:-1}
.family-public,.family-diagnostic{isolation:isolate}
.family-public .topbar,.family-diagnostic .topbar{background:color-mix(in srgb,var(--family-surface) 90%,transparent);backdrop-filter:blur(18px)}
.family-public .wrap{max-width:1240px;padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px)}
.family-public section{padding-top:clamp(44px,6vw,88px);padding-bottom:clamp(44px,6vw,88px)}
.family-public .hero{position:relative;isolation:isolate;padding-top:80px;padding-bottom:70px}
.family-public .hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/assets/family/contours.svg') right center/850px auto no-repeat;opacity:.12}
.family-public .family-hero-wrap{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);align-items:center;gap:48px}
.family-public .hero h1{font-size:clamp(2.25rem,3.5vw,3.6rem);letter-spacing:-.035em;line-height:1.12;max-width:22ch}
.family-hero-art{width:100%;max-width:390px;justify-self:center;filter:drop-shadow(0 22px 20px #0d1b2a0a)}
.family-identity{font:600 10px/1.5 var(--sans,var(--font-sans));text-transform:uppercase;letter-spacing:.2em;color:var(--gold-ink,#a9863f);margin-bottom:22px}
.family-public section.alt{background:color-mix(in srgb,var(--family-surface) 45%,transparent);border-color:color-mix(in srgb,var(--family-line) 60%,transparent)}
.family-public .card,.family-public .fact{background:transparent;border:0;border-top:1px solid var(--family-line);border-radius:0;box-shadow:none;padding:28px 4px}
.family-public .card .num{font-size:2.4rem;margin-bottom:20px}
.family-public .grid,.family-public .grid-2{gap:36px}
.family-public .panel,.family-public .closing,.family-public .aside,.family-public form.lead{border-radius:16px;border-color:var(--family-line);box-shadow:0 12px 40px #0d1b2a05}
.family-public .tier{padding:28px;border:1px solid var(--family-line);border-radius:16px;background:var(--family-surface)}
.family-public .tier.featured{border-color:var(--gold);box-shadow:0 12px 40px #c7a35c12}
.family-public .btn{border-radius:8px;padding:12px 20px}
.family-public .metric{border:0;border-left:2px solid var(--gold);background:transparent;border-radius:0;padding:12px 18px}
.family-public .metric .v{font-size:1.65rem}
.family-public .note,.family-public .rules{border-radius:12px;line-height:1.8}
.family-public .proof{border-bottom:0;padding:28px 0}
.family-public table th,.family-diagnostic table th{padding-top:14px;padding-bottom:14px}
.family-public table td,.family-diagnostic table td{padding-top:12px;padding-bottom:12px}
.family-diagnostic .container{padding-top:48px;padding-bottom:64px;max-width:1280px}
.family-diagnostic h1{font-size:clamp(1.9rem,3vw,2.8rem);letter-spacing:-.025em}
.family-diagnostic .card{border-radius:14px;box-shadow:0 8px 28px #0d1b2a04;padding:26px}
.family-diagnostic .card+.card{margin-top:28px}
.family-diagnostic input,.family-diagnostic select,.family-diagnostic textarea{border-radius:7px}
.family-diagnostic .topbar{padding:18px 28px}
.family-workspace main{background:url('/assets/family/contours.svg') right top/1000px auto no-repeat}
.family-workspace .card-dark{border-radius:14px;box-shadow:0 8px 28px #0d1b2a04}
.family-workspace aside nav a{border-radius:7px}
.family-workspace h1{letter-spacing:-.025em}
.family-network{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:11px;letter-spacing:.02em;margin-top:28px;padding-top:18px;border-top:1px solid var(--family-line)}
.family-network a{color:inherit;text-decoration:none}.family-network a:hover{text-decoration:underline}
@media(max-width:760px){.family-public .family-hero-wrap{grid-template-columns:1fr;gap:22px}.family-hero-art{max-width:220px}.family-public .hero{padding:42px 0}.family-public .hero h1{font-size:2.3rem}.family-public .grid{gap:18px}.family-diagnostic .topbar{padding:12px 16px}.family-diagnostic .card{padding:18px}.family-public .topbar .wrap{display:block;padding-top:12px;padding-bottom:4px}.family-public nav.main{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;gap:20px;margin-top:12px;padding-bottom:8px;scrollbar-width:none}.family-public nav.main .btn{padding:7px 12px;flex-shrink:0}}
@media(prefers-reduced-motion:no-preference){.family-public .btn,.family-public .tier{transition:background .2s,border-color .2s,box-shadow .2s}.family-public .tier:hover{box-shadow:0 16px 44px #0d1b2a0b}}
@media print{.family-public:before,.family-diagnostic:before,.family-hero-art,.family-network{display:none!important}.family-public,.family-diagnostic,.family-workspace,.family-workspace main{background:white!important}.family-diagnostic .card{box-shadow:none;break-inside:avoid}}

/* Shared phone layouts: keep navigation, diagnostic forms and tables usable. */
.family-menu-toggle{display:none}
.family-workspace main{min-width:0}
@media screen and (max-width:760px){
  .family-public .topbar .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:10px;padding-bottom:10px}
  .family-menu-ready .family-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:64px;border:1px solid var(--stone);border-radius:8px;background:var(--white);color:var(--navy);font:600 13px var(--sans);cursor:pointer}
  .family-menu-ready .family-public nav.main{display:none;width:100%;margin-top:6px;padding:8px 0;white-space:normal;overflow:visible;gap:4px 16px}
  .family-menu-ready .family-public nav.main[data-open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .family-public nav.main a{display:flex;align-items:center;min-height:44px;padding:8px 0;white-space:normal}
  .family-public nav.main .btn{grid-column:1/-1;justify-content:center}
  .family-public .grid-2,.family-public .facts,.family-public .tiers{grid-template-columns:minmax(0,1fr)}
  .family-public .tier{padding:24px 20px}
  .family-public h1{font-size:clamp(1.9rem,7.5vw,2.5rem);overflow-wrap:break-word}
  .family-public .hero h1{font-size:clamp(1.9rem,7.5vw,2.3rem)}
  .family-public :is(input,select,textarea),.family-diagnostic :is(input,select,textarea),.family-workspace :is(input,select,textarea){max-width:100%;font-size:16px}
  .family-public .btn,.family-diagnostic .btn{min-height:44px;white-space:normal;text-align:center}
  .family-diagnostic .container{padding:28px 16px 48px}
  .family-diagnostic .topbar{flex-wrap:wrap;gap:12px}
  .family-diagnostic .topbar-actions{flex-wrap:wrap;gap:8px}
  .family-diagnostic .card{min-width:0;overflow-wrap:anywhere}
  .family-diagnostic table{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  .family-workspace main{padding-bottom:env(safe-area-inset-bottom,0px)}
  .family-workspace #app-sidebar nav a{min-height:44px}
  .family-workspace button[aria-controls="app-sidebar"]{bottom:calc(20px + env(safe-area-inset-bottom,0px))}
}
@media print{.family-menu-toggle{display:none!important}}

/* The same marble-and-brass sculptures introduce website tabs and deck sections. */
.diagnostic-section-banner{display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:32px;position:relative;isolation:isolate;margin:0 0 32px;padding:16px 28px 20px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 80% 65%,#c7a35c0c,transparent 65%)}
.diagnostic-section-banner:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/assets/family/contours.svg') right center/630px auto no-repeat;opacity:.12}
.diagnostic-section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:var(--accent-ink);margin:0 0 14px}
.diagnostic-section-copy{max-width:660px}
.diagnostic-section-copy h2{font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.18;margin:0 0 12px}
.diagnostic-section-copy .muted{font-size:.92rem;line-height:1.7;margin:0;max-width:58ch}
.diagnostic-section-banner img{width:100%;height:200px;object-fit:contain;filter:drop-shadow(0 16px 16px #0d1b2a08)}
@media(max-width:600px){.diagnostic-section-banner{grid-template-columns:minmax(0,1fr) 104px;gap:12px;padding:14px 0 22px;margin-bottom:24px}.diagnostic-section-banner img{height:126px}.diagnostic-section-kicker{font-size:9px;letter-spacing:.1em;margin-bottom:10px}.diagnostic-section-copy h2{font-size:1.5rem}.diagnostic-section-copy .muted{font-size:.82rem}}
@media(max-width:360px){.diagnostic-section-banner{grid-template-columns:minmax(0,1fr)}.diagnostic-section-banner img{display:none}}
@media print{.diagnostic-section-banner{display:none!important}}
