/* Shared styles are confined to TS roots, not Horizon's header/footer. */
:where(.ts-section){display:block;position:relative;isolation:isolate;background:var(--ts-bg);color:var(--ts-fg);font:var(--ts-body-weight,400) var(--ts-body-size,17px)/1.65 var(--ts-body-font,system-ui);padding:var(--ts-top,80px) 20px var(--ts-bottom,80px);scroll-margin-top:90px;overflow:clip}
.ts-section,.ts-section *{box-sizing:border-box}.ts-section[hidden],.ts-section [hidden]{display:none!important}
.ts-section::after{content:"";position:absolute;inset:0;z-index:10;pointer-events:none;opacity:var(--ts-grain,.09);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ts-section :is(h1,h2,h3,p,ul){margin:0}.ts-section a{color:inherit;text-decoration:none}.ts-section :is(button,input,select){font:inherit;letter-spacing:inherit}.ts-section button{cursor:pointer}.ts-section button:disabled{cursor:not-allowed;opacity:.5}
.ts-section img{display:block;max-width:100%;height:auto}.ts-section :focus-visible{outline:2px solid var(--ts-accent);outline-offset:4px}
.ts-section .ts-wrap{position:relative;z-index:1;width:100%;max-width:var(--ts-width,1152px);margin-inline:auto}
.ts-section .ts-heading{font-family:var(--ts-heading-font,Georgia);font-weight:var(--ts-heading-weight,400);font-size:clamp(30px,7vw,var(--ts-heading-size,48px));line-height:1.08;color:var(--ts-heading-color);text-wrap:balance;margin-top:12px}
.ts-section .ts-kicker{font:700 14px/1.4 var(--ts-number-font);text-transform:uppercase;letter-spacing:.35em;color:var(--ts-teal)}
.ts-section .ts-richtext p+p{margin-top:20px}.ts-section .ts-richtext a{text-decoration:underline}.ts-section .ts-richtext strong{font-weight:700}.ts-section .ts-intro{margin-top:22px;max-width:672px;opacity:.85}
.ts-section .ts-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px}
.ts-section .ts-button{display:inline-flex;align-items:center;justify-content:center;padding:16px 32px;border:0;border-radius:0;background:var(--ts-button-bg);color:var(--ts-button-fg);font:700 18px/1.3 var(--ts-number-font);letter-spacing:.2em;text-transform:uppercase;box-shadow:0 6px 0 var(--ts-rust);text-align:center;transition:transform .2s,opacity .2s;min-height:48px}
.ts-section .ts-button:hover{opacity:.88}.ts-section .ts-button:active{transform:translateY(3px)}.ts-section .ts-button--secondary{background:transparent;color:var(--ts-fg);box-shadow:none;padding-inline:0;font-size:14px}
.ts-section .ts-small{font-size:12px;opacity:.6}.ts-section .ts-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html:has(.ts-lightbox[open]){overflow:hidden}
.ts-section .ts-star{color:var(--ts-accent)}.ts-section .ts-teal{color:var(--ts-teal)}
.ts-section .ts-stars,.ts-section .ts-smokes{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.ts-section .ts-twinkle{position:absolute;color:var(--ts-accent);animation:ts-twinkle var(--ts-star-speed,5s) ease-in-out infinite}
.ts-section .ts-star-1{left:8%;top:12%}.ts-section .ts-star-2{left:86%;top:8%;color:var(--ts-teal);animation-delay:-1s}
.ts-section .ts-star-3{left:18%;top:38%;color:var(--ts-teal);animation-delay:-2s}.ts-section .ts-star-4{left:72%;top:30%;animation-delay:-.5s}
.ts-section .ts-star-5{left:92%;top:52%;animation-delay:-1.4s}.ts-section .ts-star-6{left:6%;top:66%;animation-delay:-2.2s}
.ts-section .ts-star-7{left:48%;top:6%;color:var(--ts-teal);animation-delay:-.8s}.ts-section .ts-star-8{left:60%;top:78%;color:var(--ts-teal);animation-delay:-1.9s}
.ts-section .ts-star-9{left:30%;top:88%;animation-delay:-.3s}.ts-section .ts-star-10{left:82%;top:84%;color:var(--ts-teal);animation-delay:-2.6s}
.ts-section .ts-smoke{position:absolute;width:55vmin;height:55vmin;filter:blur(50px);border-radius:50%;opacity:.18;background:radial-gradient(circle,color-mix(in srgb,var(--ts-heading-color) 32%,transparent),transparent 65%);animation:ts-smoke var(--ts-smoke-speed,20s) ease-in infinite}
.ts-section .ts-smoke-1{left:-10%;top:55%;background:radial-gradient(circle,color-mix(in srgb,var(--ts-teal) 32%,transparent),transparent 65%)}.ts-section .ts-smoke-2{left:40%;top:65%;animation-delay:-5s}
.ts-section .ts-smoke-3{left:70%;top:45%;animation-delay:-9s;background:radial-gradient(circle,color-mix(in srgb,var(--ts-fg) 32%,transparent),transparent 65%)}.ts-section .ts-smoke-4{left:15%;top:30%;animation-delay:-12s}
.ts-section .ts-sunburst{position:absolute;width:120vmin;height:120vmin;right:-30%;top:10%;pointer-events:none;opacity:.6;z-index:0}
.ts-section .ts-sunburst span{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(color-mix(in srgb,var(--ts-accent) 18%,transparent) 0 4deg,transparent 4deg 12deg);mask-image:radial-gradient(circle,#000 20%,transparent 70%)}
.ts-section .ts-sunburst i{position:absolute;inset:18%;background:radial-gradient(circle,var(--ts-accent) 1.2px,transparent 1.6px);background-size:9px 9px;mask-image:radial-gradient(circle,transparent 40%,#000 41%,#000 70%,transparent 71%);opacity:.7}
.ts-section .ts-clock-ring{width:100%;height:auto}.ts-section .ts-orbit{transform-origin:100px 100px;animation:ts-orbit var(--ts-orbit-speed,90s) linear infinite}
.ts-section .ts-divider{display:flex;align-items:center;gap:12px;max-width:320px;margin:24px auto 0;color:var(--ts-accent)}
.ts-section .ts-divider span{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--ts-accent))}.ts-section .ts-divider span:last-child{transform:rotate(180deg)}
.ts-section.ts-enhanced [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity var(--ts-reveal-speed,.9s),transform var(--ts-reveal-speed,.9s)}
.ts-section.ts-enhanced [data-reveal].ts-in{opacity:1;transform:none}
.ts-section .ts-float{animation:ts-float var(--ts-float-speed,7s) ease-in-out infinite}
.ts-section .ts-product-form{display:grid;gap:12px;max-width:420px}.ts-section .ts-product-form .ts-price{font:700 24px var(--ts-number-font);color:var(--ts-accent)}
.ts-section :is(input,select){background:var(--ts-bg);color:var(--ts-fg);border:1px solid var(--ts-accent);padding:12px 16px;min-height:48px;border-radius:0;width:100%}
.ts-section input::placeholder{color:var(--ts-fg);opacity:.5}
.ts-section[data-animations="false"] *{animation:none!important;transition:none!important}.ts-section[data-animations="false"] [data-reveal]{opacity:1;transform:none}
@keyframes ts-float{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-14px) rotate(.4deg)}}
@keyframes ts-twinkle{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:1;transform:scale(1.1) rotate(45deg)}}
@keyframes ts-smoke{0%{transform:translate3d(-6%,4%,0) scale(1);opacity:0}20%{opacity:.5}100%{transform:translate3d(8%,-14%,0) scale(1.4);opacity:0}}
@keyframes ts-orbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ts-section *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ts-section.ts-enhanced [data-reveal]{opacity:1;transform:none}.ts-section .ts-twinkle{opacity:.7}.ts-section .ts-smoke{opacity:.2}.ts-section .ts-fox-image,.ts-section .ts-chain{transform:none!important}}
