/* Site-level styles. Component styles from src/Home.dc.html are appended below by the build. */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#F6F2F7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
section[id]{scroll-margin-top:84px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #8E63C9;outline-offset:3px}
input::placeholder{color:inherit;opacity:.6}
img{max-width:none}
.noscript{font-family:Georgia,serif;max-width:640px;margin:80px auto;padding:0 24px;color:#2A1B33;line-height:1.5}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

body{margin:0}
a{color:inherit}
.tdr-root{--hp:0;--sp:1;--pg:0}
@keyframes riseA{from{opacity:0;transform:translateY(0.35em)}to{opacity:1;transform:none}}
@keyframes riseB{from{opacity:0;transform:translateY(0.35em)}to{opacity:1;transform:none}}
.rA{display:inline-block;animation:riseA .55s cubic-bezier(.2,.7,.2,1)}
.rB{display:inline-block;animation:riseB .55s cubic-bezier(.2,.7,.2,1)}
@keyframes flt{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(-3deg)}}
.flt{animation:flt 4s ease-in-out infinite}
.tdr-root .bn[data-in]{transition:opacity .7s ease-out,transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.tdr-root .bn[data-in]:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(40,20,70,.14)}
@media (prefers-reduced-motion: reduce){.flt{animation:none}.tdr-root .bn[data-in]:hover{transform:none}}
@keyframes drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-9%,7%) scale(1.12)}100%{transform:translate(5%,-5%) scale(.96)}}
.glow{animation:drift 16s ease-in-out infinite alternate}
@media (prefers-reduced-motion: reduce){.glow{animation:none}}
@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
.cue{animation:nudge 1.8s ease-in-out infinite}
@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hin{animation:heroIn .8s cubic-bezier(.2,.7,.2,1) both}
.tdr-root[data-js] .rv{opacity:0;transform:translateY(18px);transition:opacity .45s ease-out,transform .5s cubic-bezier(.2,.7,.2,1)}
.tdr-root[data-js] .rv[data-in]{opacity:1;transform:none}
.tdr-root[data-js] .fyl{opacity:.22;transform:translateX(-14px);transition:opacity .6s ease-out,transform .6s cubic-bezier(.2,.7,.2,1)}
.tdr-root[data-js] .fyl[data-in]{opacity:1;transform:none}
@keyframes mkin{from{opacity:0}to{opacity:1}}
.tdr-stage figure span[style*="215, 55, 43"],.tdr-stage figure span[style*="D7372B"],.tdr-stage figure span[style*="107, 63, 160"]{animation:mkin .45s ease-out both}
#tdr-nav a.nl{position:relative;text-decoration:none}
#tdr-nav a.nl::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}
#tdr-nav a.nl:hover::after{transform:scaleX(1)}
.btn{transition:transform .2s,filter .2s}.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
@media (prefers-reduced-motion: reduce){.rA,.rB,.cue,.hin{animation:none}.tdr-root[data-js] .rv,.tdr-root[data-js] .fyl{opacity:1;transform:none;transition:none}}
.stamp{transform:rotate(-8deg)}
.tdr-root[data-js] .stamp{opacity:0;transform:rotate(-8deg) scale(1.8)}
.tdr-root[data-js] .stamp[data-in]{opacity:1;transform:rotate(-8deg) scale(1);transition:opacity .2s ease-in .55s,transform .4s cubic-bezier(.2,1.5,.4,1) .55s}
@media (prefers-reduced-motion: reduce){.tdr-root[data-js] .stamp{opacity:1;transform:rotate(-8deg);transition:none}}
