/* SMC global CSS — hex literals mirror SMC Color variables. Source of truth: build/custom-code/smc-site.css */
/* Card Body rich text (v58 P07 card__list) */
.card_body>:first-child{margin-top:0}.card_body>:last-child{margin-bottom:0}
.card_body p{margin:0 0 8px;font-size:.875rem;line-height:1.6;color:#64748B}
.card_body ul{list-style:none;margin:0;padding-left:0}
.card_body li{position:relative;padding-left:18px;margin-bottom:6px;font-size:.875rem;line-height:1.5;color:#475569}
.card_body li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:#00588A}
/* Accordion (v58 P11): closed by default once JS runs; Designer canvas shows answers open */
.js-acc .accordion_answer{max-height:0;overflow:hidden;padding-bottom:0;transition:max-height .35s ease,padding-bottom .35s ease}
.js-acc .accordion_item.is-open .accordion_answer{padding-bottom:1.25rem}
.accordion_question{user-select:none}
.accordion_question:focus-visible{outline:2px solid #00588A;outline-offset:-2px}
.accordion_item.is-open .accordion_icon{transform:rotate(45deg)}
/* Nav (v58 1.1/1.2): solid bar once scrolled or menu open on the transparent (home) variant */
.nav_component[class*="w-variant-6a7ecef0"].is-solid{background-color:rgba(0,35,56,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 1px 12px rgba(0,0,0,.12)}
body.nav-open,body.portal-open{overflow:hidden}
.nav-open .nav_panel{transform:translate(0,0);visibility:visible;transition:transform .4s cubic-bezier(.25,.1,.25,1),visibility 0s}
.nav-open .nav_backdrop{opacity:1;pointer-events:auto}
.nav-open .nav_hamburger-line:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-open .nav_hamburger-line:nth-child(2){opacity:0}
.nav-open .nav_hamburger-line:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.nav_menu-button:focus-visible,.nav_link:focus-visible,.nav_panel-util:focus-visible,.portal-modal_close:focus-visible{outline:2px solid #00588A;outline-offset:2px}
/* Investor Portals modal (source header) */
.portal-open .portal-modal{display:flex}
/* Story Card (v58 P18): CTA link stretched over the card; Logo variant letterboxes logo art */
.story-card_cta::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}
.story-card:focus-within{outline:2px solid #00588A;outline-offset:2px}
.story-card_cta:focus-visible{outline:none}
.story-card_text>:first-child{margin-top:0}.story-card_text>:last-child{margin-bottom:0}
.story-card_text p{margin:0 0 8px}
[class*="w-variant-f46fa408"] .story-card_image{object-fit:contain}
/* Prose (.text-rich-text) — source page copy in Rich Text blocks */
.text-rich-text>:first-child{margin-top:0}.text-rich-text>:last-child{margin-bottom:0}
.text-rich-text p{margin:0 0 1.1em}
.text-rich-text h2,.text-rich-text h3,.text-rich-text h4{font-family:"Playfair Display",Georgia,serif;font-weight:400;color:#003454;margin:1.5em 0 .6em}
.text-rich-text h2{font-size:clamp(1.75rem,1.254rem + .968vw,2.125rem);line-height:1.25}
.text-rich-text h3{font-size:clamp(1.375rem,1.044rem + .645vw,1.625rem);line-height:1.3}
.text-rich-text h4{font-size:1.25rem;line-height:1.4}
.text-rich-text h5,.text-rich-text h6{font-size:1rem;font-weight:600;color:#003454;margin:1.4em 0 .5em}
.text-rich-text ul,.text-rich-text ol{margin:0 0 1.2em;padding-left:1.4em}
.text-rich-text li{margin-bottom:.45em;padding-left:.2em}
.text-rich-text li>ul,.text-rich-text li>ol{margin:.45em 0 0}
.text-rich-text ul>li::marker{color:#00588A}
.text-rich-text a{color:#00588A;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.text-rich-text a:hover{text-decoration:none}
.text-rich-text strong{font-weight:600;color:#1A1F35}
.text-rich-text blockquote{margin:1.4em 0;padding:0 0 0 1.25em;border-left:3px solid #00588A;font-family:"Playfair Display",Georgia,serif;font-size:1.25rem;color:#003454}
.text-rich-text figure{margin:1.5em 0}.text-rich-text img{max-width:100%;height:auto}
/* In-page anchors (BDC bios, Privacy footnotes) clear the fixed 70px nav */
.text-rich-text [id]{scroll-margin-top:96px}
/* Privacy Policy: Word-style lettered section headings render uppercase (source text-transform) */
.text-rich-text ol[type="A"]>li>strong{text-transform:uppercase}
.text-rich-text sup a{text-decoration:none;font-weight:600}
/* Contact form: embedded selects match .form_input; SMS consent checkbox */
.form_form select.form_input{appearance:auto;width:100%}
.form_form .w-checkbox{display:flex;align-items:flex-start;gap:10px;margin-bottom:0;padding-left:0}
.form_form .w-checkbox-input{margin:3px 0 0;float:none;flex:none}
.form_form .w-form-label{font-size:.875rem;color:#1A1F35}
/* v58 (Gate D) — Page Hero stat strip: a blank Stat Value hides that stat; a blank Stat 1 hides the strip */
.page-hero_stats .stat:has(>.stat_value:empty){display:none}
.page-hero_stats:not(:has(.stat_value:not(:empty))){display:none}
/* v58 P10 data table: no rule under the last row */
.table_body .table_row:last-child .table_cell{border-bottom:0}
.js-acc .accordion_item:not(.is-open) .accordion_link{display:none}
/* v58 tabs (P12): inactive panels hidden once JS is on; first panel shows until the script initialises */
.js-acc .tabs_panel{display:none}
.js-acc .tabs_panel.is-active{display:block;animation:smcFadeUp .4s forwards}
.js-acc .tabs_component:not(.is-init) .tabs_nav+.tabs_panel{display:block}
.tabs_button:focus-visible{outline:2px solid #00588A;outline-offset:-2px}
@keyframes smcFadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.js-acc .tabs_panel.is-active{animation:none}}
/* v58 audience tabs (pills): first subheading in a panel has no top margin */
.tabs_panel>.tabs_subhead:first-of-type{margin-top:0}
.tabs_panel>.button-group{margin-top:26px}
/* v58 mandate matcher (P09): result card appears once an answer is picked */
.js-acc .matcher_result:not(.is-visible){display:none}
.matcher_chip:focus-visible{outline:2px solid #00588A;outline-offset:2px}
/* v58 flywheel hero (P08) */
.flywheel_plane .w-embed,.flywheel_plane svg{width:100%;height:100%;display:block}
.flywheel_ring{transform-origin:400px 400px;animation:smcFwSpin 90s linear infinite}
@keyframes smcFwSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.flywheel_ring{animation:none}}
.flywheel_node:focus-visible{outline:2px solid #22d3ee;outline-offset:3px}
@media (max-width:900px){
.section_flywheel .flywheel_stage{height:auto;perspective:none;padding:8px 20px 0}
.section_flywheel .flywheel_plane,.section_flywheel .flywheel_chip{display:none}
.section_flywheel .flywheel_hub{position:static;transform:none;margin:0 auto 18px;max-width:420px}
.section_flywheel .flywheel_node{position:static;width:auto;margin:0 0 14px;display:block}
.section_flywheel .flywheel_title{font-size:32px}
}
/* v6: industry tile highlight (v58 .imgtile::after) */
.industry-tile::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.12),transparent 60%);pointer-events:none}
/* v6: card description with inline bold lives in the Body rich text (v58 card__desc <strong>) */
.card_body:has(>p:first-child){margin-top:0}
/* v7: About — story hero carousel, chart card, equation card (v58 story-open / scar / lmm / equation-card) */
.carousel_play::before{content:"";width:0;height:0;border-top:7.6px solid transparent;border-bottom:7.6px solid transparent;border-left:12px solid currentColor;margin-left:3px}
.carousel_arrow:focus-visible,.carousel_dot:focus-visible,.carousel_play:focus-visible,.carousel_cta:focus-visible{outline:2px solid #22d3ee;outline-offset:3px}
.chart-card_figure svg{display:block;width:100%;height:auto}
.chart-card_figure .w-embed{display:block}
.equation-card::before{content:'';position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,rgba(8,145,178,.1) 0%,transparent 70%);pointer-events:none}
.story-tile:focus-visible,.aud-card:focus-visible{outline:2px solid #22d3ee;outline-offset:3px}
.story-hero_claim sup{position:static;top:auto;vertical-align:super;font-size:smaller;line-height:inherit}
.case-row_text p{margin:0}.case-row_text>:last-child{margin-bottom:0}
.case-row_paper:focus-visible{outline:2px solid #00588A;outline-offset:2px}
/* v58 Media Center / Category news cards (v58 inline: title 17px, CTA 14px/600 teal-deep) */
.is-media .card_title{font-size:17px;font-weight:500;line-height:normal}
.is-media .card .text-style-link{font-size:14px;font-weight:600;line-height:normal;color:#00588A;text-decoration:none}
/* v58 advisor card (Person Card): the whole card opens the bio; READ FULL BIO + social icons are not shown (v58 has neither) */
.person-card .card_body{margin-top:10px}
.person-card_footer{height:0;margin:0;padding:0;overflow:hidden}
.person-card_social{display:none}
.person-card_footer .text-style-link{position:static}
.person-card_footer .text-style-link::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}
.person-card:focus-within{outline:2px solid #00588A;outline-offset:2px}
.person-card_footer .text-style-link:focus-visible{outline:none}
/* v58 dark callout bullets (card__list) */
.dark-callout_item::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:#00588A}
/* v58 Contact form: placeholder-only fields (labels kept for screen readers) */
.form_form.is-compact .form_field-wrapper{position:relative}
.form_form.is-compact .form_label,.form_form.is-compact .form_sublabel{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.form_form.is-compact .form_input::placeholder{color:#757575;opacity:1}
.form_form.is-compact .w-checkbox{margin-bottom:0}
/* v58 Contact department cards: email sits directly under the description */
.grid-2-col.is-intrinsic .card .text-style-link{display:block;font-size:14px;line-height:1.6}
.grid-2-col.is-intrinsic .card .text-style-link,.callout_text.is-small .text-style-link{text-decoration:underline}
/* v58 bio page (Team / Senior Team templates): CMS bio in v58 .bio__body type */
.text-rich-text.is-bio{color:#334155;font-size:15px;line-height:1.75}
.text-rich-text.is-bio p{margin:0 0 18px}
.text-rich-text.is-bio h2,.text-rich-text.is-bio h3,.text-rich-text.is-bio h4{font-size:22px;font-weight:500;line-height:normal;margin:32px 0 16px}
.text-rich-text.is-bio ul,.text-rich-text.is-bio ol{margin:0;padding:0 0 0 20px;color:#475569;line-height:1.9}
.text-rich-text.is-bio li{margin:0;padding:0}
.text-rich-text.is-bio ul>li::marker{color:inherit}
.text-rich-text.is-bio a{font-weight:400}
.bio_back svg{flex:none}
/* v18: v58 bio has no social icons (HTML-first direction, 2026-10-01) — global .person-card_social{display:none} applies */
.text-rich-text.is-bio p.is-subhead{font-family:"Playfair Display",Georgia,serif;font-size:22px;font-weight:500;line-height:normal;color:#003454;margin:32px 0 16px}
.text-rich-text.is-bio p.is-subhead strong{font-weight:inherit;color:inherit}
/* long unbroken URLs in rich text (Privacy footnotes, bios) wrap instead of widening the page on phones */
.text-rich-text p,.text-rich-text li{overflow-wrap:break-word}
/* (Webflow .w-richtext ul/ol is overflow:hidden, so list indents use padding, not margin, or outside markers get clipped) */
/* v16 — live-site-only sub pages in the v58 long-text treatment (P27 bio column, P07 card rows, P05 eyebrow) */
.section_prose .container-small{max-width:860px}
.section_prose .text-rich-text p{margin-bottom:18px}
.section_prose .text-rich-text>p:last-child{margin-bottom:0}
.section_prose .text-rich-text ul,.section_prose .text-rich-text ol{margin:0 0 18px;padding:0 0 0 20px;color:#475569;line-height:1.9}
.section_prose .text-rich-text li{margin:0;padding:0}
.section_prose .text-rich-text li>ul,.section_prose .text-rich-text li>ol{margin:2px 0 6px;padding-left:20px}
.section_prose .text-rich-text ul>li::marker{color:#00588A}
.section_prose .text-rich-text>ul:last-child,.section_prose .text-rich-text>ol:last-child{margin-bottom:0}
.section_prose .media-row:not(.is-stacked){margin:20px 0;padding:32px 28px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;align-items:center;transition:border-color .3s,transform .3s,box-shadow .3s}
.section_prose .media-row:not(.is-stacked):hover{border-color:#00588A;transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.06)}
.section_prose .text-rich-text+.media-row:not(.is-stacked){margin-top:32px}
.section_prose .media-row:not(.is-stacked)+.text-rich-text{margin-top:40px}
.section_prose .media-row:not(.is-stacked) .text-rich-text h4{font-size:20px;font-weight:500;line-height:1.3;margin:0 0 10px}
.section_prose .media-row:not(.is-stacked) .text-rich-text h4 a{color:#003454;font-weight:500;text-decoration:none}
.section_prose .media-row:not(.is-stacked) .text-rich-text h4 a:hover{color:#00588A}
@media (min-width:768px){.section_prose .media-row:not(.is-stacked){grid-template-columns:200px minmax(0,1fr);column-gap:36px}.section_prose .media-row:not(.is-stacked) .media-row_image{max-width:200px;margin:0 auto}}
.text-rich-text.is-eyebrow-heading>h2{font-family:"Libre Franklin",Arial,sans-serif;font-size:14px;font-weight:600;line-height:1.2;letter-spacing:2.5px;text-transform:uppercase;color:#00588A;margin:0 0 32px}

/* v18 — v58 advisor card location line (Person Card Location prop; hidden when empty, e.g. on /teams) */
.person-card_location:empty{display:none}

/* v19 - Final QA (Markup review, 2026-10-15) */
/* #2 Media Center + Category lists: Previous/Next sit clear of the card grid */
.w-dyn-list>.w-pagination-wrapper{margin-top:48px;gap:12px}
.w-pagination-wrapper>.w-pagination-previous,.w-pagination-wrapper>.w-pagination-next{margin:0;color:#003454;background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:10px 22px;font-size:14px;font-weight:600;transition:border-color .2s,color .2s}
.w-pagination-wrapper>.w-pagination-previous:hover,.w-pagination-wrapper>.w-pagination-next:hover{border-color:#00588A;color:#00588A}
/* #3 Teams + Senior Advisors grids: every row of person cards is the same height (tablet/desktop) */
@media (min-width:768px){.w-dyn-items:has(>.w-dyn-item>.person-card){grid-auto-rows:1fr}.w-dyn-item>.person-card{height:100%}}
@media (min-width:768px) and (max-width:991px){.w-dyn-items:has(>.w-dyn-item>.person-card){grid-template-columns:repeat(2,minmax(0,1fr))}}
/* #4/#19 a CTA band that closes a page outside a padded section keeps the standard section gap above the footer (section-y tokens 3.75-5.25rem) */
.section_content>.padding-global>.container-large>.cta-band:last-child{margin-bottom:clamp(3.75rem,1.766rem + 3.871vw,5.25rem)}
/* #13 title-less list cards: the list starts at the card padding, so top and bottom space match */
.card>.card_body:first-child{margin-top:0}

/* v20 - pre-launch QA (2026-10-20) */
/* #1/#10/#12 Orphan cards on the last row of any card grid sit centred (Senior Team, Senior Advisors & Operating Partners, Locations, every .grid-2/3/4-col incl. CMS lists).
   Each grid uses twice as many tracks and every card spans two, so card widths are unchanged; a lone card or a pair on the last row starts one track in. Phones (one column) are untouched. */
@media (min-width:768px){
.grid-3-col{grid-template-columns:repeat(6,minmax(0,1fr))}
.grid-3-col>*{grid-column:span 2}
.grid-3-col>:nth-child(3n+1):last-child{grid-column:3/span 2}
.grid-3-col>:nth-child(3n+1):nth-last-child(2){grid-column:2/span 2}
.grid-2-col:not(.is-intrinsic){grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-2-col:not(.is-intrinsic)>*{grid-column:span 2}
.grid-2-col:not(.is-intrinsic)>:nth-child(2n+1):last-child{grid-column:2/span 2}
}
@media (min-width:768px) and (max-width:991px){
.w-dyn-items.grid-3-col:has(>.w-dyn-item>.person-card){grid-template-columns:repeat(4,minmax(0,1fr))}
.w-dyn-items.grid-3-col:has(>.w-dyn-item>.person-card)>:nth-child(n){grid-column:span 2}
.w-dyn-items.grid-3-col:has(>.w-dyn-item>.person-card)>:nth-child(2n+1):last-child{grid-column:2/span 2}
.grid-4-col{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-4-col>*{grid-column:span 2}
.grid-4-col>:nth-child(2n+1):last-child{grid-column:2/span 2}
}
@media (min-width:992px){
.grid-4-col{grid-template-columns:repeat(8,minmax(0,1fr))}
.grid-4-col>*{grid-column:span 2}
.grid-4-col>:nth-child(4n+1):last-child{grid-column:4/span 2}
.grid-4-col>:nth-child(4n+1):nth-last-child(2){grid-column:3/span 2}
.grid-4-col>:nth-child(4n+1):nth-last-child(3){grid-column:2/span 2}
}
