:root{--gw-navy:#2b2870;--gw-accent:#c43e0c;--gw-accent-dark:#a93509;--gw-accent-soft:#fdeee8;--gw-text:#4a4a5c;--gw-text-soft:#5a5a6b;--gw-muted:#6b6b7b;--gw-bg:#f7f6fb;--gw-line:#e6e4f0;--gw-line-soft:#ececf3;--gw-line-hover:#cfcbea;--gw-placeholder:#ebeaf3;--gw-tag:#efeef6;--gw-device:#24205f;--gw-screen:#e8e6f1;--gw-font:'Inter',system-ui,sans-serif;--gw-font-head:'Plus Jakarta Sans',sans-serif;--gw-ease:cubic-bezier(.2,.7,.2,1);--gw-header-h:70px}

.gw{font-family:var(--gw-font);color:var(--gw-text);overflow-x:clip}
.gw *,.gw *::before,.gw *::after{box-sizing:border-box}
.gw :is(p,a){font-family:inherit}
.gw :is(h2,h3,h4){font-family:var(--gw-font-head)}
.gw>section{background:#fff}
.gw>.gw-alt{background:var(--gw-bg)}
.gw-logos{border-block:1px solid var(--gw-line-soft)}
.gw-inner{max-width:1400px;margin:0 auto;padding:72px 48px}

.gw .gw-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--gw-accent);background:var(--gw-accent-soft);border-radius:999px;padding:6px 14px;margin:0 0 16px}
.gw .gw-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gw-accent)}
.gw-hero .gw-eyebrow::before{animation:gw-dot-zoom 1.6s ease-in-out infinite}
.gw .gw-section-title{font-family:var(--gw-font-head);font-weight:800;font-size:clamp(27px,3.2vw,38px);line-height:1.18;letter-spacing:-.02em;color:var(--gw-navy);margin:0 0 34px}
.gw-problem .gw-section-title,.gw-fix .gw-section-title,.gw-reviews .gw-section-title{margin-bottom:12px}
.gw-work .gw-section-title,.gw-insights .gw-section-title{margin:0}
.gw-section-lead{font-size:17px;line-height:1.6;max-width:660px;margin:0 0 34px}

.gw-card{background:#fff;border:1px solid var(--gw-line);border-radius:14px;transition:box-shadow .25s var(--gw-ease),transform .25s var(--gw-ease),border-color .25s}
.gw-card:hover{box-shadow:0 14px 32px rgba(43,40,112,.1);transform:translateY(-3px);border-color:var(--gw-line-hover)}
.gw a.gw-card{text-decoration:none;color:inherit}
.gw-pad{padding:26px}
.gw-service{display:flex;flex-direction:column}
.gw-service.is-featured{border-color:#6c63d6}
.gw .gw-card-title{font-family:var(--gw-font-head);font-weight:700;font-size:18px;line-height:1.3;color:var(--gw-navy);margin:0 0 8px}
.gw-card-text{font-size:15px;line-height:1.65;color:var(--gw-text-soft);margin:0}
.gw-sm{font-size:14px;line-height:1.55}

.gw-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--gw-accent-soft);color:var(--gw-accent);margin-bottom:18px;transition:background .25s,color .25s}
.gw-icon svg{display:block;width:26px;height:26px}
.gw-card:hover .gw-icon{background:var(--gw-accent);color:#fff}
.gw-card:hover .gw-icon svg{animation:var(--a) .8s ease-in-out}

.gw .gw-link{display:inline-block;align-self:flex-start;white-space:nowrap;font-size:14px;font-weight:600;color:var(--gw-navy);text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.gw .gw-link:hover,.gw .gw-card:hover .gw-link{color:var(--gw-accent);border-color:var(--gw-accent)}
.gw-arr{display:inline-block;transition:transform .25s var(--gw-ease)}
a:hover .gw-arr{transform:translateX(4px)}

.gw a.gw-btn{display:inline-block;font-family:inherit;font-size:15px;font-weight:600;padding:14px 22px;border:1px solid transparent;border-radius:8px;text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.gw a.gw-btn-primary{background:var(--gw-accent);color:#fff}
.gw a.gw-btn-primary:hover{background:var(--gw-accent-dark)}
.gw a.gw-btn-outline{background:transparent;color:var(--gw-navy);border-color:var(--gw-navy)}
.gw a.gw-btn-outline:hover{background:var(--gw-navy);color:#fff}
.gw a.gw-btn-sm{padding:11px 18px;font-size:14px;white-space:nowrap}
.gw :is(a,button,summary,.gw-rv):focus-visible{outline:3px solid #8a84e8;outline-offset:2px}

.gw-media{background:var(--gw-placeholder);overflow:hidden}
.gw-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s var(--gw-ease)}
.gw-card:hover .gw-media img{transform:scale(1.04)}

.gw-grid{display:grid;gap:20px}
.gw-c2{grid-template-columns:repeat(2,1fr)}
.gw-c3{grid-template-columns:repeat(3,1fr)}
.gw-c4{grid-template-columns:repeat(4,1fr)}
.gw-c5{grid-template-columns:repeat(5,1fr);gap:16px}

@keyframes gw-rise{from{opacity:0;transform:translateY(18px)}}
@keyframes gw-dot-zoom{0%,100%{transform:scale(1)}50%{transform:scale(1.8)}}
@keyframes gw-fade{from{opacity:0;transform:translateY(-6px)}}
@keyframes gw-scroll{to{transform:translateX(-50%)}}
.gw-js [data-reveal]:not(.is-in){opacity:0}
.gw-js [data-reveal].is-in{animation:gw-rise .6s var(--gw-ease) backwards;animation-delay:calc(var(--i,0) * 70ms)}

@keyframes gw-i-spin{to{transform:rotate(360deg)}}
@keyframes gw-i-shake{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-9deg)}80%{transform:rotate(6deg)}}
@keyframes gw-i-flip{to{transform:rotateY(360deg)}}
@keyframes gw-i-swing{25%{transform:rotate(-24deg)}75%{transform:rotate(24deg)}100%{transform:rotate(0)}}
@keyframes gw-i-stretch{50%{transform:scaleX(1.28)}}
@keyframes gw-i-bounce{40%{transform:translateY(-7px)}70%{transform:translateY(0)}85%{transform:translateY(-3px)}}
@keyframes gw-i-drive{40%{transform:translateX(7px)}70%{transform:translateX(-3px)}}
@keyframes gw-i-rise{50%{transform:translate(4px,-4px) scale(1.15)}}
@keyframes gw-i-tilt{40%{transform:rotate(-16deg) translateY(-2px)}70%{transform:rotate(8deg)}}
@keyframes gw-i-pulse{25%,75%{transform:scale(1.22)}50%{transform:scale(1)}}
@keyframes gw-i-flash{20%,60%{opacity:.25}40%,80%{opacity:1;transform:scale(1.18)}}
@keyframes gw-i-nod{30%{transform:translateY(-4px) rotate(-7deg)}60%{transform:translateY(1px) rotate(6deg)}}

.gw-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center}
.gw-hero .gw-title{font-family:var(--gw-font-head);font-weight:800;font-size:clamp(32px,3.6vw,52px);line-height:1.08;letter-spacing:-.02em;color:var(--gw-navy);margin:0 0 24px}
.gw-hero .gw-title span{display:block;white-space:nowrap}
.gw-hero .gw-lead{font-size:17px;line-height:1.6;max-width:480px;margin:0 0 30px}
.gw-hero .gw-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.gw-hero .gw-proof{font-size:12px;color:var(--gw-muted);margin:0}

.gw-visual{position:relative;width:100%;max-width:600px;margin-left:auto;padding:0 0 70px}
.gw-laptop{background:var(--gw-device);border-radius:14px;padding:14px;box-shadow:0 28px 46px rgba(36,32,95,.2);width:calc(100% - 20px);max-width:580px}
.gw-pager{display:flex;gap:6px;padding:0 2px 10px}
.gw-hero .gw-dot{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:#6e6aa8;cursor:pointer}
.gw-hero .gw-dot.is-active{background:#fff}
.gw-slider{overflow:hidden;border-radius:6px;background:var(--gw-screen);aspect-ratio:16/10}
.gw-track{display:flex;height:100%;transition:transform .5s ease}
.gw-slide{min-width:100%;height:100%}
.gw-slide video{display:block;width:100%;height:100%;object-fit:cover;object-position:left top}

.gw-phone{position:absolute;right:0;bottom:0;width:170px;background:var(--gw-device);border-radius:26px;padding:10px;box-shadow:0 22px 38px rgba(36,32,95,.3)}
.gw-phone .gw-pager{justify-content:center;padding:2px 0 8px}
.gw-hero .gw-phone .gw-dot{width:5px;height:5px}
.gw-phone-slider{overflow:hidden;border-radius:18px;background:var(--gw-screen);aspect-ratio:9/17}

.gw-logos{padding:28px 0}
.gw-logos-label{text-align:center;font-size:15px;font-weight:600;color:#2a2a3a;margin:0 0 28px;padding:0 16px}
.gw-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.gw-marquee-track{display:flex;width:max-content;animation:gw-scroll 30s linear infinite}
.gw-marquee:hover .gw-marquee-track{animation-play-state:paused}
.gw-marquee-group{display:flex;align-items:center;justify-content:space-around;gap:24px;min-width:100vw;padding-right:24px}
.gw-logo-item{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:180px;height:76px;padding:0 22px;background:#fff;border:1px solid var(--gw-line-soft);border-radius:14px;transition:box-shadow .25s,transform .25s var(--gw-ease)}
.gw-logo-item img{max-height:38px;max-width:100%;width:auto;object-fit:contain}
a.gw-logo-item:hover{box-shadow:0 8px 20px rgba(43,40,112,.1);transform:translateY(-2px)}

.gw-marquee-badges{margin:0}
.gw-badge-item{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0 12px;text-decoration:none}
.gw-seal{display:block;width:96px;height:auto}
.gw-seal text{font-family:var(--gw-font-head)}

.gw-clients{container-type:inline-size;margin:36px 0 0}
.gw-clients .gw-logos-label{text-align:left;margin:0 0 20px;padding:0}
.gw-clients .gw-marquee{-webkit-mask-image:none;mask-image:none}
.gw-clients .gw-marquee-group{min-width:0;justify-content:flex-start;gap:20px;padding-right:20px}
.gw-clients .gw-logo-item{width:calc((100cqw - 60px) / 4);height:120px}
.gw-clients .gw-logo-item img{max-height:44px}

.gw-problem .gw-grid{margin-bottom:30px}

.gw-fix-card{position:relative;overflow:hidden;padding:30px;background:#fff;border:1px solid var(--gw-line);border-radius:16px}
.gw-fix-pain{background:#fdf4f1;border-color:#f3cfc5}
.gw .gw-fix-title{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-family:var(--gw-font-head);font-weight:700;font-size:20px;color:var(--gw-navy)}
.gw-fix-title svg{flex:0 0 24px;width:24px;height:24px;color:#d64545}
.gw-fix-card .gw-card-text{margin-bottom:16px}
.gw-fix-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px;max-width:calc(100% - 170px)}
.gw-fix-list li{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.5}
.gw-fix-list li::before{content:"";flex:0 0 8px;width:8px;height:8px;margin-top:7px;border-radius:50%;background:#d64545}
.gw-fix-ok li::before{content:"\2713";flex:0 0 22px;width:22px;height:22px;margin-top:0;display:flex;align-items:center;justify-content:center;border:2px solid #2e8b4f;background:transparent;color:#2e8b4f;font-size:12px;font-weight:700}
.gw-fix-art{position:absolute;right:20px;bottom:18px;width:150px;height:auto}

.gw-service-list{list-style:disc;margin:16px 0 22px;padding:0 0 0 18px;flex:1}
.gw-service-list li{font-size:14px;line-height:1.55;color:var(--gw-text);margin:0 0 8px}
.gw-service-list li::marker{color:var(--gw-accent)}

.gw-ind-primary{margin-bottom:20px}
.gw-ind-card{display:block;overflow:hidden}
.gw-ind-media{height:330px;border-bottom:1px solid var(--gw-line);padding:12px}
.gw-ind-body{padding:18px 22px 22px}
.gw-ind-row{display:flex;align-items:center;gap:18px;padding:14px}
.gw-ind-thumb{flex:0 0 88px;height:72px;border-radius:10px}

.gw-work-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}
.gw-work-card{display:flex;flex-direction:column;overflow:hidden}
.gw-work-media{position:relative}
.gw-work-media img{height:auto}
.gw-work-media::after{content:"\2197";position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--gw-navy);font-size:18px;box-shadow:0 6px 16px rgba(36,32,95,.2);opacity:0;transform:translateY(-6px) scale(.85);transition:opacity .25s,transform .25s var(--gw-ease)}
.gw-work-card:hover .gw-work-media::after{opacity:1;transform:none}
.gw-work-body{padding:18px 22px 24px}
.gw-work-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.gw-work-tag{font-size:11px;font-weight:600;color:var(--gw-text);background:var(--gw-tag);border-radius:20px;padding:4px 11px}

.gw-steps{list-style:none;margin:0;padding:0}
.gw-step{padding:24px 20px}
.gw-step-num{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--gw-accent);color:#fff;font-family:var(--gw-font-head);font-weight:800;font-size:15px;margin-bottom:16px}

.gw-stats{margin-bottom:36px}
.gw-stat{padding:24px 16px;text-align:center}
.gw-stat strong{display:block;margin-bottom:6px;font-family:var(--gw-font-head);font-weight:800;font-size:clamp(28px,3vw,40px);line-height:1.1;color:var(--gw-navy)}
.gw-stat span{font-size:14px;color:var(--gw-text-soft)}
.gw-reviews-grid{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:32px;align-items:center}
.gw-reviews-grid>*{min-width:0}
.gw .gw-reviews-intro h3{margin:0 0 8px;font-family:var(--gw-font-head);font-weight:700;font-size:22px;line-height:1.3;color:var(--gw-navy)}
.gw-reviews-intro p{margin:0 0 18px;font-size:15px;line-height:1.6}
.gw-avatars{display:flex}
.gw-avatars span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-10px;border:2px solid #fff;border-radius:50%;font-family:var(--gw-font-head);font-weight:700;font-size:14px;color:#fff;background:var(--gw-navy)}
.gw-avatars span:first-child{margin-left:0}
.gw-avatars span:nth-child(2){background:var(--gw-accent)}
.gw-avatars span:nth-child(3){background:#6c63d6}
.gw-avatars span:nth-child(4){background:#2e8b7a}
.gw-avatars span:nth-child(5){background:#c9871e}

.gw-rv{position:relative;display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px}
.gw-rv::-webkit-scrollbar{display:none}
.gw-rv .gw-quote{flex:0 0 calc(50% - 10px);scroll-snap-align:start}
.gw-rv-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.gw-rv-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--gw-line-hover);cursor:pointer;transition:background .2s}
.gw-rv-dot.is-active{background:var(--gw-navy)}

.gw-quote{position:relative;margin:0;background:#fff;border:1px solid var(--gw-line);border-radius:14px;padding:22px 24px;display:flex;flex-direction:column;gap:12px;overflow:hidden}
.gw-quote::before{content:"\201C";position:absolute;top:6px;right:18px;font-family:var(--gw-font-head);font-weight:800;font-size:64px;line-height:1;color:var(--gw-accent-soft)}
.gw-stars{position:relative;display:flex;gap:3px}
.gw-stars svg{width:18px;height:18px;fill:#f5a623}
.gw-quote blockquote{position:relative;flex:1;margin:0;font-size:15px;line-height:1.65;color:var(--gw-text)}
.gw-quote figcaption{display:flex;align-items:center;gap:12px}
.gw-quote-photo{flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:var(--gw-tag);display:flex;align-items:center;justify-content:center;font-family:var(--gw-font-head);font-size:14px;font-weight:700;color:var(--gw-navy)}
.gw-quote strong{display:block;font-family:var(--gw-font-head);font-size:15px;color:var(--gw-navy)}
.gw-quote small{display:block;font-size:13px;color:var(--gw-muted)}

.gw-vcard{margin:0}
.gw-vbox{position:relative;height:480px;background:#000;border-radius:14px;overflow:hidden}
.gw-vbox video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.gw-vcap{margin:12px 0 0;text-align:center;font-size:14px;color:var(--gw-text-soft)}
.gw-vcap strong{display:block;font-family:var(--gw-font-head);font-size:16px;color:var(--gw-navy)}

.gw-insights-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}
.gw-article{display:block;padding:24px 26px}
.gw-article-cat{display:block;font-size:13px;font-weight:600;color:var(--gw-accent);margin-bottom:10px}
.gw-article-meta{font-size:14px;color:var(--gw-muted);margin:0}

.gw-founder-grid{display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:center}
.gw-founder-photo{aspect-ratio:4/5;background:linear-gradient(160deg,var(--gw-placeholder),#dcdaf0);border-radius:16px;overflow:hidden}
.gw-founder-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.gw-founder .gw-section-title{margin-bottom:16px}
.gw-founder-note{font-size:16px;line-height:1.75;font-style:italic;max-width:660px;margin:0 0 18px}
.gw-founder-name{font-family:var(--gw-font-head);font-weight:700;font-style:italic;font-size:18px;color:var(--gw-navy);margin:0 0 2px}
.gw-founder-role{font-size:13px;color:var(--gw-muted);margin:0}

.gw-faq-list{display:flex;flex-direction:column;gap:12px}
.gw-faq-item{background:#fff;border:1px solid var(--gw-line);border-radius:12px;transition:border-color .2s,box-shadow .2s}
.gw-faq-item:hover,.gw-faq-item[open]{border-color:var(--gw-line-hover)}
.gw-faq-item[open]{box-shadow:0 8px 22px rgba(43,40,112,.07)}
.gw-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:18px 22px;font-size:16px;font-weight:600;color:var(--gw-navy);border-radius:12px}
.gw-faq-item summary::-webkit-details-marker{display:none}
.gw-faq-item summary::after{content:"+";flex:0 0 30px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--gw-tag);font-size:20px;line-height:1;font-weight:400;color:var(--gw-navy);transition:transform .3s var(--gw-ease),background .3s,color .3s}
.gw-faq-item[open] summary::after{transform:rotate(45deg);background:var(--gw-accent);color:#fff}
.gw-faq-answer{padding:0 22px 20px;font-size:15px;line-height:1.7;color:var(--gw-text-soft)}
.gw-faq-item[open] .gw-faq-answer{animation:gw-fade .3s var(--gw-ease)}

.gw-cta{text-align:center}
.gw-cta-inner{max-width:820px;margin:0 auto;padding:88px 24px}
.gw-cta-title{font-family:var(--gw-font-head);font-weight:800;font-size:clamp(28px,4vw,44px);line-height:1.15;letter-spacing:-.02em;color:var(--gw-navy);margin:0 0 18px}
.gw-cta-text{font-size:17px;line-height:1.6;color:var(--gw-text-soft);max-width:540px;margin:0 auto 30px}
.gw-cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}

@media (max-width:1100px){
  .gw-inner{padding:56px 32px}
  .gw-hero{gap:24px}
  .gw-phone{width:140px}
  .gw-c3,.gw-c4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gw-c5{grid-template-columns:repeat(3,1fr)}
  .gw-clients .gw-logo-item{width:calc((100cqw - 20px) / 2)}
}
@media (max-width:900px){
  .gw .gw-hero{grid-template-columns:1fr;}
  .gw-hero .gw-title span{display:inline;white-space:normal}
  .gw-visual{margin:0 auto}
  .gw-phone{width:120px}
  .gw-logos{padding:20px 0}
  .gw-logos-label{font-size:13px;margin-bottom:20px}
  .gw-marquee-group{gap:16px;padding-right:16px}
  .gw-logo-item{width:130px;height:60px;padding:0 14px}
  .gw-logo-item img{max-height:28px}
  .gw-seal{width:74px}
  .gw-reviews-grid{grid-template-columns:minmax(0,1fr)}
  .gw-fix-list{max-width:none}
  .gw-fix-art{position:static;display:block;margin:20px 0 0 auto}
  .gw-rv .gw-quote{flex-basis:100%}
  .gw-vbox{height:400px}
  .gw-founder-grid{grid-template-columns:200px 1fr;gap:28px}
}
@media (max-width:700px){
  .gw-inner{padding:44px 20px}
  .gw-cta-inner{padding:56px 20px}
  .gw-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .gw-reviews .gw-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gw-vbox{height:460px}
  .gw-ind-primary{margin-bottom:14px}
  .gw-pad{padding:22px}
  .gw-br{display:none}
  .gw-ind-media{height:190px}
  .gw-work-head{flex-direction:column;align-items:flex-start;gap:16px}
  .gw-founder-grid{grid-template-columns:1fr}
  .gw-founder-photo{aspect-ratio:1/1}
  .gw-faq-item summary{font-size:15px;padding:16px 18px}
  .gw-faq-answer{padding:0 18px 18px}
  .gw-cta-actions{flex-direction:column;align-items:stretch}
}
@media (prefers-reduced-motion:reduce){
  .gw *,.gw *::before,.gw *::after{animation:none!important;transition:none!important}
  .gw-js [data-reveal]:not(.is-in){opacity:1}
}