/* M3 content uses accepted M2 tokens. No business behavior or remote assets. */
.tt-brand-main, .tt-brand-main > .wp-block-post-content { margin-block-start: 0; }
.tt-brand-main .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
.tt-brand-main { --tt-section-space: clamp(64px, 7vw, 112px); }
.tt-brand-section { padding-block: var(--tt-section-space); background: var(--tt-warm); scroll-margin-top: 24px; }
.tt-brand-section.tt-white { background: var(--tt-white); }
.tt-brand-section.tt-dark, .tt-brand-hero { background: var(--tt-graphite); color: var(--tt-white); }
.tt-brand-section.tt-black { background: var(--tt-black); color: var(--tt-white); }
.tt-brand-hero { position: relative; padding: clamp(68px, 9vw, 144px) 0 clamp(58px, 7vw, 100px); border-bottom: 1px solid var(--tt-line-dark); background: radial-gradient(ellipse at 100% 0, #36251b 0, transparent 50%), var(--tt-black); }
.tt-brand-hero .tt-eyebrow, .tt-dark .tt-eyebrow, .tt-black .tt-eyebrow { color: var(--tt-orange); }
.tt-brand-hero :focus-visible, .tt-dark :focus-visible, .tt-black :focus-visible { outline-color: var(--tt-focus-dark); }
.tt-brand-hero h1 { max-width: 1050px; margin: 24px 0 28px; font-size: clamp(48px, 7.8vw, 112px); line-height: .98; letter-spacing: -.015em; overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: balance; }
.tt-brand-hero.tt-about-hero h1 { font-size: clamp(42px, 6.8vw, 96px); }
.tt-brand-hero p { max-width: 630px; color: #c4c9ca; font-size: clamp(17px, 1.5vw, 21px); }
.tt-hero-rule { display: flex; flex-wrap: wrap; gap: 18px 42px; margin-top: 52px; padding-top: 20px; border-top: 1px solid var(--tt-line-dark); color: #b9c0c2; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.tt-brand-main h2 { margin: 15px 0 24px; font-size: clamp(36px, 4.5vw, 64px); line-height: 1.02; text-transform: uppercase; text-wrap: balance; }
.tt-brand-main h3 { line-height: 1.1; }
.tt-brand-main p { line-height: 1.65; }
.tt-section-lead { max-width: 680px; margin-bottom: 32px; color: var(--tt-muted); }
.tt-dark p, .tt-black p { color: #c4c9ca; }
.tt-brand-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(28px, 6vw, 90px); align-items: start; }
.tt-brand-split > *, .tt-brand-grid > *, .tt-process-summary > * { min-width: 0; }
.tt-brand-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 36px; }
.tt-system-card { display: flex; flex-direction: column; border-top: 3px solid var(--tt-orange); padding: 28px; }
.tt-system-card .tt-index { color: var(--tt-orange-text-light); font-family: var(--wp--preset--font-family--display); font-size: 32px; font-weight: 800; }
.tt-system-card h3 { margin: 24px 0 12px; font-size: clamp(26px, 2.5vw, 36px); letter-spacing: 0; text-transform: none; }
.tt-system-card p { font-size: .94rem; margin-bottom: 26px; }
.tt-system-card .tt-button { align-self: start; margin-top: auto; }
.tt-system-card .tt-status { align-self: start; margin-top: 20px; }
.tt-statement { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: clamp(50px, 7vw, 100px); line-height: 1; margin: 0; text-transform: uppercase; }
.tt-statement span { color: var(--tt-orange); }
.tt-editorial-list { padding: 0; margin: 0; list-style: none; }
.tt-editorial-list li { padding: 22px 0; border-top: 1px solid var(--tt-line); }
.tt-editorial-list h3 { margin: 0 0 9px; font-size: 28px; }
.tt-editorial-list p { margin: 0; color: var(--tt-muted); }
.tt-dark .tt-editorial-list li, .tt-black .tt-editorial-list li { border-color: var(--tt-line-dark); }
.tt-dark .tt-editorial-list p, .tt-black .tt-editorial-list p { color: #c4c9ca; }
.tt-process-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; list-style: none; padding: 0; margin: 38px 0 0; border-top: 1px solid var(--tt-line); }
.tt-process-summary li { border-bottom: 1px solid var(--tt-line); padding: 24px 20px 24px 0; }
.tt-process-summary a { display: block; color: var(--tt-ink); text-decoration: none; font-weight: 650; font-size: .95rem; }
.tt-process-summary a:hover { text-decoration: underline; }
.tt-process-summary span { display: block; margin-bottom: 10px; font-size: .72rem; color: var(--tt-orange-text-light); }
.tt-stage { display: grid; grid-template-columns: 80px minmax(0,.9fr) minmax(0,1.1fr); gap: 28px; padding: 38px 0; border-top: 1px solid var(--tt-line); scroll-margin-top: 30px; }
.tt-stage-number { font-family: var(--wp--preset--font-family--display); color: var(--tt-orange-text-light); font-size: 56px; font-weight: 800; line-height: 1; }
.tt-stage h3 { margin: 0; font-size: 32px; }
.tt-stage p { margin: 0; color: var(--tt-muted); }
.tt-final-inquiry { border-top: 4px solid var(--tt-orange); }
.tt-final-inquiry .tt-inquiry-note { max-width: 680px; padding-top: 18px; border-top: 1px solid var(--tt-line-dark); font-size: .88rem; }
.tt-project-points { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; list-style: none; margin: 28px 0; }
.tt-project-points li { padding: 10px 14px; border: 1px solid var(--tt-line-dark); border-radius: var(--tt-radius); color: #e1e4e5; font-size: .82rem; }
.tt-brand-hero .tt-button-secondary, .tt-dark .tt-button-secondary, .tt-black .tt-button-secondary { color: var(--tt-white); border-color: #b9c0c2; }
.tt-brand-hero .tt-button-secondary:hover, .tt-dark .tt-button-secondary:hover, .tt-black .tt-button-secondary:hover { color: var(--tt-black); background: var(--tt-white); }
.tt-dark .tt-status, .tt-black .tt-status { color: #c4c9ca; border-color: #858d90; }
@media (max-width: 1024px) { .tt-process-summary { grid-template-columns: repeat(3,minmax(0,1fr)); } .tt-stage { grid-template-columns: 60px minmax(0,1fr); } .tt-stage p { grid-column: 2; } }
@media (max-width: 768px) { .tt-brand-split { grid-template-columns: 1fr; gap: 28px; } .tt-process-summary { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) {
  .tt-brand-grid { grid-template-columns: 1fr; }
  .tt-brand-hero h1 { font-size: clamp(42px, 12vw, 64px); }
  .tt-brand-hero.tt-about-hero h1 { font-size: clamp(39px, 11vw, 60px); }
  .tt-brand-hero .tt-action-row { align-items: stretch; flex-direction: column; }
  .tt-brand-main h2 { font-size: clamp(34px, 9.8vw, 44px); }
  .tt-stage { gap: 12px 18px; grid-template-columns: 40px minmax(0,1fr); padding: 30px 0; }
  .tt-stage-number { font-size: 40px; }
  .tt-stage h3 { font-size: 28px; }
  .tt-system-card { padding: 24px; }
  .tt-hero-rule { gap: 12px 20px; font-size: .65rem; }
}
/* Content is visible without JS. M2 owns reduced-motion rules; no entrance animation added. */
