/* AliM Partners V2: typography, spacing, and service layouts. */
:root {
  --v2-ink: #0c1830;
  --v2-muted: #536174;
  --v2-rule: #d9dde2;
  --v2-gold: #8d6e2a;
}
body { font-size: 16px; }
main h1 { font-size: clamp(2.625rem, 5.1vw, 4.75rem); line-height: 1.1; letter-spacing: -.035em; font-weight: 400; text-wrap: balance; }
main h2 { font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.16; letter-spacing: -.025em; font-weight: 400; text-wrap: balance; }
main h3 { line-height: 1.3; letter-spacing: -.012em; }
main p.text-sm { font-size: 15px; line-height: 1.75; }
main p.text-xs { font-size: 14px; line-height: 1.7; }
main [class*="text-[10px]"], main [class*="text-[11px]"] { font-size: 12px; line-height: 1.5; letter-spacing: .1em; }
main .tracking-widest, main .tracking-wider { letter-spacing: .08em; }
nav a, nav button { letter-spacing: .065em; }
main .py-24 { padding-top: 76px; padding-bottom: 76px; }
main .py-32 { padding-top: 88px; padding-bottom: 88px; }
main .py-20 { padding-top: 64px; padding-bottom: 64px; }
main .mb-16 { margin-bottom: 44px; }
main .mb-20 { margin-bottom: 56px; }
main .gap-20 { gap: 56px; }
main button { letter-spacing: .075em; }
footer [class*="text-[10px]"] { font-size: 11px; line-height: 1.7; letter-spacing: .065em; }

.v2-services-overview { padding: 88px 0; background: #f7f8fa; }
.v2-container { width: min(100%, 1280px); margin: 0 auto; padding: 0 32px; }
.v2-services-intro { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 64px; margin-bottom: 46px; }
.v2-eyebrow { display: block; margin: 0 0 16px; color: var(--v2-gold); font-family: var(--font-sans); font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; }
.v2-services-intro h2 { margin: 0; color: var(--v2-ink); }
.v2-services-intro > p { color: var(--v2-muted); font-size: 16px; line-height: 1.7; max-width: 440px; margin: 0 0 2px; }
.v2-service-index { border-top: 1px solid var(--v2-rule); }
.v2-service-row { display: grid; grid-template-columns: 50px minmax(0, 1.1fr) minmax(0, 1fr); gap: 30px; align-items: start; padding: 30px 0; border-bottom: 1px solid var(--v2-rule); color: var(--v2-ink); text-decoration: none; transition: background-color 180ms ease; }
.v2-service-row:hover { background-color: #eeeff1; }
.v2-service-row:focus-visible { outline: 2px solid var(--v2-gold); outline-offset: 5px; }
.v2-service-number { color: var(--v2-gold); font-family: var(--font-serif); font-size: 26px; line-height: 1.15; font-variant-numeric: tabular-nums; padding-top: 2px; }
.v2-service-title .v2-eyebrow { color: var(--v2-muted); margin-bottom: 9px; font-size: 12px; }
.v2-service-title h3 { font-size: clamp(23px, 2.25vw, 29px); line-height: 1.23; font-weight: 400; margin: 0; max-width: 460px; }
.v2-service-summary p { color: var(--v2-muted); font-size: 15px; line-height: 1.75; margin: 0 0 17px; max-width: 440px; }
.v2-service-link { display: inline-flex; gap: 12px; align-items: center; color: var(--v2-ink); font-size: 13px; font-weight: 600; line-height: 1.4; }
.v2-service-link svg { transition: transform 180ms ease; }
.v2-service-row:hover .v2-service-link svg { transform: translateX(4px); }

.v2-service-tabs { top: 64px; box-shadow: none; scrollbar-width: none; }
.v2-service-tabs::-webkit-scrollbar { display: none; }
.v2-service-tabs > div { justify-content: space-between; }
.v2-service-tabs button { font-size: 12px; letter-spacing: .065em; padding: 20px 18px; }
.v2-service-detail { padding: 76px 0 84px; border-top: 1px solid var(--v2-rule); background: #fff; scroll-margin-top: 156px; }
.v2-service-detail:nth-child(even) { background: #f7f8fa; }
.v2-service-detail-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: 80px; }
.v2-service-detail-heading { position: sticky; top: 168px; }
.v2-detail-number { display: block; color: #b9a16b; font-family: var(--font-serif); font-size: 72px; line-height: 1; font-weight: 400; margin-bottom: 22px; font-variant-numeric: tabular-nums; }
.v2-service-detail-heading .v2-eyebrow { margin-bottom: 14px; }
.v2-service-detail-heading h2 { color: var(--v2-ink); font-size: clamp(30px, 3.1vw, 40px); margin: 0 0 22px; max-width: 460px; }
.v2-service-detail-heading > p { color: var(--v2-muted); font-size: 16px; line-height: 1.75; max-width: 470px; margin: 0; }
.v2-deliverable-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--v2-rule); }
.v2-deliverable { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 18px; padding: 23px 0; border-bottom: 1px solid var(--v2-rule); }
.v2-deliverable > span { padding-top: 3px; font-family: var(--font-sans); color: #7a8593; font-size: 12px; font-variant-numeric: tabular-nums; }
.v2-deliverable h3 { font-family: var(--font-sans); font-size: 17px; font-weight: 600; line-height: 1.4; color: var(--v2-ink); margin: 0 0 7px; letter-spacing: -.012em; }
.v2-deliverable p { color: var(--v2-muted); font-size: 15px; line-height: 1.75; margin: 0; }

.v2-visibility-title { color: var(--v2-muted); text-align: center; margin: 0 0 24px; font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.v2-visibility-carousel { position: relative; overflow: hidden; padding: 8px 0; }
.v2-visibility-carousel::before, .v2-visibility-carousel::after { content: ""; position: absolute; top: 0; bottom: 0; width: 48px; z-index: 1; pointer-events: none; }
.v2-visibility-carousel::before { left: 0; background: linear-gradient(to right, #fff, transparent); }
.v2-visibility-carousel::after { right: 0; background: linear-gradient(to left, #fff, transparent); }
.v2-visibility-track { display: flex; width: max-content; animation: v2-visibility-scroll 28s linear infinite; will-change: transform; backface-visibility: hidden; }
.v2-visibility-group { display: flex; flex-shrink: 0; align-items: center; gap: 16px; padding-right: 16px; }
.v2-visibility-outlet { display: flex; flex-shrink: 0; width: 170px; height: 56px; padding: 0 14px; align-items: center; justify-content: center; border: 1px solid #dce1e6; background: #fafbfc; text-align: center; }
.v2-visibility-outlet { background: #fff; }
.v2-visibility-outlet img { display: block; width: 138px; height: 32px; object-fit: contain; }
.v2-visibility-outlet img[data-outlet="forbes"] { width: 105px; height: 30px; }
.v2-visibility-outlet img[data-outlet="fox-and-friends"] { width: 144px; height: 44px; }
.v2-visibility-outlet img[data-outlet="schwab-network"] { width: 110px; height: 37px; }
.v2-visibility-outlet img[data-outlet="msn"] { width: 92px; height: 34px; }
@keyframes v2-visibility-scroll { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }

@media (max-width: 1000px) {
  .v2-service-detail-layout { gap: 44px; }
  .v2-service-detail-heading { position: static; }
  .v2-service-row { gap: 22px; grid-template-columns: 38px minmax(0, 1.1fr) minmax(0, 1fr); }
}
@media (max-width: 760px) {
  main .py-24 { padding-top: 56px; padding-bottom: 56px; }
  main .py-32 { padding-top: 64px; padding-bottom: 64px; }
  main .py-20 { padding-top: 48px; padding-bottom: 48px; }
  main .gap-20 { gap: 36px; }
  .v2-container { padding: 0 24px; }
  .v2-services-overview { padding: 60px 0; }
  .v2-services-intro { grid-template-columns: 1fr; gap: 20px; margin-bottom: 30px; }
  .v2-services-intro > p { max-width: 550px; }
  .v2-service-row { grid-template-columns: 30px minmax(0, 1fr); gap: 10px 18px; padding: 25px 0; }
  .v2-service-number { font-size: 23px; }
  .v2-service-title h3 { font-size: 25px; }
  .v2-service-summary { grid-column: 2; }
  .v2-service-summary p { margin-bottom: 14px; }
  .v2-service-detail { padding: 50px 0 58px; }
  .v2-service-detail-layout { grid-template-columns: 1fr; gap: 30px; }
  .v2-detail-number { font-size: 52px; margin-bottom: 16px; }
  .v2-service-detail-heading h2 { font-size: 32px; }
  .v2-service-tabs button { padding: 18px 15px; }
  .v2-deliverable { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .v2-service-row, .v2-service-link svg { transition: none; }
  .v2-visibility-track { animation: none; will-change: auto; }
  .v2-visibility-carousel { overflow-x: auto; }
  .v2-visibility-group[aria-hidden="true"] { display: none; }
  .v2-visibility-carousel::before, .v2-visibility-carousel::after { display: none; }
}
