.th-hero{--th-stagger:clamp(0px, 8cqi - 40px, 72px);background:hsl(var(--background));font-family:var(--font-body);color:hsl(var(--foreground));position:relative;overflow:hidden}.th-hero-inner{flex-direction:column;width:100%;max-width:80rem;margin-inline:auto;padding:clamp(40px,6cqi,76px) clamp(20px,2.5cqi,32px) 0;display:flex;container:thhero/inline-size}.th-hero-head{text-align:center;flex-direction:column;align-items:center;display:flex}.th-hero-title{max-width:18ch;font-family:var(--font-display);letter-spacing:-.018em;color:hsl(var(--foreground));text-wrap:balance;margin:0;font-size:clamp(2.5rem,1.55rem + 4.1cqi,4.4rem);font-weight:400;line-height:1.08}.th-hero-sub{max-width:30rem;color:hsl(var(--muted-foreground));text-wrap:pretty;margin:clamp(16px,2cqi,22px) 0 0;font-size:15.5px;line-height:1.6}.th-hero-btn{background:hsl(var(--primary));border:1px solid hsl(var(--primary));height:42px;color:hsl(var(--primary-foreground));border-radius:4px;align-items:stretch;margin-top:clamp(22px,3cqi,30px);text-decoration:none;transition:background-color .25s,border-color .25s,transform .25s;display:inline-flex;overflow:hidden}.th-hero-btn-label{letter-spacing:.02em;white-space:nowrap;align-items:center;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex}.th-hero-btn-divider{opacity:.35;background:currentColor;align-self:stretch;width:1px}.th-hero-btn-arrow{justify-content:center;align-items:center;width:42px;display:inline-flex}.th-hero-btn-arrow svg{width:17px;height:17px;transition:transform .25s}.th-hero-btn:hover{background:hsl(var(--accent));border-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.th-hero-btn:hover .th-hero-btn-arrow svg{transform:translate(3px)}.th-hero-btn:focus-visible{outline:2px solid hsl(var(--foreground));outline-offset:3px}.th-hero-gallery{grid-template-rows:100%;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1.2cqi,16px);height:min(36cqi,440px);min-height:180px;margin-top:clamp(28px,4cqi,50px);display:grid;overflow:hidden}.th-hero-photo{align-self:stretch;min-width:0;min-height:0}.th-hero-photo--2{transform:translateY(var(--th-stagger))}.th-hero-frame{background:hsl(var(--secondary));border-radius:14px 14px 0 0;width:100%;height:calc(100% + clamp(40px,9cqi,130px));margin:0;position:relative;overflow:hidden}.th-hero-frame>span,.th-hero-frame img{width:100%;height:100%}.th-hero-frame img{-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;transition:transform .7s cubic-bezier(.2,.7,.2,1);display:block}.th-hero-frame:hover img{transform:scale(1.03)}@keyframes th-rise{0%{opacity:0;transform:translateY(1.4rem)}to{opacity:1;transform:translateY(0)}}@keyframes th-rise-photo{0%{opacity:0;transform:translateY(2.2rem)}to{opacity:1;transform:translateY(0)}}.th-hero-anim .th-hero-title,.th-hero-anim .th-hero-sub,.th-hero-anim .th-hero-btn{opacity:0;animation:.7s cubic-bezier(.2,.7,.2,1) forwards th-rise}.th-hero-anim .th-hero-title{animation-delay:50ms}.th-hero-anim .th-hero-sub{animation-delay:.18s}.th-hero-anim .th-hero-btn{animation-delay:.3s}.th-hero-anim .th-hero-frame{opacity:0;animation:.8s cubic-bezier(.2,.7,.2,1) forwards th-rise-photo}.th-hero-anim .th-hero-photo--1 .th-hero-frame{animation-delay:.42s}.th-hero-anim .th-hero-photo--2 .th-hero-frame{animation-delay:.54s}.th-hero-anim .th-hero-photo--3 .th-hero-frame{animation-delay:.66s}@keyframes th-letter-wave{0%,18%,to{color:hsl(var(--foreground))}9%{color:hsl(var(--primary))}}.th-hero-letter{animation:4.5s linear infinite th-letter-wave;animation-delay:calc(var(--th-i,0) * 90ms);display:inline}@media (width<=640px){.th-hero-gallery{grid-template-rows:auto auto;grid-template-columns:1fr 1fr;gap:10px;height:auto;min-height:0;margin-top:28px}.th-hero-photo--1{grid-column:1/-1}.th-hero-photo--2{transform:none}.th-hero-photo--1 .th-hero-frame{aspect-ratio:4/3;height:auto}.th-hero-photo--2 .th-hero-frame,.th-hero-photo--3 .th-hero-frame{aspect-ratio:1;height:auto}}@media (prefers-reduced-motion:reduce){.th-hero-anim .th-hero-title,.th-hero-anim .th-hero-sub,.th-hero-anim .th-hero-btn,.th-hero-anim .th-hero-frame{opacity:1;animation:none}.th-hero-letter{color:hsl(var(--foreground));animation:none}.th-hero-frame img{transition:none}}
