/* A breathing ribbon leads into a slow, scroll-linked product reveal. */
.hero.hero-refresh{position:relative;min-height:0;overflow:visible;padding:0;background:#fbfcfe;color:#252c39;isolation:isolate}
.hero-refresh .hero-copy{position:relative;padding:154px 24px 76px;max-width:1060px;margin:0 auto;text-align:center;z-index:2}
.hero-refresh .hero-copy h1{font-family:var(--sans,Poppins,Arial,sans-serif);font-size:clamp(42px,5.2vw,72px);font-weight:400;line-height:1.12;letter-spacing:-.06em;max-width:990px;margin:0 auto 25px;color:#252c39}
.hero-refresh .hero-copy h1 em{font:inherit;color:inherit}
.hero-refresh .hero-copy>p{max-width:630px;font-size:16px;line-height:1.85;margin:0 auto;color:#5c6068}
.hero-refresh .hero-actions{margin:30px auto 0;display:flex;justify-content:center;align-items:center;gap:12px}
.hero-refresh .hero-actions .button{min-height:52px;padding:15px 24px;gap:12px;border-radius:999px;font-size:13px;border:0;background:#315bc4;color:#fff;box-shadow:0 5px 12px #315bc418}
.hero-refresh .hero-actions .button:hover{background:#264aa5;transform:translateY(-2px)}
.hero-refresh .hero-actions .text-link{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid #252c3924;background:#ffffff80;padding:14px 23px;border-radius:999px;font-size:13px;color:#252c39;transition:background .2s,border-color .2s}
.hero-refresh .hero-actions .text-link:hover{background:#eef2fb;border-color:#315bc460}
.hero-refresh .hero-actions .icon{width:17px;height:17px}
.hero-refresh #ribbon{display:block;position:absolute;left:0;top:215px;width:100%;height:450px;z-index:0;pointer-events:none;opacity:.9;mask-image:linear-gradient(transparent,#000 15%,#000 80%,transparent)}
.hero-demo-stage{position:relative;height:calc(clamp(530px, 100vh - 120px, 690px) + 184px);max-width:1500px;margin:0 auto;padding:0 36px 64px;z-index:1}
.hero-demo-sticky{position:sticky;top:96px;perspective:1700px;perspective-origin:50% 25%;height:min(690px,calc(100vh - 120px));min-height:530px;display:flex;align-items:center;justify-content:center;border-radius:22px;isolation:isolate}
.hero-demo-backdrop{display:none}
.hero-refresh .hero-demo-screen{position:relative;width:min(1120px,90%);margin:0 auto;border:1px solid #fff9;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 30px 65px #10245b38,0 4px 12px #12182212;transform-origin:50% 50%;transform:translateY(28px) rotateX(17deg) scale(.87);will-change:transform;outline-offset:6px}
.hero-refresh .demo-bar{height:36px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e8ecf2;color:#626772;font-size:9px;letter-spacing:.07em}
.hero-refresh .demo-bar>span:first-child{display:flex;gap:5px}.hero-refresh .demo-bar i{width:6px;height:6px;border-radius:50%;background:#c9cbce}.hero-refresh .demo-bar>span:last-child{font-size:10px;letter-spacing:0;color:#626772}
.hero-refresh .hero-demo-screen iframe{display:block;width:100%;height:clamp(520px,calc(100vh - 210px),580px);border:0;background:#fff}
.hero-refresh .hero-demo-screen:not(.is-settled) iframe{pointer-events:none}
.motion-paused .hero-refresh .hero-demo-screen iframe{pointer-events:auto}
.hero-refresh .hero-demo-screen:focus-visible{outline:3px solid #315bc4}
.motion-paused .hero-demo-stage{height:auto;padding-bottom:64px}.motion-paused .hero-demo-sticky{position:relative;top:0}.motion-paused .hero-refresh .hero-demo-screen{transform:none!important;will-change:auto}
@media(min-width:1600px){.hero-refresh .hero-copy{padding-top:175px;padding-bottom:85px}}
@media(max-width:1000px){.hero-demo-stage{padding-inline:20px}.hero-refresh .hero-demo-screen{width:94%}.hero-refresh .hero-copy{padding-top:140px}}
@media(max-width:700px){.hero-refresh .hero-copy{padding:122px 24px 52px}.hero-refresh .hero-copy h1{font-size:clamp(35px,9.1vw,51px);line-height:1.14;letter-spacing:-.055em;margin-bottom:22px}.hero-refresh .hero-copy>p{font-size:14px;line-height:1.8;max-width:440px}.hero-refresh .hero-actions{flex-wrap:wrap;gap:10px;margin-top:25px}.hero-refresh .hero-actions .button,.hero-refresh .hero-actions .text-link{font-size:12px;min-height:48px;padding:13px 17px}.hero-refresh #ribbon{top:300px;height:300px}.hero-demo-stage{height:auto;padding:0 10px 50px}.hero-demo-sticky{position:relative;top:0;height:auto;min-height:0;padding:20px 8px 28px;perspective:none;border-radius:14px}.hero-demo-backdrop{border-radius:14px}.hero-refresh .hero-demo-screen{width:100%;transform:none!important;will-change:auto;border-radius:10px}.hero-refresh .hero-demo-screen iframe{height:680px;pointer-events:auto}.hero-refresh .demo-bar{height:32px;padding:0 10px;font-size:8px;letter-spacing:.03em}.hero-refresh .demo-bar>span:last-child{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-demo-stage{height:auto;padding-bottom:64px}.hero-demo-sticky{position:relative;top:0}.hero-refresh .hero-demo-screen{transform:none!important;will-change:auto}.hero-refresh .hero-demo-screen iframe{pointer-events:auto}.hero-refresh .hero-actions .button:hover{transform:none}}

/* One continuous veil runs from the upper right to the demo’s lower edge. */
.hero-refresh #ribbon{top:0;left:0;width:100%;height:100%;opacity:1;mask-image:linear-gradient(to bottom,#000 0%,#000 94%,transparent 100%)}
.hero-refresh .hero-demo-screen{box-shadow:0 25px 70px #252c3915,0 3px 12px #252c3909;border-color:#dde3ec}
@media(min-width:1001px){.hero-refresh .hero-copy{padding-top:106px;padding-bottom:34px;max-width:1240px}.hero-refresh .hero-copy h1{font-size:clamp(46px,4.45vw,64px);max-width:1180px;line-height:1.13}.hero-refresh .hero-copy>p{font-size:15px}.hero-refresh .hero-actions{margin-top:25px}}
.hero-refresh .hero-copy h1 em{font-family:Lora,Georgia,serif;font-style:normal;font-weight:400;letter-spacing:-.055em;color:#4b2428}

.hero-refresh .hero-copy>p strong{font-weight:600;color:#252c39}
/* Long app screens participate in page scrolling rather than a nested viewport. */
.hero-demo-stage.preview-expanded{height:auto;padding-bottom:64px}
.hero-demo-stage.preview-expanded .hero-demo-sticky{position:relative;top:0;height:auto;min-height:0;max-height:none}
.hero-demo-stage.preview-expanded .hero-demo-screen{transform:none!important;will-change:auto}
.hero-demo-stage.preview-expanded iframe{pointer-events:auto!important}
@media(max-width:700px){.header a.mobile-nav-cta{align-items:center;gap:8px}.header .mobile-nav-cta .icon{width:14px;height:14px;flex:none}}
