/* Scoped corporate palette. The approved monochrome Tomo mark preserves its geometry. */
body .tsa { width:100vw; max-width:none; margin-left:calc(50% - 50vw); color:var(--ts-ink); background:var(--ts-white); font-family:inherit; }
body .tsa *,body .tsa *::before,body .tsa *::after { box-sizing:border-box; }
body .tsa p:empty { display:none; }
body .tsa p,body .tsa li { font-size:16px; line-height:1.7; }
body .tsa p { margin:0 0 18px; color:inherit; }
body .tsa h1,body .tsa h2,body .tsa h3 { color:inherit; line-height:1.18; letter-spacing:-.025em; margin:0; }
body .tsa h1 { font-size:clamp(38px,4.8vw,66px); font-weight:400; }
body .tsa h2 { font-size:clamp(27px,3vw,39px); font-weight:400; margin-bottom:24px; }
body .tsa h3 { font-size:21px; font-weight:600; margin-bottom:15px; }
body .tsa .tsa-wrap { width:min(var(--ts-content-width,1180px),calc(100% - 48px)); margin-inline:auto; }
body .tsa .tsa-hero { padding:74px 0 66px; background:var(--ts-ink); color:var(--ts-white); border-bottom:4px solid var(--ts-orange); }
body .tsa .tsa-hero-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,.85fr); align-items:center; gap:64px; }
body .tsa .tsa-eyebrow { color:var(--ts-orange); font-weight:700; font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:18px; }
body .tsa .tsa-tagline { font-size:clamp(24px,2.4vw,32px); line-height:1.3; margin:24px 0 18px; }
body .tsa .tsa-lead { color:#ddd8d0; max-width:670px; font-size:18px; }
body .tsa .tsa-actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 18px; }
body .tsa a.tsa-button { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 19px; min-height:50px; background:var(--ts-orange); color:var(--ts-ink)!important; font-size:14px; font-weight:700; line-height:1.4; text-decoration:none!important; border:1px solid var(--ts-orange); transition:background-color .15s; }
body .tsa a.tsa-button:hover { background:#fff; border-color:#fff; }
body .tsa a.tsa-button--outline { background:transparent; color:var(--ts-white)!important; border-color:#777169; }
body .tsa a.tsa-button--outline:hover { background:#fff; color:var(--ts-ink)!important; }
body .tsa a:focus-visible { outline:3px solid var(--ts-orange); outline-offset:5px; }
body .tsa .tsa-destination { font-size:12px; color:#bfb9b2; max-width:590px; margin:0; }
body .tsa .tsa-system { padding:22px; border:1px solid #4a453f; background:#1c1b19; }
body .tsa .tsa-brand { background:#fff; padding:8px 26px; }
body .tsa .tsa-brand img { display:block; width:100%; height:auto; max-width:290px; margin:auto; }
body .tsa .tsa-diagram { list-style:none; padding:0; margin:26px 0 0; }
body .tsa .tsa-diagram li { position:relative; padding:15px 0 15px 20px; margin:0 0 0 5px; border-left:2px solid var(--ts-orange); }
body .tsa .tsa-diagram li::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--ts-orange); position:absolute; left:-5px; top:22px; }
body .tsa .tsa-diagram span { display:block; color:var(--ts-orange); font-size:10px; letter-spacing:.1em; font-weight:700; }
body .tsa .tsa-diagram strong { display:block; font-size:14px; font-weight:400; line-height:1.5; }
body .tsa .tsa-section { padding:66px 0; }
body .tsa .tsa-paper { background:var(--ts-paper); }
body .tsa .tsa-section-head { max-width:800px; margin-bottom:30px; }
body .tsa .tsa-section-head p { color:#55504a; }
body .tsa .tsa-areas { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
body .tsa .tsa-area { border-top:3px solid var(--ts-orange); padding-top:22px; }
body .tsa .tsa-area p { color:#55504a; margin-bottom:0; }
body .tsa .tsa-number { display:block; color:var(--ts-orange-text); font-size:12px; font-weight:700; letter-spacing:.08em; margin-bottom:20px; }
body .tsa .tsa-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; list-style:none; padding:0; margin:0; }
body .tsa .tsa-steps li { padding:0 26px 0 0; border-right:1px solid var(--ts-line); }
body .tsa .tsa-steps li:last-child { border:0; padding-right:0; }
body .tsa .tsa-steps p { color:#55504a; margin-bottom:0; }
body .tsa .tsa-doc-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:64px; align-items:start; }
body .tsa .tsa-doc-grid p { color:#55504a; }
body .tsa .tsa-documents { list-style:none; padding:0; margin:24px 0 0; }
body .tsa .tsa-documents li { border-top:1px solid var(--ts-line); padding:12px 0 12px 24px; position:relative; }
body .tsa .tsa-documents li::before { content:'+'; color:var(--ts-orange-text); font-weight:700; position:absolute; left:0; }
body .tsa .tsa-prepare { padding:28px; background:var(--ts-paper); border-left:3px solid var(--ts-orange); }
body .tsa .tsa-prepare p { margin-bottom:0; }
body .tsa .tsa-resources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
body .tsa a.tsa-resource { display:grid; grid-template-columns:26px 1fr; column-gap:18px; padding:26px; border:1px solid var(--ts-line); background:#fff; color:var(--ts-ink)!important; text-decoration:none!important; transition:border-color .15s; }
body .tsa a.tsa-resource:hover { border-color:var(--ts-orange-text); }
body .tsa .tsa-resource h3 { grid-column:2; font-size:20px; }
body .tsa .tsa-resource p { grid-column:2; color:#55504a; font-size:14px; margin-bottom:20px; }
body .tsa .tsa-resource-index { grid-column:1; grid-row:1/4; color:var(--ts-orange-text); font-size:12px; font-weight:700; }
body .tsa .tsa-resource-action { grid-column:2; align-self:end; display:flex; justify-content:space-between; gap:12px; color:var(--ts-orange-text); font-weight:700; font-size:13px; }
body .tsa .tsa-cta { padding:56px 0; background:var(--ts-ink); color:#fff; border-top:3px solid var(--ts-orange); }
body .tsa .tsa-cta>.tsa-wrap { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:60px; align-items:center; }
body .tsa .tsa-cta h2 { margin-bottom:18px; }
body .tsa .tsa-cta p { color:#d4cec6; }
body .tsa .tsa-cta .tsa-eyebrow { color:var(--ts-orange); }
body .tsa .tsa-cta-action p { font-size:12px; margin:14px 0 0; }
body .tsa #project-resources { scroll-margin-top:180px; }
@media(max-width:1023px) {
 body .tsa .tsa-hero-grid { grid-template-columns:minmax(0,1.4fr) minmax(230px,.8fr); gap:30px; }
 body .tsa .tsa-hero { padding:50px 0; }
 body .tsa .tsa-system { padding:16px; }
 body .tsa .tsa-doc-grid { gap:32px; }
 body .tsa .tsa-cta>.tsa-wrap { gap:32px; }
 body .tsa #project-resources { scroll-margin-top:95px; }
}
@media(max-width:700px) {
 body .tsa .tsa-wrap { width:calc(100% - 36px); }
 body .tsa .tsa-hero-grid,body .tsa .tsa-areas,body .tsa .tsa-steps,body .tsa .tsa-doc-grid,body .tsa .tsa-resources,body .tsa .tsa-cta>.tsa-wrap { grid-template-columns:minmax(0,1fr); }
 body .tsa .tsa-hero { padding:36px 0; }
 body .tsa .tsa-hero-grid { gap:32px; }
 body .tsa .tsa-system { display:none; }
 body .tsa .tsa-section { padding:42px 0; }
 body .tsa .tsa-areas,body .tsa .tsa-steps { gap:28px; }
 body .tsa .tsa-steps li { padding:0 0 24px; border-right:0; border-bottom:1px solid var(--ts-line); }
 body .tsa .tsa-number { margin-bottom:12px; }
 body .tsa a.tsa-button { width:100%; font-size:14px; }
 body .tsa .tsa-actions { display:grid; grid-template-columns:minmax(0,1fr); }
 body .tsa .tsa-resource { padding:22px!important; }
 body .tsa .tsa-cta { padding:42px 0; }
}
@media(prefers-reduced-motion:reduce) { body .tsa a { transition:none!important; } }
