/* Content-led proportions for the public site. Team and Home's People section
   retain their approved layouts. Loaded after the Aperture page styles. */
body.scg-refined {
  --scg-space: calc(clamp(40px,4.4vw,72px) * var(--theme-section-space,1));
  --scg-gutter: clamp(22px,3.6vw,62px);
}
body.scg-refined :is(h1,h2,h3,p,a,button) { overflow-wrap: break-word; }
body.scg-refined :is(h1,h2,h3) { text-wrap: balance; }
body.scg-refined p { text-wrap: pretty; }
body.scg-refined section[id] { scroll-margin-top: 104px; }
/* Comfortable labels and hit targets throughout the shared shell. */
body.scg-refined .nav a { min-height: 44px; font-size: .74rem; letter-spacing: .065em; }
body.scg-refined .nav-toggle { min-height: 44px; padding-block: 10px; }
body.scg-refined :is(.btn,.btn-apply,.arrow-link) { min-height: 48px; font-size: .72rem; letter-spacing: .07em; }
body.scg-refined :is(.page-kicker,.rail-name,.about-label) { line-height: 1.5; }
body.scg-refined .foot-social a { min-height: 44px; display: inline-flex; align-items: center; font-size: .72rem; }
body.scg-refined .foot-grid-nav a { min-height: 32px; display: inline-flex; align-items: center; }
body.scg-refined .foot-contact a { overflow-wrap: anywhere; }
body.scg-refined .foot-bottom { gap: 12px 24px; flex-wrap: wrap; }
body.scg-refined a:focus-visible,
body.scg-refined button:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }

/* Give labels their own line instead of reserving a tall, empty side column. */
body.scg-refined .sec-grid,
body.scg-refined .tribute { display: block; }
body.scg-refined .rail {
  min-height: 0;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 14px;
  border: 0;
  padding: var(--scg-space) var(--scg-gutter) 0;
}
body.scg-refined .rail-idx { font-size: .85rem; font-family: var(--theme-mono-font,monospace); }
body.scg-refined .rail-line { width: 32px; height: 1px; }
body.scg-refined .rail-name { writing-mode: horizontal-tb; font-size: .72rem; text-align: left; }
body.scg-refined .sec-grid > :not(.rail),
body.scg-refined .tribute-body { padding: 26px var(--scg-gutter) var(--scg-space); }
body.scg-refined .h2,
body.scg-refined .sec-green .h2 {
  max-width: 24ch;
  font-size: clamp(2.25rem,3.2vw,3.75rem);
  line-height: 1.02;
  letter-spacing: -.04em;
}
body.scg-refined .firm-copy,
body.scg-refined .pipe-intro { font-size: 1rem; line-height: 1.7; }
body.scg-refined .pipe-intro { margin-top: 18px; }
body.scg-refined .page-actions {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
  margin: 4px 0 0;
}
body.scg-refined .page-actions .btn { background: var(--ap-green); color: var(--theme-on-dark,#fff); }
body.scg-refined .text-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: 12px;
  color: var(--theme-primary,#18453b);
  font-size: .9rem;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

/* Home: an understandable sequence, balanced approach, and focused invitation. */
body.scg-refined .ax-method { padding-block: var(--scg-space); }
body.scg-refined .ax-method-title { grid-template-columns: 1fr; gap: 22px; }
body.scg-refined .ax-method-title h2 { font-size: clamp(2.4rem,3.4vw,3.9rem); line-height: 1.02; max-width: 25ch; }
body.scg-refined .ax-route { margin-top: 42px; gap: 0; }
body.scg-refined .ax-route::before { display: none; }
body.scg-refined .ax-route li {
  min-width: 0;
  min-height: 0;
  border-top: 2px solid var(--ax-green);
  padding: 22px clamp(18px,2vw,32px) 8px;
}
body.scg-refined .ax-route li:first-child { padding-left: 0; }
body.scg-refined .ax-route li:last-child { border-right: 0; }
body.scg-refined .ax-route li > i { display: none; }
body.scg-refined .ax-route small { margin-top: 26px; font-size: .72rem; }
body.scg-refined .ax-route h3 { margin-top: 12px; max-width: 14ch; font-size: clamp(1.75rem,2.2vw,2.6rem); line-height: 1.1; }
body.scg-refined .ax-thesis { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 24px clamp(32px,6vw,96px); padding-block: var(--scg-space); }
body.scg-refined .ax-scroll-tag { display: block; grid-column: 1/-1; }
body.scg-refined .ax-thesis-copy { grid-column: 1; padding: 0; }
body.scg-refined .ax-thesis-copy h2 { margin-top: 20px; font-size: clamp(2.4rem,3.4vw,3.9rem); line-height: 1.03; max-width: 19ch; }
body.scg-refined .ax-thesis-model { grid-column: 2; gap: 22px; }
body.scg-refined .ax-thesis-note { max-width: 48ch; font-size: 1rem; }
body.scg-refined .ax-orbit { width: min(24vw,300px); }
body.scg-refined .ax-contact-main { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.6fr); gap: 20px 48px; padding-block: var(--scg-space); }
body.scg-refined .ax-contact-main > p { grid-column: 1/-1; }
body.scg-refined .ax-contact-main h2 { margin: 0; font-size: clamp(2.7rem,4.8vw,5.25rem); line-height: 1; }
body.scg-refined .ax-contact-main > a { align-self: end; flex-direction: column; align-items: flex-start; gap: 18px; margin: 0 0 12px; padding-block: 22px; font-size: .75rem; }

/* Services: the work and the team are visible together, followed by evidence. */
body.scg-refined[data-page="services"] #capabilities .rail { padding-bottom: 24px; }
body.scg-refined[data-page="services"] .svc-wrap { grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr); }
body.scg-refined[data-page="services"] .svc-wrap > div:first-child { min-width: 0; }
body.scg-refined[data-page="services"] .svc-list { height: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); grid-row: auto; }
body.scg-refined[data-page="services"] .svc { grid-template-columns: 1fr; gap: 18px; min-height: 240px; align-content: start; padding: clamp(24px,2.7vw,42px); }
body.scg-refined[data-page="services"] .svc:hover { padding-left: clamp(24px,2.7vw,42px); }
body.scg-refined[data-page="services"] .svc-name { font-size: clamp(2rem,2.6vw,3.1rem); line-height: 1.04; }
body.scg-refined[data-page="services"] .svc-desc { font-size: .94rem; line-height: 1.65; margin-top: 16px; }
body.scg-refined[data-page="services"] .svc-photo { grid-column: 2; grid-row: 1; aspect-ratio: auto; min-height: 100%; max-width: none; }
body.scg-refined[data-page="services"] .svc-photo figure { position: absolute; inset: 0; margin: 0; }
body.scg-refined[data-page="services"] .svc-photo img { object-position: 50% 50%; }
body.scg-refined[data-page="services"] #work .sec-grid > div { padding-bottom: var(--scg-space); }
body.scg-refined[data-page="services"] .case-grid { margin: 32px var(--scg-gutter) 0; border: 1px solid var(--ap-line-dark); }
body.scg-refined[data-page="services"] .case { min-height: 0; padding: clamp(24px,2.6vw,40px); }
body.scg-refined[data-page="services"] .case::before { font-size: .8rem; font-family: var(--theme-mono-font,monospace); }
body.scg-refined[data-page="services"] .case-kind { margin-top: 28px; font-size: .72rem; }
body.scg-refined[data-page="services"] .case h3 { max-width: 22ch; font-size: clamp(1.85rem,2.4vw,2.8rem); line-height: 1.1; }
body.scg-refined[data-page="services"] .case p { max-width: 48ch; font-size: .94rem; line-height: 1.65; }
body.scg-refined[data-page="services"] #testimonial .rail { padding-top: var(--scg-space); padding-bottom: 0; }
body.scg-refined[data-page="services"] #testimonial .sec-grid > .tcar { padding-top: 26px; padding-bottom: var(--scg-space); }
body.scg-refined[data-page="services"] #testimonial .tcar-quote { max-width: none; font-size: clamp(2rem,3vw,3.5rem); line-height: 1.08; }
body.scg-refined[data-page="services"] #testimonial .tcar-cite { color: var(--ap-ink); font-family: var(--theme-body-font,"IBM Plex Sans",sans-serif); font-size: clamp(1.2rem,1.65vw,1.65rem); font-weight: 500; line-height: 1.4; letter-spacing: 0; text-transform: none; overflow-wrap: anywhere; }
body.scg-refined .tcar-cite { font-size: .7rem; line-height: 1.65; }

/* About: avoid a portrait crop dictating the height of a short story. */
body.scg-refined .about-story,
body.scg-refined .about-purpose,
body.scg-refined .about-values-section { padding-block: var(--scg-space); }
body.scg-refined .about-story-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(32px,5vw,80px); }
body.scg-refined .about-story figure img { aspect-ratio: 3/2; }
body.scg-refined .about-label { font-size: .72rem; margin-bottom: 20px; }
body.scg-refined[data-page="about"] h2 { font-size: clamp(2.4rem,3.2vw,3.75rem); line-height: 1.04; }
body.scg-refined .about-story-copy p:not(.about-label) { font-size: 1rem; line-height: 1.7; }
body.scg-refined #history-copy p + p { margin-top: 16px; }
body.scg-refined #about-stats { margin-top: 28px; padding-top: 20px; }
body.scg-refined .about-purpose > .wrap { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 0 clamp(32px,5vw,80px); }
body.scg-refined .about-purpose .about-label { grid-column: 1; }
body.scg-refined .about-purpose h2 { grid-column: 1; margin-bottom: 0; }
body.scg-refined .about-purpose-grid { grid-column: 2; grid-row: 1/3; margin: 0; gap: 28px; }
body.scg-refined .about-purpose-grid p { font-size: 1rem; line-height: 1.7; }
body.scg-refined .about-values-grid { gap: 24px; margin-top: 28px; }
body.scg-refined .about-value img { aspect-ratio: 1/1; }
body.scg-refined .about-value h3 { font-size: clamp(1.35rem,1.7vw,1.8rem); line-height: 1.2; }

/* Join: enough room for dates and explanation without empty card interiors. */
body.scg-refined[data-page="join"] .timeline { margin-top: 28px !important; }
body.scg-refined[data-page="join"] .tl-item { min-height: 0; padding: 26px; gap: 22px; }
body.scg-refined[data-page="join"] .tl-when { font-size: .67rem; line-height: 1.5; }
body.scg-refined[data-page="join"] .tl-what { max-width: 15ch; margin-top: 22px; font-size: clamp(1.8rem,2.2vw,2.5rem); line-height: 1.08; }
body.scg-refined[data-page="join"] .tl-note { font-size: .94rem; line-height: 1.65; }
body.scg-refined[data-page="join"] .tl-soon { font-size: .7rem; line-height: 1.6; }
body.scg-refined[data-page="join"] #experience .sec-grid > div { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 16px clamp(32px,5vw,80px); align-items: start; }
body.scg-refined[data-page="join"] #experience .h2 { grid-column: 1; }
body.scg-refined[data-page="join"] #experience .pipe-intro { grid-column: 1; margin: 0; }
body.scg-refined[data-page="join"] #experience .tcar { grid-column: 2; grid-row: 1/3; width: 100%; max-width: none; margin: 0; padding: 0; border: 0; }
body.scg-refined[data-page="join"] #experience .tcar-card.has-photo { grid-template-columns: clamp(110px,12vw,180px) minmax(0,1fr); gap: 28px; }
body.scg-refined[data-page="join"] #experience .tcar-quote { max-width: 40ch; font-size: clamp(1.6rem,2vw,2.3rem); line-height: 1.25; }
body.scg-refined[data-page="join"] #experience .tcar-controls { margin-left: 0; }
body.scg-refined[data-page="join"] .company-grid { margin-top: 28px; }
body.scg-refined[data-page="join"] .company { min-height: 112px; }

/* Scholarship: body copy reads as prose; the memorial has a quieter hierarchy. */
body.scg-refined[data-page="scholarship"] .page-title { max-width: 19ch; }
body.scg-refined[data-page="scholarship"] #about .firm-body { gap: clamp(28px,5vw,80px); }
body.scg-refined[data-page="scholarship"] #about .firm-copy { border: 0; padding: 0; max-width: 66ch; font-family: var(--theme-body-font,sans-serif); font-size: 1rem; line-height: 1.75; letter-spacing: 0; }
body.scg-refined[data-page="scholarship"] #about .firm-copy + .firm-copy { border: 0; font-family: var(--theme-display-font,Georgia,serif); font-size: clamp(1.9rem,2.7vw,3rem); line-height: 1.2; }
body.scg-refined[data-page="scholarship"] .tribute-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 22px clamp(32px,6vw,90px); }
body.scg-refined[data-page="scholarship"] .tribute-body .lead-line { grid-column: 1; grid-row: 1/3; max-width: 26ch; margin: 0; font-size: clamp(2rem,3.2vw,3.6rem); line-height: 1.15; }
body.scg-refined[data-page="scholarship"] .tribute-body p:not(.lead-line) { grid-column: 2; margin: 0; font-size: 1rem; line-height: 1.75; }
body.scg-refined[data-page="scholarship"] .reqs { margin-top: 28px; }
body.scg-refined[data-page="scholarship"] .reqs li { min-height: 0; gap: 24px; font-size: clamp(1.55rem,2vw,2.2rem); line-height: 1.2; }
body.scg-refined[data-page="scholarship"] .recipients { border: 0; }
body.scg-refined[data-page="scholarship"] .recipients > div { grid-template-columns: 130px minmax(0,1fr); border-top: 1px solid var(--ap-line); border-bottom: 0; }
body.scg-refined[data-page="scholarship"] .recip-year { font-size: 2rem; padding: 22px 0; border: 0; }
body.scg-refined[data-page="scholarship"] .recip-names { gap: 12px 24px; padding: 22px 0; }
body.scg-refined[data-page="scholarship"] .recip { padding: 0; border: 0; font-family: var(--theme-body-font,sans-serif); font-size: .95rem; text-transform: none; letter-spacing: 0; }

/* FAQ should scan like a useful reference, rather than a stack of headlines. */
body.scg-refined[data-page="faq"] .faq-tabs { gap: 28px; }
body.scg-refined[data-page="faq"] .faq-tab { min-height: 44px; font-size: .72rem; }
body.scg-refined[data-page="faq"] .faq-list { margin-top: 20px; }
body.scg-refined[data-page="faq"] .faq-q-btn { min-height: 86px; grid-template-columns: 36px minmax(0,1fr) 24px; gap: 18px; padding: 22px 0; font-size: clamp(1.4rem,2vw,2.15rem); line-height: 1.2; }
body.scg-refined[data-page="faq"] .faq-a-inner { max-width: 86ch; padding: 0 24px 26px 54px; font-size: 1rem; line-height: 1.75; }
body.scg-refined[data-page="faq"] #ask-question .h2,
body.scg-refined[data-page="join"] #questions .h2 { max-width: 30ch; font-size: clamp(2.2rem,3vw,3.5rem); }

/* A useful, consistent footer instead of a second oversized closing section. */
body.scg-refined .foot-inner { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(0,.8fr); gap: 36px clamp(32px,4vw,64px); padding-top: 48px; padding-bottom: 40px; }
body.scg-refined .foot-inner::before { display: none; }
body.scg-refined .foot-brand { margin-bottom: 18px; }
body.scg-refined .foot-brand img { width: 190px; }
body.scg-refined .foot p { font-size: .9rem; line-height: 1.7; }
body.scg-refined .foot h4 { font-size: .72rem; margin-bottom: 20px; }
body.scg-refined .foot-grid-nav { gap: 12px 24px; }
body.scg-refined .foot-grid-nav a { font-size: .72rem; }
body.scg-refined .foot-bottom { min-height: 68px; }

@media (max-width: 1120px) {
  body.scg-refined[data-page="services"] .svc-wrap { grid-template-columns: minmax(0,1.4fr) minmax(0,.6fr); }
  body.scg-refined[data-page="services"] .case-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.scg-refined .about-purpose > .wrap { grid-template-columns: 1fr; }
  body.scg-refined .about-purpose h2 { margin-bottom: 28px; }
  body.scg-refined .about-purpose-grid { grid-column: 1; grid-row: auto; }
  body.scg-refined[data-page="join"] #experience .sec-grid > div { grid-template-columns: 1fr; }
  body.scg-refined[data-page="join"] #experience .tcar { grid-column: 1; grid-row: auto; margin-top: 12px; }
  body.scg-refined .ax-route { grid-template-columns: repeat(5,minmax(0,1fr)); }
  body.scg-refined .foot-inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.scg-refined .foot-inner > div:first-child { grid-column: 1/-1; }
}
@media (max-width: 900px) {
  body.scg-refined .page-actions { grid-column: 1; }
  body.scg-refined .ax-route { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px 0; }
  body.scg-refined .ax-route li:first-child { padding-left: clamp(18px,2vw,32px); }
  body.scg-refined .ax-thesis { grid-template-columns: 1fr; }
  body.scg-refined .ax-thesis-model { grid-column: 1; grid-template-columns: minmax(0,.8fr) minmax(0,1fr); margin-top: 8px; align-items: center; }
  body.scg-refined .ax-thesis-copy h2 { max-width: 25ch; }
  body.scg-refined .ax-orbit { width: min(32vw,280px); }
  body.scg-refined[data-page="services"] .svc-wrap { grid-template-columns: 1fr; }
  body.scg-refined[data-page="services"] .svc-photo { grid-column: 1; grid-row: 2; min-height: 0; aspect-ratio: 2/1; }
  body.scg-refined[data-page="services"] .case-grid { grid-template-columns: 1fr; }
  body.scg-refined[data-page="services"] .case h3 { max-width: 32ch; }
  body.scg-refined .about-story-grid { grid-template-columns: 1fr; }
  body.scg-refined .about-story figure img { aspect-ratio: 2/1; }
  body.scg-refined[data-page="scholarship"] #about .firm-body { grid-template-columns: 1fr; }
  body.scg-refined[data-page="scholarship"] .tribute-body { grid-template-columns: 1fr; }
  body.scg-refined[data-page="scholarship"] .tribute-body .lead-line { grid-row: auto; max-width: 32ch; }
  body.scg-refined[data-page="scholarship"] .tribute-body p:not(.lead-line) { grid-column: 1; }
}
@media (max-width: 600px) {
  body.scg-refined .ax-route { grid-template-columns: 1fr; gap: 0; }
  body.scg-refined .ax-route li { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 8px 18px; padding: 22px 0; border-right: 0; border-top-width: 1px; }
  body.scg-refined .ax-route li:first-child { padding-left: 0; }
  body.scg-refined .ax-route li > span { grid-row: 1/3; padding-top: 2px; }
  body.scg-refined .ax-route small { margin: 0; }
  body.scg-refined .ax-route h3 { margin: 0; max-width: none; }
  body.scg-refined .ax-thesis-model { grid-template-columns: 1fr; gap: 28px; }
  body.scg-refined .ax-orbit { width: min(68vw,270px); }
  body.scg-refined .ax-contact-main { grid-template-columns: 1fr; gap: 22px; }
  body.scg-refined .ax-contact-main > a { flex-direction: row; flex-wrap: wrap; margin: 0; }
  body.scg-refined[data-page="services"] .svc-list { grid-template-columns: 1fr; }
  body.scg-refined[data-page="services"] .svc { min-height: 0; }
  body.scg-refined[data-page="join"] .timeline { grid-template-columns: 1fr; }
  body.scg-refined[data-page="join"] .tl-item:nth-child(n) { min-height: 0; }
  body.scg-refined[data-page="join"] #experience .tcar-card.has-photo { grid-template-columns: 1fr; gap: 22px; }
  body.scg-refined[data-page="join"] #experience .tcar-photo { max-width: 140px; }
  body.scg-refined .about-purpose-grid { grid-template-columns: 1fr; }
  body.scg-refined .about-values-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 18px; }
  body.scg-refined .about-value h3 { font-size: 1.3rem; }
  body.scg-refined[data-page="scholarship"] .reqs { grid-template-columns: 1fr; }
  body.scg-refined[data-page="scholarship"] .recipients > div { grid-template-columns: 1fr; }
  body.scg-refined[data-page="scholarship"] .recip-year { padding-bottom: 0; }
  body.scg-refined[data-page="faq"] .faq-q-btn { grid-template-columns: 24px minmax(0,1fr) 20px; gap: 12px; }
  body.scg-refined[data-page="faq"] .faq-a-inner { padding-left: 36px; padding-right: 0; }
  body.scg-refined .foot-inner { grid-template-columns: 1fr; gap: 32px; }
  body.scg-refined .foot-inner > div:first-child { grid-column: auto; }
  body.scg-refined .foot-bottom { min-height: 90px; }
}
