/* Saguaro editorial layout, shared by both views. Final blue palette below. */
:root {
  color-scheme: dark;
  --paper: #0c0e0e;
  --ink: #f3eee5;
  --muted: #b4b4aa;
  --line: #353a37;
  --olive: #d5b58d;
  --copper: #cba77e;
  --green: #bac0ab;
  --dark: #080a0a;
  --surface: #151918;
  --surface-raised: #1d2320;
}
::selection { background: #d5b58d; color: #0c0e0e; }
body { font-size: 16px; line-height: 1.8; }
.wrap { width: min(1280px, 88%); }
h1,h2,h3 { letter-spacing: -.045em; text-wrap: balance; }
h1 { font-size: clamp(48px, 5.2vw, 78px); line-height: 1.03; }
h2 { font-size: clamp(36px, 3.7vw, 56px); }
p { text-wrap: pretty; }
.eyebrow { font-size: 10px; letter-spacing: 2.8px; font-weight: 500; }
.eyebrow:before { width: 32px; margin-right: 15px; }
.lead { color: #c2c2b7; font-size: 17px; line-height: 1.85; }
.fine,.source-note { color: var(--muted); }
.text-link { color: var(--ink); border-color: #8f765a; padding: 12px 0; transition: color .2s, border-color .2s; }
.text-link:hover { color: var(--copper); border-color: var(--copper); }
.outline-button { border-radius: 0; border-color: #68675c; padding: 15px 22px; transition: background .2s, border-color .2s; }
.outline-button:hover { background: #242823; border-color: var(--copper); }
.actions { gap: 30px; margin-top: 35px; }
.header { height: 88px; padding: 0 4%; gap: 28px; background: #0c0e0e; border-bottom-color: #ffffff1f; }
.brand { width: 210px; }
.brand.rlsir-brand img { filter: none; }
.header nav { gap: 25px; }
.header nav>a,.header #plan-toggle { color: #c0bfb5; font-size: 10px; letter-spacing: 1.2px; }
.header nav>a:hover,.header #plan-toggle:hover,.header nav>a[aria-current],.header #plan-toggle.active { color: var(--ink); }
.view-control>span { display: none; }
.view-control>a { border-radius: 0; border-color: #55584d; color: #e4ddce; padding: 12px 14px; font-size: 9px; }
.view-control>a:hover { border-color: var(--copper); }
.plan-dropdown { top: calc(100% + 22px); background: #151918; border-color: #484c43; box-shadow: 0 20px 45px #0008; padding: 14px 22px; }
.plan-dropdown a { color: #eee7db; }
.plan-subnav { top: 88px; background: #111514; gap: 45px; padding-top: 14px; padding-bottom: 14px; }
.plan-subnav a { color: #c4c4ba; }
.plan-subnav a[aria-current] { color: #efd5b5; }
.progress { height: 1px; }
/* Opening: a dark typographic field beside a full-height architectural image. */
.hero { height: min(860px, calc(100svh - 88px)); min-height: 760px; max-height: none; background: var(--paper); color: var(--ink); overflow: hidden; }
.hero-visual { position: absolute; inset: 0 0 0 40%; }
.hero-image { z-index: 0; object-position: 50% 53%; height: 100%; width: 100%; }
.hero-shade { z-index: 1; background: linear-gradient(90deg,#0c0e0e 0%,#0c0e0e42 30%,transparent 66%),linear-gradient(0deg,#0c0e0eed 0%,transparent 33%); pointer-events: none; }
.hero-copy { position: relative; z-index: 2; left: auto; right: auto; bottom: auto; width: min(1280px,88%); margin: 0 auto; padding-top: clamp(55px,7vh,80px); pointer-events: none; }
.hero-copy .eyebrow { font-size: 9px; color: #e1c8a7; letter-spacing: 2px; margin-bottom: 36px; }
.hero-copy .eyebrow:before { display: none; }
.hero-divider { padding: 0 14px; color: #6f746a; }
.hero-copy h1 { font-size: clamp(82px,8.6vw,128px); line-height: .91; letter-spacing: -.063em; max-width: 650px; font-weight: 400; }
.hero-copy h1>span,.hero-copy h1>em { display: block; }
.hero-copy h1 em { color: #dfc39f; font-weight: 400; padding-bottom: 10px; }
.hero-copy>p.hero-deck { font-size: 17px; line-height: 1.65; letter-spacing: .1px; color: #dad8ce; margin: 30px 0 28px; max-width: 330px; }
.hero-action { display: inline-flex; align-items: center; gap: 36px; border-bottom: 1px solid #aa8d68; padding: 10px 0 15px; color: var(--ink); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; pointer-events: auto; }
.hero-action>span { font-size: 23px; line-height: 1; transition: transform .25s; }
.hero-action:hover>span { transform: translate(3px,-3px); }
.hero-image-caption { position: absolute; z-index: 2; right: 6.5%; bottom: 153px; margin: 0; color: #f3eee5; font-size: 8px; letter-spacing: 2px; text-align: right; }
.hero-image-caption span { display: block; font-size: 7px; letter-spacing: 1.8px; margin-top: 7px; color: #d0d0c5; }
.hero-footer { position: absolute; bottom: 0; left: 6%; right: 6%; z-index: 3; display: grid; grid-template-columns: 1.35fr 1fr 1fr; align-items: center; border-top: 1px solid #ffffff36; padding: 23px 0 27px; gap: 30px; }
.hero-footer p { font-size: 12px; line-height: 1.6; margin: 0; color: #e7e2d7; }
.hero-footer>p>span { display: block; color: #b4b8ad; font-size: 10px; margin-top: 5px; }
.hero-footer>div>span { display: block; font-size: 8px; letter-spacing: 2px; color: #b5b7aa; margin-bottom: 8px; }
.hero-footer i { font-style: normal; color: #b79b76; padding: 0 7px; }
/* Editorial rhythm and photography. */
.story-section { padding: 115px 0 55px; }
.story-columns { grid-template-columns: 1.05fr 1.1fr .65fr; gap: 50px; }
.story-columns h2 { font-size: clamp(35px,3vw,47px); }
.story-columns p,.vision-copy p,.editorial-row p,.subject-story p,.cma-intro p,.comp-body>div>p,.source-comparison p,.conclusion p { color: #c2c2b7; }
.particulars { padding-left: 28px; }
.particulars dd { font-size: 15px; color: #e4dfd4; }
.vision { padding: 40px 0 105px; }
.vision>h2 { font-size: clamp(40px,4.5vw,67px); margin-bottom: 45px; }
.vision-images { grid-template-columns: 1fr 1.24fr .85fr; gap: 24px; align-items: start; }
.vision-images button:nth-child(1) { margin-top: 65px; }
.vision-images button:nth-child(3) { margin-top: 135px; }
.vision-images img { aspect-ratio: 3/4; }
.vision-images button:nth-child(2) img { aspect-ratio: 3/4.15; }
.vision-images button span,.gallery-item>div>span { background: #0c0e0ecc; border-color: #d7c4a86b; width: 42px; height: 42px; }
.vision-copy { margin-top: 60px; gap: 14%; }
.vision-copy h3 { font-size: 41px; }
.proof-teaser { background: var(--surface); padding: 80px 0; border-top: 1px solid #ffffff12; border-bottom: 1px solid #ffffff12; }
.section-pair h2 { font-size: clamp(35px,3.9vw,56px); }
.metrics { padding: 34px 0; gap: 0; }
.metrics>div { padding: 0 30px; border-left: 1px solid var(--line); }
.metrics>div:first-child { padding-left: 0; border-left: 0; }
.metrics strong { color: #e4c7a0; font-size: clamp(40px,4.2vw,62px); letter-spacing: -.045em; }
.metrics span { font-size: 10px; letter-spacing: 1.2px; color: #c7c8bd; }
.strategy-index { padding: 110px 0; }
.strategy-index>h2 { font-size: clamp(42px,4.5vw,65px); }
.strategy-rows { margin-top: 52px; }
.strategy-rows>a { padding: 32px 16px 32px 0; grid-template-columns: 45px 1.2fr 1.6fr 150px; gap: 28px; align-items: center; }
.strategy-rows>a:hover { background: #171b19; }
.strategy-rows h3 { font-size: 31px; }
.row-number { font-size: 19px; }
.row-action { color: #d5b58d; font-size: 9px; }
.next-step { gap: 11%; padding: 15px 0 110px; }
.next-step>img { height: 590px; }
.page-intro { padding: 100px 0 70px; }
.page-intro.split { grid-template-columns: 1.12fr 1fr; gap: 7%; }
.intro-image { aspect-ratio: 1; max-height: 490px; }
.editorial-row { padding: 70px 0; gap: 12%; }
.press-desks { gap: 45px; padding: 30px 0; }
.press-desks article { padding-top: 25px; }
.press-desks span { font-size: 9px; letter-spacing: 1.5px; }
.press-desks h3 { font-size: 34px; margin: 22px 0; }
.press-desks p { font-size: 14px; }
/* The execution sequence reads as chapters rather than a dashboard. */
.phase-jumps { padding: 22px 0; gap: 20px; }
.phase-jumps button { font-size: 12px; color: #c9c9bc; }
.phase-jumps button[aria-current] { color: #f1dfc6; }
.timeline-row { grid-template-columns: .35fr 1fr 1.2fr; gap: 55px; padding: 48px 0; scroll-margin-top: 185px; }
.timeline-number { font-size: 66px; color: #bea17c; }
.timeline-row h2 { font-size: 38px; }
.timeline-row ul { color: #c6c7bc; }
.timeline-row p { line-height: 1.8; }
.timeline-row:focus { outline-color: #baa07c; }
.network-grid { gap: 45px; padding-bottom: 85px; }
.network-grid h3 { font-size: 33px; }
.network-grid article { padding: 30px 0 0; }
.network-grid .text-link { font-size: 9px; }
/* Comparables, controls and dialog contrast. */
.subject-evidence { background: var(--surface); border: 1px solid var(--line); padding: 42px; }
.subject-mark { filter: none; }
.subject-specs dt { color: #e4c7a0; font-size: 31px; }
.comparison-toolbar { top: 88px; background: #0c0e0efa; }
.filter-row button { color: #c0c1b5; padding: 12px 17px; }
.filter-row [aria-pressed=true] { color: #f1dbc0; background: #252820; border-color: #a58b66; }
.comp-card { padding: 48px 0; }
.comp-heading h2 { font-size: clamp(31px,3vw,43px); }
.comp-heading .eyebrow { font-size: 9px; }
.status { color: #d0d6bd; border-color: #7a8069; }
.status.active { color: #efc793; border-color: #a58861; }
.comp-price>strong { font-size: 39px; color: #ebd2af; }
.comp-price dl>div { padding: 13px 0; }
.source-comparison { background: #151918; border-color: #947953; padding: 20px 25px; }
.source-comparison .small-label { color: #dcc29e; }
.compare-check input { accent-color: #d5b58d; }
.compare-check { font-size: 12px; }
.conclusion { padding: 65px 0 95px; }
dialog { border: 1px solid #5b6054; background: #141817; box-shadow: 0 25px 100px #0009; }
dialog::backdrop { background: #000d; }
.dialog-top button { border: 1px solid #636658; }
td:nth-child(2),thead th:nth-child(2) { background: #292f26; }
thead th { color: #f0dfc5; }
th,td { border-bottom-color: #3a4139; }
.lightbox { background: #090b0b; color: #f3eee5; border: 0; }
.lightbox-stage>button { border-color: #7b806f; background: #161b16; }
.lightbox figcaption span,.lightbox-help { color: #bfc3b4; }
/* People and gallery maintain natural photographic colors. */
.advisor-grid { gap: 38px; padding-bottom: 35px; }
.advisor-grid img { aspect-ratio: 1; object-position: center; margin-bottom: 32px; }
.advisor-grid h2,.advisor-grid h3 { font-size: 37px; }
.advisor-grid p { font-size: 14px; }
.advisor-grid article { border-bottom: 1px solid var(--line); padding-bottom: 30px; }
.advisor-contact a { color: #e6caa6; }
.about-close { padding: 70px 0 100px; }
.gallery-grid { grid-template-columns: 1.25fr 1fr 1fr; gap: 55px 28px; }
.gallery-item:nth-child(3n+2) { padding-top: 65px; }
.gallery-item h2 { font-size: 29px; }
.gallery-item p { font-size: 12px; }
.gallery-item img { aspect-ratio: 3/4; }
.gallery-item:nth-child(n+7) img { aspect-ratio: 4/3; }
/* Map stays geographically unchanged; only the presentation chrome is rethemed. */
.map-shell,.map-status { background: #1b221f; color: var(--ink); }
.map-credit { color: #202720; background: #f0f0e6; }
.map-pin { color: #171c15; border-color: #f3ecde; background: #d8bd93; }
.map-pin.selected { background: #f3d5a4; }
.destination.selected { background: #252e24; box-shadow: inset 3px 0 #d5b58d; }
.destination-list { background: #151918; }
#expand-map { background: #111811; border-color: #959b83; color: #f3eee5; }
.map-shell.expanded { box-shadow: 0 0 0 25px #080d09f5; }
.image-failed { background: #202820; color: #dfe2d4; }
.hero .image-failed { background: #182019; }
footer { background: #080a0a; border-top: 1px solid var(--line); padding: 65px 6% 32px; margin-top: 55px; color: #e0ddcf; }
.footer-top>a.brand { width: 240px; }
.footer-top nav { max-width: 690px; gap: 12px 32px; }
.footer-top nav a { font-size: 11px; color: #c6c6b7; }
.footer-top nav a:hover { color: #e6c79f; }
.footer-bottom { margin-top: 55px; border-color: #30352e; }
.footer-bottom p { color: #aeb2a3; font-size: 11px; }
.footer-bottom button { color: #d6c2a2; }
/* Short, non-blocking chapter entry. */
@keyframes chapter-arrive { from { opacity: .7; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.page-intro,.hero-copy { animation: chapter-arrive .35s ease-out both; }
@media (max-width:1180px) {
  .header { gap: 22px; }
  .brand { width: 180px; }
  .header nav { gap: 18px; }
  .header nav>a,.header #plan-toggle { font-size: 9px; }
  .story-columns { grid-template-columns: 1fr 1.2fr; gap: 40px; }
  .particulars { padding: 25px 0 0; }
  .strategy-rows>a { grid-template-columns: 30px 1fr 1.35fr; }
  .row-action { grid-column: 3; text-align: left; margin: -10px 0 0; }
  .hero { min-height: 720px; }
  .hero-copy { padding-top: 70px; }
  .hero-copy h1 { font-size: 106px; }
  .hero-copy>p.hero-deck { font-size: 16px; }
  .metrics>div { padding: 0 20px; }
  .advisor-grid { gap: 25px; }
  .advisor-grid h2,.advisor-grid h3 { font-size: 29px; }
}
@media (max-width:900px) {
  .header { height: 76px; padding: 0 5%; }
  .header nav { top: 76px; background: #111615; box-shadow: 0 18px 30px #0008; }
  .header nav>a,.header #plan-toggle { font-size: 13px; padding: 8px 0; }
  .plan-dropdown { box-shadow: none; border-left-color: #b39267; background: transparent; }
  .plan-subnav,.comparison-toolbar { top: 76px; }
  .hero { height: 760px; min-height: 0; }
  .hero-visual { left: 30%; }
  .hero-copy { padding-top: 75px; }
  .hero-copy h1 { font-size: 106px; }
  .hero-shade { background: linear-gradient(90deg,#0c0e0e 0%,#0c0e0e75 33%,#0c0e0e0a 85%),linear-gradient(0deg,#0c0e0e 0%,transparent 45%); }
  .hero-copy .eyebrow { max-width: 285px; font-size: 8px; }
  .hero-footer { grid-template-columns: 1.3fr 1fr; padding-bottom: 25px; }
  .hero-footer>div:last-child { display: none; }
  .hero-image-caption { bottom: 145px; font-size: 7px; }
  .page-intro { padding-top: 75px; }
  .page-intro.split { gap: 35px; }
  .page-intro h1 { font-size: 52px; }
  .story-section { padding-top: 80px; }
  .vision-images { gap: 15px; }
  .vision-images button:nth-child(1) { margin-top: 40px; }
  .vision-images button:nth-child(3) { margin-top: 85px; }
  .metrics { grid-template-columns: 1fr 1fr; gap: 30px 0; }
  .metrics>div:nth-child(3) { padding-left: 0; border-left: 0; }
  .metrics strong { font-size: 50px; }
  .network-grid { grid-template-columns: 1fr; gap: 30px; }
  .network-grid p { max-width: 640px; }
  .timeline-row { grid-template-columns: 40px 1fr 1.2fr; gap: 25px; }
  .timeline-number { font-size: 43px; }
  .timeline-row h2 { font-size: 30px; }
  .gallery-grid { grid-template-columns: 1fr 1fr; gap: 40px 22px; }
  .gallery-item:nth-child(3n+2) { padding-top: 0; }
  .gallery-item:nth-child(even) { padding-top: 45px; }
  .next-step>img { height: 480px; }
  .footer-top>a.brand { width: 190px; }
}
@media (max-width:600px) {
  html { scroll-padding-top: 140px; }
  .wrap { width: calc(100% - 44px); }
  .header { height: 72px; gap: 14px; padding: 0 22px; }
  .brand { width: 143px; }
  #menu-toggle { font-size: 10px; }
  #menu-toggle span { padding-left: 7px; }
  .header nav { top: 72px; padding: 15px 22px; }
  .view-control { display: none; }
  .plan-subnav { top: 72px; gap: 24px; padding: 10px 22px; }
  .plan-subnav a { font-size: 10px; }
  .hero { height: auto; min-height: 750px; padding-bottom: 120px; }
  .hero-visual { inset: 0 0 0 17%; }
  .hero-image { object-position: 59% 45%; }
  .hero-shade { background: linear-gradient(90deg,#0c0e0ef5 0%,#0c0e0e8c 42%,#0c0e0e26 100%),linear-gradient(0deg,#0c0e0e 0%,#0c0e0e44 44%,#0c0e0e26 100%); }
  .hero-copy { width: calc(100% - 44px); padding-top: 66px; }
  .hero-copy .eyebrow { max-width: 300px; letter-spacing: 1.7px; font-size: 8px; margin-bottom: 36px; }
  .hero-divider { padding: 0 8px; }
  .hero-copy h1 { font-size: clamp(78px,21vw,116px); letter-spacing: -.07em; max-width: 100%; }
  .hero-copy>p.hero-deck { font-size: 16px; margin-top: 30px; max-width: 260px; }
  .hero-action { font-size: 9px; gap: 38px; margin-top: 5px; }
  .hero-image-caption { display: none; }
  .hero-footer { left: 22px; right: 22px; grid-template-columns: 1fr; gap: 15px; padding: 24px 0; }
  .hero-footer>p { font-size: 12px; }
  .hero-footer>div { display: none; }
  .story-section { padding: 65px 0 30px; }
  .story-columns { grid-template-columns: 1fr; gap: 26px; }
  .story-columns h2 { font-size: 37px; }
  .story-columns p { font-size: 15px; }
  .particulars dl { grid-template-columns: 1fr 1fr; gap: 24px; }
  .particulars dd { font-size: 14px; }
  .vision { padding: 35px 0 65px; }
  .vision>h2 { font-size: 42px; margin-bottom: 30px; }
  .vision-images { grid-template-columns: 1fr 1fr; gap: 16px; }
  .vision-images button:nth-child(1) { margin-top: 0; }
  .vision-images button:nth-child(2) { margin-top: 35px; }
  .vision-images button:nth-child(3) { grid-column: 1/-1; margin-top: 0; }
  .vision-images button:nth-child(3) img { aspect-ratio: 1.6; }
  .vision-copy { grid-template-columns: 1fr; gap: 18px; margin-top: 32px; }
  .vision-copy p { font-size: 15px; }
  .vision-copy h3 { font-size: 34px; }
  .proof-teaser { padding: 55px 0; }
  .section-pair { align-items: start; }
  .section-pair h2 { font-size: 35px; }
  .section-pair>.text-link { font-size: 8px; max-width: 100px; }
  .metrics { padding: 25px 0; gap: 25px 0; }
  .metrics>div { padding: 0 14px; }
  .metrics strong { font-size: clamp(34px,9vw,47px); }
  .metrics span { font-size: 9px; letter-spacing: .7px; }
  .strategy-index { padding: 65px 0; }
  .strategy-index>h2 { font-size: 42px; }
  .strategy-rows { margin-top: 35px; }
  .strategy-rows>a { grid-template-columns: 24px 1fr; padding: 25px 0; gap: 13px 14px; }
  .strategy-rows h3 { font-size: 28px; }
  .strategy-rows p { grid-column: 2; font-size: 13px; }
  .row-action { grid-column: 2; margin: 0; font-size: 9px; }
  .next-step { grid-template-columns: 1fr; gap: 32px; padding-bottom: 60px; }
  .next-step>img { height: auto; aspect-ratio: 1; }
  .page-intro,.page-intro.split { display: block; padding: 55px 0 40px; }
  .page-intro h1 { font-size: clamp(39px,10.5vw,54px); }
  .page-intro .lead { font-size: 15px; margin-top: 25px; }
  .page-intro .intro-image { margin-top: 32px; aspect-ratio: 1.2; }
  .editorial-row { grid-template-columns: 1fr; gap: 28px; padding: 40px 0; }
  .editorial-row p { font-size: 15px; }
  .press-desks { grid-template-columns: 1fr; gap: 25px; padding: 10px 0; }
  .press-desks h3 { font-size: 32px; margin: 16px 0; }
  .phase-jumps { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; }
  .phase-jumps button { font-size: 11px; }
  .timeline-row { grid-template-columns: 30px 1fr; padding: 32px 0; gap: 20px; scroll-margin-top: 145px; }
  .timeline-row>div:last-child { grid-column: 2; }
  .timeline-number { font-size: 36px; }
  .timeline-row h2 { font-size: 32px; }
  .timeline-row p,.timeline-row ul { font-size: 14px; }
  .network-grid { gap: 25px; padding-bottom: 40px; }
  .network-grid h3 { font-size: 31px; }
  .subject-evidence { width: calc(100% - 28px); padding: 24px 20px; }
  .subject-evidence .section-pair { gap: 20px; }
  .subject-mark { width: 85px; }
  .subject-story { grid-template-columns: 1fr; gap: 20px; }
  .subject-story p { font-size: 14px; }
  .comparison-toolbar { top: 72px; gap: 12px; }
  .filter-row button { padding: 10px 11px; font-size: 10px; }
  .comp-card { padding: 32px 0; }
  .comp-heading h2 { font-size: 33px; }
  .comp-body { grid-template-columns: 1fr; gap: 25px; }
  .comp-price>strong { font-size: 38px; }
  .source-comparison { padding: 18px; }
  .comp-body>div>p,.source-comparison p { font-size: 14px; }
  .advisor-grid { grid-template-columns: 1fr; gap: 35px; }
  .advisor-grid h2,.advisor-grid h3 { font-size: 37px; }
  .advisor-grid p { font-size: 15px; }
  .advisor-grid img { margin-bottom: 24px; }
  .about-close { padding: 50px 0 60px; }
  .gallery-grid { gap: 30px 16px; }
  .gallery-item:nth-child(even) { padding-top: 25px; }
  .gallery-item h2 { font-size: 23px; }
  .gallery-item p { font-size: 11px; }
  .gallery-item:last-child { padding-top: 0; }
  .map-shell { height: 380px; }
  .map-layout { grid-template-columns: 1fr; height: auto; }
  .destination-list { max-height: 330px; }
  footer { padding: 45px 22px 28px; margin-top: 35px; }
  .footer-top { gap: 35px; }
  .footer-top>a.brand { width: 210px; }
  .footer-top nav { gap: 12px 24px; }
  .footer-bottom { margin-top: 32px; }
  .footer-bottom p { font-size: 10px; }
  .lightbox { padding: 15px 10px; }
  .lightbox-stage { gap: 7px; }
}
@media (max-width:360px) {
  .hero-copy .eyebrow { font-size: 7px; letter-spacing: 1.3px; }
  .hero-copy h1 { font-size: 76px; }
  .brand { width: 130px; }
}
@media (prefers-reduced-motion:reduce) {
  .page-intro,.hero-copy { animation: none; }
  *,*:before,*:after { transition: none!important; animation: none!important; scroll-behavior: auto!important; }
}

.mobile-view-switch{display:none}
@media(max-width:600px){.mobile-view-switch{display:block;border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.mobile-view-switch>a{font-size:11px;color:var(--copper);display:block;padding:12px 0}}

/* Sotheby's blue: navy framing with light editorial reading surfaces. */
:root {
  color-scheme: light;
  --paper: #f7f8fa;
  --ink: #002349;
  --muted: #536477;
  --line: #ccd6e1;
  --olive: #002349;
  --copper: #476988;
  --green: #dbe6ef;
  --dark: #002349;
  --surface: #eaf0f6;
  --surface-raised: #dde7f0;
}
::selection { background: #002349; color: #fff; }
body { background: var(--paper); color: var(--ink); }
.lead,.story-columns p,.vision-copy p,.editorial-row p,.subject-story p,
.cma-intro p,.comp-body>div>p,.source-comparison p,.conclusion p { color: #40566b; }
.text-link { color: #002349; border-color: #7a94ad; }
.text-link:hover { color: #315f87; border-color: #002349; }
.outline-button { border-color: #8b9fb3; }
.outline-button:hover { background: #e0eaf3; border-color: #002349; }
.header { background: #002349; border-color: #ffffff35; color: #fff; }
.header nav>a,.header #plan-toggle { color: #d7e3ef; }
.header nav>a:hover,.header #plan-toggle:hover,.header nav>a[aria-current],.header #plan-toggle.active { color: #fff; }
.header nav>a[aria-current],.header #plan-toggle.active { box-shadow: inset 0 -1px #b9d3e9; }
.view-control>a { color: #fff; border-color: #6b89a7; }
.view-control>a:hover { border-color: #fff; }
.plan-dropdown { background: #073158; border-color: #6683a0; box-shadow: 0 16px 35px #00234940; }
.plan-dropdown a { color: #eef5fb; border-color: #52718e; }
.plan-dropdown a:hover { color: #fff; }
.progress { background: #b6cfe4; }
.plan-subnav { background: #eaf0f6; }
.plan-subnav a { color: #405e7a; }
.plan-subnav a[aria-current] { color: #002349; }
.hero { background: #002349; color: #fff; }
.hero-shade { background: linear-gradient(90deg,#002349 0%,#00234942 30%,transparent 66%),linear-gradient(0deg,#002349ed 0%,transparent 33%); }
.hero-copy .eyebrow { color: #d4e4f3; }
.hero-divider { color: #8daecb; }
.hero-copy h1 em { color: #e4eef6; }
.hero-copy>p.hero-deck { color: #e7eff6; }
.hero-action { color: #fff; border-color: #aec9df; }
.hero-footer { border-color: #8babca70; }
.hero-footer p { color: #f3f7fb; }
.hero-footer>p>span,.hero-footer>div>span { color: #c6d9ea; }
.hero-footer i { color: #adcae2; }
.hero-image-caption,.hero-image-caption span { color: #fff; }
.particulars dd { color: #002349; }
.vision-images button span,.gallery-item>div>span { background: #002349dc; border-color: #dce8f2; }
.proof-teaser { background: #002349; color: #fff; border-color: #002349; --line:#416381; --muted:#d0deeb; --copper:#c0d6e9; }
.proof-teaser .text-link { color: #fff; border-color: #b3cde3; }
.proof-teaser .metrics strong { color: #fff; }
.proof-teaser .metrics span { color: #d6e4f0; }
.metrics strong { color: #002349; }
.metrics span { color: #465d73; }
.strategy-rows>a:hover { background: #eaf0f6; }
.row-action { color: #315d82; }
.phase-jumps button { color: #405e7a; }
.phase-jumps button[aria-current] { color: #002349; }
.timeline-number { color: #537695; }
.timeline-row ul { color: #40566b; }
.timeline-row:focus { outline-color: #315f87; }
.subject-evidence { background: #eaf0f6; }
.subject-mark { filter: brightness(0) saturate(100%) invert(11%) sepia(37%) saturate(2469%) hue-rotate(186deg) brightness(93%) contrast(104%); }
.subject-specs dt { color: #002349; }
.comparison-toolbar { background: #f7f8fafc; }
.filter-row button { color: #405e7a; }
.filter-row [aria-pressed=true] { color: #fff; background: #002349; border-color: #002349; }
.status { color: #254d54; border-color: #6a8f95; }
.status.active { color: #715128; border-color: #9d835f; }
.comp-price>strong { color: #002349; }
.source-comparison { background: #eaf0f6; border-color: #547d9e; }
.source-comparison .small-label { color: #345b7b; }
.compare-check input { accent-color: #002349; }
dialog { background: #f7f8fa; color: #002349; border-color: #738fa8; box-shadow: 0 25px 100px #00234950; }
dialog::backdrop { background: #002349de; }
.dialog-top button { border-color: #8ba1b5; }
td:nth-child(2),thead th:nth-child(2) { background: #dfeaf3; }
thead th { color: #002349; }
th,td { border-bottom-color: #c1cedc; }
.lightbox { background: #002349; color: #fff; }
.lightbox-stage>button { background: #123c63; color: #fff; border-color: #97b4cc; }
.lightbox figcaption span,.lightbox-help { color: #d4e3f0; }
.advisor-contact a { color: #002349; }
.map-shell,.map-status { background: #e1ebf4; color: #002349; }
.map-credit { background: #f7f8fa; color: #002349; }
.map-pin { color: #fff; border-color: #fff; background: #002349; }
.map-pin.selected { color: #fff; background: #316a98; }
.destination.selected { background: #deebf5; box-shadow: inset 3px 0 #002349; }
.destination-list { background: #f7f8fa; }
#expand-map { background: #002349; color: #fff; border-color: #fff; }
.map-shell.expanded { box-shadow: 0 0 0 25px #002349ed; }
.image-failed { background: #dfe9f2; color: #002349; }
.hero .image-failed { background: #123c63; color: #fff; }
footer { background: #002349; color: #fff; border-color: #416381; }
.footer-top nav a { color: #d6e4ef; }
.footer-top nav a:hover { color: #fff; }
.footer-bottom { border-color: #496a88; }
.footer-bottom p { color: #c4d8e8; }
.footer-bottom button { color: #e2edf6; }
@media(max-width:900px) {
  .header nav { background: #002349; box-shadow: 0 18px 30px #00234940; }
  .plan-dropdown { background: #0a3156; border-left-color: #a8c5dc; }
  .hero-shade { background: linear-gradient(90deg,#002349 0%,#00234975 33%,#0023490a 85%),linear-gradient(0deg,#002349 0%,transparent 45%); }
}
@media(max-width:600px) {
  .hero-shade { background: linear-gradient(90deg,#002349f5 0%,#0023498c 42%,#00234926 100%),linear-gradient(0deg,#002349 0%,#00234944 44%,#00234926 100%); }
  .mobile-view-switch { border-color: #6383a0; }
  .mobile-view-switch>a { color: #d6e7f4; }
}

/* Keep the advisors present from the opening through the closing. */
.team-feature { padding: 85px 0 70px; border-bottom: 1px solid var(--line); }
.team-feature-intro { display: grid; grid-template-columns: 1.1fr 1fr; gap: 12%; align-items: center; margin-bottom: 42px; }
.team-feature-intro h2 { font-size: clamp(38px,3.8vw,57px); }
.team-feature-intro p { color: #40566b; font-size: 16px; }
.team-feature-intro .team-intro-note { font-size: 13px; margin-bottom: 6px; }
.team-feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 45px; }
.team-feature-grid article { min-width: 0; }
.team-portrait { display: block; position: relative; overflow: hidden; margin-bottom: 25px; }
.team-portrait img { aspect-ratio: 1.12; object-fit: cover; object-position: center 35%; transition: transform .25s ease; }
.team-portrait:hover img { transform: scale(1.015); }
.team-portrait>span { position: absolute; right: 14px; bottom: 14px; display: grid; place-items: center; width: 38px; height: 38px; background: #002349; color: #fff; font-size: 22px; border: 1px solid #ffffff70; }
.team-feature-grid .small-label { font-size: 9px; margin-bottom: 12px; color: #476988; }
.team-feature-grid h3 { font-size: 35px; margin-bottom: 14px; }
.team-feature-grid p { font-size: 14px; line-height: 1.75; color: #536477; max-width: 340px; }
.team-phone { display: inline-block; min-height: 44px; padding: 8px 0; color: #002349; font-size: 14px; border-bottom: 1px solid #aabccc; }
.header nav>a.nav-advisors { display: inline-flex; align-items: center; gap: 9px; }
.nav-portraits { display: inline-flex; align-items: center; padding-left: 0; }
.nav-portraits img { width: 24px; height: 24px; object-fit: cover; border-radius: 50%; border: 1px solid #bed4e6; }
.nav-portraits img+img { margin-left: -8px; }
.hero-team a { display: inline-block; border-bottom: 1px solid #8caecc; padding: 3px 0; }
.footer-advisors { display: grid; grid-template-columns: 1fr 1.3fr; gap: 65px; align-items: center; padding-bottom: 50px; margin-bottom: 45px; border-bottom: 1px solid #496a88; }
.footer-advisors .eyebrow { color: #c4d8e8; margin-bottom: 20px; }
.footer-advisors h2 { font-size: 37px; }
.footer-people { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.footer-people a { display: block; }
.footer-people a:first-child { font: 23px/1.3 var(--serif); color: #fff; margin-bottom: 10px; }
.footer-people a:last-child { font-size: 12px; color: #d1e1ed; padding: 10px 0; min-height: 44px; }
@media(max-width:1250px) { .header .nav-portraits { display: none; } .header nav { gap: 18px; } }
@media(max-width:900px) {
  .header .nav-portraits { display: inline-flex; }
  .header nav>a.nav-advisors { display: flex; }
  .team-feature { padding: 65px 0 50px; }
  .team-feature-grid { gap: 25px; }
  .team-feature-grid h3 { font-size: 27px; }
  .team-feature-intro { gap: 35px; }
  .footer-advisors { grid-template-columns: 1fr; gap: 30px; }
}
@media(max-width:600px) {
  .team-feature { padding: 55px 0 45px; }
  .team-feature-intro { grid-template-columns: 1fr; gap: 25px; margin-bottom: 32px; }
  .team-feature-intro h2 { font-size: 40px; }
  .team-feature-grid { grid-template-columns: 1fr; gap: 35px; }
  .team-feature-grid article { display: grid; grid-template-columns: 112px 1fr; gap: 0 20px; border-top: 1px solid var(--line); padding-top: 24px; }
  .team-portrait { grid-column: 1; grid-row: 1/5; margin: 0; align-self: start; }
  .team-portrait img { aspect-ratio: .8; }
  .team-portrait>span { width: 28px; height: 28px; font-size: 18px; right: 8px; bottom: 8px; }
  .team-feature-grid .small-label,.team-feature-grid h3,.team-feature-grid p,.team-phone { grid-column: 2; }
  .team-feature-grid .small-label { font-size: 8px; letter-spacing: 1px; margin-bottom: 8px; }
  .team-feature-grid h3 { font-size: 29px; }
  .team-feature-grid p { font-size: 13px; margin-bottom: 5px; }
  .team-phone { justify-self: start; font-size: 13px; }
  .hero-footer { grid-template-columns: 1.1fr 1fr; gap: 18px; }
  .hero-footer>div.hero-team { display: block; }
  .hero-team p { font-size: 11px; }
  .hero-footer>p { font-size: 11px; }
  .hero-footer>p>span { font-size: 9px; }
  .footer-advisors { padding-bottom: 30px; margin-bottom: 30px; }
  .footer-advisors h2 { font-size: 33px; }
  .footer-people { grid-template-columns: 1fr; gap: 13px; }
  .footer-people>div { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid #496a88; padding-top: 12px; }
  .footer-people a:first-child { font-size: 22px; margin: 0; }
}
