/* Shared editorial rhythm and interaction states. Page palettes stay authored. */
.tmo-header .header-inner { width: var(--tmo-shell-width); }
.tmo-header .brand { width: 172px; flex-basis: 172px; margin-right: 42px; }
.tmo-header .main-nav .nav-trigger { font-size: 12px; line-height: 1.4; font-weight: 600; font-variant: normal; text-transform: uppercase; letter-spacing: .035em; }
.tmo-header .utility-nav .nav-trigger, .tmo-header .utility-nav > a { font-size: 11px; font-weight: 500; font-variant: normal; text-transform: uppercase; letter-spacing: .025em; }
.tmo-header .utility-nav { gap: 18px; padding-left: 22px; }
.tmo-header .locale { font-size: 12px; }
.tmo-header .topbar { transition: background-color 240ms var(--tmo-ease), color 240ms var(--tmo-ease), box-shadow 240ms var(--tmo-ease); }
.header--solid .topbar { box-shadow: 0 1px 0 rgb(22 43 75 / 9%); }
.tmo-header a[aria-current="page"]::after { transform: scaleX(1); }
.tmo-header .mega-surface { padding-inline: max(var(--tmo-gutter), calc((100vw - 1376px) / 2)); width: 100%; }
.tmo-header .mega-column a { font-size: 16px; font-variant: normal; text-transform: none; line-height: 1.5; letter-spacing: 0; }
.tmo-header .mega-column h3 { font-size: 12px; font-variant: normal; text-transform: uppercase; letter-spacing: .06em; }
.tmo-header .mega-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1050px; gap: 56px; }
.tmo-header .mega-description { max-width: 850px; line-height: 1.5; }
.tmo-header .mega-close { right: var(--tmo-gutter); }
.tmo-header .mega-column a:hover { text-decoration-thickness: 1px; }
.tmo-footer a { background-image: none; }
.footer-links a { width: fit-content; line-height: 1.5; }
.advisor-section, .agro-section, .re-section { padding-block: var(--tmo-section-space); }
.advisor-section-heading, .agro-section-intro, .re-section-heading { row-gap: 28px; }
.advisor-columns > *, .advisor-section-heading > *, .advisor-contact-layout > *, .editorial-pair > *, .re-introduction > *, .re-contact-layout > * { min-width: 0; }
/* Service choices are alternatives, so their layout does not imply a sequence. */
.advisor-service-row { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 8%; padding-block: 36px; border-top: 1px solid var(--ad-line); align-items: start; }
.advisor-service-row > h3 { max-width: 24ch; margin: 0; }
.advisor-service-row p { max-width: 60ch; font-size: 17px; margin: 0 0 18px; }
.advisor-service-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--navy); font-size: 15px; background: none; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.advisor-service-link:hover { text-decoration-thickness: 2px; }
.advisor-step > span { font-size: 14px; color: var(--ad-muted); }
.advisor-main > .advisor-stone + .advisor-stone { padding-top: 0; }
.advisor-main > .advisor-stone + .advisor-stone > .section-shell { border-top: 1px solid var(--ad-line); padding-top: var(--tmo-section-space); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.cover-page .page-cover-content { padding-top: clamp(96px, 16svh, 176px); }
.cover-page .page-cover-intro { max-width: 560px; }
.cover-page .page-cover-label { max-width: 56ch; }
.cover-page .page-cover-seal { width: 200px; }
:is(.advisor-shortcuts, .re-section-nav, .agro-shortcuts, .about-shortcuts) { display: block; position: sticky; top: var(--header-height); z-index: 18; background: #fff; padding: 0; border-block: 1px solid #e1e4e7; }
:is(.advisor-shortcuts, .re-section-nav, .agro-shortcuts, .about-shortcuts) .section-shell { display: flex; flex-wrap: nowrap; align-items: center; gap: 32px; padding-block: 12px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
:is(.advisor-shortcuts, .re-section-nav, .agro-shortcuts, .about-shortcuts) a { flex: 0 0 auto; min-height: 44px; padding: 8px 0; font-size: 14px; font-variant: normal; text-transform: none; letter-spacing: 0; line-height: 1.4; white-space: nowrap; border: 0; background: none; text-decoration: none; text-underline-offset: 8px; }
:is(.advisor-shortcuts, .re-section-nav, .agro-shortcuts, .about-shortcuts) a[aria-current] { text-decoration: underline; text-decoration-thickness: 1px; }
:is(.advisor-shortcuts, .re-section-nav, .agro-shortcuts, .about-shortcuts) a:hover { text-decoration: underline; }
:is(.advisor-shortcuts, .re-section-nav, .agro-shortcuts, .about-shortcuts) .ui-arrow { display: none; }
.advisor-main [id], .re-main [id], .agro-main [id], .about-main [id] { scroll-margin-top: calc(var(--header-height) + 106px); }
:is(.advisor-shortcuts, .re-section-nav, .agro-shortcuts, .about-shortcuts) a:focus-visible { outline-offset: 3px; }
.home-news > .section-shell { padding-inline: 0; }
.advisory-overview .av-hero-copy { padding-left: 0; }
.advisory-overview .av-deliverables { padding-block: 64px; }
.advisory-overview .av-process { padding-block: 64px; }
.export-overview .ep-deliverables { padding-block: 48px; }
.export-overview .ep-process { padding-top: 52px; }
.export-overview .ep-tabs, .private-label-page .pl-tabs { scroll-padding-inline: 5px; }
.export-page .advisor-document + .advisor-document[hidden] { margin-top: 0; }
main :where(input, select, textarea):focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
main summary:focus-visible, main [role="tabpanel"]:focus-visible { outline: 2px solid var(--navy); outline-offset: 6px; }
main [role="tabpanel"] { scroll-margin-top: calc(var(--header-height) + 100px); }
.page-cover :where(h1, p, a) { text-shadow: 0 1px 12px rgb(0 0 0 / 10%); }
.private-label-page .page-cover :where(h1, p, a) { text-shadow: none; }
.hero { background: #19262c; }
.hero-content { animation: none; }
.hero-shade { background: rgb(10 20 27 / 26%); }
.portrait-frame .portrait { transition: transform 700ms var(--tmo-ease); }
.text-link span { transition: none; }
.text-link:hover span { transform: none; }
/* Action controls share the Taylor proportions across the existing templates. */
body main :is(.outline-button,.page-cover-button,.ep-button,.av-button,.pl-button,.re-button,.agro-button,.advisor-button,.ie-button,.sx-button,.at-button,.tx-button,.lg-button) {
  min-height:50px;
  max-width:100%;
  border-radius:4px;
  font-size:13px;
  font-weight:500;
  line-height:1.45;
  letter-spacing:0;
  text-transform:none;
  text-decoration:none;
}
body main :is(.outline-button,.page-cover-button,.ep-button,.av-button,.pl-button,.re-button,.agro-button,.advisor-button,.ie-button,.sx-button,.at-button,.tx-button,.lg-button):focus-visible {
  outline:2px solid currentColor;
  outline-offset:4px;
}
/* A single short opening sequence; body sections are never hidden awaiting scroll. */
@media (prefers-reduced-motion: no-preference) {
  .page-cover-heading, .av-hero-copy, .ep-hero-copy, .pl-hero-copy > div { animation: tmo-opening 700ms var(--tmo-ease) both; }
  .page-cover-aside { animation: tmo-opening 700ms 90ms var(--tmo-ease) both; }
  .hero-content { animation: tmo-opening 800ms var(--tmo-ease) both; }
  .hero-image { animation: tmo-photo 1600ms var(--tmo-ease) both; }
  .outline-button, .page-cover-button, .ep-button, .av-button, .pl-button, .re-button, .agro-button, .advisor-button { transition: background-color var(--tmo-fast) ease, color var(--tmo-fast) ease, border-color var(--tmo-fast) ease; }
  @view-transition { navigation: auto; }
  ::view-transition-old(root) { animation: tmo-leave 120ms ease both; }
  ::view-transition-new(root) { animation: tmo-arrive 220ms ease both; }
}
@keyframes tmo-opening { from { opacity: .35; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes tmo-photo { from { transform: scale(1.025); } to { transform: scale(1); } }
@keyframes tmo-leave { to { opacity: 0; } }
@keyframes tmo-arrive { from { opacity: 0; } }
@media (min-width: 1200px) and (max-width: 1390px) {
  .tmo-header .brand { width: 154px; flex-basis: 154px; margin-right: 28px; }
  .tmo-header .main-nav { gap: 16px; }
  .tmo-header .main-nav .nav-trigger { font-size: 11px; }
  .tmo-header .utility-nav { gap: 13px; padding-left: 16px; }
  .tmo-header .header-tools { gap: 10px; margin-left: 14px; }
}
@media (max-width: 1199px) {
  :root { --header-height: 64px; }
  .export-overview { --ep-header: 64px; }
  .tmo-header .brand { width: 160px; flex-basis: 160px; margin-right: auto; }
  .tmo-header .mega-columns { gap: 36px; }
  .tmo-header .mobile-menu .nav-trigger { font-size: 29px; text-transform: none; font-variant: normal; font-weight: 400; letter-spacing: -.3px; }
}
@media (max-width: 760px) {
  .advisor-service-row { grid-template-columns: 1fr; gap: 20px; padding-block: 30px; }
  .tmo-header .brand { width: 146px; flex-basis: 146px; }
  .tmo-header .mega-surface { padding-inline: 24px; }
  .tmo-header .mega-columns { gap: 30px; }
  .cover-page .page-cover-content { padding-block: 64px 42px; }
  .cover-page .page-cover-seal { width: 180px; }
  :is(.advisor-shortcuts, .re-section-nav, .agro-shortcuts, .about-shortcuts) .section-shell { width: 100%; padding: 8px var(--tmo-gutter); gap: 26px; }
  :is(.advisor-shortcuts, .re-section-nav, .agro-shortcuts, .about-shortcuts) a { font-size: 14px; }
  .advisory-overview .av-deliverables, .advisory-overview .av-process { padding-block: 44px; }
  .export-overview .ep-deliverables { padding-block: 0 24px; }
  .export-overview .ep-process { padding-top: 40px; }
  .home-news > .section-shell { width: var(--tmo-shell-width); }
  .contact aside h3, .about-next-copy h3 { max-width: 20ch; }
}
@media (max-width: 600px) { .tmo-header .mega-columns { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  ::view-transition-old(root), ::view-transition-new(root) { animation: none !important; }
}
