/* Shared editorial components: refined across all corporate pages. */
:root {
  --paper: #f5f3ed;
  --line: #d6d5cb;
  --line-soft: #deddd4;
  --ink-900: #101f2c;
  --ink-800: #263742;
  --text-on-dark-muted: #bdc8cf;
}
.section h2, .cta-band h2 {
  font-family: var(--font-body);
  font-size: clamp(2.1rem, 3.2vw, 3.05rem);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -.04em;
}
.section h2 em, .cta-band h2 em {
  font-family: 'Libre Caslon Display', Georgia, serif;
  font-size: 1.15em;
  color: #7b6947;
  font-weight: 400;
  letter-spacing: -.025em;
}
.section-head { max-width: 820px; margin-bottom: 42px; }
.section-head p { font-size: 1rem; line-height: 1.75; }
.section-head > .eyebrow, .eyebrow { font-size: .75rem; font-weight: 500; }
.card, .country, .entity {
  background: #f9f8f3;
  border: 1px solid #d6d5cb;
  border-radius: 0;
  box-shadow: none;
}
.card, .country { padding: 32px; }
.card:hover, .country:hover, .entity:hover { border-color: #c3b797; box-shadow: none; }
.card::before, .ticks::after { display: none; }
.card h3, .card h4, .country h3, .entity h3 {
  font-size: 1.45rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -.025em;
}
.card p, .entity p, .country p { font-size: 1rem; line-height: 1.7; }
.card__icon, .channel__icon { color: #9c8451; }
.card__icon { margin-bottom: 28px; }
.card__head { position: absolute; top: 32px; right: 32px; }
.index, .tile-number { color: #8a7447; font-size: .8rem; font-weight: 400; letter-spacing: .08em; }
.tile-number { display: block; margin-bottom: 36px; }
.card--flat { background: transparent; }
.card--dark { background: #162a38; border-color: #ffffff26; }
.card--dark:hover { border-color: #c7af7d70; }
.card--dark .card__icon { color: #c7af7d; }
.section--grid::before { display: none; }
.section--dark .eyebrow { color: #c7af7d; }
.section--dark a:hover { color: #dfcda8; }
.section--dark .card p { color: #bdc8cf; }
.capability-wide { grid-column: 1 / -1; }
.capability-wide p { max-width: 900px; }
.badge, .tag {
  border: 1px solid #b8ad9359;
  border-radius: 0;
  color: #77633f;
  background: transparent;
  font-size: .75rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: .06em;
}
.badge--onDark, .badge--onDark-red { color: #d3c09b; border-color: #c7af7d55; background: transparent; }
.entity { border-left: 1px solid #d6d5cb; padding: 36px; gap: 36px; }
.entity__aside { border-color: #d6d5cb; }
.entity__meta { margin-top: 22px; }
.entity__meta li { border-color: #deddd4; padding: 12px 0; }
.entity__meta .k { font-size: .75rem; color: #7b6947; font-weight: 500; }
.entity__meta .v { font-weight: 400; font-size: .9375rem; }
.country__region { color: #7b6947; font-weight: 400; line-height: 1.6; }
.country__lanes { border-color: #d6d5cb; }
.deflist__row { padding: 23px 0; border-color: #d6d5cb; }
.deflist__row dt { font-size: .875rem; color: #7b6947; font-weight: 500; letter-spacing: 0; text-transform: none; }
.process__step { grid-template-columns: 44px minmax(0, 1fr); gap: 22px; padding: 25px 0; }
.process__step::before { font-size: .875rem; font-weight: 400; color: #907848; letter-spacing: .05em; padding-top: 5px; }
.process__step h3, .process__step h4 { font-size: 1.25rem; font-weight: 400; }
.section--dark .process__step p { color: #bdc8cf; }
.pullquote { border-color: #b59c68; background: transparent; box-shadow: none; }
.pullquote p { font-family: 'Libre Caslon Display', Georgia, serif; font-weight: 400; }
.pullquote footer { color: #7b6947; }
.feature { padding: 36px; border-color: #ffffff26; }
.feature__num { font-weight: 400; font-size: .875rem; margin-bottom: 24px; letter-spacing: .08em; }
.feature h3 { font-size: 1.65rem; font-weight: 400; line-height: 1.25; }
.feature__list { margin-top: 20px; }
.feature__list li { font-size: .9375rem; padding-block: 10px; line-height: 1.65; }
.feature__list i { color: #c7af7d; }
.record { border: 1px solid #c7af7d55; border-radius: 0; background: #101f2c; padding: 38px; box-shadow: none; }
.record::before, .record__label::after { display: none; }
.record__mark { background: transparent; border: 1px solid #c7af7d55; border-radius: 0; color: #c7af7d; }
.record__label { color: #c7af7d; font-weight: 500; letter-spacing: .1em; }
.record h3 { font-size: 1.7rem; font-weight: 400; }
.record__meta { border-color: #ffffff26; color: #bec8ce; }
.notice { border: 1px solid #d6d5cb; border-radius: 0; background: #efede5; font-size: .875rem; }
.notice i { color: #9c8451; }
.notice strong { font-weight: 500; }
.notice--dark { border-color: #ffffff26; background: #162a38; }
.link-arrow { font-weight: 500; font-size: .875rem; color: #283b48; }
.link-arrow i { color: #9c8451; }
.link-arrow:hover { color: #897343; }
.channel__label { color: #7b6947; font-size: .75rem; font-weight: 500; }
.channel__value { font-weight: 400; overflow-wrap: anywhere; }
.channel__note { font-size: .875rem; }
.form-group label { font-size: .875rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.form-group input, .form-group select, .form-group textarea { background-color: #faf9f5; border-color: #c9c9bd; border-radius: 0; font-size: 1rem; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: #9c8451; box-shadow: 0 0 0 3px #b9a27520; }
.form-group .req, .form-error { color: #a1282e; }
.form-group input.is-invalid, .form-group select.is-invalid, .form-group textarea.is-invalid { border-color: #a1282e; box-shadow: 0 0 0 3px #a1282e14; }
.form-status.is-error { color: #a1282e; background: #fff3f1; border-color: #a1282e55; }
.cta-band { background: #172938; border-top: 1px solid #c7af7d33; }
.cta-band::before, .cta-band::after { display: none; }
.cta-band h2 { color: #fff; }
.cta-band h2 em { color: #d2bd93; }
.cta-band .eyebrow { color: #c7af7d; }
.cta-band p { color: #bdc8cf; }
.to-top:hover { background: #263c4d; border-color: #c7af7d; }
.company-introduction { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.company-introduction p:not(.kicker) { color: #5f686d; font-size: 1rem; }
.company-introduction .intro-copy { font-size: 1.25rem !important; line-height: 1.6; color: #263742 !important; }
.contracting-identifiers { display: flex; flex-wrap: wrap; gap: 24px 44px; margin: 26px 0 16px; padding-top: 20px; border-top: 1px solid #c9c9bc; }
.contracting-identifiers dt { color: #7b6947; font-size: .875rem; font-weight: 500; }
.contracting-identifiers dd { margin: 7px 0 0; color: #263742; font-size: 1rem; font-variant-numeric: tabular-nums; letter-spacing: .04em; }
.company-facts { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 60px; border-block: 1px solid #c9c9bc; }
.company-facts>div { padding: 28px 25px 28px 0; }
.company-facts>div+div { padding-left: 30px; border-left: 1px solid #c9c9bc; }
.company-facts span { color: #7b6947; font-size: .75rem; letter-spacing: .12em; }
.company-facts h3 { font-size: 1.5rem; font-weight: 400; margin: 15px 0 10px; }
.company-facts p { font-size: .9375rem; color: #5f686d; margin: 0; }
.structure-section { background: #101f2c; color: #fff; }
.structure-section h2 { color: #fff; }
.structure-section h2 em { color: #d2bd93; }
.structure-section .section-heading>p { color: #bdc8cf; }
.ownership-layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; }
.structure-node { padding: 34px; border: 1px solid #ffffff33; }
.structure-node-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 28px; }
.structure-node-top span { font-size: .75rem; letter-spacing: .1em; color: #c7af7d; }
.structure-node-top img { object-fit: contain; }
.structure-node h3 { font-size: 1.8rem; font-weight: 400; line-height: 1.25; color: #fff; margin-bottom: 18px; }
.structure-node p { font-size: 1rem; line-height: 1.7; color: #bdc8cf; margin: 0; }
.structure-node--parent { background: #1b303f; }
.ownership-connector { position: relative; height: 68px; display: flex; align-items: center; gap: 16px; padding-left: 47px; color: #c7af7d; }
.ownership-connector:before { content: ''; position: absolute; left: 33px; top: 0; bottom: 0; width: 1px; background: #c7af7d; }
.ownership-connector span { font-size: .6875rem; letter-spacing: .12em; }
.structure-node--investment { background: #f5f3ed; border-color: #f5f3ed; }
.structure-node--investment .structure-node-top span { color: #7b6947; }
.structure-node--investment h3 { color: #101f2c; }
.structure-node--investment p { color: #5f686d; }
.structure-node .editorial-link { margin-top: 22px; display: flex; }
.affiliate-column { border-left: 1px dashed #7e8c9666; padding-left: 48px; }
.relationship-label { color: #b7c2c9; font-size: .75rem; letter-spacing: .12em; margin-bottom: 24px; }
.structure-node--affiliate { padding: 0; border: 0; }
.structure-node--affiliate .relationship-note { font-size: .875rem; margin-top: 22px; color: #a9b7c0; }
.structure-node--affiliate .text-button { margin-top: 15px; }
.affiliate-network-note { border-top: 1px solid #ffffff26; padding-top: 27px; margin-top: 32px; }
.affiliate-network-note>span { color: #c7af7d; font-size: .75rem; letter-spacing: .08em; }
.affiliate-network-note p { color: #bdc8cf; font-size: .9375rem; margin-top: 16px; }
.partner-ribbon { margin-top: 50px; display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid #c9c9bc; }
.partner-ribbon a { padding: 24px 18px 0; border-left: 1px solid #c9c9bc; display: flex; flex-direction: column; gap: 11px; }
.partner-ribbon a:first-child { border-left: 0; padding-left: 0; }
.partner-ribbon span { color: #8c774b; font-size: .8125rem; }
.partner-ribbon strong { color: #263742; font-weight: 500; font-size: 1rem; }
.partner-ribbon small { color: #5f686d; font-size: .75rem; }
.partner-ribbon a:hover strong { color: #897343; }
.prose h2 { font-family: var(--font-body); font-size: 1.5rem; font-weight: 500; letter-spacing: -.02em; }
@media(max-width:960px) {
  .company-introduction { gap: 40px; }
  .ownership-layout { gap: 35px; }
  .affiliate-column { padding-left: 30px; }
  .structure-node { padding: 25px; }
  .structure-node--affiliate { padding: 0; }
  .structure-node h3 { font-size: 1.5rem; }
  .company-facts h3 { font-size: 1.3rem; }
  .partner-ribbon { grid-template-columns: repeat(3,1fr); row-gap: 28px; }
  .partner-ribbon a:nth-child(4) { border-left: 0; padding-left: 0; }
}
@media(max-width:640px) {
  .company-introduction, .ownership-layout { grid-template-columns: 1fr; gap: 32px; }
  .company-facts { grid-template-columns: 1fr; margin-top: 35px; }
  .company-facts>div, .company-facts>div+div { padding: 24px 0; border-left: 0; }
  .company-facts>div+div { border-top: 1px solid #c9c9bc; }
  .company-facts h3 { font-size: 1.5rem; }
  .structure-section .section-heading { margin-bottom: 35px; }
  .structure-section .section-heading>p { margin-top: 24px; }
  .affiliate-column { border-left: 0; border-top: 1px dashed #7e8c9666; padding: 32px 0 0; }
  .structure-node { padding: 25px; }
  .structure-node--affiliate { padding: 0; }
  .partner-ribbon { grid-template-columns: repeat(2,1fr); margin-top: 35px; }
  .partner-ribbon a:nth-child(n) { border-left: 1px solid #c9c9bc; padding-left: 18px; }
  .partner-ribbon a:nth-child(odd) { border-left: 0; padding-left: 0; }
  .card, .country, .entity, .feature, .record { padding: 25px; }
  .card__head { right: 25px; top: 25px; }
  .card h3, .entity h3 { font-size: 1.4rem; }
  .entity__aside { padding-right: 0; border-right: 0; }
  .entity__meta li { flex-direction: column; gap: 6px; }
  .process__step { grid-template-columns: 28px minmax(0,1fr); gap: 15px; }
  .deflist__row { grid-template-columns: 1fr; gap: 8px; }
  .tile-number { margin-bottom: 26px; }
}
