/* TraceLayer Harness — site styles adapted 1:1 from the saved page, brand remapped to TraceLayer teal */
@import url('https://fonts.googleapis.com/css2?family=Host+Grotesk:wght@300..800&family=DM+Sans:wght@400;500;700&family=Fragment+Mono&family=Montserrat:wght@400;500;600&family=Silkscreen:wght@400;700&family=Outfit:wght@400;500&display=swap');

:root{
  --ds-font-body:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --ds-font-display:"Host Grotesk",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ds-font-mono:"Fragment Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --ds-font-sans:var(--ds-font-body);
  --ds-radius-pill:100px;--ds-radius-panel:16px;--ds-radius-card:24px;--ds-radius-media:12px;--ds-blur-glass:12px;
  --ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:24px;--ds-space-6:32px;--ds-space-7:40px;--ds-space-8:56px;--ds-space-9:80px;--ds-space-10:120px;--ds-space-11:160px;--ds-space-12:200px;--ds-space-13:240px;
  --ds-color-text-primary:#1e232c;--ds-color-text-primary-bluish:#121c31;--ds-color-text-link-blue:#134e4a;
  --ds-color-text-secondary:rgba(0,0,0,.7);--ds-color-text-description:rgba(0,0,0,.65);--ds-color-text-inverse:#fff;--ds-color-text-placeholder:#8691a1;
  --ds-color-brand:#0f766e;--ds-color-brand-deep:#115e59;--ds-color-brand-medium-reverse:#0d9488;--ds-color-brand-light-reverse:#5eead4;
  --ds-color-static-white:#fff;--ds-color-static-black:#0f0f0f;--ds-color-static-black-secondary:rgba(0,0,0,.6);
  --ds-color-bg-page:#f9f8f8;--ds-color-bg-surface-1:hsla(0,0%,100%,.3);--ds-color-bg-surface-2:hsla(0,0%,100%,.2);--ds-color-bg-surface-3:rgba(0,0,0,.03);--ds-color-bg-surface-4:rgba(0,0,0,.02);--ds-color-bg-surface-5:rgba(0,0,0,.05);
  --ds-color-bg-overlay:#fff;--ds-color-bg-surface-raised:hsla(0,0%,100%,.45);--ds-color-bg-hero-cta:hsla(0,0%,100%,.38);--ds-color-bg-code:rgba(0,0,0,.05);--ds-color-bg-hover:rgba(0,0,0,.04);
  --ds-color-bg-input:hsla(0,0%,100%,.2);--ds-color-bg-input-hover:hsla(0,0%,100%,.36);--ds-color-border-input:hsla(0,0%,100%,.2);--ds-color-border-input-focus:hsla(0,0%,100%,.25);
  --ds-color-scrollbar:rgba(0,0,0,.15);--ds-color-bg-dark:#1a1615;
  --ds-color-border-subtle:rgba(0,0,0,.06);--ds-color-border-default:rgba(0,0,0,.1);--ds-color-border-divider:rgba(0,0,0,.08);--ds-color-border-hover:hsla(20,1%,45%,.2);--ds-color-border-strong:rgba(0,0,0,.2);--ds-color-border-secondary:rgba(9,45,78,.14);
  --ds-btn-primary-bg:#1a1615;--ds-btn-primary-text:#fff;--ds-btn-primary-border:transparent;--ds-btn-primary-hover-bg:hsla(0,0%,100%,.3);
  --ds-btn-secondary-bg:hsla(0,0%,100%,.4);--ds-btn-secondary-text:#1e232c;--ds-btn-secondary-border:rgba(9,45,78,.18);--ds-btn-secondary-hover-bg:rgba(0,0,0,.05);--ds-btn-secondary-hover-border:rgba(9,45,78,.36);
  --ds-btn-ghost-bg:transparent;--ds-btn-ghost-text:#1e232c;--ds-btn-ghost-border:transparent;--ds-btn-ghost-hover-bg:rgba(0,0,0,.05);--ds-btn-ghost-hover-border:rgba(0,0,0,.2);
  --ds-btn-ghost-static-bg:transparent;--ds-btn-ghost-static-text:#0f0f0f;--ds-btn-ghost-static-border:rgba(0,0,0,.2);--ds-btn-ghost-static-hover-bg:rgba(0,0,0,.05);--ds-btn-ghost-static-hover-border:rgba(9,45,78,.3);
  --ds-btn-liquid-bg:#fff;--ds-btn-liquid-hover-bg:rgba(0,0,0,.08);
  --ds-shadow-card:0 0 0 1px #f1f5f9,0 2px 4px rgba(0,0,0,.05),0 12px 24px rgba(0,0,0,.05);
}
[data-theme=dark]{
  --ds-color-brand:#2dd4bf;--ds-color-brand-deep:#fff;--ds-color-brand-medium-reverse:#fff;--ds-color-brand-light-reverse:#7edfd2;
  --ds-color-text-primary:#fff;--ds-color-text-primary-bluish:#fff;--ds-color-text-secondary:hsla(0,0%,100%,.8);--ds-color-text-description:hsla(0,0%,100%,.5);--ds-color-text-placeholder:hsla(0,0%,100%,.3);
  --ds-color-bg-page:#0a0a0a;--ds-color-bg-surface-1:hsla(0,0%,100%,.06);--ds-color-bg-surface-2:hsla(0,0%,100%,.04);--ds-color-bg-surface-3:hsla(0,0%,100%,.02);--ds-color-bg-surface-4:hsla(0,0%,100%,.015);--ds-color-bg-surface-5:hsla(0,0%,100%,.12);
  --ds-color-bg-overlay:#262626;--ds-color-bg-surface-raised:hsla(0,0%,100%,.25);--ds-color-bg-hero-cta:hsla(0,0%,100%,.12);--ds-color-bg-code:rgba(0,0,0,.35);--ds-color-bg-hover:hsla(0,0%,100%,.06);
  --ds-color-bg-input:hsla(0,0%,100%,.08);--ds-color-bg-input-hover:hsla(0,0%,100%,.12);--ds-color-border-input:hsla(0,0%,100%,.2);--ds-color-border-input-focus:hsla(0,0%,100%,.25);
  --ds-color-scrollbar:hsla(0,0%,100%,.2);--ds-color-bg-dark:#fff;
  --ds-color-border-subtle:hsla(0,0%,100%,.08);--ds-color-border-default:hsla(0,0%,100%,.06);--ds-color-border-divider:hsla(0,0%,100%,.25);--ds-color-border-hover:hsla(0,0%,100%,.2);--ds-color-border-strong:hsla(0,0%,100%,.24);--ds-color-border-secondary:hsla(0,0%,100%,.2);
  --ds-btn-primary-bg:#fff;--ds-btn-primary-text:#0a0a0a;--ds-btn-primary-border:transparent;--ds-btn-primary-hover-bg:rgba(0,0,0,.2);
  --ds-btn-secondary-bg:var(--ds-color-bg-surface-1);--ds-btn-secondary-text:#fff;--ds-btn-secondary-border:hsla(0,0%,100%,.15);--ds-btn-secondary-hover-bg:hsla(0,0%,100%,.2);--ds-btn-secondary-hover-border:hsla(0,0%,100%,.6);
  --ds-btn-ghost-bg:transparent;--ds-btn-ghost-text:#fff;--ds-btn-ghost-border:transparent;--ds-btn-ghost-hover-bg:hsla(0,0%,100%,.08);--ds-btn-ghost-hover-border:hsla(0,0%,100%,.2);
  --ds-btn-liquid-bg:#fff;--ds-btn-liquid-hover-bg:rgba(0,0,0,.2);
  --ds-shadow-card:hsla(0,0%,100%,.12) 0px 1px 0px 0px inset;
}
html body{--ds-rgb-primary:15,118,110}
[data-theme=dark] body,body [data-theme=dark]{--ds-rgb-primary:45,212,191}

html,body{margin:0;padding:0}
body{background:var(--ds-color-bg-page);color:var(--ds-color-text-primary);font-family:var(--ds-font-sans);-webkit-font-smoothing:antialiased}
a{color:var(--ds-color-brand);text-decoration:none}
a:hover{color:var(--ds-color-brand-medium-reverse)}
button{font:inherit;color:inherit;background:none;border:none;padding:0}
::selection{background:rgba(45,212,191,.28)}
h1,h2,h3,p,pre{margin:0}

@property --border-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes ds-hero-enter{0%{opacity:0;transform:translateY(var(--enter-y,20px));filter:blur(var(--enter-blur,0))}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes arrow-sweep{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}
@keyframes blink{0%,to{opacity:1}50%{opacity:0}}
@keyframes rotating-border{0%{--border-angle:0deg}to{--border-angle:360deg}}
@keyframes tl-orb-drift{0%{transform:rotate(0deg) scale(1)}50%{transform:rotate(24deg) scale(1.06)}100%{transform:rotate(-16deg) scale(.98)}}

.ds-hero-enter{animation:ds-hero-enter .8s ease-out backwards}
.ds-hero-height{height:auto;min-height:100vh;max-height:none}
@media (min-height:1001px){.ds-hero-height{min-height:1000px}}
.ds-container{width:min(100% - 48px,1140px);margin-inline:auto}
@media (min-width:768px){.ds-container{width:min(100% - 144px,1140px)}}
@media (min-width:1536px){.ds-container{width:min(100% - 160px,1280px)}}

.ds-btn-ghost,.ds-btn-primary,.ds-btn-secondary,.ds-btn-text{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--ds-radius-pill);box-sizing:border-box;font-family:var(--ds-font-sans);font-weight:500;line-height:120%;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate}
.ds-btn-primary{background:var(--ds-btn-primary-bg);color:var(--ds-btn-primary-text);border:1px solid var(--ds-btn-primary-border)}
.ds-btn-primary:hover{color:var(--ds-btn-primary-text)}
.ds-btn-ghost:after,.ds-btn-primary:after,.ds-btn-secondary:after,.ds-btn-text:after{content:"";position:absolute;top:50%;left:50%;width:150%;aspect-ratio:1;border-radius:50%;opacity:0;z-index:-1;transform:translate(-50%,-50%) scale(0);transition:transform .36s ease-out,opacity .1s ease}
.ds-btn-ghost:hover:after,.ds-btn-primary:hover:after,.ds-btn-secondary:hover:after,.ds-btn-text:hover:after{opacity:1;transform:translate(-50%,-50%) scale(1)}
.ds-btn-primary:after{background:var(--ds-btn-primary-hover-bg)}
.ds-btn-secondary:after{background:var(--ds-btn-secondary-hover-bg)}
.ds-btn-ghost:after{background:var(--ds-btn-ghost-hover-bg)}
.ds-btn-text:after{background:var(--ds-btn-secondary-hover-bg)}
.ds-btn-secondary{background:var(--ds-btn-secondary-bg);color:var(--ds-btn-secondary-text);border:1px solid var(--ds-btn-secondary-border);backdrop-filter:blur(var(--ds-blur-glass));-webkit-backdrop-filter:blur(var(--ds-blur-glass));transition:border-color .35s ease}
.ds-btn-secondary:hover{border-color:var(--ds-btn-secondary-hover-border);color:var(--ds-btn-secondary-text)}
.ds-btn-ghost{background:var(--ds-btn-ghost-bg);color:var(--ds-btn-ghost-text);border:1px solid var(--ds-btn-ghost-border);font-weight:400;transition:border-color .2s}
.ds-btn-ghost:hover{border-color:var(--ds-btn-ghost-hover-border)}
.ds-btn-m{font-size:15px;padding:11px 18px}
.ds-btn-m svg{width:16px;height:16px}
.ds-btn-s{font-size:14px;padding:var(--ds-space-2) var(--ds-space-3)}
.ds-btn-s svg{width:14px;height:14px}

.ds-font-harness{font-family:"Silkscreen",monospace;font-size:20px;letter-spacing:.05em;text-transform:uppercase;color:var(--ds-color-text-primary);-webkit-text-stroke:.04em var(--ds-color-bg-page)}
.tl-brand-word{font-family:"Outfit",var(--ds-font-sans);font-weight:400;letter-spacing:.03em}

.ds-header-wrapper{position:fixed;top:0;left:0;right:0;margin:0 auto;z-index:50;width:min(100% - 48px,1140px);padding:var(--ds-space-2) 0 0}
@media (min-width:768px){.ds-header-wrapper{width:min(100% - 144px,1140px)}}
@media (min-width:1536px){.ds-header-wrapper{width:min(100% - 160px,1280px)}}
.ds-header-bar{display:flex;align-items:center;justify-content:space-between;margin:0 auto;padding:4px 0;border-radius:var(--ds-radius-pill);overflow:visible;position:relative;border:1px solid transparent;background:transparent}
.ds-header-bar:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:var(--ds-color-bg-surface-raised);backdrop-filter:blur(var(--ds-blur-glass));-webkit-backdrop-filter:blur(var(--ds-blur-glass));border:1px solid var(--ds-color-border-default);opacity:0;visibility:hidden;transition:opacity .4s ease-in-out,visibility 0s .4s;pointer-events:none;z-index:-1}
.ds-header-bar.is-scrolled:before{opacity:1;visibility:visible;transition:opacity .4s ease-in-out,visibility 0s}
[data-theme=dark] .ds-header-bar:before{background:rgba(20,22,24,.55)}
.ds-header-bar.is-scrolled{padding:4px 10px}

.ds-locale-toggle{display:flex;align-items:center;height:32px;padding:3px;border-radius:var(--ds-radius-pill);border:1px solid var(--ds-color-border-default)}
.ds-locale-toggle-item{display:flex;align-items:center;justify-content:center;height:100%;padding:0 var(--ds-space-3);border-radius:var(--ds-radius-pill);font-size:12px;font-weight:500;color:var(--ds-color-text-description);transition:color .2s,background-color .2s,box-shadow .2s;cursor:pointer}
.ds-locale-toggle-item.is-active{background:var(--ds-color-bg-surface-raised);color:var(--ds-color-text-primary);box-shadow:0 1px 3px rgba(0,0,0,.08)}

.ds-text-hero{font-family:"Montserrat",var(--ds-font-sans);font-size:36px;font-weight:500;letter-spacing:-.02em;line-height:150%}
@media (min-width:768px){.ds-text-hero{font-size:46px}}
.ds-text-heading1{font-family:"Montserrat",var(--ds-font-sans);font-size:28px;font-weight:500;letter-spacing:-.02em;line-height:150%}
@media (min-width:768px){.ds-text-heading1{font-size:36px}}
.ds-text-title{font-family:var(--ds-font-sans);font-size:18px;font-weight:500;letter-spacing:-.01em;line-height:150%}
.ds-text-subtitle{font-family:var(--ds-font-sans);font-size:20px;font-weight:500;letter-spacing:-.01em;line-height:150%}
.ds-text-body{font-family:var(--ds-font-sans);font-size:16px;font-weight:400;line-height:160%;text-wrap:pretty}
.ds-text-caption{font-family:var(--ds-font-sans);font-size:14px;font-weight:400;line-height:150%}
.ds-text-xs{font-family:var(--ds-font-sans);font-size:13px;font-weight:400;line-height:150%}

.ds-glass-dropdown{background:var(--ds-color-bg-overlay);backdrop-filter:blur(var(--ds-blur-glass));-webkit-backdrop-filter:blur(var(--ds-blur-glass));border:1px solid var(--ds-color-border-subtle);border-radius:var(--ds-radius-panel);box-shadow:0 0 1px 0 rgba(0,0,0,.2),0 0 4px 0 rgba(0,0,0,.02),0 12px 32px 0 rgba(0,0,0,.08)}
.ds-qr-menu{opacity:0;pointer-events:none;transition:opacity .15s .4s}
.ds-qr-menu:before{content:"";position:absolute;inset:-8px}
.ds-qr-panel{transform:var(--qr-anim-from,translateY(-4px));opacity:0;transition:opacity .2s,transform .2s}
.ds-qr-trigger:hover>.ds-qr-menu{opacity:1;pointer-events:auto;transition:opacity .15s .4s}
.ds-qr-trigger:hover>.ds-qr-menu .ds-qr-panel{opacity:1;transform:translate(0)}

.ds-grid-bg{background-image:linear-gradient(90deg,rgba(0,0,0,.025) 1px,transparent 0),linear-gradient(180deg,rgba(0,0,0,.025) 1px,transparent 0);background-size:90px 90px;background-position:0 -12px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 15%,#000 85%,transparent),linear-gradient(180deg,transparent 0,#000 15%,#000 85%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 15%,#000 85%,transparent),linear-gradient(180deg,transparent 0,#000 15%,#000 85%,transparent);mask-composite:intersect}
[data-theme=dark] .ds-grid-bg{background-image:linear-gradient(90deg,hsla(0,0%,100%,.032) 1px,transparent 0),linear-gradient(180deg,hsla(0,0%,100%,.032) 1px,transparent 0)}

.rv{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.rv.in{opacity:1;transform:none}
.rv--blur{filter:blur(8px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),filter .8s cubic-bezier(.22,1,.36,1)}
.rv--blur.in{filter:blur(0)}

.ds-cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;will-change:transform,opacity;border-radius:50%;opacity:0;width:0;height:0;mix-blend-mode:difference;transition:width .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1),margin .3s cubic-bezier(.16,1,.3,1),background-color .3s ease,opacity .3s ease}
.ds-cursor-ring.is-blend{width:64px;height:64px;margin-left:-32px;margin-top:-32px;background:#fff;mix-blend-mode:difference;opacity:1}
@media (hover:none),(pointer:coarse){.ds-cursor-ring{display:none}}

.tl-play-btn{transition:transform .25s ease,background-color .25s ease}
.tl-play-btn:hover{transform:scale(1.08)}
.tl-copy-btn{transition:color .2s}
.tl-copy-btn:hover{color:var(--ds-color-text-primary) !important}
.tl-dashed-link{color:var(--ds-color-text-primary);text-decoration:underline;text-decoration-style:dashed;text-decoration-color:hsla(0,0%,100%,.3);text-underline-offset:4px;text-decoration-thickness:1px;transition:color .2s}
.tl-dashed-link:hover{color:var(--ds-color-brand)}
[data-theme] :not([data-theme=dark]) .tl-dashed-link{text-decoration-color:rgba(0,0,0,.3)}
.tl-foot-link{transition:opacity .2s;color:var(--ds-color-text-primary)}
.tl-foot-link:hover{opacity:.7;color:var(--ds-color-text-primary)}
.tl-soc{color:var(--ds-color-text-secondary);transition:color .2s}
.tl-soc:hover{color:var(--ds-color-text-primary)}
