/* Native-block homepage and Firm Foundation Digital presentation. */
.ttg-hub { --ttg-section-space: clamp(3.75rem, 7vw, 6.5rem); }
.ttg-hub, .ttg-brand-main { margin-block-start: 0; }
.ttg-hub > *, .ttg-hub .wp-block-columns { margin-block-start: 0; margin-block-end: 0; }
.ttg-hub > .wp-block-group { margin-block-start: 0 !important; }
.ttg-hub .ttg-section { padding: var(--ttg-section-space) clamp(1.25rem, 4vw, 3rem); }
.ttg-hub .ttg-section > .alignwide { max-width: var(--wp--style--global--wide-size, 1200px); margin-inline: auto; }
.ttg-hub .wp-block-column { min-width: 0; }
.ttg-hub .wp-block-columns { gap: clamp(2rem, 4vw, 4.5rem); }
.ttg-hub :is(h1, h2, h3, p, ul, figure, blockquote) { overflow-wrap: break-word; }
.ttg-hub :is(h1, h2, h3) { text-wrap: balance; }
.ttg-hub .ttg-eyebrow { margin-block: 0 1.25rem; line-height: 1.55; }
.ttg-hub .ttg-display { margin-block: 0 1.75rem; font-size: clamp(3rem, 4.5vw, 4.4rem); font-weight: 750; letter-spacing: -0.055em; line-height: 1.06; }
.ttg-hub .ttg-section-title { margin-block: 0 1.5rem; font-size: clamp(2rem, 3.2vw, 3.1rem); line-height: 1.14; letter-spacing: -0.04em; }
.ttg-hub h3 { font-size: 1.5rem; line-height: 1.25; letter-spacing: -0.025em; }
.ttg-hub p { max-width: 65ch; }
.ttg-hub a { text-underline-offset: 0.25em; }
.ttg-hub .ttg-home-hero { padding-block: clamp(3.5rem, 6vw, 6rem); }
.ttg-hub .ttg-hero-columns { align-items: center; }
.ttg-hub .ttg-hero-copy { padding-block: 0.5rem; }
.ttg-hub .ttg-hero-lead { margin-block: 0 1.75rem; max-width: 49ch; font-size: clamp(1.0625rem, 1.5vw, 1.1875rem); line-height: 1.75; color: var(--wp--preset--color--muted); }
.ttg-hub .ttg-actions { margin-block: 1.75rem 0; gap: 0.75rem; }
.ttg-hub .wp-block-button__link { font-weight: 700; }
.ttg-hub .wp-block-button__link span { display: inline-block; margin-left: 0.5rem; }
.ttg-hub .wp-block-button.is-style-outline .wp-block-button__link { border-color: var(--wp--preset--color--navy); color: var(--wp--preset--color--navy); }
.ttg-hub .wp-block-button.is-style-outline .wp-block-button__link:hover { color: var(--wp--preset--color--white); }
.ttg-hub .ttg-hero-note { margin-block: 1.5rem 0; max-width: 49ch; padding-left: 1rem; border-left: 3px solid var(--wp--preset--color--lime); font-size: 0.9375rem; line-height: 1.6; }
.ttg-foundation-board { padding: clamp(1.75rem, 3vw, 2.5rem); border: 1px solid var(--wp--preset--color--line); border-top: 4px solid var(--wp--preset--color--lime); background: var(--wp--preset--color--canvas); }
.ttg-foundation-board .ttg-board-caption { margin: 0; text-align: center; font-size: 0.6875rem; line-height: 1.55; font-weight: 750; text-transform: uppercase; letter-spacing: 0.14em; color: var(--wp--preset--color--muted); }
.ttg-hub .ttg-ffd-logo { margin: 0; }
.ttg-ffd-logo img { display: block; width: 100%; max-width: 100%; height: auto; }
.ttg-ffd-logo--stacked { width: 100%; max-width: 340px; }
.ttg-foundation-board .ttg-ffd-logo { margin: 2rem auto 1.75rem; }
.ttg-ffd-logo--reverse { width: 100%; max-width: 320px; }
.ttg-hub .ttg-board-tagline { margin-block: 0 1.5rem; text-align: center; font-size: 0.9375rem; font-weight: 500; line-height: 1.6; }
.ttg-board-footer { padding-top: 1rem; border-top: 1px solid #c7d4db; gap: 0.5rem; }
.ttg-board-footer p { margin: 0; font-size: 0.6875rem; font-weight: 650; text-transform: uppercase; letter-spacing: 0.06em; }
.ttg-hub .ttg-section-intro { margin-bottom: 2.75rem; max-width: 1200px; }
.ttg-section-intro > p:last-child { margin-bottom: 0; color: var(--wp--preset--color--muted); }
.ttg-hub .ttg-service-grid { gap: 2rem; }
.ttg-service { padding-top: 1.5rem; border-top: 2px solid var(--wp--preset--color--navy); }
.ttg-service h3 { min-height: 2.5em; margin-block: 1rem; }
.ttg-service > p:not(.ttg-section-number):not(.ttg-text-link) { color: var(--wp--preset--color--muted); font-size: 1rem; line-height: 1.7; }
.ttg-hub .ttg-section-number { margin-block: 0 1rem; font-size: 0.75rem; line-height: 1.5; font-weight: 750; color: var(--wp--preset--color--green-dark); text-transform: uppercase; letter-spacing: 0.12em; }
.ttg-hub .ttg-text-link { margin-block: 1.5rem 0; font-size: 0.9375rem; font-weight: 750; }
.ttg-text-link a { display: inline; line-height: 1.7; }
.ttg-text-link span { margin-left: 0.25rem; }
.ttg-hub .ttg-work-columns { align-items: center; }
.ttg-work-note { padding: 1.75rem 2rem; border-left: 3px solid var(--wp--preset--color--lime); background: var(--wp--preset--color--canvas); }
.ttg-work-note p:last-child { margin-bottom: 0; }
.ttg-hub .ttg-detail-lead { margin-top: 0; font-size: 1.25rem; line-height: 1.65; color: var(--wp--preset--color--navy); }
.ttg-hub .ttg-selected-work { margin-top: 3rem; gap: 1.75rem; }
.ttg-hub .ttg-work-image { margin: 0 0 1.5rem; padding: 0.65rem; border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--canvas); }
.ttg-work-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center top; border: 1px solid var(--wp--preset--color--line); }
.ttg-selected-work h3 { margin-block: 0 0.75rem; font-size: 1.3125rem; }
.ttg-selected-work p { margin-block: 0; font-size: 0.9375rem; line-height: 1.7; color: var(--wp--preset--color--muted); }
.ttg-hub .ttg-client-quote { margin-top: 3rem; padding: 2.25rem 0 0; border: 0; border-top: 1px solid var(--wp--preset--color--line); display: grid; grid-template-columns: 2fr 1fr; gap: 2.5rem; align-items: center; }
.ttg-client-quote p { margin: 0; font-size: clamp(1.35rem, 2vw, 1.875rem); font-weight: 600; line-height: 1.5; letter-spacing: -0.025em; color: var(--wp--preset--color--navy); }
.ttg-client-quote cite { display: block; margin: 0; font-size: 0.875rem; font-style: normal; line-height: 1.65; color: var(--wp--preset--color--muted); }
.ttg-hub .ttg-transition { border-left: 0.6rem solid var(--wp--preset--color--lime); }
.ttg-transition .wp-block-columns { align-items: start; }
.ttg-transition .ttg-text-link a { color: var(--wp--preset--color--white); }
.ttg-transition .ttg-text-link a:hover { color: var(--wp--preset--color--lime); }
.ttg-project-grid { gap: 2rem; }
.ttg-project { height: 100%; padding: 1.75rem 0 0; border-top: 3px solid #265e8b; }
.ttg-project--music { border-top-color: #b58128; }
.ttg-project h3 { margin-block: 1rem; }
.ttg-project > p:not(.ttg-eyebrow):not(.ttg-text-link) { color: var(--wp--preset--color--muted); }
.ttg-hub .ttg-project-note { margin-block: 1.5rem 0; font-size: 0.875rem; font-style: italic; }
.ttg-closing-inner { display: grid; grid-template-columns: 1fr auto; column-gap: 3rem; align-items: center; }
.ttg-closing-inner > .ttg-eyebrow, .ttg-closing-inner > h2, .ttg-closing-inner > p { grid-column: 1; }
.ttg-closing-inner > .wp-block-buttons { grid-column: 2; grid-row: 1 / 4; margin: 0; }
.ttg-closing-inner > p:not(.ttg-eyebrow) { margin-bottom: 0; max-width: 56ch; color: var(--wp--preset--color--muted); }
.ttg-hub .ttg-ffd-hero { padding-block: clamp(3.5rem, 6.5vw, 6rem); }
.ttg-ffd .ttg-ffd-display { font-size: clamp(3rem, 4.8vw, 4.75rem); }
.ttg-ffd-brand-column { padding-left: 2rem; border-left: 1px solid #c7d4db; }
.ttg-ffd-lockup { max-width: 330px; margin-inline: auto; padding: 0.75rem 0; }
.ttg-ffd-lockup .ttg-ffd-logo { max-width: 330px; }
.ttg-hub .ttg-ffd-subnav { padding: 1.15rem clamp(1.25rem, 4vw, 3rem); border-block: 1px solid var(--wp--preset--color--line); }
.ttg-ffd-subnav p { margin: 0; font-size: 0.8125rem; font-weight: 700; }
.ttg-ffd-subnav a { text-decoration: none; }
.ttg-ffd-subnav a:hover { text-decoration: underline; }
.ttg-service-detail .wp-block-columns, .ttg-continuity .wp-block-columns { gap: clamp(2rem, 5vw, 5rem); }
.ttg-detail-list { margin-block: 1.75rem; padding-left: 1.25rem; }
.ttg-detail-list li { padding-left: 0.4rem; margin-bottom: 0.65rem; }
.ttg-detail-list li::marker { color: var(--wp--preset--color--green-dark); }
.ttg-process-grid > .wp-block-column { padding-top: 1.5rem; border-top: 1px solid #557084; }
.ttg-hub .ttg-process-index { margin-block: 0 1.5rem; font-size: 2.5rem; line-height: 1; font-weight: 700; letter-spacing: -0.05em; }
.ttg-process-grid h3 { margin-bottom: 1rem; }
.ttg-process-grid p:not(.ttg-process-index) { color: #e0e9ee; }
.ttg-process-section .ttg-section-intro { color: var(--wp--preset--color--white); }
.ttg-hub [id] { scroll-margin-top: 2rem; }
@media (max-width: 1000px) and (min-width: 782px) {
  .ttg-hub .ttg-display { font-size: 3.2rem; }
  .ttg-foundation-board { padding-inline: 1.25rem; }
  .ttg-board-footer { justify-content: start !important; column-gap: 1rem; }
}
@media (max-width: 781px) {
  .ttg-hub { --ttg-section-space: 3.5rem; }
  .ttg-hub .wp-block-columns { gap: 2rem; }
  .ttg-hub .ttg-display, .ttg-ffd .ttg-ffd-display { font-size: clamp(2.75rem, 8vw, 4rem); }
  .ttg-hub .ttg-home-hero, .ttg-hub .ttg-ffd-hero { padding-top: 2.5rem; }
  .ttg-foundation-board { max-width: 560px; margin-top: 0.75rem; }
  .ttg-hub .ttg-section-intro { margin-bottom: 2rem; }
  .ttg-service h3 { min-height: 0; }
  .ttg-hub .ttg-service-grid, .ttg-hub .ttg-selected-work, .ttg-hub .ttg-project-grid { gap: 2.5rem; }
  .ttg-hub .ttg-client-quote { grid-template-columns: 1fr; gap: 1.25rem; }
  .ttg-work-note { padding: 1.5rem; }
  .ttg-closing-inner { display: block; }
  .ttg-closing-inner > .wp-block-buttons { margin-top: 1.75rem; }
  .ttg-ffd-brand-column { padding-left: 0; padding-top: 2rem; border-left: 0; border-top: 1px solid #c7d4db; }
  .ttg-ffd-lockup { max-width: 340px; margin-inline: auto; }
  .ttg-ffd-subnav .wp-block-group { justify-content: start !important; column-gap: 1.5rem; row-gap: 0.8rem; }
}
@media (max-width: 420px) {
  .ttg-hub .ttg-display, .ttg-ffd .ttg-ffd-display { font-size: 2.7rem; }
  .ttg-hub .ttg-actions { display: flex; align-items: stretch; flex-direction: column; }
  .ttg-actions .wp-block-button, .ttg-actions .wp-block-button__link { width: 100%; text-align: center; }
}
