
@keyframes lt-sweep{to{transform:rotate(360deg)}}
@keyframes lt-ping{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.6);opacity:0}}
@keyframes lt-dot{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes lt-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes lt-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
@keyframes lt-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes lt-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes lt-caret{0%,100%{opacity:1}50%{opacity:0}}
@keyframes lt-glow{0%,100%{box-shadow:0 0 0 0 rgba(13,148,136,.4)}50%{box-shadow:0 0 0 9px rgba(13,148,136,0)}}
@keyframes lt-words{0%,22%{transform:translateY(0)}28%,52%{transform:translateY(-1.05em)}58%,82%{transform:translateY(-2.1em)}88%,100%{transform:translateY(-3.15em)}}
@keyframes lt-hint{0%,100%{transform:translateX(-50%)}50%{transform:translateX(calc(-50% + 8px))}}
@keyframes lt-drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-20px) scale(1.08)}}
@keyframes lt-shift{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes lt-lock{0%,100%{transform:scale(1)}50%{transform:scale(.97)}}
@keyframes lt-prog{from{width:0}to{width:100%}}
@keyframes lt-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes lt-swap{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@keyframes lt-float{0%,100%{transform:rotate(var(--r)) translateY(0)}50%{transform:rotate(var(--r)) translateY(-6px)}}
.lt-tile{transition:box-shadow .3s ease}
.lt-tile:hover{animation-play-state:paused;box-shadow:0 26px 50px -24px rgba(79,70,229,.55)}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes lt-spin-a{to{--a:360deg}}
@keyframes lt-spin{to{transform:rotate(360deg)}}
@keyframes lt-unspin{to{transform:rotate(-360deg)}}
@keyframes lt-aur1{0%,100%{transform:translate(0,0) scale(1) rotate(0deg)}33%{transform:translate(-12%,10%) scale(1.15) rotate(30deg)}66%{transform:translate(8%,-6%) scale(.9) rotate(-20deg)}}
@keyframes lt-aur2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(14%,-12%) scale(1.2)}}
@keyframes lt-word{from{opacity:0;transform:translateY(40%) rotate(4deg);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes lt-conf{from{transform:translate(0,0) rotate(0);opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(260deg);opacity:0}}
@keyframes lt-frame{from{transform:perspective(1400px) rotateX(16deg) scale(.94);opacity:.6}to{transform:perspective(1400px) rotateX(0) scale(1);opacity:1}}
@keyframes lt-prog-s{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@supports (animation-timeline: scroll()){.lt-progress{animation:lt-prog-s linear both;animation-timeline:scroll(root)}}
.lt-ring{border:2px solid transparent;background:linear-gradient(160deg,#0f2a2c 0%,#1e1b4b 100%) padding-box,conic-gradient(from var(--a),#2dd4bf,#6366f1,#f5a524,#db2777,#2dd4bf) border-box;animation:lt-spin-a 6s linear infinite}
.lt-btn{position:relative;overflow:hidden}
.lt-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-130%);transition:transform .8s ease;pointer-events:none}
.lt-btn:hover::after{transform:translateX(130%)}
.lt-ex:hover{border-color:transparent !important;background:linear-gradient(#ffffff,#ffffff) padding-box,conic-gradient(from var(--a),#2dd4bf,#6366f1,#f5a524,#2dd4bf) border-box !important;animation:lt-spin-a 3s linear infinite}
@keyframes lt-beat{0%,45%,100%{transform:scale(1)}12%{transform:scale(1.22)}24%{transform:scale(1)}34%{transform:scale(1.14)}}
@keyframes lt-beatring{0%{transform:scale(.7);opacity:.8}70%,100%{transform:scale(2.6);opacity:0}}
@keyframes lt-chipon{0%,14%,100%{border-color:#e2e8f0;box-shadow:0 10px 24px -14px rgba(15,23,42,.45)}4%,10%{border-color:#0d9488;box-shadow:0 0 0 4px rgba(13,148,136,.16),0 10px 24px -14px rgba(15,23,42,.45)}}
@keyframes lt-hit{0%{opacity:1;transform:scale(1.8)}4%{opacity:1;transform:scale(1)}22%,100%{opacity:.3;transform:scale(1)}}
@keyframes lt-hitring{0%{opacity:.9;transform:scale(.5)}15%{opacity:0;transform:scale(2)}100%{opacity:0;transform:scale(2)}}
@keyframes lt-hitlabel{0%{opacity:0;color:#0f766e;filter:blur(2px)}4%{opacity:1;color:#0f766e;filter:blur(0)}16%{opacity:1;color:#334155;filter:blur(0)}26%,100%{opacity:0;color:#334155;filter:blur(2px)}}
@property --sw{syntax:'<angle>';inherits:true;initial-value:0deg}
@keyframes lt-sw{to{--sw:360deg}}
.lt-ring-light{border:2px solid transparent;background:linear-gradient(#ffffff,#ffffff) padding-box,conic-gradient(from var(--a),#5eead4,#a5b4fc,#fcd34d,#f9a8d4,#5eead4) border-box;animation:lt-spin-a 8s linear infinite}
@keyframes lt-starsin{0%{opacity:0;transform:translateY(6px);filter:blur(4px)}60%{opacity:1;filter:blur(0)}100%{opacity:1;transform:none}}
.tt-burger{display:none}
@media (max-width: 760px){
.tt-desk{display:none !important}
.tt-burger{display:flex !important}
.tt-headwrap{padding-top:10px !important}
.tt-header{padding:8px 8px 8px 14px !important;border-radius:16px !important}
.tt-header svg[aria-label="TouchTargets"]{width:28px;height:28px}
.tt-header a[href="#top"] span{font-size:19px !important}
.tt-header .lt-btn{padding:10px 14px !important;font-size:14px !important}
.tt-hero{padding-top:104px !important;padding-bottom:56px !important;gap:36px !important}
section.rv{padding-top:56px !important;padding-bottom:56px !important}
.tt-toggle{width:100%}
.tt-toggle button{min-width:0 !important;flex:1;padding:12px 8px !important;font-size:14px !important}
.tt-act{flex-wrap:wrap}

.tt-collage{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:150px 150px 120px 120px !important;grid-template-areas:'a a' 'a a' 'b c' 'd e' !important}
.tt-exdesc{display:none}
.tt-exgrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important}
.tt-exgrid>a{min-height:0 !important;padding:16px !important}
.tt-exgrid>a>span:nth-child(2){font-size:17px !important}
.tt-blog{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px !important;margin:0 -20px;padding:0 20px 8px}
.tt-blog>a{flex:0 0 82%;scroll-snap-align:start}
.tt-ctacard{justify-self:stretch !important;max-width:none !important}
}
.tt-mob{display:none}
@media (max-width: 760px){
.tt-foot{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:24px !important}
.tt-foot>div:first-child{grid-column:1/-1}
.tt-ctabox{padding:32px 20px !important;gap:28px !important}
.tt-ctabtns{flex-wrap:nowrap !important;gap:8px !important}
.tt-ctabtns>a{flex:1 1 auto;text-align:center;white-space:nowrap;padding:14px 12px !important;font-size:15px !important}
.tt-ctacard{flex-direction:column;align-items:flex-start !important;text-align:left}
.tt-act{flex-direction:column;align-items:flex-start;gap:10px !important}
.tt-act>span:last-child{margin-left:0 !important}
.tt-thead{display:none !important}
.tt-trow{grid-template-columns:auto 1fr !important;row-gap:6px !important;align-items:center}
.tt-trow>span:nth-child(1){grid-column:1/-1;order:2;white-space:normal !important;overflow:visible !important;color:#0b1220}
.tt-trow>span:nth-child(2){order:0}
.tt-trow>span:nth-child(3){order:1;text-align:left !important;color:#64748b;font-size:12px}
.tt-trow>span:nth-child(3)::after{content:" pages"}
.tt-deskblock{display:none !important}
.tt-mob{display:flex !important}
.tt-chargesec{gap:20px !important}
.tt-chargeleft{display:contents !important}
.tt-chargeleft>span{order:1}
.tt-chargeleft>h2{order:2}
.tt-chargecard{order:3}
.tt-chargemob{order:4}
.tt-chargesteps{display:none !important}
.tt-chargetrust{order:5}
}
.tt-sm{display:none}
@media (max-width: 760px){
.tt-lg{display:none !important}
.tt-sm{display:inline !important}
.tt-eyebrow{font-size:11px !important;padding:6px 12px !important;letter-spacing:.04em !important}
.tt-h1{font-size:44px !important}
.tt-lead{font-size:17px !important}
.tt-scan{flex-direction:column;align-items:stretch;gap:6px !important;padding:6px !important}
.tt-scan>span{display:none}
.tt-scan>input{padding:14px 12px !important;flex:0 0 auto !important}
.tt-scan>button{width:100%}
.tt-trust{flex-wrap:wrap !important;gap:6px 14px !important;font-size:13px !important;white-space:nowrap}
.tt-apcard{padding:18px !important;gap:14px !important}
.tt-aptitle{font-size:22px !important}
.tt-apcard [role="tablist"] button{font-size:14px !important;white-space:nowrap}
}
@media (max-width: 760px){
.tt-headwrap{padding:8px 12px 0 !important}
.tt-header{background:rgba(255,255,255,.9) !important;padding:6px 6px 6px 12px !important;border-radius:14px !important;box-shadow:0 12px 30px -18px rgba(15,23,42,.45) !important}
.tt-header svg[aria-label="TouchTargets"]{width:26px !important;height:26px !important}
.tt-header a[href="#top"]{gap:8px !important}
.tt-header a[href="#top"] span{font-size:18px !important}
.tt-header .lt-btn{padding:9px 12px !important;font-size:13px !important;border-radius:10px !important}
.tt-burger{width:40px !important;height:40px !important;border-radius:10px !important}
}
@media (max-width: 760px){.tt-apact{height:124px !important;justify-content:flex-start !important}}
@media (max-width: 760px){
.tt-apchiprow{flex-direction:column;align-items:flex-start !important;flex-wrap:nowrap !important;gap:6px !important}
.tt-chargenow{height:124px;box-sizing:border-box}
}
@media (max-width: 760px){.tt-soltabs button{font-size:14px !important;padding:12px 6px !important}}
@media (min-width: 761px){
section.rv{padding-top:56px !important;padding-bottom:24px !important}
.tt-hero{padding-bottom:48px !important}
.tt-wordmark{font-size:clamp(44px, 11vw, 160px) !important}
}
@media (max-width: 760px){
section.rv{padding-top:40px !important;padding-bottom:16px !important}
.tt-hero{padding-top:92px !important;padding-bottom:24px !important;gap:24px !important}
.tt-annc{font-size:12.5px !important;padding:9px 12px !important;gap:8px !important;flex-wrap:nowrap !important;white-space:nowrap}
.tt-annc>span:first-child{display:none}
.tt-cats{display:none !important}
.tt-trow:nth-child(n+7){display:none !important}
.tt-whatchips{display:none !important}
.tt-solpanel ul{display:none !important}
.tt-chargetrust{display:none !important}
.tt-collage{grid-template-rows:190px 120px !important;grid-template-areas:'a a' 'b c' !important}
.tt-collage>div:nth-child(4),.tt-collage>div:nth-child(5){display:none !important}
.tt-exgrid>a{padding:12px 14px !important;gap:4px !important}
.tt-exgrid>a>span:first-child,.tt-exgrid .lt-arrow{display:none !important}
.tt-exgrid>a>span:nth-child(2){font-size:15px !important}
.tt-ctacard>div:first-child{width:64px !important;height:64px !important}
.tt-wordmark{font-size:58px !important;transform:translateY(10%) !important}
}
@media (max-width: 760px){
.tt-src,.tt-found,.tt-example{display:none !important}
.tt-radar{width:min(340px, 100%) !important}
.tt-rlab{font-size:9.5px !important}
.tt-rlab-flip{transform:translate(-50%, 8px) !important}
.tt-rlab-tight{font-size:9px !important;transform:translate(calc(-100% - 7px), -50%) !important}
.tt-act:nth-child(4){display:none !important}
section[data-blog]{display:none !important}
.lt-q{padding:16px 4px !important;min-height:52px !important;font-size:17px !important}
.tt-foot{gap:18px !important;font-size:14px !important}
.tt-foot>div{gap:8px !important}
footer>div{padding-top:36px !important;gap:24px !important}
.tt-apact{height:124px !important}
}
@media (max-width: 760px){
section.rv h2{font-size:30px !important}
.tt-ctabox h2{font-size:34px !important}
.tt-stat{font-size:30px !important}
.tt-collage{grid-template-rows:160px 100px !important}
.tt-foot>div:nth-child(2){display:none !important}
}
@keyframes rv{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
.lt-btn{transition:transform .2s ease, box-shadow .2s ease}
.lt-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(79,70,229,.6)}
.lt-agent{transition:background .2s ease, border-color .2s ease, padding-left .2s ease}
.lt-agent:hover{border-color:#0d9488 !important;padding-left:22px !important}
.lt-card{transition:transform .25s ease, box-shadow .25s ease}
.lt-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(15,23,42,.35)}
.lt-ex{transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease}
.lt-ex:hover{transform:translateY(-4px);border-color:#a5b4fc;box-shadow:0 24px 50px -30px rgba(79,70,229,.5)}
.lt-ex .lt-arrow{transition:transform .25s ease}
.lt-ex:hover .lt-arrow{transform:translateX(6px)}
.lt-q{transition:background .2s ease}
.lt-q:hover{background:#eef2f7}
.lt-range{appearance:none;-webkit-appearance:none;background:transparent;cursor:ew-resize}
.tt-stat,.ag-num{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}
[data-tt-v][hidden]{display:none !important}
.tt-scan[hidden]{display:none !important}
/* the design files use the browser default box model and plain line height; the rest of the theme uses border-box */
.tt-design { background: #f7f9fc; color: #0b1220; font-family: 'Geist', 'Segoe UI', system-ui, sans-serif; overflow-x: clip; font-size: 16px; line-height: normal; font-variant-numeric: normal; }
.tt-design *, .tt-design *::before, .tt-design *::after { box-sizing: content-box; }
.tt-design button, .tt-design select { box-sizing: border-box; }
.tt-design a { color: #0f766e; } .tt-design a:hover { color: #4f46e5; }
.tt-design h1, .tt-design h2, .tt-design h3 { font-weight: 700; }
.tt-design .tt-scan input { min-height: 0; }
.tt-design .tt-eyebrow { text-transform: uppercase; }
/* FAQ: closed rows collapse, the open row shows; the plus turns into a cross */
.tt-dfaq__a { grid-template-rows: 0fr; } .tt-dfaq__item.is-open .tt-dfaq__a { grid-template-rows: 1fr; }
.tt-dfaq__a p { margin: 0 0 12px; } .tt-dfaq__a p:last-child { margin-bottom: 0; }
.tt-dfaq__icon { width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; background: #eef2f7; color: #0b1220; display: flex; align-items: center; justify-content: center; transition: transform .3s, background .3s; }
.tt-dfaq__item.is-open .tt-dfaq__icon { background: #4f46e5; color: #fff; transform: rotate(45deg); }
.tt-dfaq__item:not(.is-open) .tt-dfaq__a * { visibility: hidden; }
.tt-dfaq__item .tt-dfaq__a * { transition: visibility 0s .35s; } .tt-dfaq__item.is-open .tt-dfaq__a * { visibility: visible; transition: none; }

/* paper grain over the hero: one small tiled image instead of a live SVG noise filter (cheaper to paint) */
.tt-grain { position: absolute; inset: 0; z-index: -1; opacity: 0.08; pointer-events: none; background: url('../img/grain.png') repeat; background-size: 96px 96px; }
/* sections that are off screen do not animate (saves the browser's paint and style work) */
.tt-design .tt-idle, .tt-design .tt-idle * { animation-play-state: paused !important; }
/* names the design shares with the older theme styles: the design's own look wins */
.tt-design .tt-trust { margin: 0; list-style: none; padding: 0; }
.tt-design .tt-stat { display: inline; border: 0; border-radius: 0; padding: 0; background: none; gap: 0; }

/* hidden parts stay hidden even where the design gave them a display value (form success message) */
.tt-design [hidden] { display: none !important; }
/* legal-article:start (written by design-port/gen-legal.py) */
.tt-legal-article h2{margin: 18px 0px 0px; font-family: &quot;Space Grotesk&quot;, system-ui, sans-serif; font-size: 26px; line-height: 1.25; letter-spacing: -0.02em; scroll-margin-top: 120px;}
.tt-legal-article p,.tt-legal-article ul,.tt-legal-article ol{margin:0 0 12px}
.tt-legal-article ul,.tt-legal-article ol{padding-left:22px}
.tt-legal-article li{margin:4px 0}
.tt-legal-article h3{font-family:'Space Grotesk',system-ui,sans-serif;font-size:20px;margin:14px 0 4px}
.tt-legal-article a{color:#4f46e5;text-decoration:underline}
.tt-legal-article table{border-collapse:collapse;width:100%;font-size:15px}
.tt-legal-article th,.tt-legal-article td{border:1px solid #e2e8f0;padding:8px 10px;text-align:left;vertical-align:top}
.tt-legal-article pre{background:#f1f5f9;border-radius:10px;padding:12px;overflow:auto;font-size:14px}
.tt-legal-article blockquote{margin:0;padding:10px 16px;border-left:3px solid #cbd5e1;color:#475569}
.tt-legal__identity,.tt-legal__approved,.tt-legal__company{font-size:15px;color:#334155}
/* legal-article:end */
/* post-article:start (written by design-port/gen-blog.py) */
.tt-post-article h2{margin:18px 0 0;font-family:'Space Grotesk',system-ui,sans-serif;font-size:28px;line-height:1.2;letter-spacing:-.02em;scroll-margin-top:120px}
.tt-post-article h3{font-family:'Space Grotesk',system-ui,sans-serif;font-size:21px;margin:10px 0 0}
.tt-post-article p,.tt-post-article ul,.tt-post-article ol{margin:0}
.tt-post-article ul,.tt-post-article ol{padding-left:24px}
.tt-post-article li{margin:6px 0}
.tt-post-article a{color:#4f46e5;text-decoration:underline}
.tt-post-article pre{background:#0b1220;color:#e2e8f0;border-radius:14px;padding:16px;overflow:auto;font-size:14px;line-height:1.6}
.tt-post-article code{font-family:'Geist Mono',ui-monospace,monospace;font-size:.92em}
.tt-post-article img{max-width:100%;height:auto;border-radius:14px}
.tt-post-article blockquote{margin:0;padding:12px 18px;border-left:3px solid #cbd5e1;color:#475569}
.tt-post-article table{border-collapse:collapse;width:100%;font-size:16px}
.tt-post-article th,.tt-post-article td{border:1px solid #e2e8f0;padding:8px 10px;text-align:left}
/* post-article:end */
/* motion-sync:start (written by design-port/sync-design-css.py from the design files: the shared AI-agents-pages rules, keyframes, hover, transition and reduced-motion rules) */
a:hover{color:#4f46e5}
.ag-tab{transition:background .25s ease, color .25s ease, border-color .25s ease}
.ag-tab:hover{border-color:#a5b4fc !important}
.ag-row{transition:background .2s ease}
.ag-row:hover{background:#f8fafc}
.ag-crumb a{color:#475569;text-decoration:none}
.ag-crumb a:hover{color:#4f46e5}
@media (max-width: 760px){
.ag-crumb{font-size:13px !important}
.ag-h1{font-size:40px !important}
.ag-kanban{grid-template-columns:1fr !important}
.ag-kanban>div:first-child{display:none !important}
.ag-steps{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important}
.ag-steps>button{padding:16px !important;min-height:0 !important}
.ag-steps>button>span:nth-child(3){display:none !important}
.ag-tabsv{flex-direction:row !important;overflow-x:auto;margin:0 -20px;padding:0 20px 8px;scroll-snap-type:x mandatory}
.ag-tabsv>button{flex:0 0 auto !important;white-space:nowrap;scroll-snap-align:start}
.ag-checks{grid-template-columns:1fr !important}
.ag-chkgrid{grid-template-columns:minmax(0,1fr) !important}
.ag-rowx{grid-template-columns:1fr !important;gap:14px !important}
.ag-rowhead{grid-template-columns:28px 1fr 36px !important}
.ag-rowhead>span:nth-child(3),.ag-rowhead>span:nth-child(4){display:none !important}
.ag-hidem{display:none !important}
.ag-daytabs button{font-size:14px !important;padding:12px 2px !important}
.ag-gauge{flex-direction:column !important;align-items:stretch !important}
.ag-filter{width:100% !important}
.ag-filter button{font-size:14px !important;padding:12px 4px !important}
.ag-table{margin:0 -20px;padding:0 20px}
.ag-roster-team{display:none !important}
}
@media (max-width: 1180px){.pr-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media (max-width: 760px){.pr-grid{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px !important;margin:0 -20px;padding:8px 20px 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.pr-grid::-webkit-scrollbar{display:none}.pr-grid>div{flex:0 0 84%;scroll-snap-align:center}.pr-hint{display:block !important}}
@media (max-width: 760px){
.tt-hero>div{flex-basis:100% !important;min-width:0 !important;max-width:100% !important;box-sizing:border-box}
.ag-ctas{flex-wrap:nowrap !important;gap:8px !important}
.ag-ctas>a{flex:1 1 0;justify-content:center;text-align:center;white-space:nowrap;padding:13px 8px !important;font-size:14.5px !important;min-width:0}
.ag-diff{font-size:11.5px !important;gap:8px !important}
.ag-diff>div{padding:10px !important;min-width:0}
}
.ag-diff span{overflow-wrap:anywhere}
@media (max-width: 760px){.ag-toc{position:static !important}}
@keyframes e404-scan{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes e404-look{0%,100%{transform:translate(0,0)}20%{transform:translate(-7px,-4px)}40%{transform:translate(6px,-6px)}60%{transform:translate(7px,5px)}80%{transform:translate(-5px,6px)}}
@media (prefers-reduced-motion: reduce){.e404-anim{animation:none !important}}
/* motion-sync:end */

/* contact form: the design's spinner shows while the message is being sent (the form system adds is-busy) */
.tt-design .tt-form.is-busy button[type=submit] > span[aria-hidden="true"] { display: inline-block !important; }

/* zero layout shift: panels that swap sit in one grid cell, so the box is always as tall as the tallest panel; the others are only invisible */
.tt-stack { display: grid; min-width: 0; }
.tt-stack > [data-cat-panel] { grid-area: 1 / 1; min-width: 0; }
[data-cat-panel][data-off] { visibility: hidden; pointer-events: none; }

/* the hero of every template ends in a soft fade into the page colour (the design's), once, here: no hard line between the hero and the next section */
.tt-design > section:first-of-type { position: relative; }
.tt-design > section:first-of-type::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; pointer-events: none; background: linear-gradient(to bottom, rgba(247, 249, 252, 0), #f7f9fc); z-index: -1; }

[data-day-panel][data-off] { visibility: hidden; pointer-events: none; }
@media (max-width: 860px) { .tt-applygrid { grid-template-columns: minmax(0, 1fr) !important; } .tt-applygrid > div[role=tablist] { flex-direction: row !important; flex-wrap: wrap; } .tt-applygrid > div[role=tablist] > button { flex: 1 1 auto; } }
@media (max-width: 640px) { .tt-founder { grid-template-columns: minmax(0, 1fr) !important; } .tt-founder > img { max-width: 160px !important; } }

/* demo cards: a permanent "Example" label (it never goes away when the card changes state), so nobody reads the demo as a real fix on a real site */
.tt-example-badge { position: absolute; top: -12px; right: 22px; z-index: 2; background: rgb(11, 18, 32); color: #fff; font-family: 'Geist Mono', ui-monospace, monospace; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 4px 11px; border-radius: 999px; box-shadow: 0 6px 14px -8px rgba(11, 18, 32, .6); pointer-events: none; }
/* the scan box: all its states sit in one grid cell, the box keeps the height of the tallest one */
[data-tt-widget="scan"] { display: grid !important; }
[data-tt-widget="scan"] > [data-tt-v] { grid-area: 1 / 1; min-width: 0; align-self: start; }
[data-tt-widget="scan"] > [data-tt-v][hidden] { display: flex !important; visibility: hidden; pointer-events: none; }
@media (max-width: 760px) { .tt-kanban { grid-template-columns: repeat(3, minmax(150px, 1fr)) !important; height: 470px !important; overflow-x: auto; scroll-snap-type: x proximity; } .tt-kanban > [data-col] { scroll-snap-align: start; } }
