@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--blue:#064bff;--ink:#142334;--muted:#536578}*{box-sizing:border-box}body{margin:0;background:#eaf2fa;color:var(--ink);font-family:Manrope,'Segoe UI',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:6px}header{position:fixed;top:0;left:0;width:100%;height:104px;padding:0 4.2vw;z-index:20;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#edf5fbd9,transparent)}.logo{font-size:32px;font-weight:800;letter-spacing:-2px;text-decoration:none;color:var(--ink)}.logo>span:not(.dot){color:var(--blue)}.logo .dot{font-size:11px;vertical-align:top;letter-spacing:0;margin-left:5px}nav{display:flex;gap:34px}nav a,nav button{background:none;border:0;font-size:13px;font-weight:600;color:var(--muted);position:relative;transition:color .25s ease;text-decoration:none}nav a::after,nav button::after{content:'';position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:var(--blue);transition:right .25s ease}nav a:hover,nav button:hover{color:var(--ink)}nav a:hover::after,nav button:hover::after{right:0}.contact{background:transparent;border:1px solid #172b4833;border-radius:4px;padding:13px 18px;font-size:12px;transition:background .25s ease,border-color .25s ease,transform .2s ease}.contact:hover{background:#064bff;border-color:#064bff;color:#fff;transform:translateY(-2px)}.contact span{margin-left:24px;font-size:17px;display:inline-block;transition:transform .25s ease}.contact:hover span{transform:translate(3px,-3px)}html,body{height:100vh;height:100dvh}#journey{height:100vh;height:100dvh}.stage{height:100%;position:relative;overflow:hidden}.visual{position:absolute;inset:0}.visual video,.poster{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.visual video{opacity:0;transition:opacity .5s ease}#v1{opacity:1}.veil{position:absolute;inset:0;background:none;transition:background .5s ease}.chapter{position:absolute;top:27%;left:5.2%;width:47%;opacity:0;pointer-events:none;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.chapter.active{pointer-events:auto}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px;display:flex;gap:10px;align-items:center;margin-bottom:27px}.signal{width:6px;height:6px;background:var(--blue);border-radius:50%;box-shadow:0 0 0 5px #064bff0a}h1,h2{font-weight:500;font-size:clamp(32px,3.4vw,60px);line-height:1.09;letter-spacing:-.055em;margin:0 0 24px}em{font-style:normal;color:var(--blue)}p{font-size:clamp(13px,1.05vw,17px);line-height:1.85;color:var(--muted);margin:0 0 28px}.primary{display:inline-flex;align-items:center;gap:30px;color:white;background:var(--blue);padding:17px 23px;border:0;border-radius:4px;font-size:12px;font-weight:700;transition:background .2s,transform .2s,box-shadow .25s}.primary:hover{background:#0038c8;transform:translateY(-2px);box-shadow:0 14px 30px -12px #064bff66}.primary span{font-size:19px;font-weight:400;display:inline-block;transition:transform .25s ease}.primary:hover span{transform:translate(4px,-3px)}.tags{display:flex;gap:12px;align-items:center;margin-top:26px;color:#677b90;font-size:10px}.tags i{height:3px;width:3px;border-radius:50%;background:#89a0b8}.right{left:66%;width:30%;top:52%}.right h2{font-size:clamp(30px,2.7vw,50px)}.stage footer{position:absolute;bottom:35px;left:4.2%;right:4.2%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1px}.solutions{width:90%;border-top:1px solid #19385825}.solutions button{display:flex;align-items:center;width:100%;background:transparent;border:0;border-bottom:1px solid #19385825;text-align:left;padding:17px 0;font-weight:800;font-size:14px;color:var(--ink)}.solutions button span{font-size:11px;font-weight:500;margin-left:26px;color:var(--muted)}.solutions b{margin-left:auto;color:var(--blue);font-size:20px;font-weight:400}.final{top:15%}.scroll-hint{display:flex;gap:15px;align-items:center}.scroll-hint>span{font-size:23px;color:var(--blue)}.steps{display:flex;gap:12px;align-items:center}.steps button{border:0;background:none;color:#7c8b9a;font-size:11px;padding:10px;transition:color .2s ease,transform .2s ease}.steps button:hover{color:var(--ink);transform:translateY(-2px)}.steps button.selected{color:var(--blue)}.steps>span{height:1px;width:28px;background:#7c8b9a55}.caption{font-size:9px}.caption span{color:#9aabba;margin:0 10px}.progress{height:2px;position:absolute;bottom:0;left:0;width:100%;background:#1133660a}.progress i{display:block;height:100%;background:var(--blue);width:0;transition:width .5s ease}.services{padding:150px 5.2% 130px;max-width:1360px;margin:0 auto}
.services-head h2{font-size:clamp(32px,3.4vw,56px);max-width:720px}
.services-head p{color:var(--muted);font-size:15px;max-width:520px;margin:0 0 64px}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#19385825;border:1px solid #19385825;border-radius:4px;overflow:hidden}
.service{background:#eaf2fa;padding:30px 26px;display:flex;flex-direction:column;gap:12px;transition:background .25s ease,box-shadow .25s ease,transform .5s cubic-bezier(.2,.7,.3,1),opacity .5s ease;position:relative;z-index:0;opacity:0;transform:translateY(22px)}
.service.in{opacity:1;transform:translateY(0)}
.service:hover{background:#fff;transform:translateY(-6px);box-shadow:0 20px 40px -18px #13264540;z-index:1;transition:background .25s ease,box-shadow .25s ease,transform .25s ease}
.service span{font-size:11px;font-weight:800;color:var(--blue);transition:transform .25s ease}
.service:hover span{transform:translateX(4px)}
.service h3{font-size:16px;font-weight:700;margin:0;color:var(--ink);letter-spacing:-.01em}
.service p{font-size:13px;color:var(--muted);margin:0;line-height:1.65}
.services-cta{margin-top:64px;display:flex;justify-content:center}
@media(max-width:1000px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.services{padding:90px 7% 80px}.services-grid{grid-template-columns:1fr}}
.stack{padding:0 5.2% 150px;max-width:1360px;margin:0 auto}
.stack-head h2{font-size:clamp(28px,2.8vw,44px);max-width:560px;margin:0 0 16px}
.stack-head p{font-size:15px;color:var(--muted);max-width:460px;margin:0 0 56px}
.stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 32px}
.stack-group{opacity:0;transform:translateY(22px);transition:transform .4s cubic-bezier(.2,.7,.3,1),opacity .5s ease}
.stack-group.in{opacity:1;transform:translateY(0)}
.stack-group h3{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--blue);margin:0 0 20px}
.stack-tags{display:flex;flex-direction:column;gap:0}
.stack-tags span{font-size:15px;font-weight:600;color:var(--ink);padding:12px 0;border-bottom:1px solid #19385814;transition:padding-left .25s ease,color .25s ease}
.stack-group:hover .stack-tags span{color:#9aabba}
.stack-tags span:hover{color:var(--ink)!important;padding-left:8px}
@media(max-width:1000px){.stack-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.stack{padding:0 7% 90px}.stack-head p{margin-bottom:40px}.stack-grid{grid-template-columns:1fr;gap:28px}}
.why,.models{padding:0 5.2% 150px;max-width:1360px;margin:0 auto}
.why-head h2,.models-head h2{font-size:clamp(28px,2.8vw,44px);max-width:560px;margin:0 0 36px}
.why-grid,.models-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.why-card,.model-card{background:#fff;border:1px solid #19385814;border-radius:10px;padding:32px 28px;transition:transform .4s cubic-bezier(.2,.7,.3,1),box-shadow .3s ease,opacity .5s ease;opacity:0;transform:translateY(22px)}
.why-card.in,.model-card.in{opacity:1;transform:translateY(0)}
.why-card:hover,.model-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -18px #13264540}
.why-card h3,.model-card h3{font-size:17px;font-weight:700;margin:0 0 10px;letter-spacing:-.01em}
.why-card p,.model-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.65}
@media(max-width:1000px){.why-grid,.models-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.why,.models{padding:0 7% 90px}.why-grid,.models-grid{grid-template-columns:1fr;gap:14px}}
.audience{padding:130px 5.2% 110px;max-width:1360px;margin:0 auto}
.audience-head h2{font-size:clamp(32px,3.4vw,56px);max-width:640px}
.audience-head p{color:var(--muted);font-size:15px;max-width:480px;margin:0 0 56px}
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.audience-card{background:#fff;border:1px solid #19385814;border-radius:10px;padding:32px 28px;transition:transform .4s cubic-bezier(.2,.7,.3,1),box-shadow .3s ease,opacity .5s ease;opacity:0;transform:translateY(22px)}
.audience-card.in{opacity:1;transform:translateY(0)}
.audience-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -18px #13264540}
.audience-card span{font-size:11px;font-weight:800;color:var(--blue)}
.audience-card h3{font-size:17px;font-weight:700;margin:14px 0 10px;letter-spacing:-.01em}
.audience-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.65}
@media(max-width:1000px){.audience-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.audience{padding:80px 7% 60px}.audience-grid{grid-template-columns:1fr;gap:14px}.audience-head p{margin-bottom:40px}}
.process{padding:130px 5.2% 110px;max-width:1360px;margin:0 auto}
.process-head h2{font-size:clamp(32px,3.4vw,56px);max-width:640px}
.process-head p{color:var(--muted);font-size:15px;max-width:480px;margin:0 0 56px}
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.step{background:#fff;border:1px solid #19385814;border-radius:10px;padding:28px 22px;transition:transform .4s cubic-bezier(.2,.7,.3,1),box-shadow .3s ease,opacity .5s ease;opacity:0;transform:translateY(22px)}
.step.in{opacity:1;transform:translateY(0)}
.step:hover{transform:translateY(-6px);box-shadow:0 20px 40px -18px #13264540}
.step span{font-size:20px;font-weight:800;color:var(--blue)}
.step h3{font-size:16px;font-weight:700;margin:14px 0 10px;letter-spacing:-.01em}
.step p{font-size:13px;color:var(--muted);margin:0;line-height:1.65}
@media(max-width:1000px){.process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.process{padding:80px 7% 60px}.process-grid{grid-template-columns:1fr;gap:14px}.process-head p{margin-bottom:40px}}
.page-hero{padding:190px 5.2% 10px;max-width:1360px;margin:0 auto}
.page-hero h1{font-size:clamp(34px,4vw,64px);max-width:760px;line-height:1.08;letter-spacing:-.055em;margin:0 0 24px;font-weight:500}
.page-hero p{font-size:clamp(14px,1.1vw,17px);color:var(--muted);max-width:560px;line-height:1.85;margin:0}
@media(max-width:700px){.page-hero{padding:130px 7% 0}}
.industry-strip{padding:0 5.2% 60px;max-width:1360px;margin:0 auto}
.industry-strip-inner{display:flex;flex-wrap:wrap;gap:10px}
.industry-strip-inner span{font-size:12px;font-weight:700;color:var(--muted);background:#fff;border:1px solid #19385814;border-radius:999px;padding:9px 16px}
@media(max-width:700px){.industry-strip{padding:0 7% 40px}}
.challenges{padding:0 5.2% 150px;max-width:1360px;margin:0 auto}
.challenges-head h2{font-size:clamp(28px,2.8vw,44px);max-width:620px;margin:0 0 16px}
.challenges-head p{font-size:15px;color:var(--muted);max-width:480px;margin:0 0 56px}
.challenges-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.challenge-card{background:#fff;border:1px solid #19385814;border-radius:10px;padding:30px 26px;opacity:0;transform:translateY(22px);transition:transform .4s cubic-bezier(.2,.7,.3,1),opacity .5s ease,box-shadow .3s ease}
.challenge-card.in{opacity:1;transform:translateY(0)}
.challenge-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -18px #13264540}
.challenge-card h3{font-size:16px;font-weight:700;margin:0 0 18px;letter-spacing:-.01em}
.challenge-card .tag{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
.challenge-card .tag.sol{color:var(--blue)}
.challenge-card p{font-size:13px;margin:0 0 20px;line-height:1.65}
.challenge-card p:last-child{margin-bottom:0}
@media(max-width:1000px){.challenges-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.challenges{padding:0 7% 90px}.challenges-grid{grid-template-columns:1fr;gap:14px}}
.compare{padding:0 5.2% 150px;max-width:1360px;margin:0 auto}
.compare-head h2{font-size:clamp(28px,2.8vw,44px);max-width:560px;margin:0 0 56px}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#19385825;border:1px solid #19385825;border-radius:10px;overflow:hidden}
.compare-col{background:#fff;padding:36px 32px}
.compare-col.after{background:var(--ink)}
.compare-col h3{font-size:15px;font-weight:800;margin:0 0 24px;letter-spacing:-.01em}
.compare-col.after h3{color:#fff}
.compare-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.compare-col li{font-size:13px;line-height:1.6;color:var(--muted);padding-left:22px;position:relative}
.compare-col.after li{color:#c7d4e2}
.compare-col li::before{content:'−';position:absolute;left:0;color:#b7c3d1;font-weight:700}
.compare-col.after li::before{content:'✓';color:var(--blue)}
@media(max-width:700px){.compare{padding:0 7% 90px}.compare-grid{grid-template-columns:1fr}}
.outcomes{padding:0 5.2% 150px;max-width:1360px;margin:0 auto}
.outcomes-head h2{font-size:clamp(28px,2.8vw,44px);max-width:560px;margin:0 0 16px}
.outcomes-head p{font-size:15px;color:var(--muted);max-width:480px;margin:0 0 56px}
.outcomes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.outcome-card{background:var(--ink);color:#fff;border-radius:10px;padding:34px 28px;opacity:0;transform:translateY(22px);transition:transform .4s cubic-bezier(.2,.7,.3,1),opacity .5s ease}
.outcome-card.in{opacity:1;transform:translateY(0)}
.outcome-card .stat{display:block;font-size:40px;font-weight:800;color:#fff;margin-bottom:14px;letter-spacing:-.02em}
.outcome-card h3{font-size:15px;font-weight:700;margin:0 0 10px;color:#fff}
.outcome-card p{font-size:13px;color:#9fb3c8;margin:0;line-height:1.65}
@media(max-width:1000px){.outcomes-grid{grid-template-columns:1fr}}
@media(max-width:700px){.outcomes{padding:0 7% 90px}}
.cases{padding:0 5.2% 150px;max-width:1360px;margin:0 auto}
.cases-head h2{font-size:clamp(28px,2.8vw,44px);max-width:620px;margin:0 0 16px}
.cases-head p{font-size:15px;color:var(--muted);max-width:560px;margin:0 0 56px}
.case-list{display:flex;flex-direction:column;gap:22px}
.case-card{background:#fff;border:1px solid #19385814;border-radius:10px;padding:36px;display:grid;grid-template-columns:140px repeat(3,1fr);gap:30px;opacity:0;transform:translateY(22px);transition:transform .4s cubic-bezier(.2,.7,.3,1),opacity .5s ease,box-shadow .3s ease}
.case-card.in{opacity:1;transform:translateY(0)}
.case-card:hover{box-shadow:0 20px 40px -18px #13264540}
.case-card .tag{font-size:10px;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:10px}
.case-card h3{font-size:17px;font-weight:700;margin:0;letter-spacing:-.01em;line-height:1.3}
.case-card .field span{display:block;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.case-card .field p{font-size:13px;margin:0;line-height:1.65;color:var(--muted)}
@media(max-width:1000px){.case-card{grid-template-columns:1fr;gap:16px}}
@media(max-width:700px){.cases{padding:0 7% 90px}.case-card{padding:26px}}
.faq{padding:0 5.2% 150px;max-width:1360px;margin:0 auto}
.faq-list{max-width:900px}
.faq-head h2{font-size:clamp(28px,2.8vw,44px);margin:0 0 36px}
.faq-list{display:flex;flex-direction:column;gap:0}
.faq-item{border-bottom:1px solid #19385825;opacity:0;transform:translateY(22px);transition:transform .4s cubic-bezier(.2,.7,.3,1),opacity .5s ease}
.faq-item.in{opacity:1;transform:translateY(0)}
.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-size:16px;font-weight:700;cursor:pointer;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:22px;font-weight:400;color:var(--blue);transition:transform .25s ease;flex-shrink:0}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 0 26px;margin:0;max-width:720px}
@media(max-width:700px){.faq{padding:0 7% 90px}.faq-item summary{font-size:14px;padding:18px 0}}
.closing{background:var(--ink);padding:140px 5.2%}
.closing-inner{max-width:620px;margin:0 auto;text-align:center}
.closing .eyebrow{justify-content:center;color:#9fb3c8}
.closing h2{color:#fff}
.closing p{color:#8f9fb0;margin:0 auto 40px;max-width:440px}
.closing .primary{margin:0 auto}
.site-footer{background:var(--ink);padding:0 5.2% 56px}
.site-footer-top{max-width:1360px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding-bottom:40px;border-bottom:1px solid #ffffff1a}
.site-footer .logo{color:#fff}
.site-footer nav{display:flex;gap:30px}
.site-footer nav button,.site-footer nav a{background:none;border:0;font-size:13px;font-weight:600;color:#9fb3c8;text-decoration:none;transition:color .25s ease}
.site-footer nav button:hover,.site-footer nav a:hover{color:#fff}
.site-footer-bottom{max-width:1360px;margin:0 auto;padding-top:28px;display:flex;justify-content:space-between;font-size:11px;color:#6d8098}
@media(max-width:700px){.closing{padding:90px 7%}.closing h2{font-size:34px}.site-footer{padding:0 7% 40px}.site-footer-top{flex-direction:column;gap:22px;text-align:center}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:18px}.site-footer-bottom{flex-direction:column;gap:8px;text-align:center}}
dialog{border:1px solid #ffffff80;padding:48px;background:#f2f7fc;color:var(--ink);width:min(520px,90vw);border-radius:12px;box-shadow:0 30px 130px #13264540}dialog::backdrop{background:#10233660;backdrop-filter:blur(8px)}dialog[open]{animation:enter .3s ease-out}dialog h2{font-size:42px}dialog p{font-size:14px}.close{position:absolute;top:12px;right:15px;font-size:26px;border:0;background:none;color:var(--muted)}form{display:grid;gap:18px}label{font-size:12px}input,textarea{display:block;margin-top:8px;width:100%;padding:13px;font:inherit;background:white;border:1px solid #b4c2d2;border-radius:4px}textarea{min-height:90px;resize:vertical}small{font-size:10px;line-height:1.6;color:var(--muted)}@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media(max-width:700px){header{height:78px;padding:0 6%}nav{display:none}.logo{font-size:27px}.contact{font-size:10px;padding:11px}.contact span{margin-left:10px}.veil{background:none}.chapter,.right,.final{left:7%;width:86%;top:17%}.right{top:auto;bottom:100px}h1,h2,.right h2{font-size:40px}.eyebrow{font-size:8px;margin-bottom:20px}p{font-size:12px;margin-bottom:20px}.tags{font-size:8px;margin-top:18px}.primary{padding:13px 18px}.solutions{width:95%}.solutions button{padding:12px 0}.caption{display:none}.stage footer{left:7%;right:7%;bottom:24px}.scroll-hint{font-size:7px;max-width:150px}.steps{gap:3px}.steps>span{width:12px}}
