/* 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; }
}

/* Address-led property identity. */
.hero-copy h1.address-heading { font-size: clamp(52px, 5.4vw, 80px); line-height: 1.03; letter-spacing: -.045em; max-width: 690px; }
.hero-copy h1.address-heading em { padding-bottom: 0; }
@media (max-width: 600px) {
  .hero-copy h1.address-heading { font-size: clamp(39px, 10.5vw, 62px); line-height: 1.07; }
}
/* Seller marketing plan: readable detail with quiet, deliberate navigation. */
.plan-subnav { gap: 28px; overflow-x: auto; justify-content: flex-start; scrollbar-width: thin; }
.plan-subnav a { flex: 0 0 auto; white-space: nowrap; }
.plan-dropdown { min-width: 270px; }
.plan-index { padding: 70px 0 45px; }
.plan-chapter-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); margin-top: 36px; }
.plan-chapter-grid>a { position: relative; padding: 30px 28px 40px 0; border-bottom: 1px solid var(--line); }
.plan-chapter-grid>a:not(:nth-child(3n+1)) { padding-left: 28px; border-left: 1px solid var(--line); }
.plan-chapter-grid h3 { font-size: 30px; line-height: 1.15; margin: 15px 0; }
.plan-chapter-grid p { font-size: 14px; color: var(--muted); max-width: 30ch; }
.plan-chapter-grid>a>span:last-child { position: absolute; bottom: 20px; right: 25px; font-size: 20px; }
.plan-chapter-grid>a:hover { background: #e9eef2; }
.plan-summary { padding: 10px 0 80px; display: flex; justify-content: space-between; gap: 45px; align-items: center; }
.plan-summary p { max-width: 65ch; color: var(--muted); font-size: 14px; }
.strategy-explorer { display: grid; grid-template-columns: 270px minmax(0,1fr); gap: 60px; padding-bottom: 70px; align-items: start; }
.channel-selector { display: grid; border-top: 1px solid var(--line); }
.channel-selector button { display: flex; align-items: center; gap: 14px; text-align: left; padding: 18px 14px; border-bottom: 1px solid var(--line); font-size: 13px; min-height: 58px; color: var(--ink); }
.channel-selector button>span:first-child { font-size: 10px; opacity: .7; }
.channel-selector button>span:last-child { margin-left: auto; }
.channel-selector button[aria-pressed=true],.path-selector button[aria-pressed=true] { background: #002349; color: #fff; }
#channel-detail { padding: 32px 40px; background: #edf1f4; border-top: 2px solid #002349; min-height: 600px; }
#channel-detail h2,#path-detail h2 { font-size: clamp(34px,3.5vw,50px); line-height: 1.08; max-width: 20ch; }
#channel-detail .lead,#path-detail .lead { font-size: 16px; max-width: 66ch; margin-top: 22px; }
.execution-detail { margin: 28px 0 0; }
.execution-detail>div { display: grid; grid-template-columns: 145px minmax(0,1fr); gap: 24px; padding: 17px 0; border-top: 1px solid var(--line); }
.execution-detail dt { font-size: 10px; letter-spacing: 1px; text-transform: uppercase; padding-top: 4px; color: #002349; }
.execution-detail dd { margin: 0; font-size: 14px; color: var(--ink); }
.channel-note { font-size: 12px; line-height: 1.7; color: var(--muted); margin: 24px 0 0; }
.phase-output { padding: 20px 0 0; margin-top: 22px; border-top: 1px solid var(--line); }
.phase-output p { margin-top: 9px; }
.reporting-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; padding-bottom: 50px; }
.reporting-grid article { border-top: 2px solid #002349; padding-top: 26px; }
.reporting-grid h2 { font-size: 33px; margin: 18px 0; }
.reporting-grid p { font-size: 15px; color: var(--muted); }
.path-selector { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; border: 1px solid var(--line); }
.path-selector button { min-height: 60px; padding: 16px; font-size: 14px; }
.path-selector button+button { border-left: 1px solid var(--line); }
#path-detail { background: #edf1f4; padding: 45px; min-height: 430px; }
.research-notes { margin: 30px 0 55px; }
.research-notes p { max-width: 90ch; }
.comp-heading .eyebrow { letter-spacing: 1.3px; line-height: 1.8; }
.comp-card details .actions { margin: 12px 0 20px; gap: 20px; }
@media (max-width: 900px) {
  .strategy-explorer { grid-template-columns: 210px minmax(0,1fr); gap: 25px; }
  #channel-detail { padding: 28px; }
  .plan-chapter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .plan-chapter-grid>a:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; }
  .plan-chapter-grid>a:nth-child(even) { padding-left: 25px; border-left: 1px solid var(--line); }
  .execution-detail>div { grid-template-columns: 1fr; gap: 8px; }
  .reporting-grid { gap: 25px; }
  .plan-summary { display: block; }
}
@media (max-width: 600px) {
  .plan-index { padding-top: 45px; }
  .plan-chapter-grid { grid-template-columns: 1fr; }
  .plan-chapter-grid>a:nth-child(even) { padding-left: 0; border-left: 0; }
  .plan-chapter-grid>a { padding-top: 23px; padding-bottom: 36px; }
  .plan-chapter-grid h3 { font-size: 29px; }
  .plan-chapter-grid p { max-width: none; }
  .strategy-explorer { display: block; }
  .channel-selector { display: flex; overflow-x: auto; margin-bottom: 24px; border-bottom: 1px solid var(--line); padding-bottom: 8px; }
  .channel-selector button { flex: 0 0 auto; min-height: 52px; border-bottom: 0; padding: 13px; }
  .channel-selector button>span:last-child { display: none; }
  #channel-detail { padding: 25px 20px; min-height: 0; }
  .reporting-grid { grid-template-columns: 1fr; gap: 30px; }
  .path-selector { grid-template-columns: 1fr; }
  .path-selector button+button { border-left: 0; border-top: 1px solid var(--line); }
  #path-detail { padding: 30px 20px; min-height: 0; }
  .timeline-row .source-disclosure { margin-top: 14px; }
}

/* A quiet screening room within Creative & Film. */
.film-example{margin-bottom:clamp(64px,8vw,120px)}
.film-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:end;margin-bottom:32px}
.film-heading h2{margin:12px 0 0}.film-heading>p{max-width:480px;margin:0;line-height:1.7}
.cinema{width:min(100%,880px,max(356px,92.444svh));margin-inline:auto;container-type:inline-size;background:#00162e;color:#fff;box-shadow:0 24px 60px #00234918}
.cinema-screen{position:relative;width:100%;aspect-ratio:16/9;min-height:200px;background:#00162e}
.cinema-screen>[data-player],.cinema-screen>iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cinema-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:radial-gradient(ellipse at top right,#20476a,#00162e 75%)}
.cinema-placeholder>span{font-size:10px;letter-spacing:.2em;color:#b7c5d1}.cinema-placeholder p{font-family:Georgia,serif;font-size:clamp(20px,3vw,40px);margin:16px 0 24px}.cinema-placeholder button{padding:12px 24px;border:1px solid #ffffff70;color:#fff;background:transparent}
.film-ready .cinema-placeholder{display:none}
.cinema-controls{display:flex;gap:20px;align-items:center;padding:14px 24px;border-top:1px solid #ffffff20}
.cinema-controls button{color:#fff;background:transparent;border:0;min-height:44px;white-space:nowrap;font-size:12px;letter-spacing:.04em;padding:8px 0}
.cinema button:disabled{opacity:.45;cursor:default}.cinema-controls [data-seek]{flex:1;min-width:40px;height:32px;accent-color:#d9c7ac;cursor:pointer}.cinema-time{font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums;color:#c3d0dc}
.cinema-status{padding:0 24px 18px;display:flex;justify-content:space-between;gap:20px;font-size:11px;line-height:1.5;color:#bac9d7}.cinema-status a{color:inherit;white-space:nowrap;text-underline-offset:4px}
.cinema :focus-visible{outline:2px solid #e8d2af;outline-offset:4px}
.film-caption{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-bottom:1px solid #00234925;padding:20px 0}.film-caption p{font-size:12px;line-height:1.7;margin:0}.film-caption strong{font-weight:500}.film-caption span{display:block;opacity:.7;margin-top:4px}
.cinema:fullscreen{width:100%;container-type:normal;display:flex;flex-direction:column;justify-content:center;padding:0 3vw}.cinema:fullscreen .cinema-screen{max-height:calc(100dvh - 130px);flex-shrink:1;aspect-ratio:16/9}.cinema:fullscreen .cinema-controls,.cinema:fullscreen .cinema-status{flex-shrink:0}
@media(max-width:650px){.film-heading,.film-caption{grid-template-columns:1fr;gap:20px}.film-heading{margin-bottom:24px}.cinema-controls{gap:14px;padding:8px 12px;flex-wrap:wrap}.cinema-controls [data-seek]{order:4;flex-basis:calc(100% - 90px)}.cinema-time{order:5}.cinema-controls [data-fullscreen]{margin-left:auto}.cinema-status{padding:8px 12px 16px;gap:8px;flex-direction:column}.film-caption{gap:12px}.cinema-placeholder p{margin:12px 0 16px}}

/* Keep the complete player and controls comfortable on shorter screens. */
.film-example .film-caption{max-width:880px;margin-inline:auto}
@container(max-width:650px){.cinema-controls{gap:14px;padding:8px 12px;flex-wrap:wrap}.cinema-controls [data-seek]{order:4;flex-basis:calc(100% - 90px)}.cinema-time{order:5}.cinema-controls [data-fullscreen]{margin-left:auto}.cinema-status{padding:8px 12px 16px;gap:8px;flex-direction:column}}

/* The marketing department's named relationships, with each role kept visible. */
.partner-ribbon{padding:64px 0 30px;background:#002349;color:#f5f2e9;overflow:hidden}
.partner-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:end;margin-bottom:36px}
.partner-intro h2{font-size:clamp(34px,3.6vw,52px)}.partner-intro p{font-size:15px;line-height:1.8;max-width:520px;margin:0}.partner-intro .text-link{margin-top:18px}
.partner-ribbon .eyebrow{color:#d6c29f}.partner-ribbon h2,.partner-ribbon p,.partner-ribbon .text-link{color:inherit}
.partner-marquee{margin:42px 0 28px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.partner-track{display:flex;width:max-content;animation:partner-drift 90s linear infinite;animation-play-state:paused}
.partner-track:nth-child(2){animation-duration:100s;animation-direction:reverse;border-top:1px solid #ffffff20;margin-top:12px;padding-top:12px}
.partner-track-set{display:flex;align-items:center;flex-shrink:0}
.partner-track span{display:block;white-space:nowrap;font:clamp(24px,2.5vw,38px)/1.5 Georgia,serif;letter-spacing:-.03em;padding:12px 38px;color:#fff}
.partner-track span:nth-child(3n+2){font:500 clamp(18px,1.8vw,28px)/1.5 var(--sans);letter-spacing:.04em}
.partner-ribbon.is-visible .partner-track{animation-play-state:running}.partner-ribbon.is-paused .partner-track{animation-play-state:paused}
@media(hover:hover){.partner-ribbon:hover .partner-track{animation-play-state:paused}}
.ribbon-foot{display:flex;align-items:center;justify-content:space-between;gap:30px}.ribbon-foot p{font-size:11px;line-height:1.7;max-width:740px;opacity:.75;margin:0}.ribbon-foot button{color:#fff;border-bottom:1px solid #fff6;min-height:44px;white-space:nowrap;font-size:12px}
.partner-explorer{padding:64px 0 48px}.partner-filters{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:36px}
.partner-filters button{padding:12px 17px;min-height:44px;border:1px solid #00234930;font-size:12px;line-height:1.5;transition:background .2s,color .2s}.partner-filters button[aria-pressed=true]{background:#002349;color:#fff;border-color:#002349}
.partner-group{padding:0 0 34px;margin-bottom:36px;border-bottom:1px solid var(--line)}.partner-group:last-child{margin-bottom:0}
.partner-group header{display:grid;grid-template-columns:1fr 1fr;gap:16px 8%;margin-bottom:28px}.partner-group header .eyebrow{grid-column:1/-1;margin-bottom:0}.partner-group h3{font-size:clamp(27px,2.7vw,38px);max-width:440px}.partner-group header p{font-size:14px;line-height:1.8;margin:0}
.partner-name-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #00234925;border-left:1px solid #00234925}
.partner-name-grid li{display:flex;flex-direction:column;justify-content:center;min-height:112px;padding:24px 20px;border-right:1px solid #00234925;border-bottom:1px solid #00234925;animation:partner-appear .35s ease-out both;animation-delay:var(--reveal-delay)}
.partner-name-grid strong{font:400 clamp(19px,1.9vw,27px)/1.3 Georgia,serif;letter-spacing:-.025em;overflow-wrap:anywhere}.partner-name-grid li:nth-child(3n+2) strong{font-family:var(--sans);font-size:clamp(16px,1.45vw,21px);font-weight:500;letter-spacing:0}
.partner-name-grid.has-descriptions{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-name-grid.has-descriptions li{justify-content:start;padding:26px}.partner-name-grid span{display:block;font-size:13px;line-height:1.75;margin-top:12px;color:var(--muted)}
.partner-context,.partner-foundation{font-size:12px;line-height:1.75;color:var(--muted);margin:20px 0 0;max-width:950px}.partner-context>span{display:block;margin-top:5px;font-size:10px}
@keyframes partner-drift{to{transform:translateX(-50%)}}@keyframes partner-appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.partner-ribbon.prefers-still .partner-marquee{mask-image:none}.partner-ribbon.prefers-still .partner-track{animation:none;width:100%}.partner-ribbon.prefers-still .partner-track-set{flex-wrap:wrap;justify-content:center;width:100%}.partner-ribbon.prefers-still [aria-hidden=true]{display:none}.partner-ribbon.prefers-still .partner-track span{white-space:normal;padding:12px 22px;font-size:22px}
@media(max-width:800px){.partner-name-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-intro{gap:30px}.partner-track span{padding-inline:24px}}
@media(max-width:600px){.partner-ribbon{padding-top:44px}.partner-intro,.partner-group header{grid-template-columns:1fr;gap:20px}.partner-intro h2{font-size:36px}.partner-marquee{margin-top:24px}.ribbon-foot{align-items:start;gap:16px}.ribbon-foot p{font-size:10px}.partner-explorer{padding:44px 0 30px}.partner-filters{gap:7px}.partner-filters button{font-size:11px;padding:10px 12px}.partner-name-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-name-grid li{padding:18px 14px;min-height:100px}.partner-name-grid.has-descriptions{grid-template-columns:1fr}.partner-name-grid.has-descriptions li{padding:22px}.partner-group header .eyebrow{font-size:9px}.partner-group header p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.partner-track,.partner-name-grid li{animation:none!important}.partner-filters button{transition:none}.partner-marquee{mask-image:none}.partner-track{width:100%}.partner-track-set{flex-wrap:wrap;justify-content:center;width:100%}.partner-track-set[aria-hidden=true]{display:none}.partner-track span{white-space:normal;padding:12px 22px;font-size:22px}.ribbon-foot button{display:none}}

.portal-spotlight{margin:30px 0 22px}.portal-spotlight>ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:16px 0 0;padding:0;border-top:1px solid #00234930;border-left:1px solid #00234930}.portal-spotlight li{display:flex;align-items:center;justify-content:center;text-align:center;min-height:100px;padding:20px 14px;border-bottom:1px solid #00234930;border-right:1px solid #00234930;font:500 clamp(19px,2.4vw,32px)/1.3 var(--sans);letter-spacing:-.04em;overflow-wrap:anywhere}.portal-spotlight li:nth-child(3){font-family:Georgia,serif;font-weight:400;letter-spacing:-.03em}.partner-ribbon .portal-spotlight .small-label{color:#d6c29f}.partner-ribbon .portal-spotlight ul,.partner-ribbon .portal-spotlight li{border-color:#ffffff30}.portal-reach{padding-bottom:32px}.portal-reach .fine{max-width:900px}.portal-sources ul{padding-left:18px;font-size:12px;line-height:1.8}.portal-sources a{text-decoration:underline;text-underline-offset:3px}.portal-sources li{margin-bottom:8px}
@media(max-width:600px){.portal-spotlight>ul{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-spotlight li{min-height:80px;font-size:20px}.portal-spotlight li:nth-child(3){font-size:18px}.portal-spotlight>.small-label{font-size:8px;line-height:1.8}}

/* New subject: preserve existing imagery as clearly identified temporary examples. */
.address-heading .address-community{font-family:var(--sans,Arial,sans-serif);font-size:clamp(.66rem,1vw,.88rem);font-style:normal;letter-spacing:.13em;line-height:1.7;text-transform:uppercase;margin-top:1.4rem;max-width:30em}
.media-note{font-size:.8rem;line-height:1.6;border-left:2px solid #a88b5f;padding:.6rem 1rem;color:#526276;margin:1.5rem 0}
.hero-image-caption{font-size:.6rem;line-height:1.6;max-width:90%}
@media(max-width:640px){.address-heading .address-community{max-width:25em;font-size:.65rem}.hero-image-caption{font-size:.55rem}.hero-image-caption span{display:block}.particulars dd{overflow-wrap:anywhere}}

/* Supplied exterior photography: keep landscape compositions legible. */
.hero-image{object-position:50% 50%}
.vision-images{grid-template-columns:1fr 1.2fr 1fr;align-items:start}
.vision-images button:nth-child(n) img{aspect-ratio:3/2;object-position:center}
.vision-images button:nth-child(3){margin-top:80px}
.gallery-grid .gallery-item:nth-child(n) img{aspect-ratio:3/2;object-position:center}
.gallery-grid .gallery-item:last-child{grid-column:auto}
@media(max-width:640px){
 .hero-image{object-position:50% 50%}
 .hero-image-caption{display:block;bottom:115px;right:22px;font-size:.52rem;max-width:calc(100% - 22px)}
 .hero-image-caption span{font-size:.49rem;letter-spacing:1px}
 .vision-images{grid-template-columns:1fr 1fr}
 .vision-images button:nth-child(3){margin-top:0}
 .gallery-grid{grid-template-columns:1fr}
 .gallery-grid .gallery-item:nth-child(n){padding-top:0}
}

/* Keep the supplied portrait faces comfortably framed in square crops. */
.advisor-grid img,.nav-portraits img{object-position:center 22%}
