.tms-main { padding-top: clamp(42px, 6vw, 90px); }
.tms-intro { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(320px, .94fr); align-items: center; gap: clamp(32px, 7vw, 110px); min-height: 680px; padding-bottom: 100px; }
.eyebrow { color: var(--accent); font-size: 13px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.tms-copy h1 { margin-top: 18px; font-size: clamp(48px, 5.5vw, 82px); font-weight: 650; letter-spacing: -.055em; line-height: 1.04; }
.title-stop { color: var(--accent); }
.tms-copy .lead { max-width: 660px; margin-top: 27px; font-size: clamp(23px, 2.2vw, 32px); line-height: 1.3; letter-spacing: -.035em; }
.description { max-width: 580px; margin-top: 24px; color: var(--muted); font-size: 17px; line-height: 1.65; }
.download-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 64px; margin-top: 38px; padding: 14px 27px; border: 1px solid #8bd6ca; border-radius: 4px; background: var(--accent); color: #071113; font-size: 17px; font-weight: 700; transition: transform 160ms ease, background 160ms ease; }
.download-button:hover { background: #b0ebe1; transform: translateY(-2px); }
.download-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.download-button--secondary { background: transparent; color: var(--accent); }
.download-button--secondary:hover { background: #8bd6ca1d; }
.download-icon { font-size: 29px; line-height: .7; font-weight: 400; }
.file-note { margin-top: 13px; color: #aebcba; font-size: 13px; }
.download-counts { margin-top: 9px; color: var(--accent); font-size: 13px; }
.hero-model { min-width: 0; min-height: 560px; background: radial-gradient(circle at 50% 46%, #28464b 0%, #10262a 49%, transparent 74%); }
.hero-model model-viewer { display: block; width: 100%; height: 525px; background: transparent; }
.hero-model__hint { margin-top: 8px; color: var(--muted); text-align: center; font-size: 13px; }
.viewer-loading { display: grid; place-items: center; width: 100%; height: 100%; color: var(--accent); font-size: 15px; }
.inside { border-top: 1px solid var(--rule); padding: 26px 0 95px; }.inside h2 { font-size: clamp(27px, 2.6vw, 38px); letter-spacing: -.04em; font-weight: 600; }.inside-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px; margin-top: 42px; }.inside-grid > div { border-top: 1px solid var(--rule); padding-top: 17px; }.inside-number { color: var(--accent); font-size: 13px; }.inside h3 { margin-top: 34px; font-size: 21px; font-weight: 600; }.inside p { margin-top: 14px; color: var(--muted); font-size: 16px; line-height: 1.6; }
.reference-sheet { border-top: 1px solid var(--rule); padding: 30px 0 100px; }.reference-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }.reference-heading h2 { margin-top: 10px; font-size: clamp(28px, 3vw, 42px); letter-spacing: -.04em; font-weight: 600; }.reference-heading a { flex-shrink: 0; color: var(--accent); font-size: 16px; font-weight: 600; padding: 13px 0; }.reference-heading a:hover { color: #c0eee5; }.reference-heading a span { margin-left: 8px; }.reference-sheet img { width: 100%; height: auto; border: 1px solid var(--rule); background: white; }
@media (max-width: 820px) { .tms-intro { grid-template-columns: 1fr; gap: 20px; padding-bottom: 64px; }.hero-model { min-height: 480px; }.inside-grid { gap: 22px; } }
@media (max-width: 600px) { .tms-main { padding-top: 40px; }.tms-copy h1 { font-size: clamp(42px, 11.5vw, 56px); }.tms-copy .lead { margin-top: 23px; }.description { font-size: 16px; }.download-actions { display: grid; gap: 10px; margin-top: 30px; }.download-button { width: 100%; margin-top: 0; }.file-note { line-height: 1.6; }.hero-model { min-height: 380px; }.hero-model model-viewer { height: 355px; }.inside { padding-bottom: 62px; }.inside-grid { grid-template-columns: 1fr; gap: 25px; margin-top: 28px; }.inside h3 { margin-top: 16px; }.reference-sheet { padding-bottom: 65px; }.reference-heading { display: block; }.reference-heading a { display: inline-flex; margin-top: 8px; } }
@media (prefers-reduced-motion: reduce) { .download-button { transition: none; } }
