html:has(.tp-page){scroll-behavior:smooth}.tp-page section{scroll-margin-top:calc(var(--header-height) + 1rem)}.tp-page .container-xl{max-width:1200px}.tp-page .eyebrow{font-family:var(--font-family-base);font-weight:var(--fw-semibold);letter-spacing:.01em;text-transform:none;color:var(--blue-500)}.tp-page .eyebrow:before{display:none}.tp-page .bg-dark .eyebrow{color:var(--blue-300)}.tp-hero{padding:calc(var(--header-height) + 4rem) 0 4.5rem}.tp-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3.5rem;align-items:center}.tp-hero__title{font-family:var(--font-display);font-size:var(--font-size-display);font-weight:var(--fw-extrabold);color:var(--color-text-dark);letter-spacing:-.03em;line-height:1.02;margin:0 0 1.25rem;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.tp-hero__title em{font-style:normal;color:var(--blue-500)}.tp-hero__lead{max-width:34rem;margin-bottom:1.75rem}.tp-cta-row{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.tp-plate{position:relative;background:var(--color-surface-dark);color:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.14);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);padding:1.75rem 1.75rem 1.25rem}.tp-plate__rivet{position:absolute;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.5),rgba(255,255,255,.08) 70%)}.tp-plate__rivet--tl{top:9px;left:9px}.tp-plate__rivet--tr{top:9px;right:9px}.tp-plate__rivet--bl{bottom:9px;left:9px}.tp-plate__rivet--br{bottom:9px;right:9px}.tp-plate__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.tp-plate__head strong{font-family:var(--font-display);font-weight:var(--fw-extrabold);font-size:1.5rem;color:#fff;letter-spacing:.02em}.tp-plate__chip{font-size:.68rem;font-weight:var(--fw-semibold);letter-spacing:.1em;background:transparent;color:var(--blue-300);border:1px solid var(--blue-300);border-radius:999px;padding:.2rem .7rem;white-space:nowrap}.tp-plate__chip,.tp-plate__sub{font-family:var(--font-mono);text-transform:uppercase}.tp-plate__sub{font-size:var(--font-size-xs);letter-spacing:.14em;color:rgba(255,255,255,.55);margin:.35rem 0 1.25rem}.tp-plate dl{margin:0}.tp-plate__row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem 0;border-top:1px solid rgba(255,255,255,.12)}.tp-plate__row dt{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}.tp-plate__row dd{margin:0;font-size:var(--font-size-sm);text-align:right}.tp-plate__foot,.tp-plate__row dd{font-family:var(--font-mono);color:#fff}.tp-plate__foot{margin:1rem -1.75rem 0;padding:.65rem 1.75rem;background:rgba(255,255,255,.05);border-top:2px solid var(--blue-300);font-size:var(--font-size-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase}.tp-char__head{max-width:40rem}.tp-char-row{display:grid;grid-template-columns:minmax(0,280px) 1fr;gap:1rem 3rem;padding:2rem 0;border-top:1px solid var(--color-border)}.tp-char-row:last-child{border-bottom:1px solid var(--color-border)}.tp-char-row .h3{margin:0}.tp-char-row p{margin:0 0 .9rem;max-width:44rem}.tp-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.tp-chips li{font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--color-border);border-radius:999px;padding:.25rem .75rem;color:var(--color-text-muted);background:var(--color-bg-white);white-space:nowrap}.tp-hw{color:rgba(255,255,255,.82)}.tp-hw__head{max-width:44rem}.tp-hw__head p{color:rgba(255,255,255,.82);margin:0}.tp-hw__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:3rem;align-items:start;margin-top:2.5rem}.tp-ga{margin:0;border:1px solid rgba(255,255,255,.14);border-radius:var(--border-radius-sm);overflow:hidden;background:var(--color-surface-dark);min-width:0}.tp-ga svg{display:block;width:100%;height:auto}.tp-ga text,.tp-ga__cap{font-family:var(--font-mono)}.tp-ga__cap{display:flex;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);padding:.7rem 1.1rem;font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65)}.tp-ga__cap b{color:#fff;font-weight:var(--fw-semibold)}.tp-mod-rows{border-top:1px solid rgba(255,255,255,.14)}.tp-mod-row{padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.14)}.tp-mod-row p{margin:0;color:rgba(255,255,255,.82)}.tp-hw__note{margin:1.25rem 0 0;font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45)}.tp-draw{stroke-dasharray:830;stroke-dashoffset:0}.tp-page.is-animated .tp-draw{transition:stroke-dashoffset .8s ease}.tp-page.is-animated .tp-draw--2{transition-delay:.3s}.tp-page.is-animated .tp-draw--3{transition-delay:.6s}.tp-page.is-animated .tp-draw--4{transition-delay:.9s}.tp-page.is-animated .tp-fade{transition:opacity .7s ease 1s}.tp-page.is-animated .tp-ga:not(.in-view) .tp-draw{stroke-dashoffset:830}.tp-page.is-animated .tp-ga:not(.in-view) .tp-fade{opacity:0}.tp-lead{stroke-dasharray:320;stroke-dashoffset:0}.tp-page.is-animated .tp-lead{transition:stroke-dashoffset .9s ease 1.3s}.tp-page.is-animated .tp-callout{transition:opacity .6s ease 1.9s}.tp-page.is-animated .tp-ga:not(.in-view) .tp-lead{stroke-dashoffset:320}.tp-page.is-animated .tp-ga:not(.in-view) .tp-callout{opacity:0}.tp-close{text-align:center}.tp-close .eyebrow{justify-content:center}.tp-close__body{margin-top:3rem}.tp-close__actions{display:flex;justify-content:center;align-items:center;gap:1.25rem;flex-wrap:wrap;margin:2rem 0 2.5rem}@media (prefers-reduced-motion:reduce){.tp-page.is-animated .tp-ga:not(.in-view) .tp-lead{stroke-dashoffset:0}.tp-page.is-animated .tp-ga:not(.in-view) .tp-callout{opacity:1}.tp-page.is-animated .tp-ga:not(.in-view) .tp-draw{stroke-dashoffset:0}.tp-page.is-animated .tp-ga:not(.in-view) .tp-fade{opacity:1}}@media (max-width:960px){.tp-hero{padding-top:calc(var(--header-height) + 2.5rem);padding-bottom:3rem}.tp-hero__grid{grid-template-columns:1fr;gap:2.5rem}.tp-char-row{grid-template-columns:1fr;gap:.5rem;padding:1.5rem 0}.tp-hw__grid{grid-template-columns:1fr;gap:2rem}}@media (max-width:480px){.tp-plate{padding:1.4rem 1.25rem 1rem}.tp-plate__foot{margin:1rem -1.25rem 0;padding:.65rem 1.25rem}.tp-plate__row{flex-direction:column;gap:.1rem}.tp-plate__row dd{text-align:left}}