/* SPG Investors (1 November 2026): the investor pages, the Investor Directory and the listing form.
   Site tokens from site.css; sharp corners, hairline rules, white canvas, jade and brass accents. */
.ph{width:1em;height:1em;flex:none;fill:currentColor;vertical-align:-.15em}
[hidden]{display:none!important}

/* ---------- hero ---------- */
.iv-hero .container{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(28px,4vw,64px);align-items:center}
.iv-hero h1{max-width:18ch}
.iv-hero-compact .container{grid-template-columns:minmax(0,1fr)}
.iv-hero-compact h1{max-width:22ch}
.iv-hero-compact .lead{max-width:62ch}
.iv-visual{position:relative;margin:0 0 30px}
.iv-visual img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.iv-ticks{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px}
.iv-ticks li{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink)}
.iv-ticks .ph{color:var(--jade);font-size:19px}
.iv-ai{margin:18px 0 0}
.iv-ai a{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--jade);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.iv-ai .ph{font-size:17px}
@media (min-width:901px){.iv-hero .iv-visual{margin:0 0 44px 28px}.iv-hero .iv-visual img{aspect-ratio:1/1;object-position:74% 50%}}
@media (max-width:900px){.iv-hero .container{grid-template-columns:1fr}.iv-hero .iv-visual{margin:6px 0 0}.iv-hero .iv-card-hero{position:relative;left:auto;bottom:auto;width:auto;margin:-64px 14px 0}}

/* ---------- the profile card (hero illustration, directory, live preview) ---------- */
.iv-card{background:#fff;border:1px solid var(--rule);border-top:3px solid var(--brass);padding:18px 20px 16px;color:var(--ink)}
.iv-card-hero{position:absolute;left:clamp(-28px,-2vw,-12px);bottom:clamp(-44px,-3.4vw,-22px);width:min(360px,86%);box-shadow:0 18px 40px -18px rgba(16,43,54,.28)}
.iv-card-top{display:flex;align-items:center;gap:12px}
.iv-mono{display:grid;place-items:center;width:44px;height:44px;flex:none;background:var(--ink);color:#fff;font-family:var(--serif);font-size:17px;letter-spacing:.04em}
.iv-card-top b{display:block;font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.2;color:var(--ink)}
.iv-card-top small{display:block;font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.35}
.iv-card-line{margin:12px 0 0;font-size:14.5px;line-height:1.5;color:var(--ink-2,#2C434C)}
.iv-chips-ro{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}
.iv-chips-ro span{font-size:12px;line-height:1.3;padding:4px 8px;background:var(--jade-soft);color:var(--jade-deep)}
.iv-card-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule-soft);margin:14px 0 0;border-top:1px solid var(--rule-soft)}
.iv-card-facts div{background:#fff;padding:10px 6px 2px 0}
.iv-card-facts dt{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--faint)}
.iv-card-facts dd{margin:3px 0 0;font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums}
.iv-match{display:flex;align-items:center;gap:12px;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--rule-soft)}
.iv-score{--s:80;display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:50%;background:conic-gradient(var(--jade) calc(var(--s)*1%),var(--rule-soft) 0)}
.iv-score b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;font-family:var(--serif);font-weight:500;font-size:16px;color:var(--ink)}
.iv-match b{font-size:14.5px;color:var(--ink)}
.iv-match small{display:block;font-size:12.5px;line-height:1.4;color:var(--muted);margin-top:2px}
.iv-illus{margin:10px 0 0;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--faint)}
@media (max-width:900px){.iv-card-hero{left:12px}}

/* ---------- facts band ---------- */
.iv-facts-band{padding-top:clamp(40px,5vw,64px)}
.iv-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.iv-facts li{padding:22px 20px 22px 0;border-left:1px solid var(--rule);padding-left:20px}
.iv-facts li:first-child{border-left:0;padding-left:0}
.iv-facts strong{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.4vw,46px);line-height:1;color:var(--ink)}
.iv-facts span{display:block;margin-top:8px;font-size:14.5px;line-height:1.45;color:var(--muted);max-width:24ch}
@media (max-width:800px){.iv-facts{grid-template-columns:1fr 1fr}.iv-facts li:nth-child(3){border-left:0;padding-left:0}.iv-facts li:nth-child(n+3){border-top:1px solid var(--rule)}}

/* ---------- investor families ---------- */
.iv-fams{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.iv-fam{background:#fff;padding:24px 20px 26px;display:flex;flex-direction:column}
.iv-fam-h{display:flex;flex-direction:column;gap:12px}
.iv-fam-h .ph{font-size:28px;color:var(--brass)}
.iv-fam h3{font-size:19px;line-height:1.25;margin:0}
.iv-fam ul{list-style:none;margin:14px 0 0;padding:0;font-size:14px;line-height:1.45;color:var(--ink)}
.iv-fam li{padding:5px 0;border-top:1px solid var(--rule-soft)}
.iv-fam p{margin:16px 0 0;padding-top:14px;border-top:2px solid var(--jade);font-size:14px;line-height:1.55;color:var(--ink-2,#2C434C)}
@media (max-width:1100px){.iv-fams{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.iv-fams{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.iv-fams{grid-template-columns:1fr}}

/* ---------- benefits ---------- */
.iv-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--rule)}
.iv-benefits article{padding:26px 26px 28px 0;border-bottom:1px solid var(--rule)}
.iv-benefits article:not(:nth-child(3n+1)){padding-left:26px;border-left:1px solid var(--rule)}
.iv-benefits .ph{font-size:28px;color:var(--jade)}
.iv-benefits h3{font-size:20px;line-height:1.25;margin:14px 0 8px}
.iv-benefits p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2,#2C434C)}
@media (max-width:900px){.iv-benefits{grid-template-columns:1fr 1fr}.iv-benefits article:not(:nth-child(3n+1)){padding-left:0;border-left:0}.iv-benefits article:nth-child(2n){padding-left:22px;border-left:1px solid var(--rule)}}
@media (max-width:600px){.iv-benefits{grid-template-columns:1fr}.iv-benefits article:nth-child(2n){padding-left:0;border-left:0}}

/* ---------- matching ---------- */
.iv-match-grid h2+.lead{margin-top:16px}
.iv-match-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start;margin-bottom:clamp(40px,5vw,64px)}
.iv-weights{background:#fff;border:1px solid var(--rule);border-top:3px solid var(--jade);padding:22px 22px 14px}
.iv-weights-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--rule-soft)}
.iv-weights-h b{font-family:var(--serif);font-weight:500;font-size:19px;color:var(--ink)}
.iv-weights-h span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--faint)}
.iv-weights ul{list-style:none;margin:6px 0 0;padding:0}
.iv-weights-note{margin:14px 0 0;font-size:13.5px;line-height:1.5;color:var(--muted)}
.iv-weights li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:end;padding:11px 0 12px;border-bottom:1px solid var(--rule-soft)}
.iv-weights li:last-child{border-bottom:0}
.iv-w-l b{display:block;font-size:15.5px;color:var(--ink)}
.iv-w-l small{display:block;font-size:13px;color:var(--muted);line-height:1.4}
.iv-w-v{font-family:var(--serif);font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.iv-weights i{grid-column:1/-1;display:block;height:5px;background:var(--rule-soft)}
.iv-weights i::after{content:"";display:block;height:100%;width:var(--w);background:var(--jade)}
.iv-weights li:last-child i::after{background:var(--brass)}
.iv-steps{counter-reset:s;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.iv-steps li{border-top:2px solid var(--ink);padding:18px 4px 0 0}
.iv-steps li::before{counter-increment:s;content:counter(s,decimal-leading-zero);display:block;font-family:var(--serif);font-size:28px;color:var(--brass);line-height:1;margin-bottom:12px}
.iv-steps h3{font-size:18px;margin:0 0 8px;line-height:1.25}
.iv-steps p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink-2,#2C434C)}
@media (max-width:1100px){.iv-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:30px}}
@media (max-width:900px){.iv-match-grid{grid-template-columns:1fr}}
@media (max-width:600px){.iv-steps{grid-template-columns:1fr 1fr}}

/* ---------- profile rules ---------- */
.iv-rules{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.iv-rules article{background:#fff;padding:26px 26px 24px}
.iv-rules h3{display:flex;align-items:center;gap:10px;font-size:20px;margin:0 0 12px}
.iv-rules article:first-child h3 .ph{color:var(--jade)}
.iv-rules article:last-child h3 .ph{color:#8B2E2E}
.iv-rules ul{margin:0;padding:0 0 0 18px;font-size:15.5px;line-height:1.6;color:var(--ink-2,#2C434C)}
.iv-rules li{padding:4px 0}
.iv-legal{margin:26px 0 0;max-width:86ch}
.iv-legal p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 10px}
.iv-legal b{color:var(--ink)}
@media (max-width:760px){.iv-rules{grid-template-columns:1fr}}

/* ---------- questions ---------- */
.iv-faq details{border-top:1px solid var(--rule);padding:0}
.iv-faq details:last-child{border-bottom:1px solid var(--rule)}
.iv-faq summary{cursor:pointer;list-style:none;padding:18px 34px 18px 0;position:relative;font-family:var(--serif);font-size:19px;line-height:1.35;color:var(--ink)}
.iv-faq summary::-webkit-details-marker{display:none}
.iv-faq summary::after{content:"+";position:absolute;right:4px;top:15px;font-family:var(--sans);font-size:24px;color:var(--brass);transition:transform 200ms var(--ease-out)}
.iv-faq details[open] summary::after{transform:rotate(45deg)}
.iv-faq details p{margin:0 0 20px;font-size:15.5px;line-height:1.65;color:var(--ink-2,#2C434C);max-width:70ch}

/* ---------- directory ---------- */
.iv-filters{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(5,minmax(0,1fr));gap:12px;align-items:end;padding:18px;border:1px solid var(--rule);background:var(--paper)}
.iv-filters label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:6px}
.iv-filters input,.iv-filters select{width:100%;height:44px;border:1px solid var(--rule);background:#fff;padding:0 12px;font:inherit;font-size:15px;color:var(--ink);border-radius:0}
.iv-filters input:focus,.iv-filters select:focus{outline:2px solid var(--jade);outline-offset:1px}
@media (max-width:1100px){.iv-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.iv-f-search{grid-column:1/-1}}
@media (max-width:600px){.iv-filters{grid-template-columns:1fr 1fr}}
.iv-count{margin:18px 0 14px;font-size:14px;color:var(--muted)}
.iv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:1000px){.iv-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.iv-grid{grid-template-columns:1fr}}
.iv-item{display:flex;flex-direction:column;text-align:left;font:inherit;cursor:pointer;transition:border-color 160ms ease,transform 160ms var(--ease-out),box-shadow 160ms ease}
.iv-item:hover{border-color:#B9CCC3;box-shadow:0 14px 30px -20px rgba(16,43,54,.35)}
.iv-item:active{transform:scale(.99)}
.iv-item .iv-chips-ro{margin-top:auto;padding-top:12px}
.iv-type{display:inline-block;margin:12px 0 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--jade)}
.iv-empty{border:1px solid var(--rule);background:var(--paper);padding:clamp(28px,5vw,56px)}
.iv-empty-in{max-width:60ch}
.iv-empty .ph{font-size:34px;color:var(--brass)}
.iv-empty h2{margin:12px 0 10px}
.iv-empty p{font-size:16px;line-height:1.6;color:var(--ink-2,#2C434C)}
.iv-nomatch p{padding:18px 0;font-size:15.5px;color:var(--ink-2,#2C434C)}
.iv-legal-dir{margin-top:34px}
.iv-dialog{border:0;padding:0;width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 48px);background:#fff;color:var(--ink);box-shadow:0 30px 80px -30px rgba(16,43,54,.5)}
.iv-dialog::backdrop{background:rgba(16,43,54,.45)}
.iv-d-body{padding:clamp(22px,4vw,36px);border-top:3px solid var(--brass)}
.iv-d-close{position:absolute;right:14px;top:14px;width:40px;height:40px;border:1px solid var(--rule);background:#fff;font-size:22px;line-height:1;cursor:pointer;color:var(--ink)}
.iv-d-body h2{font-size:clamp(24px,3vw,32px);margin:14px 0 6px}
.iv-d-sec{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--rule-soft)}
.iv-d-sec h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:0 0 8px;font-family:var(--sans)}
.iv-d-sec p{margin:0;font-size:15.5px;line-height:1.65;white-space:pre-line}
.iv-d-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:600px){.iv-d-grid{grid-template-columns:1fr 1fr}}
.iv-d-grid dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--faint)}
.iv-d-grid dd{margin:4px 0 0;font-size:15px}
.iv-d-cta{margin:24px 0 0;padding:16px 18px;background:var(--paper);border-left:3px solid var(--jade);font-size:14.5px;line-height:1.6}

/* ---------- join: the form, step by step, with a live preview ---------- */
.iv-join{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(24px,4vw,56px);align-items:start}
.iv-join-side{position:sticky;top:calc(var(--nav-h) + 24px);display:grid;gap:18px}
@media (max-width:980px){.iv-join{grid-template-columns:1fr}.iv-join-side{position:static}}
.iv-prev-k{display:flex;justify-content:space-between;gap:10px;margin:0 0 12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--faint)}
.iv-prev-k em{font-style:normal;color:#8B2E2E}
.iv-prev-f{margin:12px 0 0;font-size:12.5px;color:var(--faint)}
.iv-next{border:1px solid var(--rule);padding:18px 20px}
.iv-next h2{font-size:18px;margin:0 0 10px}
.iv-next ol{margin:0;padding:0 0 0 18px;font-size:14.5px;line-height:1.55;color:var(--ink-2,#2C434C)}
.iv-next li{padding:4px 0}
.iv-form fieldset{border:0;margin:0;padding:0;min-width:0}
.iv-step{display:grid;gap:18px}
.iv-step+.iv-step{margin-top:34px;padding-top:30px;border-top:1px solid var(--rule)}
.iv-step-t{font-family:var(--serif);font-size:24px;color:var(--ink);padding:0;margin:0 0 4px}
.iv-step-note{margin:0;font-size:14.5px;line-height:1.55;color:var(--muted)}
.iv-group legend{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:8px;padding:0}
.iv-group .help{margin:-2px 0 10px}
.iv-chips{display:flex;flex-wrap:wrap;gap:8px}
.iv-chip{position:relative;display:inline-flex;cursor:pointer;margin:0}
.iv-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.iv-chip span{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border:1px solid var(--rule);background:#fff;font-size:14.5px;line-height:1.3;color:var(--ink);transition:background-color 140ms ease,border-color 140ms ease,color 140ms ease}
.iv-chip:hover span{border-color:#B9CCC3}
.iv-chip input:checked+span{background:var(--jade);border-color:var(--jade);color:#fff}
.iv-chip input:focus-visible+span{outline:2px solid var(--jade);outline-offset:2px}
.iv-group.is-bad .iv-chips{outline:1px solid #8B2E2E;outline-offset:6px}
.iv-group-err{margin:10px 0 0;font-size:14px;color:#8B2E2E}
.iv-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.iv-progress{display:none}
/* Step by step, once the script is running: one step at a time, with progress above. */
.iv-form.is-wizard .iv-step{display:none}
.iv-form.is-wizard .iv-step.is-on{display:grid}
.iv-form.is-wizard .iv-step+.iv-step{margin-top:0;padding-top:0;border-top:0}
.iv-form.is-wizard .iv-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;list-style:none;margin:0 0 22px;padding:0}
.iv-progress li{border-top:3px solid var(--rule-soft);color:var(--faint)}
.iv-progress li button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 0 0;margin:0;border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:inherit;cursor:pointer;line-height:1.25;text-align:left}
.iv-progress li button:focus-visible{outline:2px solid var(--jade);outline-offset:2px}
.iv-progress li span{display:grid;place-items:center;width:22px;height:22px;flex:none;border:1px solid currentColor;font-size:12px}
.iv-progress li.is-done{border-top-color:var(--jade);color:var(--jade)}
.iv-progress li.is-on{border-top-color:var(--ink);color:var(--ink)}
@media (max-width:600px){.iv-progress li button{font-size:0;gap:0}.iv-progress li span{font-size:12px}}
.iv-form:not(.is-wizard) [data-next],.iv-form:not(.is-wizard) [data-prev]{display:none}
.iv-form.is-wizard:not(.is-last) button[type=submit]{display:none}
.iv-form.is-wizard.is-last [data-next]{display:none}

/* ---------- SPG team: investor desk ---------- */
.ti-tabs{display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--rule);margin-bottom:18px}
.ti-tabs [role=tab]{appearance:none;border:0;background:none;padding:12px 14px;font:inherit;font-weight:700;color:var(--muted);border-bottom:3px solid transparent;cursor:pointer}
.ti-tabs [aria-selected=true]{color:var(--ink);border-bottom-color:var(--jade)}
.ti-tabs .btn{margin-left:auto}
.ti-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.ti-filter button{border:1px solid var(--rule);background:#fff;padding:7px 12px;font:inherit;font-size:14px;cursor:pointer}
.ti-filter [aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.ti-list{list-style:none;margin:10px 0 0;padding:0;border-top:1px solid var(--rule)}
.ti-item details{border-bottom:1px solid var(--rule)}
.ti-item summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:14px 0;cursor:pointer;list-style:none}
.ti-item summary b{font-family:var(--serif);font-weight:500;font-size:18px}
.ti-item summary span{font-size:14px;color:var(--muted)}
.ti-ref{margin-left:auto;font-variant-numeric:tabular-nums}
.ti-st{font-size:11px!important;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:3px 7px;background:var(--rule-soft);color:var(--ink)!important}
.ti-st-review{background:var(--brass-soft)}
.ti-st-live{background:var(--jade);color:#fff!important}
.ti-st-declined{background:#F3E3E3}
.ti-st-held{background:#F3E3E3}
.ti-held{margin:0 0 12px;padding:10px 12px;background:#FBF3F3;border-left:3px solid #8B2E2E;color:var(--ink)}
.ti-edit{margin:16px 0 0;padding:16px;border:1px solid var(--rule);background:var(--paper);display:grid;gap:12px}
.ti-edit label{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--ink)}
.ti-edit input,.ti-edit textarea{font:inherit;font-weight:400;padding:9px 11px;border:1px solid var(--rule);background:#fff;color:var(--ink);width:100%}
.ti-edit .btn-row{margin:0}
.ti-body{padding:4px 0 20px}
.ti-dl{display:grid;grid-template-columns:200px minmax(0,1fr);gap:6px 16px;margin:0 0 16px;font-size:14.5px;line-height:1.5}
.ti-dl dt{color:var(--muted);font-weight:600}
.ti-dl dd{margin:0;white-space:pre-line}
@media (max-width:640px){.ti-dl{grid-template-columns:1fr}.ti-dl dd{margin-bottom:8px}}
.ti-m{margin-top:16px;padding-top:14px;border-top:1px dashed var(--rule)}
.ti-mlist{list-style:none;margin:0;padding:0}
.ti-mlist li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--rule-soft)}
.ti-mlist p{margin:4px 0 0}
.ti-grade{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--jade)}
.ti-gap{color:#8B2E2E}
.ti-opp{margin:0 0 24px}
.ti-opp h3{font-size:19px;margin:0 0 6px}
.ti-rule{margin-top:20px;padding:12px 14px;background:var(--paper);border-left:3px solid var(--brass)}
.ti-none{padding:16px 0;color:var(--muted)}

.iv-legal-note{margin:18px 0 0;padding:14px 16px;background:var(--paper);border-left:3px solid var(--brass);color:var(--muted);line-height:1.55}
