/* Acquisition pages extend the established Tommy studio identity. */
.growth-page { --g-measure: 70ch; }
.growth-page main { overflow: clip; }
.growth-page :is(h1,h2,h3,p,figure) { margin: 0; }
.growth-page p { max-width: var(--g-measure); }
.g-header { border-bottom: 1px solid var(--t-line); }
.g-header-inner { display: flex; align-items: center; gap: 34px; min-height: 88px; }
.g-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 28px; margin-left: auto; }
.g-nav a,.g-language { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.g-nav a[aria-current=page] { text-decoration: underline; text-underline-offset: 7px; }
.g-nav a:hover,.g-footer a:hover { text-decoration: underline; text-underline-offset: 5px; }
.g-language { padding-inline: 14px; border: 1px solid var(--t-line); border-radius: 999px; white-space: nowrap; }
.g-contact-link { white-space: nowrap; font-weight: 600; }
.g-arrow { width: 20px; height: 20px; flex: 0 0 auto; }
.g-hero { padding-block: 72px 65px; }
.g-hero h1 { max-width: 1080px; font: 650 clamp(40px,6.25vw,86px)/1.08 var(--t-font); letter-spacing: -.035em; text-wrap: balance; }
.growth-page:lang(en) .g-hero h1 { font-family: var(--t-display); font-weight: 700; }
.growth-page:lang(zh-CN) .g-hero h1 { line-height: 1.24; }
.g-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.42fr); gap: 64px; align-items: end; margin-top: 32px; }
.g-lead { font-size: clamp(17px,1.5vw,21px); line-height: 1.8; color: var(--t-muted); }
.g-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 30px; }
.g-side { border-top: 1px solid var(--t-line); padding-top: 20px; font-size: 14px; line-height: 1.85; color: var(--t-muted); }
.g-section { padding-block: 76px; border-top: 1px solid var(--t-line); }
.g-section-heading { display: grid; grid-template-columns: 1fr .8fr; gap: 70px; align-items: end; margin-bottom: 42px; }
.g-section h2,.g-cta h2,.g-prose h2 { font-size: clamp(28px,3.5vw,48px); line-height: 1.2; font-weight: 600; letter-spacing: -.03em; }
.g-section-heading p { font-size: 16px; line-height: 1.9; color: var(--t-muted); }
.g-services { border-top: 1px solid var(--t-line); }
.g-service { display: grid; grid-template-columns: .9fr 1.1fr 30px; gap: 38px; align-items: start; padding-block: 34px; border-bottom: 1px solid var(--t-line); transition: background .18s; }
.g-service h3 { font-size: clamp(23px,2.3vw,33px); line-height: 1.25; letter-spacing: -.025em; font-weight: 550; }
.g-service p { color: var(--t-muted); font-size: 16px; line-height: 1.85; }
.g-service .g-arrow { margin-top: 6px; transition: transform .2s; }
.g-service:hover .g-arrow { transform: translate(3px,-3px); }
.g-service:focus-visible { outline-offset: 7px; }
.g-projects { display: grid; grid-template-columns: 1.15fr .85fr; gap: 50px; align-items: start; }
.g-project:nth-child(2) { margin-top: 95px; }
.g-project-media { display: block; border-radius: 12px; overflow: hidden; background: #e9ebe2; }
.g-project-media img { width: 100%; aspect-ratio: 1.2; object-fit: cover; object-position: top; transition: transform .35s ease-out; }
.g-project-media:hover img { transform: scale(1.025); }
.g-project-caption { display: flex; justify-content: space-between; gap: 24px; align-items: baseline; margin-top: 22px; }
.g-project-caption h3 { font: 700 clamp(30px,3.4vw,48px)/1.1 var(--t-display); letter-spacing: -.03em; }
.g-project > p { color: var(--t-muted); font-size: 15px; line-height: 1.85; margin-top: 14px; }
.g-project small { display: block; font-size: 12px; line-height: 1.6; color: var(--t-muted); margin-top: 12px; }
.g-process { margin: 0; padding: 0; list-style: none; counter-reset: steps; }
.g-process li { display: grid; grid-template-columns: 48px .75fr 1.25fr; gap: 30px; padding-block: 28px; border-top: 1px solid var(--t-line); counter-increment: steps; }
.g-process li::before { content: counter(steps,decimal-leading-zero); font: 700 20px/1.5 var(--t-display); color: var(--t-muted); }
.g-process h3 { font-size: 22px; line-height: 1.5; font-weight: 550; letter-spacing: -.02em; }
.g-process p { line-height: 1.9; color: var(--t-muted); }
.g-split { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; }
.g-list { margin: 0; padding: 0; list-style: none; }
.g-list li { padding-block: 17px; border-bottom: 1px solid var(--t-line); line-height: 1.85; }
.g-list li:first-child { padding-top: 0; }
.g-list strong { font-weight: 600; }
.g-faq { max-width: 900px; margin-left: auto; }
.g-faq details { border-top: 1px solid var(--t-line); }
.g-faq details:last-child { border-bottom: 1px solid var(--t-line); }
.g-faq summary { cursor: pointer; font-size: 18px; line-height: 1.55; padding: 24px 34px 24px 0; font-weight: 550; }
.g-faq p { color: var(--t-muted); line-height: 1.9; padding: 0 28px 28px 0; }
.g-cta { padding-block: 76px 84px; border-top: 1px solid var(--t-line); display: flex; justify-content: space-between; align-items: center; gap: 44px; }
.g-cta p { margin-top: 20px; font-size: 16px; line-height: 1.9; color: var(--t-muted); max-width: 650px; }
.g-cta .t-btn { flex-shrink: 0; }
.g-case-image { margin: 0; }
.g-case-image a { display: block; background: #e8eadf; border-radius: 12px; overflow: hidden; }
.g-case-image img { width: 100%; max-height: 760px; object-fit: cover; object-position: top; }
.g-case-image figcaption { font-size: 12px; line-height: 1.8; color: var(--t-muted); margin-top: 13px; }
.g-story { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; padding-block: 48px; border-bottom: 1px solid var(--t-line); }
.g-story:first-child { padding-top: 0; }
.g-story h2 { font-size: clamp(25px,2.5vw,36px); }
.g-story p { color: var(--t-muted); line-height: 1.95; }
.g-facts { display: flex; flex-wrap: wrap; gap: 14px 38px; margin: 28px 0 0; padding: 20px 0 0; border-top: 1px solid var(--t-line); }
.g-facts div { flex: 1 1 180px; }
.g-facts dt { color: var(--t-muted); font-size: 12px; }
.g-facts dd { margin: 4px 0 0; font-size: 14px; }
.g-prose { max-width: 800px; padding-block: 10px 75px; }
.g-prose h2 { margin-top: 48px; margin-bottom: 20px; font-size: 29px; }
.g-prose p { line-height: 1.95; color: var(--t-muted); margin-bottom: 20px; }
.g-prose a { text-decoration: underline; text-underline-offset: 4px; }
.g-contact-shell { max-width: 880px; margin: 0 auto; padding-block: 8px 80px; }
.g-contact-shell > p { color: var(--t-muted); margin-bottom: 28px; line-height: 1.9; }
.g-footer { border-top: 1px solid var(--t-line); }
.g-footer-inner { display: flex; flex-wrap: wrap; gap: 24px 40px; justify-content: space-between; align-items: center; padding-block: 28px; }
.g-footer nav { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.g-footer nav a { font-size: 13px; min-height: 44px; display: inline-flex; align-items: center; }
.g-footer small { font-size: 12px; color: var(--t-muted); }
@media(max-width:1000px) {
  .g-header-inner { gap: 22px; }.g-nav { gap: 8px 18px; }
  .g-intro { gap: 40px; grid-template-columns: 1fr .5fr; }
  .g-split,.g-story { gap: 46px; }.g-projects { gap: 32px; }
  .g-section-heading { gap: 42px; }.g-process li { grid-template-columns: 40px .8fr 1.2fr; gap: 20px; }
}
@media(max-width:720px) {
  .g-header-inner { min-height: 0; padding-block: 20px 14px; gap: 12px 20px; flex-wrap: wrap; }
  .g-header .t-brand { margin-right: auto; }.g-language { font-size: 12px; padding-inline: 12px; }
  .g-nav { flex-basis: 100%; order: 3; margin: 0; justify-content: space-between; gap: 8px 14px; }
  .g-nav a { font-size: 13px; }.g-nav .g-contact-link { margin-left: auto; }
  .g-hero { padding-block: 42px 42px; }.g-hero h1 { font-size: clamp(38px,8.5vw,61px); line-height: 1.12; }
  .g-intro { grid-template-columns: 1fr; gap: 26px; margin-top: 26px; }
  .g-lead { font-size: 17px; }.g-side { max-width: 58ch; }.g-actions { gap: 12px 22px; }
  .g-section { padding-block: 48px; }.g-section-heading { grid-template-columns: 1fr; gap: 22px; margin-bottom: 30px; }
  .g-service { grid-template-columns: 1fr 24px; gap: 18px; padding-block: 28px; }
  .g-service h3 { grid-column: 1; }.g-service p { grid-column: 1; }.g-service .g-arrow { grid-column: 2; grid-row: 1; }
  .g-projects { grid-template-columns: 1fr; gap: 42px; }.g-project:nth-child(2) { margin-top: 0; }
  .g-project-media img { aspect-ratio: 1.25; }.g-project-caption { margin-top: 19px; }
  .g-process li { grid-template-columns: 36px 1fr; gap: 12px 18px; }.g-process p { grid-column: 2; }
  .g-split,.g-story { grid-template-columns: 1fr; gap: 25px; }.g-story { padding-block: 33px; }
  .g-case-image img { max-height: 460px; }.g-facts { gap: 14px 24px; }.g-facts div { flex-basis: 135px; }
  .g-cta { align-items: flex-start; flex-direction: column; padding-block: 48px 58px; gap: 26px; }
  .g-footer-inner { gap: 20px; }.g-footer nav { width: 100%; order: 3; gap: 8px 22px; }
  .g-prose { padding-bottom: 45px; }.g-prose h2 { margin-top: 35px; }.g-contact-shell { padding-bottom: 50px; }
}
@media(max-width:360px) { .g-nav { gap: 6px 12px; }.g-nav a { font-size: 12px; }.g-hero h1 { font-size: 36px; }.g-hero .t-btn { max-width: 100%; white-space: normal; } }
@media(prefers-reduced-motion:reduce) { .g-project-media img,.g-service .g-arrow { transition: none; } }
