/* Ivory and ink green: a readable company profile for a mature investor audience. */
.about-masthead { padding-top: 34px; }
.about-masthead .breadcrumb { margin-bottom: 18px; }
.about-hero-layout { display: grid; grid-template-columns: 1.06fr 1fr; gap: 34px; align-items: center; padding-block: 18px 42px; min-height: 390px; }
.about-hero-copy { min-width: 0; position: relative; z-index: 1; }
.about-hero-copy h1 { color: var(--gold-light); font-family: var(--sans); font-size: 20px; letter-spacing: .08em; font-weight: 500; margin: 0 0 22px; }
.about-hero-statement { font-family: var(--sans); font-size: clamp(31px,3.2vw,45px); font-weight: 400; line-height: 1.6; letter-spacing: .025em; text-wrap: balance; margin: 0 0 22px; }
.about-hero-description { max-width: 475px; font-size: 20px; line-height: 2; color: var(--paper); }
.about-hero-copy .text-link { margin-top: 8px; }
.about-landscape { margin: 0; min-width: 0; position: relative; }
.about-landscape svg { width: 100%; height: auto; display: block; overflow: visible; }
.about-landscape figcaption { color: var(--muted); text-align: center; font-size: 18px; letter-spacing: .08em; margin-top: -5px; }
.about-landscape-halo, .about-ridge, .about-waterline, .about-river { transform-box: fill-box; transform-origin: center; }
.about-landscape-halo { animation: about-halo-breathe 7s ease-in-out infinite alternate; }
.about-ridge-far { animation: about-ridge-float 9s ease-in-out -2s infinite alternate; }
.about-ridge-near { animation: about-ridge-float 8s ease-in-out -6s infinite alternate-reverse; }
.about-waterline { animation: about-water-breathe 5s ease-in-out -2s infinite alternate; }
.about-river { animation: about-river-shimmer 5s ease-in-out infinite alternate; }
@keyframes about-halo-breathe { from { opacity: .45; transform: scale(.84); } to { opacity: .9; transform: scale(1.08); } }
@keyframes about-ridge-float { from { transform: translate3d(0,-4px,0); opacity: .67; } to { transform: translate3d(0,4px,0); opacity: 1; } }
@keyframes about-water-breathe { from { transform: scaleX(.93); opacity: .5; } to { transform: scaleX(1.035); opacity: 1; } }
@keyframes about-river-shimmer { from { opacity: .52; } to { opacity: 1; } }
.about-local-nav { display: flex; flex-wrap: wrap; gap: 0 42px; border-block: 1px solid var(--line); }
.about-local-nav a { display: inline-flex; align-items: center; min-height: 64px; font-size: 20px; text-decoration: none; color: var(--paper); position: relative; }
.about-local-nav a::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 2px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .28s ease; }
.about-local-nav a:is(:hover,:focus-visible) { color: var(--gold-light); }
.about-local-nav a:is(:hover,:focus-visible)::after { transform: scaleX(1); }
.about-introduction { display: grid; grid-template-columns: .9fr 1.15fr; align-items: start; gap: 72px; }
.about-intro-copy { min-width: 0; padding: 0 20px 0 0; background: transparent; border: 0; position: relative; }
.about-intro-copy::before { content: none; }
.about-intro-copy h2 { font-size: 20px; font-weight: 500; color: var(--gold); margin-bottom: 22px; }
.about-intro-copy .about-company-name { font-family: var(--sans); font-size: 26px; color: var(--ivory); letter-spacing: .03em; line-height: 1.65; margin: 0 0 22px; }
.about-intro-copy > p { font-size: 20px; line-height: 2; color: var(--paper); }
.about-discipline-list { border-top: 1px solid var(--line); }
.about-discipline { display: grid; grid-template-columns: 40px 1fr; align-items: start; gap: 24px; padding-block: 25px; border-bottom: 1px solid var(--line); }
.about-discipline > svg { width: 36px; height: 36px; color: var(--gold); margin-top: 3px; }
.about-discipline h3 { font-size: 20px; font-weight: 500; margin-bottom: 10px; }
.about-discipline p { color: var(--paper); font-size: 20px; line-height: 1.85; margin: 0; }
.about-focus-band { border-block: 1px solid var(--line); background: var(--surface-raised); }
.about-focus-inner { padding-block: 60px 66px; }
.about-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 34px; }
.about-section-heading h2 { font-family: var(--sans); font-size: 32px; font-weight: 400; letter-spacing: .02em; margin: 0; }
.about-section-heading p { max-width: 400px; color: var(--paper); font-size: 20px; margin: 0; }
.about-focus-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.about-focus-card { display: flex; flex-direction: column; align-items: flex-start; text-decoration: none; padding: 32px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); transition: transform .3s ease, border-color .3s ease, background-color .3s ease; }
.about-topic-symbol { display: block; width: 42px; height: 42px; color: var(--gold); margin-bottom: 27px; }
.about-topic-symbol svg { display: block; width: 100%; height: 100%; transition: transform .35s ease; }
.about-focus-card h3 { font-family: var(--sans); font-size: 23px; font-weight: 400; letter-spacing: .02em; margin: 0 0 17px; }
.about-focus-card p { color: var(--paper); font-size: 20px; line-height: 1.85; margin-bottom: 24px; }
.about-focus-action { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; color: var(--gold-light); font-size: 18px; padding-top: 17px; margin-top: auto; border-top: 1px solid var(--line); }
.about-focus-card:is(:hover,:focus-visible) { border-color: var(--gold); background-color: var(--surface); }
.about-focus-card:is(:hover,:focus-visible) .about-topic-symbol svg { transform: translateY(-3px); }
.about-focus-card:is(:hover,:focus-visible) .arrow-icon { transform: translateX(5px); }
.about-contact { display: grid; grid-template-columns: 1.35fr 1fr; gap: 90px; align-items: center; }
.about-section-label { display: block; color: var(--gold); font-size: 18px; margin-bottom: 12px; }
.about-contact-copy h2 { font-family: var(--sans); font-size: 32px; font-weight: 400; letter-spacing: .02em; margin-bottom: 20px; }
.about-contact-copy p { max-width: 520px; font-size: 20px; line-height: 2; color: var(--paper); }
.about-contact-action { border-left: 1px solid var(--line); padding-left: 54px; display: flex; flex-direction: column; align-items: flex-start; }
.about-contact-action > span { color: var(--muted); font-size: 18px; }
.about-contact-action .about-phone { font-size: clamp(28px,3vw,39px); font-weight: 400; color: var(--gold-light); font-variant-numeric: tabular-nums; letter-spacing: .055em; text-decoration: none; line-height: 1.5; margin-block: 8px 14px; }
.about-phone:hover { color: var(--ivory); }
.about-contact-action .text-link { font-size: 18px; }
.motion-paused .about-landscape *, .motion-suspended .about-landscape * { animation-play-state: paused !important; }
:is(.motion-paused,.motion-suspended) .about-focus-card, :is(.motion-paused,.motion-suspended) .about-topic-symbol svg, :is(.motion-paused,.motion-suspended) .about-local-nav a::after { transition: none; }
@media (hover:hover) and (pointer:fine) { .about-focus-card:hover { transform: translateY(-2px); } }
@media (max-width:1100px) {
  .about-hero-layout { gap: 20px; }
  .about-hero-statement { font-size: 34px; }
  .about-introduction { gap: 44px; grid-template-columns: .95fr 1.05fr; }
  .about-intro-copy { padding: 0; }
  .about-intro-copy .about-company-name { font-size: 23px; }
  .about-focus-card { padding: 26px; }
  .about-contact { gap: 48px; }
  .about-contact-action { padding-left: 38px; }
}
@media (max-width:900px) {
  .about-masthead { padding-top: 28px; }
  .about-masthead .breadcrumb { margin-bottom: 26px; }
  .about-hero-layout { grid-template-columns: 1fr; gap: 14px; padding-block: 0 26px; min-height: 0; }
  .about-hero-copy h1 { font-size: 18px; margin-bottom: 18px; }
  .about-hero-statement { font-size: clamp(27px,5.6vw,38px); margin-bottom: 18px; line-height: 1.6; }
  .about-hero-description { font-size: 18px; max-width: 500px; }
  .about-hero-copy .text-link { font-size: 18px; margin-top: 3px; }
  .about-landscape { max-width: 445px; justify-self: center; width: 100%; margin-top: -12px; }
  .about-landscape figcaption { font-size: 18px; margin-top: -14px; }
  .about-local-nav { gap: 0 27px; }
  .about-local-nav a { font-size: 18px; min-height: 56px; }
  .about-introduction { grid-template-columns: 1fr; gap: 28px; }
  .about-intro-copy { padding: 0; }
  .about-intro-copy .about-company-name { font-size: 25px; }
  .about-intro-copy > p { font-size: 18px; }
  .about-discipline { gap: 20px; padding-block: 24px; grid-template-columns: 35px 1fr; }
  .about-discipline > svg { width: 31px; height: 31px; }
  .about-discipline h3 { font-size: 18px; }
  .about-discipline p { font-size: 18px; }
  .about-focus-inner { padding-block: 46px 50px; }
  .about-section-heading { display: block; margin-bottom: 27px; }
  .about-section-heading h2 { font-size: 28px; margin-bottom: 15px; }
  .about-section-heading p { font-size: 18px; }
  .about-focus-grid { grid-template-columns: 1fr; gap: 15px; }
  .about-focus-card { padding: 27px; }
  .about-topic-symbol { width: 36px; height: 36px; margin-bottom: 22px; }
  .about-focus-card h3 { font-size: 23px; margin-bottom: 14px; }
  .about-focus-card p { margin-bottom: 20px; }
  .about-contact { grid-template-columns: 1fr; gap: 25px; }
  .about-contact-copy h2 { font-size: 28px; margin-bottom: 15px; }
  .about-contact-action { border-left: 0; border-top: 1px solid var(--line); padding: 27px 0 0; }
  .about-contact-action .about-phone { font-size: 32px; }
}
@media (max-width:370px) {
  .about-hero-statement { font-size: 25px; }
  .about-local-nav { gap: 0 18px; }
  .about-local-nav a { font-size: 18px; }
  .about-intro-copy { padding: 0; }
  .about-intro-copy .about-company-name { font-size: 22px; }
}
@media (prefers-reduced-motion:reduce) {
  .about-landscape * { animation: none !important; }
  .about-focus-card, .about-topic-symbol svg, .about-local-nav a::after { transition: none; }
  .about-focus-card:hover, .about-focus-card:is(:hover,:focus-visible) .about-topic-symbol svg { transform: none; }
}

:is(.motion-paused,.motion-suspended) .about-focus-card, :is(.motion-paused,.motion-suspended) .about-focus-card .about-topic-symbol svg, :is(.motion-paused,.motion-suspended) .about-focus-card .arrow-icon { transform: none; }


/* Clear reading hierarchy and generous controls. */
.about-hero-copy h1 { font-size: 36px; font-weight: 600; letter-spacing: .02em; }
.about-hero-statement { font-size: clamp(30px,2.7vw,40px); }
.about-hero-description { max-width: 28em; }
.about-local-nav a { min-height: 72px; font-size: 20px; }
.about-intro-copy h2, .about-section-heading h2, .about-contact-copy h2 { font-size: 36px; font-weight: 600; }
.about-intro-copy .about-company-name { font-size: 26px; font-weight: 500; }
.about-intro-copy > p, .about-discipline p, .about-focus-card p { max-width: 34em; }
.about-discipline h3 { font-size: 26px; font-weight: 600; }
.about-focus-card h3 { font-size: 28px; font-weight: 600; }
.about-section-heading p { max-width: 26em; }
.about-contact-copy p { max-width: 30em; }
.about-focus-action, .about-contact-action .text-link { min-height: 48px; }
.about-local-nav a:focus-visible, .about-focus-card:focus-visible, .about-phone:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
@media (max-width:900px) {
  .about-hero-copy h1, .about-intro-copy h2, .about-section-heading h2, .about-contact-copy h2 { font-size: 32px; }
  .about-hero-statement { font-size: clamp(28px,5.6vw,36px); }
  .about-local-nav a { font-size: 18px; min-height: 60px; }
  .about-discipline h3 { font-size: 24px; }
  .about-focus-card h3 { font-size: 26px; }
  .about-focus-card p, .about-contact-copy p { font-size: 18px; }
}
