/* Shared polish from the complete-page review. */
.solution-example-link{display:inline-flex;align-items:center;min-height:44px;margin-top:22px;color:#1747c9;font-size:14px;text-decoration:underline;text-underline-offset:5px}.solution-example-link:focus-visible{outline:3px solid #3155ed;outline-offset:4px}.detail-photo>span{max-width:calc(100% - 28px);line-height:1.6}.field select{display:block;width:100%;min-height:48px;padding:12px 14px;border:1px solid #a2afc6;border-radius:5px;color:#20365c;background:#fff;font:inherit;margin-top:9px}.field select:focus-visible{outline:3px solid #3155ed;outline-offset:3px}.contact-hero .audience-choice label span{line-height:1.45}
.format-native-destination{position:fixed;inset:0;margin:auto;width:min(650px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:25px;border:1px solid #8597b2;border-radius:10px;background:#f5f7fa;color:#1c365c;overflow:auto}.format-native-destination::backdrop{background:#020711d9}.format-native-destination>header{display:flex;justify-content:space-between;align-items:start;gap:20px;border-bottom:1px solid #c8d3e3;padding-bottom:18px}.format-native-destination header span{font-size:10px;letter-spacing:.08em;color:#4c6280}.format-native-destination h2{font-size:28px;line-height:1.15;color:#243f6e;margin-top:12px}.format-native-destination header button{min-height:44px;min-width:70px;background:transparent;color:#24416b;border:1px solid #879ab7;border-radius:4px;cursor:pointer}.format-native-destination>p{font-size:14px;color:#4c6280;line-height:1.8;margin:20px 0}.format-native-destination .app-live-shell{max-width:420px;margin:auto}.native-ad .native-demo-cta{border:0;width:100%;min-height:44px;cursor:pointer;font-family:var(--font);font-size:10px!important;padding:8px!important}.native-ad .native-demo-cta:focus-visible{outline:3px solid #3155ed;outline-offset:3px}
.ad-topline{align-items:center}.ad-topline [data-close-video]{display:none;pointer-events:auto;min-width:32px;min-height:32px;border:1px solid #fff9;border-radius:50%;background:#122138;color:white;font-size:20px;line-height:1;cursor:pointer}.format-stage[data-format-state=video] [data-close-video]{display:block}.format-stage[data-format-state=video] .ad-topline>[data-ad-time]{margin-left:auto}.host-app [data-reopen-video]{display:none;min-height:44px;border:0;border-radius:4px;background:#243f6e;color:white;padding:10px;margin-top:18px;font-size:12px;cursor:pointer}.format-stage.video-returned .ad-player{display:none}.format-stage.video-returned .host-app{display:block}.format-stage.video-returned [data-reopen-video]{display:block}.format-stage[data-format-state=native] .native-ad{max-height:100%;overflow:auto}.format-stage .demo-play:focus-visible{outline:3px solid #adc2ff;outline-offset:-5px}.footer a:focus-visible{outline:3px solid #5975ef;outline-offset:3px}main:focus{outline:none}
@media(max-width:600px){.format-native-destination{padding:20px}.format-native-destination h2{font-size:25px}.detail-photo>span{font-size:8px}.solution-example-link{font-size:14px}.format-stage .device-screen{isolation:isolate}}
.format-stage[data-format-state=video] .ad-topline{z-index:9;pointer-events:none}.ad-topline [data-close-video]{min-width:44px;min-height:44px}
.format-native-destination{--brand-accent:#244b9d}.format-native-destination .sample-app p{font-size:12px;line-height:1.7;color:inherit;margin-top:10px}.format-native-destination .sample-app h3{font-size:24px;line-height:1.2;margin:0}.solutions-menu a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
/* Logo-derived woven strands. One entrance, then a still composition. */
:root{--brand-spectrum:linear-gradient(115deg,#6923a9 0%,#4936b6 35%,#1747b8 66%,#087181 100%)}
.v4-close{background:var(--brand-spectrum)}.v4-close .label,.v4-close p:not(.label){color:#f2f2ff}.v4-close .button{color:#34328c}
.product-hero{position:relative;isolation:isolate}.product-hero>.wrap{position:relative;z-index:1}.hero-weave{position:absolute;inset:0 0 auto;height:650px;z-index:0;overflow:hidden;pointer-events:none;opacity:.4;mask-image:linear-gradient(#000 0%,#000 65%,transparent 100%)}.hero-weave svg{display:block;width:100%;height:100%}.hero-weave path{stroke-dasharray:2600;stroke-dashoffset:0;animation:weave-enter 3.8s cubic-bezier(.2,.65,.3,1) both}.hero-weave path:nth-child(2n){animation-delay:.12s}.hero-weave path:nth-child(3n){animation-delay:.22s}
@keyframes weave-enter{from{stroke-dashoffset:2600;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@media(max-width:600px){.hero-weave{height:550px;opacity:.27}.hero-weave svg{width:150%;max-width:none;margin-left:-25%}}
@media(prefers-reduced-motion:reduce){.hero-weave path{animation:none}}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px}.contact-actions .button{margin:0;cursor:pointer}.contact-download{min-height:52px;padding:12px 20px;border:1px solid #8c9eb9;border-radius:7px;background:white;color:#243c64;font:inherit;font-size:14px;cursor:pointer}.contact-notice a,.email-availability a{color:#244bb9;text-decoration:underline;text-underline-offset:4px}.email-availability{font-size:14px;color:#4d617e;line-height:1.8}.email-draft-link{display:inline-flex;margin-top:20px}.contact-download:focus-visible{outline:3px solid #4467e4;outline-offset:3px}.footer-top .footer-brand .footer-email{display:block;font-size:14px;min-height:44px;padding-top:10px;color:inherit}
@media(max-width:600px){.contact-actions{align-items:stretch}.contact-actions>button{flex:1;white-space:nowrap}.contact-download{font-size:13px;padding:12px 15px}}
/* Keep the primary navigation action legible in every interaction state. */
.header #navigation>a.nav-contact,.header #navigation>a.nav-contact:visited,.header #navigation>a.nav-contact:hover,.header #navigation>a.nav-contact:focus,.header #navigation>a.nav-contact:focus-visible,.header #navigation>a.nav-contact:active{color:#fff;background:#1749df;border-color:#1749df;text-decoration:none}.header #navigation>a.nav-contact:hover,.header #navigation>a.nav-contact:active{background:#123ab8;border-color:#123ab8}.header #navigation>a.nav-contact:focus-visible{outline:3px solid #879fff;outline-offset:4px}
/* Solid primary actions; gradient remains in brand artwork and section backgrounds. */
:root{--action-solid:#4056ed;--action-solid-hover:#3045d1}
body .button,.ad-product .button,.header #navigation>a.nav-contact,.header #navigation>a.nav-contact:visited,.header #navigation>a.nav-contact:hover,.header #navigation>a.nav-contact:focus,.header #navigation>a.nav-contact:focus-visible,.header #navigation>a.nav-contact:active{background:var(--action-solid);background-image:none;color:#fff;border:1px solid var(--action-solid);transition:background-color .18s ease,border-color .18s ease}
body .button:hover,.ad-product .button:hover,.header #navigation>a.nav-contact:hover,body .button:active,.header #navigation>a.nav-contact:active{background:var(--action-solid-hover);color:#fff;border-color:var(--action-solid-hover);filter:none;box-shadow:none}
.product-secondary,.product-secondary:visited{color:#fff;border:1px solid #566077;background:#20242c;background-image:none;box-shadow:none;transition:background-color .18s ease,border-color .18s ease}.product-secondary:hover{background:#2b303a;background-image:none;border-color:#74829c;box-shadow:none}
.v4 .v4-close .button,.v4 .v4-close .button:hover{background:#fff;background-image:none;color:#34328c;border-color:#fff;filter:none}
@media(prefers-reduced-motion:reduce){body .button,.header #navigation>a.nav-contact,.product-secondary{transition:none}}
/* The hero watermark uses the actual woven W artwork from the wordmark. */
.hero-weave.hero-brand-w{height:620px;opacity:1;mask-image:linear-gradient(#000 0%,#000 75%,transparent 100%);display:grid;place-items:start center;padding-top:10px}.hero-brand-w>img{width:min(1180px,94vw);max-width:none;height:auto;opacity:.18;animation:brand-w-reveal 3s cubic-bezier(.2,.65,.3,1) both;transform-origin:center;user-select:none}
@keyframes brand-w-reveal{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:.18;transform:translateY(0) scale(1)}}
@media(max-width:600px){.hero-weave.hero-brand-w{height:530px;align-items:center;padding:0;mask-image:linear-gradient(transparent,#000 15%,#000 80%,transparent)}.hero-brand-w>img{width:145vw;opacity:.14;animation-name:brand-w-reveal-mobile}@keyframes brand-w-reveal-mobile{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:.14;transform:translateY(0) scale(1)}}}
@media(prefers-reduced-motion:reduce){.hero-brand-w>img{animation:none;transform:none}}
.hero-weave.hero-brand-w{height:500px}.hero-brand-w>img{width:min(1100px,94vw)}
@media(max-width:600px){.hero-weave.hero-brand-w{height:460px}.hero-brand-w>img{width:135vw}}
@media(max-width:600px){.hero-brand-w>img{width:96vw}}
/* Quiet W-inspired wave contours, replacing the solid logo watermark. */
.hero-weave.hero-brand-wave{height:500px;opacity:1;display:flex;justify-content:center;align-items:flex-start;padding:0;mask-image:linear-gradient(transparent 0%,#000 12%,#000 65%,transparent 100%)}.hero-brand-wave>img{display:block;width:max(1600px,115vw);max-width:none;height:auto;flex:none;margin-top:-40px;opacity:.22;animation:quiet-wave-enter 3.5s ease-out both;user-select:none}
@keyframes quiet-wave-enter{from{opacity:0;transform:translateY(8px)}to{opacity:.22;transform:translateY(0)}}
@media(max-width:600px){.hero-weave.hero-brand-wave{height:460px}.hero-brand-wave>img{width:1050px;margin-top:75px;opacity:.14;animation-name:quiet-wave-enter-mobile}@keyframes quiet-wave-enter-mobile{from{opacity:0;transform:translateY(6px)}to{opacity:.14;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.hero-brand-wave>img{animation:none;transform:none}}
/* Fuller ribbon contours with a softly lit travelling highlight. */
.hero-weave.hero-glowing-wave{height:520px;opacity:1;display:flex;align-items:flex-start;justify-content:center;padding:0;mask-image:linear-gradient(transparent,#000 10%,#000 70%,transparent 100%)}.hero-glowing-wave>.hero-wave-art{width:max(1600px,115vw);max-width:none;height:auto;flex:none;display:block;margin-top:-40px}.hero-glowing-wave path{animation:none;stroke-dasharray:none;stroke-dashoffset:0}.wave-contours{stroke-width:2;opacity:.34}.wave-bloom{stroke-width:9;opacity:.15}.wave-travel-glow{stroke-width:3;opacity:.65;filter:drop-shadow(0 0 5px #6a77ff)}.hero-glowing-wave .wave-travel-glow path{stroke-dasharray:145 2600;stroke-dashoffset:0}.wave-motion-ready .wave-travel-glow path{animation:wave-glow-flow 15s linear infinite}.wave-motion-ready .wave-travel-glow path:nth-child(2){animation-delay:-5s}.wave-motion-ready .wave-travel-glow path:nth-child(3){animation-delay:-10s}.wave-motion-paused .wave-travel-glow path{animation-play-state:paused}.wave-motion-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:13px;padding:8px 14px;border:1px solid #394253;border-radius:5px;background:#0b0e15b8;color:#aebbd3;font:inherit;font-size:11px;cursor:pointer}.wave-motion-toggle:hover{color:#fff;border-color:#7186b4}.wave-motion-toggle:focus-visible{outline:3px solid #9aafff;outline-offset:3px}.product-hero:has(.wave-motion-toggle:not([hidden])) .campaign-lab{margin-top:30px}
@keyframes wave-glow-flow{to{stroke-dashoffset:-2745}}
@media(max-width:600px){.hero-weave.hero-glowing-wave{height:510px}.hero-glowing-wave>.hero-wave-art{width:1050px;margin-top:70px}.wave-contours{stroke-width:2.3;opacity:.3}.wave-bloom{opacity:.12}.wave-travel-glow{opacity:.5}.wave-motion-toggle{font-size:10px;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.hero-glowing-wave path,.wave-motion-ready .wave-travel-glow path{animation:none!important}.wave-motion-toggle{display:none!important}.wave-travel-glow{opacity:.25}}
.wave-out-of-view .wave-travel-glow path{animation-play-state:paused}
/* Larger curves and wider ribbon bundles requested for the hero. */
.hero-weave.hero-glowing-wave{height:560px}.hero-glowing-wave>.hero-wave-art{width:max(1800px,125vw);margin-top:-65px;transform:scaleY(1.08);transform-origin:50% 0}.wave-contours{stroke-width:2.6;opacity:.38}.wave-bloom{stroke-width:14;opacity:.17}.wave-travel-glow{stroke-width:4;opacity:.7}
@media(max-width:600px){.hero-weave.hero-glowing-wave{height:530px}.hero-glowing-wave>.hero-wave-art{width:1250px;margin-top:35px}.wave-contours{stroke-width:2.8;opacity:.32}.wave-bloom{opacity:.14}.wave-travel-glow{opacity:.6}}
/* Final visibility adjustment: retain the wave size and soften every layer. */
.hero-weave.hero-glowing-wave{opacity:.6}
/* A brief glow pass on load, then still. Refresh restarts the entrance. */
.hero-glowing-wave .wave-travel-glow path{opacity:0}.product-hero.wave-motion-ready .wave-travel-glow path{animation:wave-glow-once 4.8s linear 1 forwards;animation-delay:0s;--glow-start:0px}.product-hero.wave-motion-ready .wave-travel-glow path:nth-child(2){--glow-start:-900px;animation-delay:0s}.product-hero.wave-motion-ready .wave-travel-glow path:nth-child(3){--glow-start:-1800px;animation-delay:0s}
@keyframes wave-glow-once{0%{stroke-dashoffset:var(--glow-start);opacity:0}12%{opacity:1}75%{opacity:1}100%{stroke-dashoffset:calc(var(--glow-start) - 1100px);opacity:0}}
@media(prefers-reduced-motion:reduce){.product-hero.wave-motion-ready .wave-travel-glow path{animation:none!important;opacity:0}}

.ugc-ad-showcase{margin:0;width:100%;max-width:430px;justify-self:center;background:white;border:1px solid #d9deea;border-radius:16px;overflow:hidden;box-shadow:0 18px 55px #14234412}.ugc-ad-identity{display:flex;gap:12px;align-items:center;padding:16px 18px;color:#142344}.ugc-brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#4056ed;color:white;font-size:22px;font-weight:700}.ugc-ad-identity strong{display:block;font-size:15px}.ugc-ad-identity small{display:block;font-size:11px;color:#586780;margin-top:3px}.ugc-ad-creative{position:relative;aspect-ratio:4/5;overflow:hidden;background:#e5e6e9}.ugc-ad-creative img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 32%}.ugc-ad-creative:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#101b31e8)}.ugc-ad-hook{position:absolute;top:22px;left:20px;right:20px;padding:12px 15px;background:#fff;color:#142344;font-size:clamp(23px,2.5vw,31px);font-weight:600;line-height:1.12;letter-spacing:-.02em;transform:rotate(-2deg);border-radius:4px}.ugc-ad-caption{position:absolute;z-index:1;bottom:24px;left:24px;right:20px;color:white}.ugc-ad-caption>span{display:block;font-size:11px;letter-spacing:.12em;margin-bottom:10px}.ugc-ad-caption>strong{font-size:28px;letter-spacing:-.02em;line-height:1.15}.ugc-ad-caption p{font-size:16px!important;line-height:1.45!important;color:white!important;margin:9px 0 0!important}.ugc-ad-destination{display:flex;justify-content:space-between;align-items:center;padding:18px;gap:14px;color:#142344}.ugc-ad-destination strong{display:block;font-size:14px}.ugc-ad-destination div>span{display:block;font-size:11px;color:#586780;margin-top:4px}.ugc-ad-cta{font-size:13px;font-weight:600;background:#4056ed;color:#fff;padding:12px 18px;border-radius:7px;white-space:nowrap}.ugc-ad-showcase figcaption{font-size:11px;line-height:1.5;color:#586780;padding:14px 18px;border-top:1px solid #e1e5ee}.ugc-video-note{font-size:12px!important;letter-spacing:.09em;color:#4056ed!important;margin-top:40px!important}.ugc-definition{max-width:850px;font-size:18px!important;line-height:1.75}
