.tpv-wrapper{position:relative;box-sizing:border-box}.tpv-sticky-container{position:sticky;top:0;height:100vh;max-height:100vh;overflow:hidden;background:#fff}.tpv-wrapper.tpv-sticky-js .tpv-sticky-container{position:relative;top:0}.tpv-sticky-container.tpv-sticky-after{position:absolute;left:0;right:0;bottom:0;top:auto}.tpv-sticky-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,#f0f0ff99,#fff 70%)}.tpv-canvas{position:relative;z-index:1;display:block;width:100%;height:100%}.tpv-ui{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:opacity .4s ease,visibility .4s ease}.tpv-wrapper:not(.tpv-is-ready) .tpv-ui{opacity:0;visibility:hidden;pointer-events:none}.tpv-wrapper.tpv-is-ready .tpv-ui{opacity:1;visibility:visible}.tpv-ui a.tpv-section-cta{pointer-events:auto}.tpv-sections{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.tpv-copy-section{position:absolute;top:50%;max-width:38%;box-sizing:border-box;pointer-events:none;transform-origin:center center;transition:opacity .45s cubic-bezier(.22,1,.36,1),filter .45s ease}.tpv-copy-section--left{left:5%;right:auto;text-align:left}.tpv-copy-section--right{right:5%;left:auto;text-align:right}.tpv-copy-section--right .tpv-section-body{margin-left:auto}.tpv-copy-section__inner{position:relative}.tpv-copy-section--hot{filter:drop-shadow(0 12px 28px rgba(26,26,26,.06))}.tpv-copy-section--hot .tpv-section-title{animation:tpv-title-glow 2.6s ease-in-out infinite}.tpv-copy-section--hot .tpv-section-subtitle{animation:tpv-subtitle-shift 2.4s ease-in-out infinite}.tpv-copy-section--hot.tpv-copy-section--right .tpv-section-subtitle{animation-name:tpv-subtitle-shift-right}.tpv-copy-section--hot .tpv-section-body{animation:tpv-body-drift 3.2s ease-in-out infinite}.tpv-section-title{margin:0 0 .35em;font-size:clamp(1.65rem,4.2vw,4.25rem);font-weight:700;line-height:1.08;color:#1a1a1a;position:relative;display:inline-block;max-width:100%}.tpv-copy-section--hot .tpv-section-title:after{content:"";position:absolute;left:0;bottom:-.12em;height:.14em;max-height:5px;border-radius:2px;background:linear-gradient(90deg,#1a1a1a,#1a1a1a26);animation:tpv-accent-line .85s cubic-bezier(.22,1,.36,1) both}.tpv-copy-section--right.tpv-copy-section--hot .tpv-section-title:after{left:auto;right:0;background:linear-gradient(270deg,#1a1a1a,#1a1a1a26)}@keyframes tpv-accent-line{0%{width:0;opacity:0}to{width:100%;opacity:1}}@keyframes tpv-title-glow{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(-3px);opacity:.97}}@keyframes tpv-subtitle-shift{0%,to{transform:translate(0);opacity:.92}50%{transform:translate(4px);opacity:1}}@keyframes tpv-subtitle-shift-right{0%,to{transform:translate(0);opacity:.92}50%{transform:translate(-4px);opacity:1}}@keyframes tpv-body-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.tpv-section-subtitle{margin:0 0 .75em;font-size:clamp(1rem,2vw,1.35rem);color:#666;line-height:1.4}.tpv-section-body{margin:0 0 1.1em;font-size:clamp(.95rem,1.5vw,1.1rem);color:#444;line-height:1.55;max-width:480px}.tpv-section-body p{margin:0 0 .65em}.tpv-section-body p:last-child{margin-bottom:0}.tpv-section-cta{display:inline-block;padding:.65em 1.5em;border-radius:999px;background:#1a1a1a;color:#fff!important;text-decoration:none;font-weight:600;font-size:.95rem;transition:background .2s ease,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}.tpv-copy-section--hot .tpv-section-cta{box-shadow:0 10px 24px #1a1a1a2e}.tpv-section-cta:hover{background:#3d3d3d;color:#fff!important;transform:translateY(-2px)}.tpv-spinner{position:absolute;z-index:3;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border:3px solid rgba(26,26,26,.12);border-top-color:#1a1a1a;border-radius:50%;animation:tpv-spin .8s linear infinite;pointer-events:none}@keyframes tpv-spin{to{transform:rotate(360deg)}}.tpv-wrapper.tpv-is-ready .tpv-spinner,.tpv-wrapper.tpv-has-error .tpv-spinner{display:none}.tpv-error{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);max-width:90%;padding:.75em 1em;font-size:.9rem;color:#666;background:#fffffff2;border-radius:8px;display:none}.tpv-wrapper.tpv-has-error .tpv-error{display:block}
