        .btn-arch {
            font-family: 'Jost', sans-serif;
            font-weight: 700;
            font-size: 1rem;
            padding: 0.88rem 2rem;
            border-radius: 6px;
            text-decoration: none;
            display: inline-block;
            transition: background .2s, color .2s, transform .2s, border-color .2s, box-shadow .2s;
            border: 1.5px solid transparent;
        }
        .btn-arch-solid {
            background: var(--accent);
            color: #060C1A;
            border-color: var(--accent);
        }
        .btn-arch-solid:hover {
            background: var(--accent-h);
            border-color: var(--accent-h);
            color: #060C1A;
            transform: translateY(-2px);
            box-shadow: 0 8px 22px rgba(255,254,0,0.3);
        }
        .btn-arch-ghost {
            color: rgba(255,255,255,0.76);
            border-color: rgba(255,255,255,0.25);
            background: transparent;
        }
        .btn-arch-ghost:hover {
            background: rgba(255,255,255,0.06);
            border-color: rgba(255,255,255,0.48);
            color: #fff;
        }
        .btn-arch-dark {
            background: var(--navy);
            color: #fff;
            border-color: var(--navy);
        }
        .btn-arch-dark:hover {
            background: var(--accent-ink);
            border-color: var(--accent-ink);
            color: #fff;
            transform: translateY(-1px);
        }
        .btn-arch-outline {
            background: transparent;
            color: var(--accent-ink);
            border-color: var(--accent-ink);
        }
        .btn-arch-outline:hover {
            background: var(--accent-ink);
            color: #fff;
        }

        .uf-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0 1.5rem;
        }
        .uf-field { margin-bottom: 1.5rem; }
        .uf-field.full { grid-column: 1 / -1; }
        .uf-field label {
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.74rem;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: var(--muted);
            display: block;
            margin-bottom: 0.45rem;
        }
        .uf-field input,
        .uf-field textarea {
            width: 100%;
            border: none;
            border-bottom: 1.5px solid var(--border);
            border-radius: 0;
            padding: 0.65rem 0;
            font-family: 'Jost', sans-serif;
            font-size: 1.08rem;
            color: var(--txt);
            background: transparent;
            outline: none;
            transition: border-color .2s;
        }
        .uf-field input:focus,
        .uf-field textarea:focus {
            border-bottom-color: var(--accent-ink);
        }


/* TRACE extends the visual language of the software factory page. */
:root { --ink:#060c1a; --navy:#0f172a; --accent:#ffe161; --accent-h:#e5cb57; --accent-ink:#705b00; --accent-ink-h:#594800; --txt:#0f172a; --muted:#475569; --border:#dce2e9; --trace-header:110px; }
html { scroll-behavior:smooth; }
* { box-sizing:border-box; }
body.trace-page { margin:0; font-family:"Jost",sans-serif; color:var(--txt); background:#fff; animation:none; }
.trace-page main { font-size:1.12rem; line-height:1.72; }
.trace-page main p { margin:0 0 1.3rem; }
.trace-page main a:not(.btn-arch) { color:#705b00; text-decoration:underline; text-underline-offset:4px; }
.trace-page :focus-visible { outline:3px solid #b65b00; outline-offset:5px; }
.trace-page [id] { scroll-margin-top:calc(var(--trace-header) + 25px); }
.trace-page .container { max-width:1200px; padding-left:24px; padding-right:24px; }
.trace-skip { position:fixed; top:8px; left:16px; transform:translateY(-160%); padding:12px 20px; z-index:10000; background:var(--accent); color:var(--ink); }
.trace-skip:focus { transform:none; }
.trace-page #menu1-cto .nav-link { white-space:nowrap; }
.trace-page .trace-eyebrow { font:500 .75rem/1.7 "JetBrains Mono",monospace; text-transform:uppercase; letter-spacing:.15em; margin-bottom:1.6rem; }
.trace-hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; background-color:var(--ink);
  background-image:linear-gradient(90deg,rgba(6,12,26,.28),rgba(6,12,26,.60) 48%,rgba(6,12,26,.48) 80%,rgba(6,12,26,.12)),url("trace-hero-background.svg"),radial-gradient(ellipse at 85% 10%,#26334c 0,transparent 60%);
  background-size:cover,cover,cover;
  background-position:center,center,center;
  background-repeat:no-repeat; color:#fff; padding:calc(var(--trace-header) + 70px) 0 65px; }
.trace-hero .trace-eyebrow { color:var(--accent); }
.trace-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.trace-hero h1 { color:var(--accent); font-size:clamp(4.5rem,7.4vw,7rem); line-height:.98; font-weight:800; letter-spacing:-.065em; margin:0 0 2rem; }
.trace-hero h1 span { display:block; color:#fff; font-size:.5em; font-weight:300; letter-spacing:-.025em; margin-bottom:.4rem; }
.trace-page .trace-statement { font-size:clamp(1.5rem,2.35vw,2.1rem); line-height:1.25; font-weight:500; letter-spacing:-.02em; }
.trace-intro { color:#d9e0e9; padding-top:.35rem; }
.trace-actions { display:flex; align-items:flex-start; flex-direction:column; gap:1.1rem; margin-top:1.8rem; }
.trace-page .trace-text-link { font-weight:600; }
.trace-page .trace-hero a:not(.btn-arch), .trace-page .trace-dark a:not(.btn-arch) { color:var(--accent); }
.trace-page .trace-sequence { list-style:none; padding:0; margin:3.5rem 0 0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid #384052; border-radius:12px; overflow:hidden; }
.trace-sequence li { min-width:0; border-right:1px solid #384052; }
.trace-sequence li:last-child { border:0; }
.trace-page .trace-sequence a { display:block; height:100%; padding:1.25rem 1.5rem; text-decoration:none; transition:background .2s; }
.trace-sequence a:hover { background:#ffffff0c; }
.trace-seq-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:.5rem; }
.trace-letter { font-size:3.5rem; font-weight:300; line-height:1.1; }
.trace-step-no { color:#b5c0d0; font:.7rem "JetBrains Mono",monospace; }
.trace-sequence strong { display:block; color:#fff; font-size:1.2rem; font-weight:600; }
.trace-tagline { display:block; color:#bfc8d7; font-size:.88rem; line-height:1.5; margin-top:.3rem; }
.trace-index { background:#f8fafc; border-bottom:1px solid var(--border); padding:1.25rem 0; }
.trace-index-desktop { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:1rem; font-size:.9rem; }
.trace-index-desktop>span { color:#64748b; font-size:.8rem; }
.trace-page .trace-index a { color:var(--txt); text-decoration:none; }
.trace-index a:hover { text-decoration:underline; }
.trace-index-mobile { display:none; }
.trace-section { padding:6rem 0; }
.trace-section-head { max-width:850px; margin-bottom:2.5rem; }
.trace-section-head .trace-eyebrow { color:var(--accent-ink); margin-bottom:.85rem; }
.trace-section h2 { font-size:clamp(2rem,3.8vw,3.25rem); font-weight:700; line-height:1.12; letter-spacing:-.035em; margin:0; }
.trace-section h3 { font-size:1.6rem; line-height:1.25; font-weight:600; margin:2.3rem 0 1rem; }
.trace-lead { max-width:850px; color:var(--muted); }
.trace-stages { margin-top:3.5rem; }
.trace-stage { display:grid; grid-template-columns:1fr 2fr; gap:4.5rem; border-top:1px solid var(--border); padding:3rem 0; }
.trace-stage:last-child { padding-bottom:0; }
.trace-stage-letter { font:300 4.5rem/1 "JetBrains Mono",monospace; color:#957500; }
.trace-stage h3 { margin:1rem 0 .5rem; font-size:2rem; }
.trace-stage-heading>p { font-weight:500; color:var(--muted); max-width:220px; }
.trace-stage-body>p { color:var(--muted); }
.trace-question,.trace-evidence { padding:1.25rem 1.5rem; margin-top:1rem; border-radius:8px; }
.trace-question { background:#f1f5f9; }
.trace-evidence { background:#fffbea; border-left:3px solid var(--accent); }
.trace-question>span,.trace-evidence>span { display:block; font:500 .7rem/1.6 "JetBrains Mono",monospace; text-transform:uppercase; letter-spacing:.08em; color:#5c6574; margin-bottom:.4rem; }
.trace-page .trace-question p,.trace-page .trace-evidence p { margin:0; font-size:1.02rem; }
.trace-dark { background:var(--navy); color:#e2e8f0; }
.trace-dark h2,.trace-dark h3 { color:#fff; }
.trace-dark .trace-section-head .trace-eyebrow { color:var(--accent); }
.trace-mechanisms { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.trace-mechanisms article { border:1px solid #384052; border-radius:12px; padding:2rem; }
.trace-card-no { font:.8rem "JetBrains Mono",monospace; color:var(--accent); }
.trace-mechanisms h3 { margin-top:1.5rem; }
.trace-mechanisms p { color:#c4cddd; font-size:1.05rem; }
.trace-page .trace-note { padding:1.5rem; background:#f1f5f9; border-left:3px solid #a78911; border-radius:0 8px 8px 0; margin:2rem 0; font-size:1.02rem; }
.trace-dark .trace-note { background:#1e293b; border-color:var(--accent); }
.trace-table-wrap { margin:2rem 0; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.trace-page table { width:100%; border-collapse:collapse; font-size:1.03rem; line-height:1.6; table-layout:fixed; }
.trace-page th,.trace-page td { padding:1.25rem 1.5rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--border); overflow-wrap:break-word; }
.trace-page thead { background:#f1f5f9; }
.trace-page tbody th { width:30%; font-weight:500; }
.trace-page tr:last-child th,.trace-page tr:last-child td { border-bottom:0; }
#metricas { background:#f8fafc; }
#metricas .container>p,#sprint-zero .container>p,#setor-publico .container>p,#evidencias .container>p { max-width:950px; }
.trace-public-sector { background:#f8fafc; padding:4.5rem 0; }
.trace-public-sector .trace-section-head { margin-bottom:1.25rem; }
.trace-public-sector .container>p { margin-bottom:0; }
.trace-page .trace-cite { font:.8em "JetBrains Mono",monospace; }
.trace-faq { border-top:1px solid var(--border); }
.trace-faq details { border-bottom:1px solid var(--border); }
.trace-faq summary { padding:1.5rem 2rem 1.5rem 0; font-size:1.25rem; font-weight:500; cursor:pointer; }
.trace-faq details[open] summary { color:#705b00; }
.trace-faq details>div { max-width:900px; padding:0 1.5rem .75rem; color:var(--muted); }
.trace-contact { display:grid; grid-template-columns:1fr 1.3fr; gap:4rem; }
.trace-page .uf-field input,.trace-page .uf-field textarea { padding:.75rem .35rem; }
.trace-page .uf-field label { font-size:.72rem; letter-spacing:.07em; }
.trace-page .uf-field label span { text-transform:none; letter-spacing:0; }
.trace-page .uf-field textarea { min-height:130px; resize:vertical; }
.trace-page button[disabled] { opacity:.65; cursor:wait; }
.trace-page [hidden] { display:none!important; }
.trace-page .footer1 { padding-top:4rem; padding-bottom:3rem; }
@media(min-width:992px) and (max-width:1199px) { .trace-page #menu1-cto .nav-link { font-size:.92rem!important; } .trace-page #menu1-cto .nav-item { margin:0 .1rem; } }
@media(max-width:991px) { :root { --trace-header:100px; } .trace-hero-grid { gap:2.5rem; } .trace-hero { padding-top:calc(var(--trace-header) + 45px); } .trace-hero h1 { font-size:5rem; } .trace-sequence a { padding:1rem!important; } .trace-mechanisms { grid-template-columns:1fr; } .trace-mechanisms article { padding:1.5rem; } .trace-mechanisms h3 { margin-top:1rem; } .trace-stage { gap:2.5rem; grid-template-columns:1fr 2fr; } .trace-contact { gap:2.5rem; grid-template-columns:1fr; } .trace-index-desktop { display:none; } .trace-index-mobile { display:block; } .trace-index-mobile summary { cursor:pointer; font-weight:500; padding:.25rem 0; } .trace-index-mobile div { display:grid; grid-template-columns:1fr 1fr; gap:.25rem 1rem; padding-top:1rem; } .trace-index-mobile a { padding:.35rem 0; } }
@media(max-width:767px) { .trace-page main { font-size:1.05rem; } .trace-hero-grid { grid-template-columns:1fr; gap:1rem; } .trace-hero { padding-bottom:2.5rem; } .trace-hero h1 { font-size:5rem; } .trace-page .trace-statement { font-size:1.75rem; } .trace-page .trace-sequence { grid-template-columns:1fr; margin-top:2.5rem; } .trace-sequence li { border-right:0; border-bottom:1px solid #384052; } .trace-page .trace-sequence a { display:grid; grid-template-columns:50px 1fr; gap:0 1rem; padding:1rem 1.25rem!important; } .trace-seq-top { grid-row:span 2; margin:0; } .trace-letter { font-size:2.5rem; } .trace-step-no { display:none; } .trace-tagline { margin:0; } .trace-section { padding:3.75rem 0; } .trace-section-head { margin-bottom:2rem; } .trace-stage { grid-template-columns:1fr; gap:1rem; padding:2.5rem 0; } .trace-stage-heading { display:grid; grid-template-columns:50px 1fr; gap:0 1rem; } .trace-stage-letter { grid-row:span 2; font-size:3rem; } .trace-stage h3 { margin:0 0 .25rem; font-size:1.65rem; } .trace-stage-heading>p { margin:0; max-width:none; } .trace-stage-body { min-width:0; } .trace-page th,.trace-page td { padding:1rem .65rem; font-size:.9rem; } .trace-page .btn-arch { width:100%; text-align:center; padding:.85rem 1rem; } .trace-actions { align-items:stretch; } .trace-actions>.trace-text-link { font-size:1rem; } .uf-row { grid-template-columns:1fr; } .trace-faq summary { font-size:1.1rem; } .trace-page .trace-eyebrow { font-size:.65rem; letter-spacing:.1em; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .trace-page *, .trace-page *::before,.trace-page *::after { animation:none!important; transition:none!important; } }
/* Override the base theme reset for long-form reading and navigation. */
.trace-page main p { line-height:1.72; }
.trace-page .trace-statement { line-height:1.25; }
.trace-page main .trace-sequence a,.trace-page main .trace-index a { text-decoration:none; }
.trace-page main .trace-index a { color:var(--txt); }
.trace-page main .trace-index a:hover { text-decoration:underline; }
.trace-page #menu1-cto .hamburger span { background-color:var(--accent); }
.trace-metric-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; margin:2rem 0; }
.trace-metric-grid>div { border-top:2px solid #b89a25; padding-top:1rem; }
.trace-metric-grid dt { font-size:1.2rem; font-weight:600; margin-bottom:.5rem; }
.trace-metric-grid dd { margin:0; color:var(--muted); font-size:1rem; line-height:1.6; }
.trace-page .trace-field-error { display:block; color:#a22525; font-size:.9rem; line-height:1.5; margin-top:.5rem; }
@media(max-width:991px) { .trace-page #menu1-cto .navbar>.container { display:flex; flex-wrap:wrap; justify-content:space-between; padding:12px 24px; } .trace-page #menu1-cto .navbar-brand { margin:0; min-width:0; flex:0 1 auto; } .trace-page #menu1-cto .navbar-logo img { height:3rem!important; max-width:calc(100vw - 120px); object-fit:contain; } .trace-page #menu1-cto .navbar-toggler { margin:0; min-width:44px; min-height:44px; } .trace-page #menu1-cto .navbar-collapse { flex-basis:100%; } .trace-metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) { .trace-metric-grid { grid-template-columns:1fr; gap:1.25rem; } }
@media(max-width:991px) {
  .trace-hero { min-height:auto; }
  .trace-page #menu1-cto .navbar-brand { width:auto!important; flex-shrink:1; }
  .trace-page #menu1-cto .navbar .container { width:100%; max-width:1200px; display:flex!important; flex-direction:row!important; align-items:center; }
  .trace-page #menu1-cto .navbar-logo { margin:0; }
  .trace-page #menu1-cto .navbar-toggler { flex:0 0 44px; position:relative; }
}

/* A quiet surface separates the five stage links from the trace network. */
.trace-page .trace-sequence { background:rgba(6,12,26,.7); }
@media(max-width:767px) {
  .trace-hero { background-size:cover,auto 1050px,cover; background-position:center,56% top,center; }
}

/* Official white wordmark for the dark hero; retain the supplied SVG proportions. */
.trace-hero h1.trace-brand { margin:-2rem 0 .75rem; line-height:0; }
.trace-brand img { display:block; width:100%; height:auto; }
@media(max-width:767px) {
  .trace-hero h1.trace-brand { margin:-1rem 0 1rem; }
}
