/* TLE FAQ module v1 — shared across sites; brand comes from the tokens block. */
.tle-faq{ background:var(--tf-paper);color:var(--tf-ink);padding:72px 0;font-family:var(--tf-bf);position:relative;overflow:hidden}
.tle-faq .container{position:relative;z-index:1}
.tle-faq__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.tle-faq__aside{position:sticky;top:96px;background:var(--tf-panel);color:var(--tf-panel-ink);border-radius:var(--tf-r);padding:32px 32px 36px;border:1.5px solid var(--tf-line)}
.tle-faq__art{margin:-8px -8px 18px;aspect-ratio:4/3;display:block}
.tle-faq__scene{width:100%;height:100%;overflow:visible}
.tle-faq__eyebrow{font-family:var(--tf-hf);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;margin:0 0 8px;color:var(--tf-a)}
.tle-faq__aside .tle-faq__eyebrow{color:inherit;opacity:.75}
.tle-faq__title{font-family:var(--tf-hf);font-weight:var(--tf-hw);font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.15;margin:0 0 10px;color:inherit}
.tle-faq__lead{margin:0 0 22px;font-size:1rem;opacity:.85}
.tle-faq__cta{display:inline-flex;align-items:center;gap:10px;background:var(--tf-a);color:#fff !important;text-decoration:none !important;padding:12px 20px;border-radius:var(--tf-r);font-family:var(--tf-hf);font-weight:600;font-size:.95rem;transition:transform .25s ease,box-shadow .25s ease}
.tle-faq__cta:hover{transform:translateY(-2px);box-shadow:0 8px 0 -2px var(--tf-b)}
.tle-faq__cta svg{transition:transform .25s ease}.tle-faq__cta:hover svg{transform:translateX(4px)}
.tle-faq__list{display:flex;flex-direction:column;gap:14px}
.tle-faq__item{border:1.5px solid var(--tf-line);border-radius:var(--tf-r);background:var(--tf-paper);transition:box-shadow .3s ease,transform .3s ease,background .3s ease}
.tle-faq__item:hover{transform:translateY(-2px);box-shadow:6px 6px 0 var(--tf-c)}
.tle-faq__item[open]{box-shadow:6px 6px 0 var(--tf-b);background:var(--tf-paper)}
.tle-faq__item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px 20px}
.tle-faq__item summary::-webkit-details-marker{display:none}
.tle-faq__item summary:focus-visible{outline:3px solid var(--tf-a);outline-offset:3px}
.tle-faq__icon{width:46px;height:46px;border-radius:calc(var(--tf-r) + 2px);display:grid;place-items:center;background:var(--tf-c);color:var(--tf-ink);border:1.5px solid var(--tf-line);transition:background .3s ease,color .3s ease,transform .45s cubic-bezier(.34,1.56,.64,1)}
.tle-faq__item[open] .tle-faq__icon{background:var(--tf-a);color:#fff;transform:rotate(-8deg) scale(1.06)}
.tle-faq__q{font-family:var(--tf-hf);font-weight:var(--tf-hw);font-size:1.05rem;line-height:1.35;margin:0}
.tle-faq__toggle{width:30px;height:30px;position:relative;flex:none;border-radius:50%;border:1.5px solid var(--tf-line)}
.tle-faq__toggle::before,.tle-faq__toggle::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.75px;background:var(--tf-ink);transform:translate(-50%,-50%);transition:transform .35s ease}
.tle-faq__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.tle-faq__item[open] .tle-faq__toggle::after{transform:translate(-50%,-50%) rotate(0deg)}
.tle-faq__a{padding:0 20px 20px 82px}
.tle-faq__a p{margin:0;line-height:1.65;font-size:1rem}
.tle-faq__a a{color:var(--tf-a);font-weight:600}
.tle-faq__item[open] .tle-faq__a{animation:tleFaqIn .45s ease both}
@supports (interpolate-size:allow-keywords){.tle-faq{interpolate-size:allow-keywords}.tle-faq__item::details-content{height:0;overflow:clip;transition:height .4s ease,content-visibility .4s allow-discrete}.tle-faq__item[open]::details-content{height:auto}}
@keyframes tleFaqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* illustration paint */
.tle-faq__scene .s{stroke:var(--tf-art-line);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;fill:none}
.tle-faq__scene .d{stroke:var(--tf-art-line);stroke-width:2.2;stroke-linecap:round;fill:none}
.tle-faq__scene .a{fill:var(--tf-a)}.tle-faq__scene .b{fill:var(--tf-b)}.tle-faq__scene .c{fill:var(--tf-art-fill)}
.tle-faq__scene .cell{fill:var(--tf-art-fill)}.tle-faq__scene .cell.b{fill:var(--tf-b)}
.tle-faq__scene .dash{stroke-dasharray:.04 .04}
/* motion: everything rests visible; .tf-armed hides, .tf-in plays */
.tle-faq.tf-armed .tle-faq__scene .d{stroke-dasharray:1;stroke-dashoffset:1}
.tle-faq.tf-armed .tle-faq__scene .pop{opacity:0;transform:translateY(10px) scale(.92);transform-box:fill-box;transform-origin:50% 100%}
.tle-faq.tf-armed .tle-faq__item{opacity:0;transform:translateY(16px)}
.tle-faq.tf-in .tle-faq__scene .d{animation:tfDraw 1.3s .35s cubic-bezier(.65,0,.35,1) forwards}
.tle-faq.tf-in .tle-faq__scene .pop{animation:tfPop .7s cubic-bezier(.34,1.56,.64,1) forwards}
.tle-faq.tf-in .tle-faq__scene .p2{animation-delay:.15s}.tle-faq.tf-in .tle-faq__scene .p3{animation-delay:.3s}.tle-faq.tf-in .tle-faq__scene .p4{animation-delay:.45s}.tle-faq.tf-in .tle-faq__scene .p5{animation-delay:.6s}
.tle-faq.tf-in .tle-faq__item{animation:tfRise .6s ease forwards;animation-delay:calc(var(--i,0) * 90ms + 200ms)}
.tle-faq.tf-in .tle-faq__scene .fl{animation:tfFloat 5s ease-in-out 1.4s infinite}
.tle-faq.tf-in .tle-faq__scene .fl2{animation-duration:6.5s}
.tle-faq.tf-in .tle-faq__scene .spin{animation:tfSpin 24s linear infinite}
.tle-faq.tf-in .tle-faq__scene .steam path{animation:tfSteam 3.2s ease-in-out 1.6s infinite}
.tle-faq.tf-in .tle-faq__scene .needle{animation:tfNeedle 2.4s cubic-bezier(.34,1.3,.64,1) .5s both}
@keyframes tfDraw{to{stroke-dashoffset:0}}
@keyframes tfPop{to{opacity:1;transform:none}}
@keyframes tfRise{to{opacity:1;transform:none}}
@keyframes tfFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes tfSpin{to{transform:rotate(360deg)}}
@keyframes tfSteam{0%,100%{opacity:.25;transform:translateY(2px)}50%{opacity:1;transform:translateY(-3px)}}
@keyframes tfNeedle{from{transform:rotate(-95deg)}to{transform:rotate(0)}}
.tle-faq__bg{position:absolute;inset:auto -60px -80px auto;width:340px;height:340px;border-radius:50%;background:var(--tf-c);opacity:.6;z-index:0}
@media (max-width:991px){.tle-faq{padding:48px 0}.tle-faq__grid{grid-template-columns:1fr;gap:28px}.tle-faq__aside{position:static;padding:24px}.tle-faq__art{max-width:320px;margin:0 auto 14px}}
@media (max-width:575px){.tle-faq__item summary{grid-template-columns:auto 1fr auto;gap:12px;padding:14px}.tle-faq__icon{width:40px;height:40px}.tle-faq__a{padding:0 14px 16px 14px}.tle-faq__q{font-size:1rem}}
@media (prefers-reduced-motion:reduce){.tle-faq *,.tle-faq *::before,.tle-faq *::after{animation:none !important;transition:none !important}.tle-faq.tf-armed .tle-faq__scene .d{stroke-dashoffset:0}.tle-faq.tf-armed .tle-faq__scene .pop,.tle-faq.tf-armed .tle-faq__item{opacity:1;transform:none}}