/* Trax has an independent editorial layout. Shared theme tokens remain usable. */
.brand-trax{--trax-rule:#a65b64}
.brand-trax .site-header{background:var(--bg);border-bottom:0;padding:28px 0}
.brand-trax .brand{font-family:Georgia,serif;font-size:1.4rem;font-weight:500}
.brand-trax .brand img{width:34px;height:34px}
.brand-trax .hero.trax-hero{background:var(--bg);color:var(--ink);padding:70px 0 64px}
.trax-hero-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:80px;align-items:start}
.trax-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.3rem,6.7vw,6.6rem);line-height:1.04;letter-spacing:-.055em;font-weight:400;max-width:13ch;margin:0 0 32px}
.trax-kicker{font-size:.95rem;color:var(--muted);display:flex;align-items:center;gap:15px;margin-bottom:32px}
.trax-kicker:before{content:"";width:35px;height:2px;background:var(--trax-rule)}
.trax-hero .lead{font-size:1.12rem;max-width:48ch;color:var(--muted)}
.trax-index{border-top:2px solid var(--trax-rule);padding-top:26px;margin-top:24px}
.trax-index h2{font:500 1.1rem/1.4 Georgia,serif;letter-spacing:0;margin-bottom:26px}
.trax-index a{display:flex;justify-content:space-between;gap:20px;padding:16px 0;text-decoration:none;border-bottom:1px solid var(--line);font-size:.95rem}
.trax-index span{color:var(--muted);font:500 .8rem ui-monospace,monospace}
.trax-index p{font-size:.85rem;color:var(--muted);margin-top:24px}
.trax-strip{border-block:1px solid var(--line);padding:24px 0}
.trax-strip .wrap{display:flex;gap:15px 38px;flex-wrap:wrap;font-size:.88rem;color:var(--muted)}
.trax-strip strong{font-weight:600;color:var(--ink)}
.trax-section{padding:76px 0}
.trax-section-title{display:grid;grid-template-columns:180px 1fr;gap:38px;margin-bottom:45px}
.trax-section-title .label{font:500 .8rem/1.6 ui-monospace,monospace;color:var(--trax-rule);padding-top:10px}
.trax-section-title h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em;font-size:clamp(2.2rem,3.7vw,3.6rem);max-width:22ch;margin-bottom:18px}
.trax-section-title p{color:var(--muted)}
.trax-practice{display:grid;grid-template-columns:180px 1fr 1.2fr;gap:38px;padding:34px 0;border-top:1px solid var(--line)}
.trax-practice .ordinal{font:500 .85rem ui-monospace,monospace;color:var(--trax-rule)}
.trax-practice h3{font-family:Georgia,serif;font-size:1.8rem;letter-spacing:-.03em;font-weight:400}
.trax-practice p{font-size:.99rem;color:var(--muted)}
.trax-practice a{font-size:.88rem;font-weight:600}
.trax-skills{background:var(--surface);border-block:1px solid var(--line)}
.trax-skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;margin-left:218px}
.trax-skill{padding:23px 0;border-top:1px solid var(--line)}
.trax-skill h3{font-size:.98rem;letter-spacing:0}
.trax-skill p{font-size:.9rem;color:var(--muted);margin-bottom:0}
.trax-approach{display:grid;grid-template-columns:180px 1fr;gap:38px}
.trax-approach .label{color:var(--trax-rule);font:500 .8rem ui-monospace,monospace}
.trax-approach blockquote{font:400 clamp(1.5rem,2.5vw,2.2rem)/1.45 Georgia,serif;letter-spacing:-.015em;margin:0 0 28px;max-width:32ch}
.trax-approach p{color:var(--muted)}
.trax-contact{background:var(--soft)}
.trax-contact .contact-row{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}
.trax-contact h2{font:400 clamp(2rem,4vw,3.8rem)/1.12 Georgia,serif;letter-spacing:-.04em}
.trax-contact p{color:var(--muted)}
.trax-contact .cta+p{margin-top:26px}.trax-skill p{overflow-wrap:anywhere}
.brand-trax .article h1,.brand-trax .article h2{font-family:Georgia,serif;font-weight:400}
.brand-trax .article h1{max-width:20ch}
:root[data-theme=dark] .brand-trax{--trax-rule:#dda0a8}
:root[data-theme=dark] .brand-trax .hero.trax-hero{background:var(--bg);color:var(--ink)}
@media(max-width:900px){.trax-hero-grid{gap:40px;grid-template-columns:1.4fr 1fr}.trax-section-title,.trax-approach{grid-template-columns:120px 1fr;gap:28px}.trax-practice{grid-template-columns:80px 1fr 1.2fr;gap:28px}.trax-skill-grid{margin-left:148px}}
@media(max-width:650px){.trax-hero-grid,.trax-section-title,.trax-practice,.trax-approach,.trax-contact .contact-row{grid-template-columns:minmax(0,1fr);gap:20px}.brand-trax .hero.trax-hero{padding:35px 0 45px}.trax-hero h1{font-size:clamp(2.4rem,15.5vw,3.6rem);max-width:12ch}.trax-index{margin-top:8px}.trax-section{padding:50px 0}.trax-section-title{margin-bottom:30px}.trax-practice{padding:28px 0}.trax-practice h3{margin-bottom:4px}.trax-skill-grid{margin:0;grid-template-columns:1fr}.trax-kicker{font-size:.83rem}.trax-section-title .label{padding:0}.trax-contact .contact-row{gap:12px}}
@media(prefers-color-scheme:dark){:root:not([data-theme]) .brand-trax .hero.trax-hero{background:var(--bg);color:var(--ink)}:root:not([data-theme]) .brand-trax{--trax-rule:#dda0a8}}

/* Resume page (sanitized fragment from sites/traxarmstrong.com/resume/build-public.mjs). Scoped to .trax-resume.
   Three-font system: Space Grotesk display, IBM Plex Sans / Plex Sans JP text, IBM Plex Mono detail. Floor 14px. */
@font-face{font-family:"Space Grotesk";src:url(fonts/SpaceGrotesk-SemiBold.ttf);font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(fonts/IBMPlexSans-Regular.ttf);font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(fonts/IBMPlexSans-SemiBold.ttf);font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(fonts/IBMPlexMono-Regular.ttf);font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans JP";src:url(fonts/IBMPlexSansJP-Regular.ttf);font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans JP";src:url(fonts/IBMPlexSansJP-SemiBold.ttf);font-weight:600;font-display:swap}
.trax-resume{font:400 1rem/1.65 "IBM Plex Sans","IBM Plex Sans JP",system-ui,sans-serif;color:var(--ink)}
.trax-resume:lang(ja){font-family:"IBM Plex Sans JP","IBM Plex Sans",system-ui,sans-serif;line-height:1.8}
.trax-resume h2{font:600 1.375rem/1.3 "Space Grotesk","IBM Plex Sans JP",sans-serif;letter-spacing:-.01em;margin:2.4rem 0 .9rem;display:flex;align-items:center;gap:12px}
.trax-resume:lang(ja) h2{font-family:"IBM Plex Sans JP",sans-serif}
.trax-resume h2:before{content:"";width:28px;height:3px;background:var(--trax-rule);border-radius:2px;flex:none}
.trax-resume h3{font:600 1.0625rem/1.4 "IBM Plex Sans","IBM Plex Sans JP",sans-serif;margin:0 0 .3rem}
.trax-resume .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:1.6rem 0 0}
.trax-resume .stat{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--soft)}
.trax-resume .num{font:600 1.75rem/1.1 "Space Grotesk",sans-serif;color:var(--ink)}
.trax-resume .label{font-size:.875rem;color:var(--muted);margin-top:4px}
.trax-resume .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.trax-resume .card{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--surface)}
.trax-resume .card p{margin:0;color:var(--muted)}
.trax-resume .job{border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:14px;background:var(--surface)}
.trax-resume .job-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap}
.trax-resume .job-head h3{font:600 1.25rem/1.3 "Space Grotesk","IBM Plex Sans JP",sans-serif}
.trax-resume .when,.trax-resume .year{font:400 .875rem "IBM Plex Mono",ui-monospace,monospace;color:var(--muted);white-space:nowrap}
.trax-resume .roles{font-weight:600;color:var(--trax-rule);margin:.2rem 0 .6rem}
.trax-resume ul{padding-left:1.2rem;margin:.4rem 0 0}
.trax-resume li{margin:.2rem 0}
.trax-resume .skills{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:10px 18px;margin:0}
.trax-resume .skills dt{font:400 .875rem "IBM Plex Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-top:3px}
.trax-resume:lang(ja) .skills dt{font-family:"IBM Plex Sans JP",sans-serif;text-transform:none;letter-spacing:0;font-size:.9375rem}
.trax-resume .skills dd{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.trax-resume .tag{font:400 .875rem "IBM Plex Mono","IBM Plex Sans JP",ui-monospace,monospace;border:1px solid var(--line);background:var(--soft);border-radius:6px;padding:2px 8px}
.trax-resume table{width:100%;border-collapse:collapse}
.trax-resume td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.trax-resume td.year{width:96px}
@media (max-width:640px){.trax-resume .skills{grid-template-columns:1fr}.trax-resume .skills dt{padding-top:10px}.trax-resume td.year{width:auto}}

/* Resume page: win over the site's article serif and .lead styles (specificity), Georgia-free. */
.brand-trax .article:has(.trax-resume) h1{font:600 clamp(2.2rem,4vw,3rem)/1.1 "Space Grotesk","IBM Plex Sans JP",sans-serif;letter-spacing:-.02em}
.brand-trax .article:has(.trax-resume:lang(ja)) h1{font-family:"IBM Plex Sans JP",sans-serif}
.brand-trax .article:has(.trax-resume) > .lead{font-family:"IBM Plex Sans","IBM Plex Sans JP",sans-serif}
.brand-trax .article .trax-resume h2{font:600 1.375rem/1.3 "Space Grotesk","IBM Plex Sans JP",sans-serif}
.brand-trax .article .trax-resume:lang(ja) h2{font-family:"IBM Plex Sans JP",sans-serif}
.brand-trax .article .trax-resume .lead{font-size:1rem;line-height:1.65;max-width:none;color:var(--ink)}
.brand-trax .article .trax-resume .card{border:1px solid var(--line);border-radius:10px;padding:16px 18px;background:var(--surface);box-shadow:none}
.brand-trax .article .trax-resume .card:before,.brand-trax .article .trax-resume .card:after{content:none;display:none}
