/* Inner pages for the staging site. Loads after assets/homepage/home.css, which supplies the
   tokens (--ink, --muted, --line, --cobalt, --gold, --grad-*), header, footer, buttons and type. */

body{margin:0;background:#fff;color:var(--ink)}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}

/* Page hero: the homepage's blue panel, shorter, with the title and section tabs */
.page-hero{position:relative;z-index:10;margin:12px;border-radius:var(--radius-panel);background:var(--grad-deep);color:#fff}
.page-hero .site-header{position:relative;z-index:5}
.page-hero .desktop-nav a[aria-current=page]:after{transform:scaleX(1)}
.page-hero-body{padding:clamp(40px,6vw,96px) calc(var(--gutter) - 12px) clamp(28px,3vw,40px);max-width:1100px}
.page-eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#c9d6ff}
.page-title{margin-top:16px;font-size:clamp(2.75rem,5.6vw,5rem);font-weight:500;line-height:1.04;letter-spacing:-.04em}
.page-lede{margin-top:20px;max-width:40rem;font-size:var(--type-body);line-height:1.6;color:#dce5ff}
.subnav{display:flex;flex-wrap:wrap;gap:10px;padding:8px calc(var(--gutter) - 12px) clamp(28px,3vw,40px)}
.subnav a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border-radius:40px;border:1px solid rgba(255,255,255,.28);font-size:var(--type-control);font-weight:600;color:#fff;transition:background .3s,border-color .3s,color .3s}
.subnav a i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45)}
.subnav a:hover{background:rgba(255,255,255,.12)}
.subnav a.is-current{background:var(--gold);border-color:var(--gold);color:#000}
.subnav a.is-current i{background:#fff}
.page-hero .mobile-nav{position:absolute;z-index:20;box-shadow:0 24px 48px -16px rgba(4,11,44,.45)}
@media(max-width:980px){.page-hero .menu-toggle{display:flex}.page-hero .desktop-nav,.page-hero .header-contact{display:none}}
@media(max-width:760px){.page-hero{margin:8px}.page-hero-body{padding:32px 20px 24px}.subnav{padding:4px 20px 24px;gap:8px}.subnav a{min-height:40px;padding:0 14px;font-size:.875rem}}

/* Page body */
.page-main{padding:clamp(48px,6vw,96px) var(--gutter) clamp(72px,8vw,128px)}
.page-section+.page-section{margin-top:clamp(56px,6vw,96px)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(24px,3vw,40px)}
.section-head h2{font-size:var(--type-heading,2.9375rem);font-weight:500;line-height:1.1;letter-spacing:-.035em}
.section-head h2 .muted{color:var(--cobalt)}
.section-head p{max-width:32rem;color:var(--muted)}
.sec-label{display:block;margin-bottom:20px;font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lede{font-size:clamp(1.25rem,1.8vw,1.5rem);line-height:1.5;letter-spacing:-.015em;max-width:46rem}
@media(max-width:760px){.page-main{padding:40px 20px 72px}.section-head{flex-direction:column;align-items:flex-start}}

/* Two-column intro: heading left, copy right */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.split>div>p+p{margin-top:16px}
.split p{color:var(--muted);line-height:1.7}
@media(max-width:900px){.split{grid-template-columns:1fr}}

/* Cards */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px}
.card-grid.cols-2{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}
.card{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:12px;padding:clamp(24px,2.4vw,32px);border-radius:var(--radius-card);background:var(--ice);color:var(--ink);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.card:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:rgba(23,71,220,.06);opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1);pointer-events:none}
a.card:hover{transform:translateY(-3px);color:var(--ink)}
a.card:hover:after{opacity:1}
.card h3,.card h2{font-size:var(--type-title,1.8125rem);font-weight:600;line-height:1.2;letter-spacing:-.02em}
.card p{color:var(--muted);line-height:1.6}
.card .card-meta{font-size:.875rem;font-weight:600;color:var(--muted)}
.card>svg{width:22px;height:22px;align-self:flex-end;order:-1}
.card.is-deep{background:var(--grad-deep);color:#fff}
.card.is-deep p,.card.is-deep .card-meta{color:#d6e1ff}
a.card.is-deep:hover{color:#fff}
.card.is-deep:after{background:rgba(255,255,255,.1)}
.card.is-gold{background:linear-gradient(155deg,#fff1b8 0%,#fdd75a 55%,#f9c22c 100%)}
.card.is-gold p{color:rgba(0,24,61,.75)}

/* Facts list (label / value rows) */
.facts{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:0 32px;border-top:1px solid var(--line)}
.facts>div{padding:16px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:.875rem;font-weight:600;color:var(--muted)}
.facts dd{margin:4px 0 0;font-size:1.0625rem;font-weight:600;line-height:1.45}
.facts a{color:var(--blue)}

/* Data panel that wraps live widgets (MarketTool) */
.panel{padding:clamp(20px,2.6vw,36px);border-radius:var(--radius-card);background:#fff;border:1px solid var(--line)}
.panel+.panel{margin-top:16px}
.panel h2,.panel h3{font-size:var(--type-title,1.8125rem);font-weight:500;letter-spacing:-.02em;margin-bottom:20px}

/* Tables */
.table-wrap{overflow-x:auto}
.data-table{width:100%;border-collapse:collapse;font-size:.9375rem;font-variant-numeric:tabular-nums}
.data-table th{padding:12px 12px 12px 0;text-align:left;font-size:.8125rem;font-weight:600;color:var(--muted);border-bottom:1px solid var(--ink)}
.data-table td{padding:14px 12px 14px 0;border-bottom:1px solid var(--line);vertical-align:top}

/* People (executives, board) */
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:clamp(24px,3vw,40px) 16px}
.person{display:flex;flex-direction:column;gap:10px}
.person img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;border-radius:var(--radius-card);background:var(--ice)}
.person h3{margin-top:8px;font-size:1.375rem;font-weight:600;letter-spacing:-.015em}
.person .role{font-size:.9375rem;font-weight:600;color:var(--cobalt)}
.person p{color:var(--muted);line-height:1.65;font-size:.9375rem}
.person details summary{cursor:pointer;font-weight:600;color:var(--blue);list-style:none;display:inline-flex;align-items:center;gap:8px}
.person details summary::-webkit-details-marker{display:none}
.person details summary:after{content:"+";font-size:1.125rem;line-height:1}
.person details[open] summary:after{content:"–"}
.person details p{margin-top:10px}

/* FAQ / accordions */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;cursor:pointer;list-style:none;font-size:1.1875rem;font-weight:600;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"";flex:none;width:34px;height:34px;border-radius:50%;background:var(--ice) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231747dc' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 7v10M7 12h10'/%3E%3C/svg%3E") center/18px no-repeat;transition:transform .4s cubic-bezier(.16,1,.3,1),background-color .3s}
.faq details[open] summary:after{transform:rotate(45deg);background-color:var(--gold)}
.faq .answer{padding:0 0 24px;max-width:52rem;color:var(--muted);line-height:1.7}
.faq .answer p+p,.faq .answer ul{margin-top:12px}
.faq .answer a{color:var(--blue)}
.faq-group+.faq-group{margin-top:clamp(40px,5vw,72px)}
.faq-group h2{font-size:var(--type-title,1.8125rem);font-weight:500;letter-spacing:-.02em;margin-bottom:16px}

/* Long-form text (legal pages) */
.prose{max-width:48rem;color:var(--ink);line-height:1.75}
.prose h2{margin:48px 0 12px;font-size:1.625rem;font-weight:600;letter-spacing:-.02em;line-height:1.25}
.prose h3{margin:32px 0 8px;font-size:1.1875rem;font-weight:600}
.prose p,.prose ul,.prose ol{margin:0 0 16px;color:#3d4b63}
.prose ul,.prose ol{padding-left:1.25em}
.prose li+li{margin-top:6px}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.prose>:first-child{margin-top:0}

/* Document / link lists (governance docs, presentations, sitemap) */
.doc-list{border-top:1px solid var(--line)}
.doc-list>a,.doc-list>div{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line);color:var(--ink);transition:color .25s}
.doc-list>a:hover{color:var(--blue)}
.doc-list strong{font-size:1.0625rem;font-weight:600}
.doc-list span{color:var(--muted);font-size:.9375rem}
.doc-list svg{width:20px;height:20px;flex:none}

/* Forms: one system for every public form. 8-pt spacing, 52px controls, 56px choices and submit,
   inline errors under each field (form-client.js), summary in .form-error. */
.c-form{container-type:inline-size}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;align-items:start}
.form>*{min-width:0}
.form .full,.form>fieldset,.form>.btn,.form>.form-error,.form>.form-note,.form .hcaptcha-box{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.form label{font-size:.875rem;font-weight:600;line-height:1.4;color:var(--ink)}
.req{margin-left:2px;color:#b42318}
.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea{display:block;width:100%;min-height:52px;margin:0;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit;font-size:1rem;line-height:1.5;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.form textarea{min-height:144px;resize:vertical}
.form ::placeholder{color:#717c90;opacity:1}
.form select{-webkit-appearance:none;appearance:none;padding-right:44px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2364748b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 18px center;cursor:pointer}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--cobalt);box-shadow:0 0 0 3px rgba(23,71,220,.2)}
.form [aria-invalid=true]:not(fieldset):not(div){border-color:#b42318}
.form [aria-invalid=true]:focus{box-shadow:0 0 0 3px rgba(180,35,24,.18)}
.field-help,.field-error{margin:0;font-size:.8125rem;line-height:1.5}
.field-help{color:var(--muted)}
.field-error{display:flex;gap:8px;font-weight:600;color:#b42318}
.field-error:before{content:"!";flex:none;display:inline-grid;place-items:center;width:16px;height:16px;margin-top:2px;border-radius:50%;background:#b42318;color:#fff;font-size:.6875rem;line-height:1}
.form fieldset{margin:0;padding:0;border:0;min-width:0}
.form legend{padding:0;margin-bottom:8px;font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.choice-groups{display:flex;flex-direction:column;gap:24px}
.choice-groups>.field-error{margin-top:-8px}
.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,224px),1fr));gap:8px}
.form .choice{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:.9375rem;font-weight:600;line-height:1.35;color:var(--ink);cursor:pointer;transition:border-color .2s}
.form .choice:hover{border-color:#b9c4d6}
.form .choice input{appearance:none;-webkit-appearance:none;flex:none;order:1;width:44px;height:26px;margin:0;padding:0;border:0;border-radius:20px;background:#c9d1df;position:relative;cursor:pointer;transition:background .25s}
.form .choice input:before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(4,11,44,.25);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.form .choice input:checked{background:var(--cobalt)}
.form .choice input:checked:before{transform:translateX(18px)}
.form .choice input:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px;box-shadow:none}
.form .choice:has(input:checked){border-color:rgba(23,71,220,.45)}
.choice-groups[aria-invalid=true] .choice{border-color:#e7a29b}
.form .hcaptcha-box{min-height:78px;max-width:100%}
.form .hcaptcha-box[role=alert]{min-height:0;padding:12px 16px;border-radius:14px;background:#fff2f2;color:#b42318;font-size:.875rem;font-weight:600;line-height:1.5}
.form-note{margin:0;font-size:.8125rem;line-height:1.5;color:var(--muted)}
.form .btn{width:100%;min-height:56px;justify-content:space-between;padding:8px 8px 8px 24px;font-size:1rem;line-height:1.3;text-align:left}
.form .btn svg{flex:none;transition:transform .3s}
.form .btn:hover svg{transform:translateX(3px)}
.form .btn:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
.form .btn[disabled]{opacity:.6;cursor:wait}
.form-error{padding:12px 16px;border:1px solid #f5c2c2;border-radius:14px;background:#fff2f2;color:#b42318;font-size:.9375rem;font-weight:600;line-height:1.5}
.form-done{display:flex;flex-direction:column;gap:8px;margin-top:32px;padding:24px;border-radius:var(--radius-card);background:#ecf8f0}
.form-done h2,.form-done h3{margin:0;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:500;letter-spacing:-.03em;line-height:1.2;color:var(--ink)}
.form-done p{margin:0;color:var(--muted)}
@media(max-width:760px){.form{grid-template-columns:minmax(0,1fr)}}
@container (max-width:480px){.form{grid-template-columns:minmax(0,1fr)}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:0 8px 0 24px;border:0;border-radius:40px;background:var(--cobalt);color:#fff;font:inherit;font-size:var(--type-control);font-weight:600;cursor:pointer;transition:background .25s}
.btn svg{width:36px;height:36px;padding:9px;border-radius:50%;background:#fff;color:var(--cobalt)}
.btn:hover{background:#0a2a8f;color:#fff}
.btn.is-plain{padding:0 24px}

/* Callout band */
.callout{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:clamp(28px,3vw,44px);border-radius:var(--radius-panel);background:var(--grad-cobalt);color:#fff}
.callout h2{font-size:clamp(1.75rem,2.6vw,2.5rem);font-weight:500;letter-spacing:-.03em}
.callout p{color:#dce5ff;margin-top:8px}
.callout .btn{background:#fff;color:var(--cobalt)}
.callout .btn svg{background:var(--cobalt);color:#fff}

/* Leaders (executive team, board): one person per row, big portrait and bio side by side,
   alternating sides. The media slot takes an <img> now and a looping <video> later. */
.leaders{display:flex;flex-direction:column;gap:clamp(72px,9vw,144px)}
.leader{--media-w:min(100%,calc(min(80svh,760px) * .8));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,112px);align-items:center;scroll-margin-top:24px}
.leader-media{position:relative;isolation:isolate;justify-self:start;width:var(--media-w);aspect-ratio:4/5;margin:0;overflow:hidden;border-radius:var(--radius-panel);background:var(--ice)}
.leader:nth-child(even) .leader-media{order:2;justify-self:end}
.leader-media>img,.leader-media>video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 18%;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.leader-chip{position:absolute;top:18px;left:18px;padding:7px 14px;border-radius:40px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.leader-media figcaption{position:absolute;inset:auto 0 0 0;z-index:1;display:flex;flex-direction:column;gap:6px;padding:clamp(80px,12vw,160px) clamp(24px,2.6vw,36px) clamp(24px,2.6vw,36px);background:linear-gradient(180deg,rgba(18,51,159,0) 0%,rgba(18,51,159,.55) 45%,rgba(10,36,120,.92) 100%);color:#fff;opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.leader-media figcaption strong{font-size:clamp(1.5rem,2.2vw,2rem);font-weight:600;letter-spacing:-.02em;line-height:1.15}
.leader-media figcaption span{font-size:.9375rem;color:#d6e1ff}
.leader:hover .leader-media>img,.leader:hover .leader-media>video{transform:scale(1.035)}
.leader:hover .leader-media figcaption{opacity:1;transform:none}
.leader-copy{max-width:36rem}
.leader-copy .sec-label{margin-bottom:16px}
.leader-copy h3{font-size:clamp(2.25rem,3.6vw,3.5rem);font-weight:500;line-height:1.05;letter-spacing:-.035em}
.leader-role{margin-top:12px;font-size:1.0625rem;font-weight:600;color:var(--cobalt)}
.leader-lead{margin-top:28px;font-size:clamp(1.125rem,1.4vw,1.3125rem);line-height:1.6;color:var(--ink)}
.leader-more{margin-top:24px;border-top:1px solid var(--line)}
.leader-more summary{display:inline-flex;align-items:center;gap:12px;padding-top:20px;cursor:pointer;list-style:none;font-weight:600;color:var(--blue)}
.leader-more summary::-webkit-details-marker{display:none}
.leader-more summary:after{content:"";width:30px;height:30px;border-radius:50%;background:var(--ice) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231747dc' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 7v10M7 12h10'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .4s cubic-bezier(.16,1,.3,1),background-color .3s}
.leader-more[open] summary:after{transform:rotate(45deg);background-color:var(--gold)}
.leader-more>div{padding-top:16px;color:var(--muted);line-height:1.7}
.leader-more>div p+p{margin-top:14px}
@media(prefers-reduced-motion:reduce){.leader-media>img,.leader-media>video,.leader-media figcaption{transition:none}}
@media(hover:none){.leader-media figcaption{display:none}}
@media(max-width:900px){
  .leaders{gap:72px}
  .leader{grid-template-columns:1fr;gap:28px}
  .leader-media,.leader:nth-child(even) .leader-media{order:0;justify-self:stretch;width:100%}
}

/* Readable width: inner-page content (and the hero title above it) sits in one centred
   column of at most 1200px, so lines never run the full screen. The top nav stays full width. */
:root{--page-x:max(var(--gutter),calc((100vw - 1200px) / 2))}
.page-main{padding-left:var(--page-x);padding-right:var(--page-x)}
.page-hero-body{padding-left:calc(var(--page-x) - 12px);padding-right:calc(var(--page-x) - 12px);max-width:none}
.page-hero-body>*{max-width:46rem}
.subnav{padding-left:calc(var(--page-x) - 12px);padding-right:calc(var(--page-x) - 12px)}
.split p,.card p,.facts dd,.leader-lead,.faq .answer{max-width:64ch}
@media(max-width:760px){:root{--page-x:20px}.page-hero-body,.subnav{padding-left:20px;padding-right:20px}}

/* Press releases (MarketTool fullnews): date | headline + source | link, grouped by year */
.news-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:0 0 24px;font-size:.9375rem;color:var(--muted)}
.news-filters-label{font-weight:600;color:var(--ink);margin-right:auto}
.news-filters label{display:flex;align-items:center;gap:10px}
.news-list{display:flex;flex-direction:column}
.news-year{margin:clamp(40px,5vw,64px) 0 8px;font-size:clamp(1.75rem,2.6vw,2.25rem);font-weight:500;letter-spacing:-.03em;color:var(--cobalt)}
.news-year:first-child{margin-top:0}
.news-row{display:grid;grid-template-columns:9.5rem minmax(0,1fr) auto;gap:8px clamp(20px,3vw,48px);align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line);color:var(--ink);transition:background .3s}
.news-year+.news-row{border-top:1px solid var(--ink)}
.news-date{font-size:.9375rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.news-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.news-title{font-size:clamp(1.125rem,1.35vw,1.3125rem);font-weight:600;line-height:1.4;letter-spacing:-.01em;max-width:56ch;transition:color .25s}
.news-source{font-size:.875rem;color:var(--muted)}
.news-cta{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:var(--blue);white-space:nowrap}
.news-cta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
.news-row:hover .news-title{color:var(--blue)}
.news-row:hover .news-cta svg{transform:translate(2px,-2px)}
@media(max-width:760px){.news-row{grid-template-columns:1fr;gap:8px;padding:22px 0}.news-cta{margin-top:4px}}

/* Leaders, calmer: portrait sized to the copy beside it, quieter type */
.leaders{gap:clamp(56px,7vw,104px)}
.leader{grid-template-columns:clamp(260px,30vw,400px) minmax(0,1fr);gap:clamp(32px,5vw,80px)}
.leader:nth-child(even){grid-template-columns:minmax(0,1fr) clamp(260px,30vw,400px)}
.leader-media,.leader:nth-child(even) .leader-media{width:100%;justify-self:stretch}
.leader:nth-child(even) .leader-copy{justify-self:end}
.leader-copy{max-width:34rem}
.leader-copy h3{font-size:clamp(1.75rem,2.4vw,2.25rem);font-weight:600;letter-spacing:-.025em;line-height:1.15}
.leader-role{margin-top:8px;font-size:1rem}
.leader-lead{margin-top:18px;font-size:1.0625rem;line-height:1.65;color:#3d4b63}
.leader-media figcaption strong{font-size:1.375rem}
.leader-media figcaption span{font-size:.875rem}
.leader-chip.is-gold{background:var(--gold);color:#000}
@media(max-width:900px){.leader,.leader:nth-child(even){grid-template-columns:1fr}.leader-media,.leader:nth-child(even) .leader-media{max-width:420px}.leader:nth-child(even) .leader-copy{justify-self:start}}

/* Leader bio: the rest of the bio continues straight after the intro, with no divider,
   and the toggle always sits at the end of the text. The portrait aligns with the name
   and stays in view while a long bio is read. */
.leader{align-items:start}
.leader-media{position:sticky;top:32px}
.leader-lead{margin-bottom:0}
.bio-switch{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.leader-bio{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s cubic-bezier(.22,1,.36,1)}
.leader-bio>div{min-height:0;overflow:hidden;opacity:0;transform:translateY(-6px);transition:opacity .45s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.leader-bio p{margin-top:18px;font-size:1.0625rem;line-height:1.65;color:#3d4b63;max-width:64ch}
.bio-switch:checked~.leader-bio{grid-template-rows:1fr}
.bio-switch:checked~.leader-bio>div{opacity:1;transform:none;transition-delay:.08s}
.bio-toggle{display:inline-flex;align-items:center;gap:12px;margin-top:22px;min-height:44px;cursor:pointer;font-weight:600;color:var(--blue);user-select:none}
.bio-toggle i{width:30px;height:30px;border-radius:50%;background:var(--ice) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231747dc' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 7v10M7 12h10'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .45s cubic-bezier(.22,1,.36,1),background-color .3s}
.bio-toggle .less,.bio-switch:checked~.bio-toggle .more{display:none}
.bio-switch:checked~.bio-toggle .less{display:inline}
.bio-switch:checked~.bio-toggle i{transform:rotate(45deg);background-color:var(--gold)}
.bio-switch:focus-visible~.bio-toggle{outline:2px solid var(--cobalt);outline-offset:4px;border-radius:8px}
@media(prefers-reduced-motion:reduce){.leader-bio,.leader-bio>div,.bio-toggle i{transition:none}}
@media(max-width:900px){.leader-media{position:relative;top:auto}}
.leader-copy{position:relative}
.bio-switch{left:0;bottom:12px}

/* Transparent cut-out portraits sit on a soft sky panel */
.leader-media.is-cutout{background:var(--grad-sky)}
.leader-media.is-cutout>img{object-fit:cover;object-position:center bottom}

/* Page header: one fixed height on every inner page, so moving between pages never shifts
   anything. Title and intro sit at the bottom; the intro is held to two lines. */
.page-hero{display:flex;flex-direction:column;height:clamp(380px,46vh,440px);view-transition-name:page-hero}
.page-hero-body{margin-top:auto;padding-top:0;padding-bottom:clamp(36px,4vw,52px)}
.page-title{margin-top:12px;font-size:clamp(2.5rem,4.6vw,4.25rem)}
.page-lede{margin-top:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
::view-transition-group(page-hero){animation-duration:0s}

/* Section tabs live below the blue header, on white */
.subnav{padding-top:clamp(20px,2.4vw,28px);padding-bottom:0;gap:8px}
.subnav a{border-color:var(--line);color:var(--ink);background:#fff}
.subnav a i{background:#c3cddc}
.subnav a:hover{background:var(--ice);border-color:var(--ice)}
.subnav a.is-current{background:var(--gold);border-color:var(--gold);color:#000}
.subnav a.is-current i{background:#fff}
.subnav+.page-main,.page-main{padding-top:clamp(40px,5vw,72px)}
@media(max-width:760px){
  .page-hero{height:auto;min-height:300px}
  .page-hero-body{padding:24px 20px 28px}
  .subnav{padding:16px 20px 0}
}
/* Intros are never cut off: a wider measure fits the longest (Subsidiaries) in three lines */
.page-hero-body>.page-lede{max-width:56rem;display:block;-webkit-line-clamp:unset;overflow:visible}

/* Inner pages use the same content width as the homepage (its --gutter), so every page
   lines up. Long text stays readable through the paragraph max-widths above. */
:root{--page-x:var(--gutter)}
@media(max-width:760px){:root{--page-x:20px}}

/* Equal three-up card rows that span the full content width */
.card-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.card-grid.cols-3{grid-template-columns:1fr}}
.card a,.card address,.card p{overflow-wrap:anywhere}

/* SEC filings (MarketTool filings): roomy rows grouped by year, like the press list */
.filing-list{display:flex;flex-direction:column}
.filing-row{display:grid;grid-template-columns:9.5rem minmax(0,1fr) auto;gap:12px clamp(20px,3vw,48px);align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.news-year+.filing-row{border-top:1px solid var(--ink)}
.filing-body{display:flex;align-items:center;gap:16px;min-width:0}
.filing-form{flex:none;min-width:4.5rem;padding:5px 12px;border-radius:40px;background:var(--ice);font-size:.8125rem;font-weight:700;letter-spacing:.02em;text-align:center;color:var(--cobalt)}
.filing-desc{font-size:1.0625rem;font-weight:600;line-height:1.4;color:var(--ink)}
.filing-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.filing-links a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:40px;font-size:.875rem;font-weight:600;color:var(--ink);transition:background .25s,border-color .25s,color .25s}
.filing-links a:hover{border-color:var(--cobalt);color:var(--cobalt)}
.filing-links a.is-primary{background:var(--cobalt);border-color:var(--cobalt);color:#fff}
.filing-links a.is-primary:hover{background:#0a2a8f;color:#fff}
@media(max-width:900px){.filing-row{grid-template-columns:1fr;gap:12px;padding:22px 0}.filing-links{justify-content:flex-start}}
.filing-list{margin-top:16px}

/* Leaders, centred column: one narrower column on the page's centre line, portrait left,
   the whole bio open on the right. Every row reads the same way. */
.section-head.is-centered{justify-content:center;text-align:center}
.leaders.is-centered{max-width:1040px;margin:0 auto;gap:clamp(56px,6vw,96px)}
.leaders.is-centered .leader,.leaders.is-centered .leader:nth-child(even){grid-template-columns:clamp(240px,26vw,340px) minmax(0,1fr);gap:clamp(28px,4vw,64px)}
.leaders.is-centered .leader:nth-child(even) .leader-media{order:0}
.leaders.is-centered .leader:nth-child(even) .leader-copy{justify-self:start}
.leaders.is-centered .leader-copy{max-width:none}
.leader-bio-open p{margin-top:16px;font-size:1.0625rem;line-height:1.7;color:#3d4b63;max-width:64ch}
@media(max-width:900px){.leaders.is-centered .leader,.leaders.is-centered .leader:nth-child(even){grid-template-columns:1fr}}

/* People pages: index on the left (heading + names, stays in view), portraits and bios on the right */
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.people-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(40px,6vw,104px);align-items:start}
.people-nav{position:sticky;top:32px}
.people-nav h2{font-size:clamp(2rem,3vw,2.75rem);font-weight:500;line-height:1.08;letter-spacing:-.035em}
.people-nav h2 .muted{color:var(--cobalt)}
.people-nav nav{display:flex;flex-direction:column;margin-top:28px;border-top:1px solid var(--line)}
.people-nav a{display:flex;flex-direction:column;gap:2px;padding:12px 0 12px 14px;border-bottom:1px solid var(--line);border-left:2px solid transparent;color:var(--ink);transition:border-color .3s,background .3s}
.people-nav a strong{font-size:.9375rem;font-weight:600}
.people-nav a span{font-size:.8125rem;line-height:1.4;color:var(--muted)}
.people-nav a:hover{background:var(--ice)}
.people-nav a[aria-current]{border-left-color:var(--gold)}
.people-nav a[aria-current] strong{color:var(--cobalt)}
.leaders.is-indexed{gap:clamp(56px,6vw,96px)}
.leaders.is-indexed .leader,.leaders.is-indexed .leader:nth-child(even){grid-template-columns:clamp(220px,22vw,320px) minmax(0,1fr);gap:clamp(24px,3.4vw,56px)}
.leaders.is-indexed .leader:nth-child(even) .leader-media{order:0}
.leaders.is-indexed .leader:nth-child(even) .leader-copy{justify-self:start}
.leaders.is-indexed .leader-copy{max-width:none}
.leaders.is-indexed .leader{scroll-margin-top:32px}
@media(max-width:1100px){.people-layout{grid-template-columns:1fr}.people-nav{position:static}.people-nav nav{display:none}}
@media(max-width:900px){.leaders.is-indexed .leader,.leaders.is-indexed .leader:nth-child(even){grid-template-columns:1fr}}

/* People pages, refined: narrow quiet index (no rules, no accent bar), portraits lead */
.people-layout{grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:clamp(48px,6vw,112px)}
.people-nav h2{font-size:clamp(2.25rem,3.2vw,3rem);line-height:1.04}
.people-nav nav{margin-top:36px;border-top:0;gap:18px}
.people-nav a{padding:0;border:0;gap:3px;transition:opacity .3s}
.people-nav a:hover{background:none}
.people-nav a strong{font-size:.9375rem;color:var(--muted);transition:color .3s}
.people-nav a span{font-size:.8125rem;color:#8a95a8}
.people-nav a:hover strong,.people-nav a[aria-current] strong{color:var(--ink)}
.people-nav a[aria-current] span{color:var(--muted)}
.leaders.is-indexed{gap:clamp(72px,8vw,128px)}
.leaders.is-indexed .leader,.leaders.is-indexed .leader:nth-child(even){grid-template-columns:clamp(280px,32vw,460px) minmax(0,1fr);gap:clamp(32px,4vw,72px)}
.leaders.is-indexed .leader-copy{padding-top:8px;max-width:38rem}
.leaders.is-indexed .leader-copy h3{font-size:clamp(1.5rem,2vw,1.875rem)}
.leaders.is-indexed .leader-role{font-size:.9375rem}
.leaders.is-indexed .leader-lead,.leaders.is-indexed .leader-bio-open p{font-size:.9375rem;line-height:1.7}
.leaders.is-indexed .leader-lead{margin-top:16px}
.leaders.is-indexed .leader-bio-open p{margin-top:12px}
@media(max-width:1100px){.people-layout{grid-template-columns:1fr;gap:32px}.people-nav{position:static}.people-nav nav{display:none}}
@media(max-width:900px){.leaders.is-indexed .leader,.leaders.is-indexed .leader:nth-child(even){grid-template-columns:1fr;gap:24px}.leaders.is-indexed .leader-media{max-width:460px}}

/* ---------- Contact pages ----------
   Spacing follows relevance: a title and its description are one unit (8px apart);
   an address and its phone are one group (lines 1.45, phone 6px below); a website
   link is its own thing and sits apart at the foot of the card. */
.contact-main{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,112px);align-items:start}
.c-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ice);color:var(--cobalt)}
.c-icon svg{width:22px;height:22px;stroke-width:1.75}
.c-head h2{margin-top:20px;font-size:clamp(1.75rem,2.6vw,2.25rem);font-weight:500;letter-spacing:-.03em;line-height:1.15}
.c-head h3,.c-head h2{margin-top:20px;font-size:1.375rem;font-weight:600;letter-spacing:-.015em;line-height:1.25}
.c-head p{margin-top:8px;max-width:44ch;font-size:1rem;line-height:1.6;color:var(--muted)}
.c-lines{margin:32px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.c-line{display:flex;align-items:center;gap:14px;min-height:56px;padding:0 10px 0 18px;border-radius:16px;background:var(--ice)}
.c-line>svg{flex:none;width:20px;height:20px;color:var(--cobalt);stroke-width:1.75}
.c-line>a{flex:1;min-width:0;font-size:1.125rem;font-weight:600;color:var(--ink);overflow-wrap:anywhere;transition:color .2s}
.c-line>a:hover{color:var(--blue)}
.c-copy{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border:0;border-radius:12px;background:#fff;color:var(--cobalt);cursor:pointer;transition:background .2s,color .2s}
.c-copy svg{width:18px;height:18px;stroke-width:1.75}
.c-copy:hover{background:var(--cobalt);color:#fff}
.c-copy.is-done{color:#0f7a3c;background:#dff5e7}
.c-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.c-card{display:flex;flex-direction:column;padding:clamp(28px,3.2vw,48px);border-radius:var(--radius-panel);background:var(--ice);scroll-margin-top:24px}
.c-card .c-icon{background:#fff}
.c-detail{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:28px}
.c-detail address{font-style:normal;font-size:1.0625rem;font-weight:500;line-height:1.45;color:var(--ink)}
.c-detail address a{display:inline-block;margin-top:6px;font-weight:600;color:var(--blue)}
.c-url{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:auto;padding-top:36px;font-weight:600;color:var(--blue)}
.c-url svg{width:18px;height:18px;stroke-width:1.75}
.c-url .go{width:16px;height:16px;transition:transform .3s}
.c-url:hover .go{transform:translate(2px,-2px)}
.c-form{padding:clamp(24px,3.4vw,48px);border-radius:var(--radius-panel);background:#fff;border:1px solid var(--line);scroll-margin-top:24px}
.c-form h2{font-size:clamp(1.75rem,2.6vw,2.25rem);font-weight:500;letter-spacing:-.03em;line-height:1.15}
.c-form>p{margin-top:8px;color:var(--muted)}
.c-form>.form{margin-top:32px}
.c-form>.form:first-child{margin-top:0}
@media(max-width:1000px){.contact-main{grid-template-columns:1fr}}
@media(max-width:760px){.c-pair{grid-template-columns:1fr}}

/* Slim banner (Contact us): short header, no section tabs */
.page-hero.is-slim{height:clamp(300px,34vh,340px)}
.page-hero.is-slim+.page-main,.page-hero.is-slim~.page-main{padding-top:clamp(40px,5vw,72px)}

/* Contact us: form first, quick contact cards beside it */
.cu{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,3vw,48px);align-items:start}
.cu-cards{display:flex;flex-direction:column;gap:12px}
.cu-card{display:flex;align-items:center;gap:18px;padding:22px 20px 22px 22px;border-radius:var(--radius-card);background:var(--ice)}
.cu-card .c-icon{flex:none;background:#fff}
.cu-card>div{flex:1;min-width:0;display:flex;flex-direction:column}
.cu-label{font-size:.8125rem;font-weight:600;letter-spacing:.02em;color:var(--muted)}
.cu-value{margin-top:4px;font-size:1.125rem;font-weight:600;line-height:1.4;font-style:normal;color:var(--ink);overflow-wrap:anywhere}
a.cu-value:hover{color:var(--blue)}
.cu-sub{margin-top:6px;font-size:.9375rem;color:var(--muted)}
.cu-sub a{font-weight:600;color:var(--blue)}
.cu-card.is-primary{background:var(--grad-cobalt)}
.cu-card.is-primary .c-icon{background:rgba(255,255,255,.16);color:#fff}
.cu-card.is-primary .cu-label{color:#c9d6ff}
.cu-card.is-primary .cu-value{color:#fff}
.cu-card.is-primary .c-copy{background:rgba(255,255,255,.16);color:#fff}
.cu-card.is-primary .c-copy:hover{background:#fff;color:var(--cobalt)}
.cu .c-form{position:relative}
@media(max-width:1000px){.cu{grid-template-columns:1fr}.cu-cards{order:-1}}
/* Let long links wrap so cards never push past a phone screen */
.c-card,.c-form,.cu-card{min-width:0}
.c-url{max-width:100%;overflow-wrap:anywhere}
@media(max-width:1000px){.contact-main,.cu{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.c-pair{grid-template-columns:minmax(0,1fr)}}

/* Contact us: form with call/email beneath it on the left; transfer agent and HQ on the right */
.cu{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.cu-left,.cu-right{display:flex;flex-direction:column;gap:16px;min-width:0}
.cu-left .cu-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;order:0}
.cu-right .c-card{flex:none}
@media(max-width:1000px){.cu-left .cu-cards{order:0}}
@media(max-width:600px){.cu-left .cu-cards{grid-template-columns:1fr}}
.cu-left .cu-cards{grid-template-columns:1fr}
.cu-left .cu-cards{grid-template-columns:minmax(0,1fr)}
@media(max-width:1000px){.cu{grid-template-columns:minmax(0,1fr)}}
.cu-value,.c-line>a{overflow-wrap:normal;word-break:normal}
@media(max-width:600px){.cu-value{font-size:1rem}}
/* Call + email side by side under the form; stacked on phones */
.cu-left .cu-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.cu-left .cu-cards{grid-template-columns:minmax(0,1fr)}}
/* Contrast: secondary text in the people index meets WCAG AA (4.5:1) */
.people-nav a span{color:#5f6b80}

/* hCaptcha is switched off in form-client.js for now; hide its empty slot */
.form .hcaptcha-box{display:none}
/* Phones: slimmer panel padding so embedded quote/chart widgets get the width they need */
@media(max-width:480px){.panel{padding:16px 14px}}
