/* ApexSpan release polish. Additive rules only; locked composition CSS stays unchanged. */
#apex-about .roster-columns.roster-single,
#apex-home .roster-columns.roster-single {
    grid-template-columns: minmax(0, 1fr);
    max-width: 540px;
    margin-inline: auto;
}

.apex-page .site-footer-legal {
    max-width: 1312px;
    margin: 34px auto 0;
    padding-top: 22px;
    border-top: 1px solid rgba(245, 244, 240, .22);
    display: flex;
    justify-content: space-between;
    gap: 24px;
    color: rgba(245, 244, 240, .78);
    font-size: 12px;
    line-height: 1.6;
}

.apex-page .site-footer-legal p { margin: 0; }
.apex-page .site-footer-legal nav { margin: 0; }
.apex-page .site-footer-legal ul {
    display: flex;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.apex-page .site-footer-legal a { margin: 0; }

#apex-privacy .legal-page,
#apex-terms .legal-page {
    width: min(100% - 128px, 760px);
    margin-inline: auto;
    padding-block: 80px 104px;
}

#apex-privacy .legal-intro,
#apex-terms .legal-intro {
    padding-bottom: 44px;
    border-bottom: 1px solid var(--rule);
}

#apex-privacy .legal-intro h1,
#apex-terms .legal-intro h1 {
    margin: 0;
    font-size: clamp(38px, 5vw, 62px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

#apex-privacy .legal-content,
#apex-terms .legal-content {
    padding-top: 34px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.7;
}

#apex-privacy .legal-content h2,
#apex-terms .legal-content h2 {
    margin: 38px 0 0;
    color: var(--ink);
    font-size: 27px;
    line-height: 1.2;
}

#apex-privacy .legal-content h2:first-of-type,
#apex-terms .legal-content h2:first-of-type {
    margin-top: 30px;
}

#apex-privacy .legal-content p,
#apex-terms .legal-content p {
    margin: 16px 0 0;
}

@media (max-width: 1000px) {
    #apex-privacy .legal-page,
    #apex-terms .legal-page { width: min(100% - 64px, 760px); padding-block: 64px 80px; }
}

@media (max-width: 619px) {
    .apex-page .site-footer-legal { margin-top: 26px; padding-top: 18px; }
    .apex-page .site-footer-legal ul { gap: 14px; }
    #apex-privacy .legal-page,
    #apex-terms .legal-page { width: calc(100% - 48px); padding-block: 48px 64px; }
    #apex-privacy .legal-intro,
    #apex-terms .legal-intro { padding-bottom: 32px; }
    #apex-privacy .legal-intro h1,
    #apex-terms .legal-intro h1 { font-size: 35px; }
    #apex-privacy .legal-content h2,
    #apex-terms .legal-content h2 { font-size: 24px; }
}


#apex-beyond-the-numbers .perspective-page { width: min(100% - 128px, 760px); margin-inline: auto; padding-block: 80px 104px; }
#apex-beyond-the-numbers .perspective-intro { padding-bottom: 44px; border-bottom: 1px solid var(--rule); }
#apex-beyond-the-numbers .perspective-eyebrow { margin: 0 0 18px; color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
#apex-beyond-the-numbers .perspective-intro h1 { margin: 0; font-size: clamp(38px, 5vw, 62px); line-height: 1.08; letter-spacing: -.035em; }
#apex-beyond-the-numbers .perspective-subtitle { margin: 22px 0 0; color: var(--ink); font-family: Fraunces, Georgia, serif; font-size: clamp(21px, 3vw, 28px); line-height: 1.35; }
#apex-beyond-the-numbers .perspective-byline { margin: 26px 0 0; color: var(--muted); font-size: 14px; }
#apex-beyond-the-numbers .perspective-content { padding-top: 34px; color: var(--muted); font-size: 16px; line-height: 1.7; }
#apex-beyond-the-numbers .perspective-content h2 { margin: 38px 0 0; color: var(--ink); font-size: 27px; line-height: 1.2; }
#apex-beyond-the-numbers .perspective-content h2:first-of-type { margin-top: 30px; }
#apex-beyond-the-numbers .perspective-content p { margin: 16px 0 0; }
#apex-beyond-the-numbers .perspective-content ul { margin: 18px 0 0; padding-left: 1.4em; }
#apex-beyond-the-numbers .perspective-content li + li { margin-top: 8px; }
#apex-beyond-the-numbers .perspective-content .article-pullquote { margin: 38px 0; padding: 0 0 0 24px; border-left: 1px solid var(--rule); color: var(--ink); font-family: Fraunces, Georgia, serif; font-size: clamp(20px, 3vw, 26px); line-height: 1.4; }
#apex-beyond-the-numbers .perspective-content .article-pullquote p { margin: 0; }
#apex-beyond-the-numbers .perspective-content a { color: var(--ink); text-underline-offset: .14em; }
@media (max-width: 1000px) { #apex-beyond-the-numbers .perspective-page { width: min(100% - 64px, 760px); padding-block: 64px 80px; } }
@media (max-width: 619px) { #apex-beyond-the-numbers .perspective-page { width: calc(100% - 48px); padding-block: 48px 64px; } #apex-beyond-the-numbers .perspective-intro { padding-bottom: 32px; } #apex-beyond-the-numbers .perspective-intro h1 { font-size: 35px; } #apex-beyond-the-numbers .perspective-content h2 { font-size: 24px; } }

@media print {
    @page { margin: 16mm; }

    body:has(> .advisor-page) { background: #fff !important; }
    .advisor-page {
        --ink: #17212a;
        --mist: #fff;
        --muted: #33434d;
        --profile-rule: rgba(23, 33, 42, .28);
        background: #fff !important;
        color: #17212a !important;
        font-size: 10.5pt;
        line-height: 1.45;
    }
    .advisor-page main,
    .advisor-page section,
    .advisor-page .page-container { background: #fff !important; color: #17212a !important; }
    .advisor-page h1,
    .advisor-page h2,
    .advisor-page h3,
    .advisor-page p,
    .advisor-page li { color: #17212a !important; }
    .advisor-page [data-site-nav],
    .advisor-page [data-site-footer],
    .advisor-page .direct-contact,
    .advisor-page .invitation { display: none !important; }
    .advisor-page .page-container { max-width: none !important; padding: 8mm 0 !important; }
    .advisor-page .profile-intro { padding-top: 0 !important; }
    .advisor-page .parallel-brief { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10mm !important; }
    .advisor-page .brief-card,
    .advisor-page .focus-list li { break-inside: avoid; page-break-inside: avoid; }
    .advisor-page h1 { font-size: 28pt !important; }
    .advisor-page h2 { font-size: 20pt !important; }
    .advisor-page h3 { font-size: 14pt !important; }
    .advisor-page a { color: inherit !important; text-decoration: none !important; }
    .advisor-page img { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

/* Replace the existing display:none honeypot rule in site.css with this off-canvas trap. */
.apex-page .apex-form-trap {
  display:block !important;
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  white-space:nowrap !important;
}


/* Kevin round 4: legible navigation, a distinct record, and a leading 90-day plan. */
.apex-page .site-nav { gap:28px; }
.apex-page .site-nav > nav { margin-left:auto; }
.apex-page .site-nav .site-brand img { width:232px; }
.apex-page .site-nav-links { gap:24px; }
.apex-page .site-nav-links a { font-size:16px; }
.apex-page .site-nav-action { flex:none; line-height:0; }
.apex-page .site-nav-action .invitation { width:208px; height:46px; background-size:208px 46px !important; }
.apex-page .site-nav-action .invitation > a { font-size:14px; line-height:18px; padding-right:24px; }

#apex-home .hero-commitments,
#apex-interim .commitments { align-items:start; }
#apex-home .hero-card,
#apex-interim .plain-card { min-width:0; }
#apex-home .proof-band { width:100%; max-width:none; margin:0; padding:48px max(64px, calc((100vw - 1312px) / 2)); background:var(--ink); color:var(--mist); }
#apex-home .proof-band .proof-inner { max-width:1312px; margin-inline:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; }
#apex-home .proof-group { min-width:0; }
#apex-home .proof-group + .proof-group { border-left:1px solid rgba(245,244,240,.28); padding-left:64px; }
#apex-home .proof-group h2,
#apex-home .proof-group .eyebrow { margin:0 0 22px; font:500 12px/1.5 'Public Sans',Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#c7d8d1; }
#apex-home .proof-group p { margin:0; max-width:35ch; font-size:17px; line-height:1.55; }
#apex-home .proof-group p + p { margin-top:22px; }
#apex-home .proof-group strong { display:block; margin-bottom:4px; font:400 clamp(29px,3vw,44px)/1.14 'Fraunces',Georgia,serif; letter-spacing:-.025em; color:var(--mist); }

#apex-home .plan-grid,
#apex-interim .plan-row { grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:32px 48px; }
#apex-home .plan-primary,
#apex-interim .plan-primary { grid-row:span 2; min-width:0; }
#apex-home .plan-phases,
#apex-interim .plan-phases { list-style:none; padding:0; margin:20px 0 0; }
#apex-home .plan-phases li,
#apex-interim .plan-phases li { border-top:1px solid var(--rule); padding:12px 0; font-size:16px; line-height:1.55; }
#apex-home .plan-phases li:first-child,
#apex-interim .plan-phases li:first-child { border-top:0; }
#apex-home .plan-phases strong,
#apex-interim .plan-phases strong { font-weight:600; }

@media(max-width:1100px) {
 .apex-page .site-nav { display:grid; grid-template-columns:auto auto; justify-content:space-between; gap:4px 24px; min-height:0; padding:12px 32px 16px; }
 .apex-page .site-nav .site-brand img { width:190px; }
 .apex-page .site-nav > nav { grid-column:1/-1; grid-row:2; margin:0; }
 .apex-page .site-nav-links { justify-content:space-between; gap:18px; }
 .apex-page .site-nav-links a { font-size:15px; }
 .apex-page .site-nav-action { grid-column:2; grid-row:1; align-self:center; }
 #apex-home .hero-commitments,
 #apex-interim .commitments { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 40px; }
 #apex-home .hero-card h2 { min-height:0; }
 #apex-home .proof-band { padding:38px 40px; }
 #apex-home .proof-band .proof-inner { gap:32px; }
 #apex-home .proof-group + .proof-group { padding-left:32px; }
 #apex-home .plan-grid,
 #apex-interim .plan-row { gap:28px; }
}
@media(max-width:700px) {
 #apex-home .plan-grid,
 #apex-interim .plan-row { grid-template-columns:1fr; }
 #apex-home .plan-primary,
 #apex-interim .plan-primary { grid-row:auto; }
 #apex-home .proof-band .proof-inner { grid-template-columns:1fr; gap:28px; }
 #apex-home .proof-group + .proof-group { border-left:0; border-top:1px solid rgba(245,244,240,.28); padding:28px 0 0; }
}
@media(max-width:619px) {
 .apex-page .site-nav { padding:14px 24px 16px; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px 12px; }
 .apex-page .site-nav .site-brand img { width:clamp(132px,39vw,154px); }
 .apex-page .site-nav-action .invitation { width:clamp(136px,43vw,168px); height:42px; background-size:100% 100% !important; }
 .apex-page .site-nav-action .invitation > a { font-size:11px; line-height:14px; padding-right:15px; white-space:nowrap; }
 .apex-page .site-nav-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; }
 .apex-page .site-nav-links a { font-size:15px; padding:6px 0; white-space:normal; }
 #apex-home .hero-intro { height:auto; min-height:380px; }
 #apex-home .hero-commitments,
 #apex-interim .commitments { grid-template-columns:1fr; }
 #apex-home .proof-band { padding:36px 24px; }
 #apex-home .proof-group strong { font-size:36px; }
 #apex-home .plan-phases li,
 #apex-interim .plan-phases li { font-size:15px; }
}
@media(max-width:359px) {
 .apex-page .site-nav { padding-inline:16px; }
 .apex-page .site-nav-action .invitation { width:136px; }
}

#apex-home .proof-band .proof { width:100%; border:0; padding:0; text-align:left; }
#apex-home .proof-group p.eyebrow + p { margin-top:0; }

/* The peel runtime owns 256×56 inline geometry. Scale its complete canvas and hit area in navigation. */
.apex-page .site-nav-action { width:208px; height:46px; overflow:visible; }
.apex-page .site-nav-action .invitation { transform:scale(.8125); transform-origin:left top; }
@media(max-width:619px) {
 .apex-page .site-nav .site-brand img { width:clamp(120px,35vw,138px); }
 .apex-page .site-nav-action { width:192px; height:42px; }
 .apex-page .site-nav-action .invitation { transform:scale(.75); }
}
@media(max-width:379px) {
 .apex-page .site-nav { column-gap:8px; }
 .apex-page .site-nav-action { width:160px; height:38px; }
 .apex-page .site-nav-action .invitation { transform:scale(.625); }
}

.apex-page .site-nav-action { overflow:clip; }

#apex-home .proof-group .eyebrow { max-width:none; }

/* Kevin round 5: stronger site mark, wheel labels, plan hierarchy, and page actions. */
.apex-page .flywheel-stations { font-size:19px; font-weight:600; line-height:1.35; letter-spacing:.005em; }
@media (max-width:1000px) { .apex-page .flywheel-stations { font-size:17px; } }
@media (max-width:619px) { .apex-page .flywheel-stations { font-size:16px; } }
#apex-home .plan .section-front { text-align:left; margin-left:0; }
#apex-home .plan .section-front h2 { margin-left:0; }
#apex-home .plan-primary,
#apex-interim .plan-primary { border-top-width:2px; border-right:1px solid var(--rule); padding-right:40px; }
#apex-home .plan-grid .object-card:not(.plan-primary),
#apex-interim .plan-row .object-card:not(.plan-primary) { padding-left:8px; }
@media (max-width:1000px) {
  #apex-home .plan-primary, #apex-interim .plan-primary { padding-right:24px; }
}
@media (max-width:700px) {
  #apex-home .plan-primary, #apex-interim .plan-primary { border-right:0; padding-right:0; }
  #apex-home .plan-grid .object-card:not(.plan-primary),
  #apex-interim .plan-row .object-card:not(.plan-primary) { padding-left:0; }
}
#apex-home .offers-grid .invitation { margin-top:24px; }
#apex-home .roster-card > .invitation,
#apex-about .roster-card > .invitation,
#apex-advisors .roster-card > .invitation { margin-top:auto; }
#apex-home .roster-opening, #apex-about .roster-opening, #apex-advisors .roster-opening { margin-bottom:24px; }
#apex-about .about-perspective { margin-top:36px; }
#apex-interim .case-copy > .invitation { margin-top:28px; }
#apex-interim .development-link .invitation { margin-top:24px; }
.apex-page .related-buttons { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
#apex-interim .related-buttons { border-top:1px solid var(--rule); padding-top:30px; margin-top:30px; }
#apex-development .development-engagement.related-buttons { display:flex; max-width:1100px; justify-content:center; }
@media (max-width:619px) {
  .apex-page .related-buttons { justify-content:center; }
  #apex-interim .related-buttons { padding-top:24px; }
}

/* Kevin round 5 final layout: the plan reads first, with reporting and handoff paired below. */
@media (max-width:619px) {
  .apex-page .flywheel-stations { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 8px; }
}
.apex-page .flywheel-stations { font-weight:500; color:var(--ink); }
#apex-home .plan-grid,
#apex-interim .plan-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 48px; }
#apex-home .plan-primary,
#apex-interim .plan-primary {
  grid-column:1 / -1;
  grid-row:auto;
  border-right:0;
  padding-right:0;
}
#apex-home .plan-grid .object-card:not(.plan-primary),
#apex-interim .plan-row .object-card:not(.plan-primary) { padding-left:0; }
@media (min-width:1001px) {
  #apex-home .plan-primary,
  #apex-interim .plan-primary {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:clamp(40px,5vw,72px);
    align-content:start;
  }
  #apex-home .plan-primary > img,
  #apex-interim .plan-primary > img.object {
    grid-column:1;
    grid-row:1 / 5;
    align-self:center;
    margin:0;
  }
  #apex-home .plan-primary > h3,
  #apex-home .plan-primary > p,
  #apex-home .plan-primary > ol,
  #apex-interim .plan-primary > .icon-label,
  #apex-interim .plan-primary > h3,
  #apex-interim .plan-primary > p,
  #apex-interim .plan-primary > ol { grid-column:2; }
  #apex-home .plan-primary > h3 { grid-row:1; }
  #apex-home .plan-primary > p { grid-row:2; }
  #apex-home .plan-primary > ol { grid-row:3; }
  #apex-interim .plan-primary > .icon-label { grid-row:1; }
  #apex-interim .plan-primary > h3 { grid-row:2; }
  #apex-interim .plan-primary > p { grid-row:3; }
  #apex-interim .plan-primary > ol { grid-row:4; }
}
@media (max-width:700px) {
  #apex-home .plan-grid,
  #apex-interim .plan-row { grid-template-columns:1fr; gap:36px; }
}

@media (max-width:619px) {
  #apex-home .roster-card > .invitation,
  #apex-about .roster-card > .invitation,
  #apex-advisors .roster-card > .invitation {
    grid-column:1 / -1;
    margin-top:20px;
  }
}

/* Kevin round 5, corrected 2026-09-25: the logo returns to its round 4 size; the service pages' title above the headline
   was too small against the lines beneath it (Kevin's call, 1:22:33), so it now reads larger than the support text. */
#apex-interim .hero-foreground .eyebrow { font-size:18px; font-weight:600; letter-spacing:.12em; line-height:1.4; margin-bottom:20px; }
#apex-development .development-hero-copy .development-category { font-size:18px; font-weight:600; letter-spacing:.12em; gap:14px; }
#apex-development .development-hero-copy .development-category img { flex-basis:40px; width:40px; height:40px; }
@media (max-width:1100px) {
  #apex-interim .hero-foreground .eyebrow,
  #apex-development .development-hero-copy .development-category { font-size:16px; }
}
@media (max-width:619px) {
  #apex-interim .hero-foreground .eyebrow,
  #apex-development .development-hero-copy .development-category { font-size:14px; letter-spacing:.1em; }
  #apex-development .development-hero-copy .development-category img { flex-basis:32px; width:32px; height:32px; }
}

/* Kevin round 6 (2026-09-29 call, 0:51:44 to 0:56:40). The wheel grows about 16 percent on desktop and 14 percent on the
   Fold while the phone keeps its full-width wheel; the station labels under the wheel are gone and their hairline stays;
   the Interim closing actions all start on the case study's text column, one button per row, the page links sharing the last. */
.apex-page .flywheel-visual { width:720px; }
.apex-page .flywheel-rule { margin:20px 0 0; border-top:1px solid var(--rule); }
@media (max-width:1000px) { .apex-page .flywheel-visual { width:480px; } }
@media (max-width:619px) { .apex-page .flywheel-visual { width:342px; } }
#apex-interim .development-link-copy > .invitation { margin-top:28px; }
#apex-interim .related-buttons { display:grid; grid-template-columns:1fr 1.15fr; column-gap:64px; margin-top:48px; }
#apex-interim .related-buttons-row { grid-column:2; display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
@media (max-width:1000px) { #apex-interim .related-buttons { column-gap:40px; } }
@media (max-width:619px) {
  #apex-interim .related-buttons { grid-template-columns:1fr; margin-top:40px; }
  #apex-interim .related-buttons-row { grid-column:1; justify-content:flex-start; }
}

/* Round 7 (Logan's live review, 2026-10-02). The plan reads as three alternating rows on Home and Interim, each row
   one painting beside one heading and its copy, all at the same weight; the plan ends on its closing line and the locked
   button. Home's two offers leave the plan's ink through the water return and stand on mist as their own section.
   Interim drops the 01 to 04 numbers and folds its light engagement rows into the plan, so the page carries one plan
   section and one closing line; the page links join the closing section. */
#apex-home .plan-grid.plan-zigzag,
#apex-interim .plan-row.plan-zigzag { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
#apex-home .plan-zigzag .plan-step,
#apex-interim .plan-zigzag .plan-step {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:clamp(40px,6vw,88px); align-items:center;
  grid-column:auto; grid-row:auto; border-top:1px solid var(--rule); border-right:0; padding:40px 0; margin:0;
}
#apex-home .plan-zigzag .plan-step > img,
#apex-interim .plan-zigzag .plan-step > img.object { grid-column:1; grid-row:1; align-self:center; width:100%; height:auto; margin:0; }
#apex-home .plan-zigzag .plan-step > .plan-step-copy,
#apex-interim .plan-zigzag .plan-step > .plan-step-copy { grid-column:2; grid-row:1; min-width:0; max-width:560px; }
#apex-home .plan-zigzag .plan-step-reverse > img,
#apex-interim .plan-zigzag .plan-step-reverse > img.object { grid-column:2; }
#apex-home .plan-zigzag .plan-step-reverse > .plan-step-copy,
#apex-interim .plan-zigzag .plan-step-reverse > .plan-step-copy { grid-column:1; justify-self:start; }
#apex-home .plan-zigzag .plan-step-copy h3,
#apex-interim .plan-zigzag .plan-step-copy h3 { max-width:none; margin:0; font:400 34px/1.15 'Fraunces',Georgia,serif; letter-spacing:-.02em; color:inherit; }
#apex-home .plan-zigzag .plan-step-copy > p,
#apex-interim .plan-zigzag .plan-step-copy > p { max-width:none; margin:16px 0 0; font-size:17px; line-height:1.65; }
#apex-interim .plan-zigzag .reporting-lead { margin-top:22px; }
#apex-interim .plan-zigzag .reporting-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:14px; }
#apex-interim .plan-zigzag .reporting-card { border:0; padding:0; }
#apex-interim .plan-zigzag .reporting-card + .reporting-card { border-left:1px solid var(--rule); padding-left:24px; }
#apex-interim .plan-zigzag .reporting-card h4 { margin:0 0 8px; color:rgba(245,244,240,.78); font:600 12px/1.5 'Public Sans',Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
#apex-interim .plan-zigzag .reporting-card p { font-size:16px; line-height:1.6; }
#apex-home .plan-close,
#apex-interim .plan-close { display:flex; flex-direction:column; align-items:center; gap:28px; margin:0; padding-top:44px; border-top:1px solid var(--rule); text-align:center; }
#apex-home .plan-close .section-close,
#apex-interim .plan-close .section-close { max-width:760px; margin:0; font:400 28px/1.3 'Fraunces',Georgia,serif; letter-spacing:-.015em; text-wrap:balance; }
#apex-home .plan { padding-bottom:72px; }
#apex-interim .plan { padding-bottom:72px; }
#apex-home .offers { padding-top:56px; padding-bottom:72px; }
#apex-home .offers .section-front { margin-bottom:48px; }
#apex-home .offers + .statement { padding-top:72px; }
#apex-interim .brief-heading { display:block; }
#apex-interim .closing-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:16px; margin-top:28px; }
#apex-interim .closing .section-head .closing-actions .invitation { margin-top:0; }
#apex-interim .case { padding-bottom:72px; }
@media (max-width:1000px) {
  #apex-home .plan-zigzag .plan-step,
  #apex-interim .plan-zigzag .plan-step { column-gap:32px; padding:32px 0; }
  #apex-home .plan-zigzag .plan-step-copy h3,
  #apex-interim .plan-zigzag .plan-step-copy h3 { font-size:28px; }
  #apex-home .plan-zigzag .plan-step-copy > p,
  #apex-interim .plan-zigzag .plan-step-copy > p { font-size:16px; }
  #apex-interim .plan-zigzag .reporting-row { grid-template-columns:1fr; gap:14px; }
  #apex-interim .plan-zigzag .reporting-card + .reporting-card { border-left:0; padding-left:0; }
  #apex-home .plan-close .section-close,
  #apex-interim .plan-close .section-close { font-size:24px; }
}
@media (max-width:700px) {
  #apex-home .plan-zigzag .plan-step,
  #apex-interim .plan-zigzag .plan-step { grid-template-columns:minmax(0,1fr); row-gap:20px; padding:28px 0; }
  #apex-home .plan-zigzag .plan-step > img,
  #apex-interim .plan-zigzag .plan-step > img.object,
  #apex-home .plan-zigzag .plan-step-reverse > img,
  #apex-interim .plan-zigzag .plan-step-reverse > img.object { grid-column:1; grid-row:1; }
  #apex-home .plan-zigzag .plan-step > .plan-step-copy,
  #apex-interim .plan-zigzag .plan-step > .plan-step-copy,
  #apex-home .plan-zigzag .plan-step-reverse > .plan-step-copy,
  #apex-interim .plan-zigzag .plan-step-reverse > .plan-step-copy { grid-column:1; grid-row:2; justify-self:stretch; max-width:none; }
}
@media (max-width:619px) {
  #apex-home .plan-zigzag .plan-step-copy h3,
  #apex-interim .plan-zigzag .plan-step-copy h3 { font-size:26px; }
  #apex-home .plan-close,
  #apex-interim .plan-close { padding-top:32px; gap:22px; }
  #apex-home .plan-close .section-close,
  #apex-interim .plan-close .section-close { font-size:22px; }
  #apex-home .plan, #apex-interim .plan { padding-bottom:52px; }
  #apex-home .offers { padding-top:40px; padding-bottom:52px; }
  #apex-home .offers + .statement { padding-top:44px; }
  #apex-interim .case { padding-bottom:52px; }
  #apex-interim .closing-actions { flex-direction:column; }
  /* The phone indent existed to sit copy under the 01 to 04 numbers, which round 7 removed. */
  #apex-interim .idea-copy, #apex-interim .reporting-row { padding-left:0; }
}
/* Supplied portraits fill the Home roster's fixed reservation, as they already do on About and the profile. */
#apex-home .portrait > img { display:block; width:100%; height:100%; object-fit:cover; }

/* Round 7 polish (0.6.6): Kevin's photograph reads at a real size and drops the placeholder frame; the files are
   560 by 700 (profile) and 480 by 600 (roster), so these sizes stay sharp at twice the pixel density. */
.advisor-page .portrait-reservation.supplied-portrait { width:260px; height:325px; border:0; margin-bottom:32px; }
#apex-home .portrait.has-photo { width:220px; height:275px; border:0; margin-bottom:28px; }
#apex-about .portrait.has-photo { border:0; }
@media (max-width:1000px) {
  .advisor-page .portrait-reservation.supplied-portrait { width:220px; height:275px; }
  #apex-home .portrait.has-photo { width:200px; height:250px; }
}
@media (max-width:619px) {
  .advisor-page .portrait-reservation.supplied-portrait { width:200px; height:250px; margin-bottom:24px; }
  #apex-home .roster-card:has(> .portrait.has-photo) { display:flex; flex-direction:column; align-items:flex-start; }
  #apex-home .roster-card .portrait.has-photo { width:200px; height:250px; margin:0 0 24px; }
}

/* 0.6.8: Interim COO now carries its icon, so the last seat no longer takes the icon-width indent
   (the indent stays for any seat without an icon). */
#apex-home .seats li:last-child:not(:first-child):has(> img),
#apex-about .seats li:last-child:not(:first-child):has(> img),
#apex-advisors .seats li:last-child:not(:first-child):has(> img) { padding-left:0; }

/* Round 8 (Logan, 2026-10-02). 1. The painted play control sits inside each transition painting's frame, lower right,
   clear of the painted words; it pops up once the painting has settled and replaces the "Replay transition" button.
   The mark is the icon-lock play token (a painted disc on its painted ground); nothing here draws a ground. */
#apex-about .transition-media { position:relative; }
#apex-interim .literal-scene-frame { position:relative; max-width:836px; margin:0 auto 36px; }
#apex-interim .literal-scene-frame > .literal-scene { margin:0; }
.apex-page .play-control { position:absolute; right:16px; bottom:16px; z-index:3; width:60px; height:60px; margin:0; padding:0; border:0; border-radius:50%; background:none; cursor:pointer; opacity:0; transform:scale(.8); transition:opacity .45s ease-out, transform .45s cubic-bezier(.2,.8,.2,1); -webkit-tap-highlight-color:transparent; }
.apex-page .play-control[data-state="ready"] { opacity:1; transform:none; }
.apex-page .play-control[data-state="playing"] { opacity:0; transform:scale(.8); pointer-events:none; cursor:default; }
.apex-page .play-control img { display:block; width:100%; height:100%; }
#apex-home .play-control:focus-visible, #apex-about .play-control:focus-visible, #apex-interim .play-control:focus-visible { outline:2px solid #22303c; outline-offset:2px; box-shadow:0 0 0 6px #f5f4f0; }
@media (max-width:1000px) { .apex-page .play-control { width:52px; height:52px; right:14px; bottom:14px; } }
@media (max-width:619px) { .apex-page .play-control { width:48px; height:48px; right:12px; bottom:12px; } }
/* About's painting is only about 360 px wide below 1000 px, so its mark stays at the 44 px touch size. */
@media (max-width:1000px) { #apex-about .play-control { width:44px; height:44px; right:10px; bottom:10px; } }
@media (prefers-reduced-motion:reduce) {
  .apex-page .play-control, .apex-page .play-control[data-state="playing"] { transition:none; transform:none; }
  /* No autoplay with reduced motion, but a requested replay plays the same opacity crossfade. */
  #apex-about .transition-painting[data-playing][data-frame="start"] .end,
  #apex-interim [data-transition-plate][data-playing][data-state="start"] .frame-end,
  #apex-home .hero[data-playing][data-frame="start"] .hero-painting .end { opacity:0 !important; transition:none !important; }
  #apex-about .transition-painting[data-playing][data-frame="end"] .end { opacity:1 !important; transition:opacity 4s linear !important; }
  #apex-interim [data-transition-plate][data-playing][data-state="end"] .frame-end,
  #apex-home .hero[data-playing][data-frame="end"] .hero-painting .end { opacity:1 !important; transition:opacity 4s ease-in-out !important; }
}

/* 2. About, "An engagement starts with a plan you can read.": the button is centred under the three columns,
   which puts it under the middle one (the written ninety-day plan); it stays centred when the columns stack. */
#apex-about .about-perspective { display:flex; justify-content:center; }

/* 3. While one advisor is published (roster-single), Home and About show one centred composition under
   "The advisors": the profile-size portrait (the 560 by 700 file), then name, title, seats, opening and button.
   Two or more advisors keep the locked three-column roster unchanged. */
#apex-home .roster-columns.roster-single > .roster-card,
#apex-about .roster-columns.roster-single > .roster-card { display:flex; flex-direction:column; align-items:center; text-align:center; }
#apex-home .roster-columns.roster-single .portrait,
#apex-about .roster-columns.roster-single .portrait { width:260px; height:325px; margin:0 0 28px; }
#apex-home .roster-columns.roster-single .portrait.has-photo,
#apex-about .roster-columns.roster-single .portrait.has-photo { border:0; }
#apex-home .roster-columns.roster-single .seats,
#apex-about .roster-columns.roster-single .seats { justify-content:center; justify-items:start; text-align:left; }
#apex-home .roster-columns.roster-single .roster-opening,
#apex-about .roster-columns.roster-single .roster-opening { max-width:44ch; margin-inline:auto; }
@media (max-width:1000px) {
  #apex-home .roster-columns.roster-single .portrait,
  #apex-about .roster-columns.roster-single .portrait { width:240px; height:300px; }
}
@media (max-width:619px) {
  #apex-home .roster-columns.roster-single .portrait,
  #apex-about .roster-columns.roster-single .portrait { width:220px; height:275px; margin:0 0 24px; }
}

/* Round 8 hero (0.6.11, Logan: keep the play mark on the Home hero "so long as it's tasteful"). Home hero only; the
   Interim and About marks are unchanged. Smaller, inset to the content column's right edge (x 1376 at 1440) with a
   real bottom inset, resting at 0.72 opacity and fading in over 600 ms once the water settles; full on hover and
   keyboard focus. The tap target stays 44 px through padding. The painted token itself is untouched. */
#apex-home .hero-intro > .play-control { box-sizing:border-box; width:44px; height:44px; padding:0; right:max(64px, calc((100% - 1312px) / 2)); bottom:30px; transform:none; transition:opacity .6s ease-out; }
#apex-home .hero-intro > .play-control[data-state="ready"] { opacity:.72; transform:none; }
#apex-home .hero-intro > .play-control[data-state="ready"]:hover,
#apex-home .hero-intro > .play-control[data-state="ready"]:focus-visible { opacity:1; transition-duration:.2s; }
#apex-home .hero-intro > .play-control[data-state="playing"] { opacity:0; transform:none; }
@media (max-width:1000px) {
  /* 40 px mark in a 44 px target; mark edge on the 32 px gutter, 24 px above the hero's foot. */
  #apex-home .hero-intro > .play-control { padding:2px; right:30px; bottom:22px; }
}
@media (max-width:619px) {
  /* 38 px mark in a 44 px target; mark edge on the 24 px gutter, 18 px above the foot. The foreground keeps room below
     the button (28 px gap + 44 px target + 15 px inset) so the mark sits under the call to action, never beside it. */
  #apex-home .hero-intro > .play-control { padding:3px; right:21px; bottom:15px; }
  #apex-home .hero-foreground { padding-bottom:87px; }
}
@media (prefers-reduced-motion:reduce) {
  #apex-home .hero-intro > .play-control,
  #apex-home .hero-intro > .play-control[data-state] { transition:none !important; }
}

/* 0.6.13: five Primary links ("Beyond the Numbers" joins the header; Logan, 2026-10-05). Type sizes are unchanged.
   The one-row header needs 1293 px with its 64 px gutters, so from 1101 to 1319 px the links take the existing second
   row (brand and button above, as below 1100), at the desktop sizes. The Fold links row needs 673 px, so the phone's
   two-column link grid starts at 679 px instead of 619. Each column is at least as wide as its longest label, so no
   label wraps: the gutter is 16 px below 380 px (with the existing compact button), and below 355 px the links stack
   in one column. Wherever the links sit below, the button's box is pinned to the right gutter (the links row spans
   both columns and had widened the button's track, leaving it short of the edge). The button and its peel are
   otherwise untouched. */
@media (min-width:1101px) and (max-width:1319px) {
 .apex-page .site-nav { display:grid; grid-template-columns:auto auto; justify-content:space-between; gap:4px 28px; min-height:0; padding:12px 64px 16px; }
 .apex-page .site-nav > nav { grid-column:1/-1; grid-row:2; margin:0; }
 .apex-page .site-nav-links { justify-content:space-between; gap:24px; }
 .apex-page .site-nav-action { grid-column:2; grid-row:1; align-self:center; }
}
@media (max-width:1319px) {
 .apex-page .site-nav-action { justify-self:end; }
}
@media (max-width:679px) {
 .apex-page .site-nav-links { display:grid; grid-template-columns:repeat(2,minmax(max-content,1fr)); gap:0 12px; }
 .apex-page .site-nav-links a { padding:6px 0; }
}
@media (max-width:379px) {
 .apex-page .site-nav { padding-inline:16px; }
}
@media (max-width:354px) {
 .apex-page .site-nav-links { grid-template-columns:minmax(0,1fr); }
}
