/* Fonts: local woff2 (cyrillic, latin, latin-ext), see HANDOFF.md §2 */
@font-face{font-family:'Cormorant';font-style:italic;font-weight:500 600;font-display:swap;src:url('../fonts/Cormorant-Italic-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Cormorant';font-style:italic;font-weight:500 600;font-display:swap;src:url('../fonts/Cormorant-Italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant';font-style:italic;font-weight:500 600;font-display:swap;src:url('../fonts/Cormorant-Italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:300 600;font-display:swap;src:url('../fonts/Onest-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:300 600;font-display:swap;src:url('../fonts/Onest-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Onest';font-style:normal;font-weight:300 600;font-display:swap;src:url('../fonts/Onest-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Template wrappers of the widget runtime must not affect grid/flex layout */
sc-for,sc-if{display:contents}

[hidden] { display: none !important; }

body{margin:0;background:#FFFFFF}
a{color:#1C1D20}a:hover{color:#1C1D20}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes modalIn{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.marquee{display:flex;width:max-content;animation:slide 28s linear infinite}

.ulink{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:3px;transition:background-size .4s cubic-bezier(.2,.7,.2,1)}
.ulink:hover{background-size:100% 1px}

.sweep{position:relative;overflow:hidden;isolation:isolate;transition:color .4s,border-color .4s}
.sweep::before{content:"";position:absolute;inset:-1px;background:var(--sweep);border-radius:inherit;transform:translateY(102%);transition:transform .5s cubic-bezier(.2,.7,.2,1);z-index:-1}
.sweep:hover::before{transform:translateY(0)}
.sweep:hover{color:var(--sweep-ink) !important;border-color:var(--sweep) !important}
.sweep .arr{display:inline-block;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.sweep:hover .arr{transform:translate(3px,-3px)}

/* NAV + MEGA */
.nav-item{position:static}
.nav-trigger{background:none;border:0;color:#FFFFFF;font:inherit;font-size:15px;letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;gap:8px;cursor:pointer;min-height:44px;padding:0;opacity:.85;transition:opacity .25s}
.nav-item:hover .nav-trigger,.nav-item:focus-within .nav-trigger{opacity:1}
.nav-trigger .chev{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.nav-item:hover .chev,.nav-item:focus-within .chev{transform:rotate(180deg)}
.nav-plain{color:#FFFFFF;text-decoration:none;font-size:15px;letter-spacing:.04em;text-transform:uppercase;opacity:.85;transition:opacity .25s;display:inline-flex;align-items:center;min-height:44px}
.nav-plain:hover{color:#FFFFFF;opacity:1}
.mega{position:absolute;left:clamp(12px,3vw,48px);right:clamp(12px,3vw,48px);top:100%;padding-top:6px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .4s cubic-bezier(.2,.7,.2,1),visibility .25s;z-index:30}
.nav-item:hover .mega,.nav-item:focus-within .mega{opacity:1;visibility:visible;transform:none}
.mega-link{display:block;padding:14px 16px;margin:-14px -16px;border-radius:12px;text-decoration:none;transition:background .25s}
.mega-link:hover{background:#F4F4F7}
.mega-link .mt{transition:color .25s}
.mega-link:hover .mt{color:#3A23D6}
.mega-plain{text-decoration:none;font-size:17px;font-weight:500;color:#0E0F2C;transition:color .25s,transform .3s;display:inline-block}
.mega-plain:hover{color:#3A23D6;transform:translateX(4px)}
.feat img{transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.feat:hover img{transform:scale(1.06)}
.feat .farr{transition:transform .35s}
.feat:hover .farr{transform:translate(3px,-3px)}
.contact-pill .pen{transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.contact-pill:hover .pen{transform:rotate(-20deg) scale(1.1)}
.contact-pill{transition:background .3s}
.contact-pill:hover{background:rgba(14,15,44,.55) !important}

.work-list:hover .work-row{opacity:.4}
.work-list .work-row:hover{opacity:1}
.work-row{transition:opacity .35s}
.work-row .wr-name{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.work-row:hover .wr-name{transform:translateX(18px)}

.shot{overflow:hidden}
.shot img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.shot:hover img{transform:scale(1.05)}

.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 40px}
.svc-row{position:relative}
.svc-row .chev2{display:inline-block;transition:transform .35s}
.svc-row:hover .chev2{transform:translateX(6px)}
.svc-row .svc-prev{position:absolute;right:8px;top:50%;width:200px;height:134px;border-radius:10px;overflow:hidden;opacity:0;transform:translate(0,-50%) rotate(4deg) scale(.9);transition:opacity .35s,transform .5s cubic-bezier(.2,.7,.2,1);pointer-events:none;box-shadow:0 24px 48px -16px rgba(20,24,60,.35);z-index:2}
.svc-row:hover .svc-prev{opacity:1;transform:translate(0,-50%) rotate(-3deg) scale(1)}
.circ{transition:transform .45s cubic-bezier(.2,.7,.2,1),background .3s,color .3s}
.circ-outline:hover{background:#1C1D20 !important;color:#FFFFFF !important;border-color:#1C1D20 !important;transform:rotate(45deg)}
.circ-fill:hover{transform:scale(1.08)}

/* ADVANTAGES */
.adv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border-radius:24px;overflow:hidden}
.adv{position:relative;background:#070820;transition:background .4s}
.adv:hover{background:#0B0D2C}
.adv .adv-ic{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.adv:hover .adv-ic{transform:translateY(-6px) rotate(-6deg)}
.adv .adv-num{transition:color .4s,transform .5s cubic-bezier(.2,.7,.2,1)}
.adv:hover .adv-num{color:#C7CCFF;transform:translateX(-4px)}
.adv .adv-more{white-space:normal !important;height:auto !important;min-height:22px;overflow:visible !important;align-items:flex-start !important;line-height:1.45;color:#D9DCF0 !important;transition:color .4s}
.adv:hover .adv-more{color:#FFFFFF !important}
.adv .adv-line{width:22px;margin-top:10px;transition:width .6s cubic-bezier(.2,.7,.2,1)}
.adv:hover .adv-line{width:40px}

/* TESTIMONIALS — book */
.book{position:relative;perspective:2400px;perspective-origin:50% 40%}
.page{position:absolute;inset:0;transform-origin:0% 50%;transform-style:flat;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform 1.15s cubic-bezier(.65,.02,.18,1),box-shadow 1.15s cubic-bezier(.65,.02,.18,1),opacity .35s linear;will-change:transform}
.page.snap{transition:none !important}
.page .shade{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,rgba(14,15,44,.0) 0%,rgba(14,15,44,.22) 100%);opacity:0;transition:opacity 1.15s cubic-bezier(.65,.02,.18,1)}
.page.is-past .shade{opacity:1}
.page .curl{position:absolute;top:0;bottom:0;right:0;width:90px;border-radius:0 16px 16px 0;pointer-events:none;background:linear-gradient(270deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,0) 100%);opacity:0;transition:opacity .6s}
.page.is-past .curl{opacity:1}
.page .pc{transition:opacity .6s ease,transform .8s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.page:not(.is-current) .pc{opacity:0;transform:translateY(14px);filter:blur(6px)}
.page.is-current .pc{transition-delay:.45s}
.page.is-current .pc2{transition-delay:.6s}
.page.is-current .pc3{transition-delay:.75s}
.page .pimg{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.page:not(.is-current) .pimg{transform:scale(1.08)}
.page .rev-img{transition:opacity .5s ease}
.page:not(.is-current):not(.is-past) .rev-img{opacity:0}
.page:not(.is-current):not(.is-past){background:#ECEDF2 !important}
.page.is-current .rev-img{transition-delay:.25s}
.page:not(.is-current) .prog{animation:none}
.page.is-current .pimg{transition-delay:.35s}
@keyframes prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.page .prog{transform-origin:0 50%;transform:scaleX(0)}
.page.is-current .prog{animation:prog 7s linear forwards}
.sheet{position:absolute;transition:transform 1.15s cubic-bezier(.65,.02,.18,1)}
.nav-btn{transition:background .3s,color .3s,transform .3s,border-color .3s}
.nav-btn:hover{background:#0E0F2C !important;color:#FFFFFF !important;border-color:#0E0F2C !important}
.nav-btn:active{transform:scale(.94)}

.arc-card{position:absolute;width:272px;transform:translateX(-50%) rotate(var(--r));transition:transform .6s cubic-bezier(.2,.7,.2,1);z-index:1}
.arc-card:hover{transform:translateX(-50%) translateY(-18px) rotate(calc(var(--r) * .6)) scale(1.1);z-index:3}
.arc-inner{animation:bob 7s ease-in-out infinite;animation-delay:var(--d)}
.arc-face{transition:box-shadow .5s}
.arc-card:hover .arc-face{box-shadow:0 40px 80px -24px rgba(16,24,72,.6)}

.chip{transition:background .25s,color .25s,border-color .25s,transform .2s}
.chip:hover{transform:translateY(-1px)}
.field{transition:border-color .25s,box-shadow .25s}
.field:focus{outline:none;border-color:#3A23D6 !important;box-shadow:0 0 0 4px rgba(58,35,214,.12)}

.foot-link{color:#B7BAD0;text-decoration:none;transition:color .25s}
.foot-link:hover{color:#FFFFFF !important}
.soc{transition:background .3s,color .3s,border-color .3s,transform .3s}
.soc:hover{background:#FFFFFF !important;color:#05061A !important;border-color:#FFFFFF !important;transform:translateY(-2px)}
.burger{display:none}
.mob-link{color:#FFFFFF;text-decoration:none;font-size:clamp(30px,6vw,48px);letter-spacing:-.03em;transition:opacity .25s,padding .35s;display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.mob-link::after{content:"↗";font-size:18px;opacity:.5}
.mob-btns > *{flex:1 1 100%;justify-content:center;text-align:center}
.mob-link:hover{color:#FFFFFF;opacity:.7;padding-left:6px}

.modal-back{animation:fadeIn .3s ease}
.modal-card{animation:modalIn .5s cubic-bezier(.2,.7,.2,1)}
.x-btn{transition:transform .35s,background .3s}
.x-btn:hover{transform:rotate(90deg);background:#E3E4EA !important}

@media (max-width: 1180px){
.nav-desk{gap:28px !important}
.contact-pill .cp-text{display:none}
.contact-pill{padding:0 6px !important}
}
@media (max-width: 1100px){
.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.adv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rev-grid{grid-template-columns:minmax(0,1fr) !important}
.rev-img{display:none !important}
}
@media (max-width: 900px){
.nav-desk{display:none !important}
.burger{display:flex}
}
@media (max-width: 900px){
.arc-card.outer{display:none}
.arc-card{width:220px}
}
/* ===== MOBILE / TOUCH ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button{-webkit-tap-highlight-color:transparent}
.hero-mob,.hero-shade,.wr-thumb{display:none}
.m-back{overscroll-behavior:contain}

@media (hover: none){
.work-preview{display:none !important}
.work-list:hover .work-row{opacity:1}
.work-row:hover .wr-name{transform:none}
.adv .adv-more{opacity:1;transform:none}
.adv .adv-line{width:28px}
.adv:hover .adv-ic{transform:none}
.svc-row .svc-prev{display:none}
.arc-card:hover{transform:translateX(-50%) rotate(var(--r))}
.shot:hover img{transform:none}
}

@media (max-width: 900px){
.hero{height:100vh !important;height:100svh !important;min-height:620px !important;max-height:none !important}
.hero-tag{display:none}
.hero-img{height:100% !important;width:100% !important;left:0 !important;transform:none !important;object-fit:cover;object-position:50% 18%;-webkit-mask-image:none !important;mask-image:none !important}
.hero-shade{display:block;position:absolute;left:0;right:0;bottom:0;height:48%;background:linear-gradient(180deg,rgba(24,26,30,0) 0%,rgba(24,26,30,.6) 100%);pointer-events:none}
.hero-mq{bottom:176px !important;z-index:1}
.hero-mob{display:block;position:absolute;left:20px;right:20px;bottom:28px;z-index:2;max-width:520px}
.work-preview{display:none !important}
.wr-thumb{display:block;flex:1 1 100%;order:3;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;background:#E9EAEB;margin-top:8px}
.work-list:hover .work-row{opacity:1}
.work-row:hover .wr-name{transform:none}
.showcase-sec{display:none}
}

@media (max-width: 680px){
header > div{padding:14px 16px !important;gap:12px !important}
.contact-pill{min-height:44px !important}
.contact-pill .pen{width:32px !important;height:32px !important}
.burger{width:44px !important;height:44px !important;margin-left:-4px !important}
.marquee{font-size:76px !important}
.hero-mq{bottom:170px !important}
.hero-mob{left:16px;right:16px;bottom:22px}
.st-aside{display:flex !important;align-items:center;gap:20px;padding-top:28px;border-top:1px solid #E3E4E6}
.st-aside > p{flex:1 1 auto;margin:0 !important;max-width:none !important;font-size:15px !important}
.about-circle{flex:0 0 auto;width:112px !important;height:112px !important;margin-top:0 !important;font-size:14px !important}
.st-wrap{gap:36px !important}
.st-eyebrow{display:flex !important}
.work-row{padding:28px 0 !important;gap:6px 16px !important}
.wr-name{font-size:36px !important;letter-spacing:-.035em !important;flex:1 1 100%}
.wr-meta{font-size:14px !important}
.all-work{width:100%;justify-content:center;box-sizing:border-box}

.adv-stats{gap:22px !important}
.adv-h br{display:none}
.adv-h{font-size:36px !important}
.adv{padding:28px 24px !important}
.adv h3{min-height:0 !important;margin-top:36px !important}
.adv p{min-height:0 !important}
.adv-vp{overflow:hidden;margin:0 -20px;padding:4px 20px;touch-action:pan-y}
.adv-grid{display:flex !important;gap:12px;overflow:visible !important;border-radius:0;background:none !important;transform:translateX(calc(var(--ai) * (-84% - 12px)));transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.adv-grid::-webkit-scrollbar{display:none}
.adv-grid .adv .adv-more{white-space:normal !important;height:auto !important;min-height:22px;align-items:flex-start !important;line-height:1.4}
.adv-grid .adv{min-width:0;max-width:84%;flex:0 0 84%;transition:opacity .5s,scale .6s cubic-bezier(.2,.7,.2,1);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-sizing:border-box}
.adv-hint{display:flex !important}
.adv-grid .adv:not(.adv-on){opacity:.4;scale:.94}
.adv-cta{padding:22px !important}
.adv-cta button{width:100%;justify-content:center}

.rev-card{padding:44px 18px 28px !important}
.rev-rating > div{font-size:26px !important}
.book{height:520px !important;margin-top:32px !important}
.page .rev-grid{grid-template-columns:minmax(0,1fr) !important;grid-template-rows:150px minmax(0,1fr)}
.page .rev-img{display:block !important;order:-1}
.page .rev-img a{left:12px !important;bottom:12px !important;min-height:36px !important;font-size:13px !important}
.rev-body{padding:26px 22px 24px !important}
.rev-mark{font-size:88px !important;height:34px !important}
.rev-quote{font-size:19px !important;line-height:1.42 !important;margin-top:18px !important}
.rev-ctrl{gap:12px !important;margin-top:20px !important}
.rev-ctrl .nav-btn{width:52px !important;height:52px !important}
.rev-all{order:3;flex:1 1 100%;text-align:center;padding:10px 0}
.rev-badges{gap:20px 28px !important}
.bd-name{font-size:17px !important}
.band-grid{grid-template-columns:minmax(0,1fr) !important;gap:32px !important}

.arc-stage{height:auto !important;padding:214px 0 72px}
.arc-card,.arc-card.arc-i2,.arc-card.arc-i3,.arc-card.arc-i4,.arc-card.arc-i5{display:none !important}
.arc-strip{display:block !important}
.arc-card.arc-i2{left:11% !important;top:120px !important;--r:-16deg !important;z-index:1}
.arc-card.arc-i3{left:37% !important;top:56px !important;--r:-6deg !important;z-index:2}
.arc-card.arc-i4{left:63% !important;top:56px !important;--r:6deg !important;z-index:2}
.arc-card.arc-i5{left:89% !important;top:120px !important;--r:16deg !important;z-index:1}
.arc-text{position:relative !important;left:auto !important;bottom:auto !important;transform:none !important;width:auto !important;padding:0 20px}
.arc-text p{font-size:16px !important;margin-top:18px !important}
.arc-btns{margin-top:28px !important}
.arc-btns > *{flex:1 1 100%;justify-content:center;box-sizing:border-box}

.sub-form{flex-basis:100% !important}
.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:40px 20px !important}
.foot-brand,.foot-contacts,.foot-res{grid-column:1 / -1 !important;max-width:none !important}
.foot-res > div:last-child{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px !important}

.m-back{padding:0 !important;align-items:flex-end !important}
.m-card{border-radius:22px 22px 0 0 !important;max-height:94vh;max-height:94dvh;overflow-y:auto !important;-webkit-overflow-scrolling:touch}
.m-side{flex:1 1 100% !important;padding:26px 20px 22px !important;gap:10px !important}
.m-side h2{font-size:30px !important;margin:0 !important;padding-right:52px}
.m-side > div:first-child{font-size:22px !important}
.m-hide{display:none !important}
.m-main{padding:24px 20px calc(28px + env(safe-area-inset-bottom)) !important}
.m-x{top:14px !important;right:14px !important;background:#1A1C3A !important;color:#FFFFFF !important}
.m-submit > *{flex:1 1 100%;max-width:none !important}
.m-submit button{justify-content:center}
}

@media (max-width: 380px){
.marquee{font-size:64px !important}
.hero-mq{bottom:162px !important}
.hero-mob p{font-size:19px !important}
.wr-name{font-size:31px !important}
.adv-stats{gap:16px !important}
.book{height:550px !important}
.arc-card.arc-i2,.arc-card.arc-i3,.arc-card.arc-i4,.arc-card.arc-i5{width:148px !important}
.arc-stage{padding-top:196px}
.wheel-card{width:136px !important;left:-68px !important;top:-45px !important}
.arc-wheel{top:500px !important}
}

@media (max-width: 680px){
.svc-grid{grid-template-columns:minmax(0,1fr)}
.adv-grid{grid-template-columns:minmax(0,1fr)}
.arc-card{display:none}
.svc-row .svc-prev{display:none}
.sheet{display:none}
}

.arc-strip{display:none;position:absolute;left:0;right:0;top:0;height:250px;overflow:hidden;pointer-events:none}
.arc-wheel{position:absolute;left:50%;top:520px;width:0;height:0;animation:wheel-spin 80s linear infinite}
.wheel-card{position:absolute;left:-78px;top:-52px;width:156px;aspect-ratio:3 / 2;border-radius:12px;overflow:hidden;background:#FFFFFF;border:3px solid rgba(255,255,255,.8);box-shadow:0 18px 36px -16px rgba(16,24,72,.45);box-sizing:border-box;transform:rotate(var(--a)) translateY(-430px)}
.wheel-card img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes wheel-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.arc-wheel{animation:none}}

/* sticky bar: dark-on-light nav + full-width mega */
.sbar .nav-trigger,.sbar .nav-plain{color:#0E0F2C;font-size:14px;opacity:.8}
.sbar .nav-plain:hover{color:#0E0F2C;opacity:1}
.sbar .nav-item:hover .nav-trigger,.sbar .nav-item:focus-within .nav-trigger{opacity:1}
.sbar .mega{left:50%;right:auto;width:min(1344px, calc(100vw - 24px));padding-top:12px;transform:translate(-50%,10px)}
.sbar .nav-item:hover .mega,.sbar .nav-item:focus-within .mega{transform:translate(-50%,0)}
.sbar .mega > div{box-shadow:0 40px 100px -30px rgba(5,6,26,.45),0 0 0 1px rgba(14,15,44,.06) !important}
@media (max-width: 1180px){.sbar-links{gap:24px !important}}

.mega > div{max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.sbar .mega > div{max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px)}
.m-back,.mob-menu{overflow-y:auto !important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* ===== SCROLL ANIMATIONS ===== */
.st-text .w{display:inline-block;margin-right:.26em}
@supports (animation-timeline: view()) {
@media (prefers-reduced-motion: no-preference) {

@keyframes rv-up{from{opacity:0;translate:0 48px}to{opacity:1;translate:0 0}}
@keyframes rv-x{from{opacity:0;translate:-28px 0}to{opacity:1;translate:0 0}}
@keyframes w-fill{from{opacity:.13}to{opacity:1}}
@keyframes line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes clip-up{from{clip-path:inset(22% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes par-y{from{translate:0 -7%}to{translate:0 7%}}
@keyframes hero-par{to{translate:0 16%;scale:1.06}}
@keyframes hero-mq{to{translate:0 -60%;opacity:.15}}
@keyframes hero-tag{to{translate:0 -90px;opacity:0}}
@keyframes sbar-in{from{opacity:0;translate:-50% -160%}to{opacity:1;translate:-50% 0}}
@keyframes arc-in{from{opacity:0;translate:var(--fx) 180px;scale:.5}to{opacity:1;translate:0 0;scale:1}}
@keyframes sheet-out{from{translate:0 -70px;opacity:0}to{translate:0 0;opacity:1}}
@keyframes card-rise{from{translate:0 90px;scale:.96}to{translate:0 0;scale:1}}
@keyframes num-in{from{opacity:0;translate:0 40px;scale:.9}to{opacity:1;translate:0 0;scale:1}}
@keyframes carousel{0%{opacity:.45;scale:.9}45%,55%{opacity:1;scale:1}100%{opacity:.45;scale:.9}}

/* generic reveal */
.rv,#work > h2,#about h2,#about p,.adv-cta,.arc-text,.rev-rating,.foot-grid > div,footer h2,.sub-form,.rev-badges,.all-work{animation:rv-up linear both;animation-timeline:view();animation-range:entry 0% entry 100%}

/* statement: words light up one by one */
.st-text .w{animation:w-fill linear both;animation-timeline:view();animation-range:cover calc(14% + var(--k) * 1.4%) cover calc(22% + var(--k) * 1.4%)}

/* hero parallax */
.hero-img{animation:hero-par linear both;animation-timeline:scroll(root);animation-range:0 100vh}
.hero-mq{animation:hero-mq linear both;animation-timeline:scroll(root);animation-range:0 90vh}
.hero-tag{animation:hero-tag linear both;animation-timeline:scroll(root);animation-range:0 60vh}

/* sticky bar appears after the hero */
.sbar{display:flex !important;animation:sbar-in linear both;animation-timeline:scroll(root);animation-range:85vh 100vh}

/* work list */
.work-row{position:relative}
.work-row::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#8A8C91;transform-origin:0 50%;animation:line-draw linear both;animation-timeline:view();animation-range:entry 10% cover 40%;pointer-events:none}
.work-row .wr-name,.work-row .wr-meta{animation:rv-up linear both;animation-timeline:view();animation-range:entry 0% entry 100%}

/* showcase: curtain + inner parallax */
.shot{animation:clip-up linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
.showcase .shot img,#about .shot img{animation:par-y linear both;animation-timeline:view();animation-range:cover;scale:1.16}

/* services */
.svc-group{animation:rv-up linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
.svc-row{animation:rv-x linear both;animation-timeline:view();animation-range:entry 0% entry 100%}

/* advantages: staggered */
.adv > *{animation:rv-up linear both;animation-timeline:view();animation-range:entry 0% entry 100%}

/* reviews */
.rev-card{animation:card-rise linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
.sheet{animation:sheet-out linear both;animation-timeline:view();animation-range:entry 5% entry 40%}
.band-grid > div{animation:num-in linear both;animation-timeline:view();animation-range:entry 0% entry 100%}

/* CTA: cards fly out from the centre into the arc */
.arc-card{animation:arc-in linear both;animation-timeline:view();animation-range:entry 0% cover 45%}

@media (max-width: 900px){
.sbar{width:calc(100% - 20px) !important;top:10px !important;padding:6px 6px 6px 16px !important}
.sbar-links{display:none !important}
.sbar-burger{display:flex !important}
/* projects stack: each card slides over the previous one */
.work-list{border-top:0 !important}
.work-row{position:sticky !important;top:calc(78px + var(--i) * 14px);background:#FFFFFF;border:1px solid #E3E4E6 !important;border-radius:20px;padding:20px !important;margin-bottom:22px;box-shadow:0 -18px 40px -26px rgba(14,15,44,.35)}
.work-row::after{display:none}
.work-row .wr-name,.work-row .wr-meta{animation:none}
}
@media (max-width: 680px){
.sbar button.sweep{padding:0 16px !important;font-size:12px !important;white-space:nowrap}
.sbar > a{font-size:14px !important}
.sb-hide{display:none}
.adv-grid .adv{animation:none}
.adv-grid .adv > *{animation:none}


}
}
}
/* ===== SERVICE PAGE ===== */
@keyframes heroIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.sv-in{animation:heroIn .9s cubic-bezier(.2,.7,.2,1) both}
.sv-chip{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;padding:9px 18px 9px 9px;border-radius:16px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#0E0F2C;font-size:15px;font-weight:500;box-shadow:0 12px 28px -14px rgba(5,6,26,.32),0 0 0 1px rgba(14,15,44,.05);white-space:nowrap;animation:bob 7s ease-in-out infinite;animation-delay:var(--d)}
.sv-chip .ci{flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:var(--acc);color:#FFFFFF;display:flex;align-items:center;justify-content:center}
.cl-mask{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%)}
.cl-i{display:inline-flex;align-items:center;gap:.9em;padding-right:.9em}
.cl-i::after{content:"";width:.22em;height:.22em;border-radius:50%;background:#C4C6CF}

/* pains */
.pain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pain{position:relative;background:#FFFFFF;border-radius:24px;padding:12px 12px 30px;display:flex;flex-direction:column;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.pain:hover{transform:translateY(-6px);box-shadow:0 40px 80px -44px rgba(14,15,44,.4)}
.pain-vis{position:relative;height:224px;box-sizing:border-box;border-radius:16px;background:linear-gradient(180deg,#ECEFFA 0%,#F6F7FB 100%);overflow:hidden}
.pain-body{padding:28px 16px 0;display:flex;flex-direction:column;flex:1 1 auto}
.pain-h{margin:0;font-size:24px;font-weight:500;letter-spacing:-.02em;line-height:1.2;color:#0E0F2C}
.pain-p{margin:12px 0 24px;font-size:16px;line-height:1.6;color:#55575C}
.pain-fix{margin-top:auto;padding-top:22px;border-top:1px solid #E3E4EA;display:flex;gap:12px;align-items:flex-start;transform:translateY(0)}
.pain-fix p{margin:0;font-size:15px;line-height:1.55;color:#0E0F2C}
.pain-fix b{font-weight:600}
.fix-ic{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--acc);color:#FFFFFF;display:flex;align-items:center;justify-content:center;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pain:hover .fix-ic{transform:rotate(-12deg) scale(1.12)}
.fl{flex:0 0 96px;font-size:13px;color:#6B6D7A}
.fb{display:block;height:30px;border-radius:8px;background:#C9D2F2;transition:width .9s cubic-bezier(.2,.7,.2,1)}
.fb2{background:#A9B6EC}
.fb3{background:var(--acc)}
.pain:hover .fb3{width:44% !important}
.sr{display:flex;align-items:center;gap:10px;height:30px;padding:0 12px;border-radius:10px;background:rgba(255,255,255,.6)}
.sr-fav{flex:0 0 auto;width:14px;height:14px;border-radius:4px;background:#C9CCD6}
.sr-l{height:7px;border-radius:4px;background:#D5D8E2}
.sr-n{margin-left:auto;font-size:12px;color:#A2A4AE}
.sr-me{background:#FFFFFF;box-shadow:0 0 0 1px rgba(58,35,214,.25),0 12px 24px -16px rgba(14,15,44,.35);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.sr-pg{margin-left:auto;font-size:12px;font-weight:600;color:#C2412A;padding:3px 8px;border-radius:6px;background:#FCEAE6}
.pain:hover .sr-me{transform:translateY(-4px)}
.chat-reply{opacity:0;transform:translateY(12px) scale(.96);transform-origin:0 100%;transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1)}
.pain:hover .chat-reply{opacity:1;transform:none}

/* included */
.inc-vp{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:clamp(72px,8vw,120px)}
.inc-vp::-webkit-scrollbar{display:none}
.inc-track{display:flex;gap:20px;width:max-content;padding:0 max(clamp(20px,4vw,56px),calc((100vw - 1168px) / 2))}
.inc-card{flex:0 0 clamp(300px,25vw,360px);min-width:0;box-sizing:border-box;border-radius:24px;background:#F4F4F7;padding:12px;display:flex;flex-direction:column;scroll-snap-align:start;transition:background .4s}
.inc-card:hover{background:#ECEDF3}
.inc-vis{position:relative;height:210px;border-radius:16px;overflow:hidden}
.inc-num{position:absolute;left:50%;top:50%;transform:translate(-50%,-54%);font-family:Cormorant,Georgia,serif;font-style:italic;font-weight:500;font-size:150px;line-height:1;color:transparent;-webkit-text-stroke:1.4px rgba(14,15,44,.28);transition:color .5s,-webkit-text-stroke-color .5s}
.inc-card:hover .inc-num{color:var(--acc);-webkit-text-stroke-color:var(--acc)}
.inc-tag{position:absolute;display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.9);font-size:13px;font-weight:500;color:#0E0F2C;box-shadow:0 10px 20px -14px rgba(14,15,44,.4);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.inc-tag.ta{left:16px;top:16px}
.inc-tag.tb{right:16px;bottom:16px}
.inc-card:hover .inc-tag.ta{transform:translate(6px,4px)}
.inc-card:hover .inc-tag.tb{transform:translate(-6px,-4px)}
.inc-dot{width:6px;height:6px;border-radius:50%;background:var(--acc)}
.inc-mnum{display:none}

/* process */
.proc-step{position:relative;padding:0 0 72px 52px}
.proc-n{font-size:13px;line-height:19px;letter-spacing:.1em;text-transform:uppercase;color:#8C8FA8;font-variant-numeric:tabular-nums}
.proc-rail{position:absolute;left:5px;top:10px;bottom:17px;width:1px;background:rgba(255,255,255,.14)}
.proc-railf{position:absolute;inset:0;background:#8C9CFF;transform-origin:0 0}
.proc-end{position:relative;display:flex;align-items:center;gap:18px;height:34px;margin-left:-11.5px;font-size:20px;font-weight:500;letter-spacing:-.02em;color:#FFFFFF}
.proc-endc{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--acc);color:#FFFFFF;display:flex;align-items:center;justify-content:center}
.proc-dot{position:absolute;left:0;top:4px;width:11px;height:11px;box-sizing:border-box;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);background:#080A26;z-index:1}
.proc-meta{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pm{padding:18px 20px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
.pm-k{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.pm-v{margin-top:8px;font-size:15px;line-height:1.5;color:#FFFFFF}
@media (min-width: 1101px){.proc-aside{position:sticky;top:120px}}

/* pricing */
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.plan{position:relative;border-radius:24px;padding:clamp(28px,2.6vw,40px);display:flex;flex-direction:column;background:#F4F4F7;color:#0E0F2C;overflow:hidden;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.plan:hover{transform:translateY(-8px);box-shadow:0 40px 80px -44px rgba(14,15,44,.4)}
.plan-feat{background:#0E0F2C;color:#FFFFFF}
.plan-feat::before{content:"";position:absolute;right:-34%;top:-42%;width:96%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(124,140,248,.42) 0%,rgba(124,140,248,0) 66%);pointer-events:none;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.plan-feat:hover::before{transform:translate(-14%,12%)}
.p-desc{color:#55575C}
.plan-feat .p-desc{color:#B7BAD0}
.p-term{color:#6B6D7A}
.plan-feat .p-term{color:#A9B0D6}
.p-line{border-top:1px solid #DADBE2}
.plan-feat .p-line{border-top-color:rgba(255,255,255,.14)}
.p-ck{flex:0 0 auto;width:22px;height:22px;margin-top:1px;border-radius:50%;background:#FFFFFF;color:var(--acc);display:flex;align-items:center;justify-content:center}
.plan-feat .p-ck{background:rgba(255,255,255,.1);color:#C7CCFF}
.p-tag{position:absolute;right:-18px;top:-24px;display:none;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#C7CCFF}
.plan-feat .p-tag{display:inline-flex}
.p-btn{position:relative;margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 24px;border-radius:999px;border:1px solid #0E0F2C;background:transparent;color:#0E0F2C;font:inherit;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;--sweep:#0E0F2C;--sweep-ink:#FFFFFF}
.p-line{margin-bottom:36px !important}
.plan-feat .p-btn{background:var(--acc);border-color:var(--acc);color:#FFFFFF;--sweep:#FFFFFF;--sweep-ink:#0E0F2C}
.p-audit{transition:background .3s,border-color .3s}
.p-audit:hover{background:#F4F4F7;border-color:#F4F4F7 !important}

/* cases */
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.case{display:flex;flex-direction:column;min-width:0;padding:12px;border-radius:24px;background:#FFFFFF;color:#0E0F2C;text-decoration:none}
.case:hover{color:#0E0F2C}
.case-big{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:stretch}
.case-big .case-body{flex-direction:column;justify-content:space-between;padding:26px 18px 14px 36px}
.case-big .case-h{font-size:clamp(30px,3vw,44px)}
.case-big .c-arr{order:-1;align-self:flex-end}
.case-img{border-radius:16px;background:#E9EAEB}
.case:hover .shot img{transform:scale(1.05)}
.case-body{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 12px 10px}
.case-tags{display:flex;flex-wrap:wrap;gap:6px}
.case-tags span{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;background:#F4F4F7;font-size:13px;color:#55575C}
.case-h{margin:14px 0 0;font-size:clamp(24px,2vw,30px);font-weight:500;letter-spacing:-.03em;line-height:1.1}
.case-p{margin:10px 0 0;font-size:15px;line-height:1.55;color:#55575C;max-width:460px}
.case-res{display:inline-flex;margin-top:16px;padding:8px 14px;border-radius:10px;background:#EEF0FF;color:#2A1DA8;font-size:14px;font-weight:500}
.c-arr{flex:0 0 auto;width:48px;height:48px;border-radius:50%;border:1px solid #C9CBCE;display:flex;align-items:center;justify-content:center;transition:transform .45s cubic-bezier(.2,.7,.2,1),background .3s,color .3s,border-color .3s}
.case:hover .c-arr{transform:rotate(45deg);background:#0E0F2C;color:#FFFFFF;border-color:#0E0F2C}

/* cms */
.cms-list li{display:flex;align-items:flex-start;gap:14px;font-size:17px;line-height:1.55;color:#3A3D52}
.cms-list b{font-weight:600;color:#0E0F2C}
.cms-ic{flex:0 0 auto;width:40px;height:40px;border-radius:12px;background:#F1F2F7;color:var(--acc);display:flex;align-items:center;justify-content:center}
.tech{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid #D9DADF;font-size:14px;color:#0E0F2C;transition:background .3s,color .3s,border-color .3s}
.tech:hover{background:#0E0F2C;color:#FFFFFF;border-color:#0E0F2C}
.cms-grid{display:grid;grid-template-columns:210px minmax(0,1fr)}
.blk{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:0 10px 0 12px;border:0;border-radius:10px;background:transparent;font:inherit;font-size:14px;color:#0E0F2C;cursor:pointer;text-align:left;transition:background .25s}
.blk:hover{background:#F1F2F7}
.blk[aria-pressed="false"] > span:first-of-type{color:#8A8C91}
.sw{position:relative;margin-left:auto;width:34px;height:20px;border-radius:999px;background:#D5D7E0;transition:background .3s;flex:0 0 auto}
.sw::after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#FFFFFF;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.blk[aria-pressed="true"] .sw{background:var(--acc)}
.blk[aria-pressed="true"] .sw::after{transform:translateX(14px)}
.pv{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;transition:grid-template-rows .55s cubic-bezier(.2,.7,.2,1),opacity .4s,margin-top .55s cubic-bezier(.2,.7,.2,1)}
.pv > div{overflow:hidden;min-height:0}
.pv.on{grid-template-rows:1fr;opacity:1;margin-top:10px}
.wl{display:block;height:5px;border-radius:3px;background:#D9DCE6}
.wtile{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:8px;background:#F4F4F7}
.wsq{width:18px;height:18px;border-radius:5px;background:#C9D2F2;margin-bottom:4px}

/* faq */
.faq-item{background:#FFFFFF;border-radius:16px;color:#0E0F2C}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:72px;padding:16px 20px 16px 24px;border:0;background:transparent;font:inherit;font-size:18px;font-weight:500;letter-spacing:-.01em;color:#0E0F2C;text-align:left;cursor:pointer}
.faq-pl{flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:#F1F2F7;display:flex;align-items:center;justify-content:center;transition:transform .45s cubic-bezier(.2,.7,.2,1),background .3s,color .3s}
.faq-q:hover .faq-pl{background:#E3E4EA}
.faq-item.open .faq-pl{transform:rotate(45deg);background:var(--acc);color:#FFFFFF}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.7,.2,1)}
.faq-a > div{overflow:hidden;min-height:0}
.faq-item.open .faq-a{grid-template-rows:1fr}

@media (hover: none){
.chat-reply{opacity:1;transform:none}
.pain:hover,.plan:hover{transform:none}
}

@media (max-width: 1100px){
.pain-grid{grid-template-columns:minmax(0,1fr);max-width:640px;margin:0 auto}
.price-grid{grid-template-columns:minmax(0,1fr);max-width:600px;margin:0 auto}
.p-desc{min-height:0 !important}
}
@media (max-width: 900px){
.sv-chip.c3{display:none}
.sv-chip.c1{left:-8px !important}
.sv-chip.c2{right:-8px !important}
.case-grid{grid-template-columns:minmax(0,1fr)}
.case-big{display:flex;grid-column:auto}
.case-grid{gap:22px}
.case{position:sticky;top:calc(78px + var(--i) * 14px);border:1px solid #E3E4E6;box-shadow:0 -18px 40px -26px rgba(14,15,44,.35);animation:none !important}
.case .shot img{animation:none !important;scale:1 !important}
.case .shot{animation:none !important}
.case-big .case-body{flex-direction:row;padding:22px 12px 10px}
.case-big .c-arr{order:0;align-self:flex-start}
.inc-vp{overflow:visible;padding:0 clamp(20px,4vw,56px) clamp(72px,8vw,120px)}
.inc-track{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));width:auto !important;padding:0 !important;gap:14px}
.inc-card{flex:none}
.inc-meta{display:none !important}
.cms-grid{grid-template-columns:minmax(0,1fr)}
.cms-side{border-right:0 !important;border-bottom:1px solid #ECEDF2;display:flex;flex-wrap:wrap;gap:6px;padding:12px !important}
.cms-side > div:first-child{flex:1 1 100%;padding:2px 2px 4px !important}
.blk{width:auto;flex:1 1 auto;min-height:44px;background:#F4F4F7}
.blk > svg{display:none}
}
@media (max-width: 680px){
.sv-h1{font-size:44px !important;letter-spacing:-.04em !important}
.sv-lead p{font-size:16px !important}
.sv-ctas > div{flex:1 1 100%}
.sv-ctas button{flex:1 1 auto;justify-content:center}
.sv-ctas .ulink{display:none}
.sv-facts{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.sf{padding:18px 0 0 !important;border-left:0 !important}
.sf3,.sf4{padding-top:18px !important;margin-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.sf2,.sf4{padding-left:18px !important;border-left:1px solid rgba(255,255,255,.14) !important}
.sf dd{font-size:19px !important}
.sv-url{display:none !important}
.sv-chip{font-size:13px;padding:6px 12px 6px 6px;gap:8px;border-radius:12px}
.sv-chip .ci{width:28px;height:28px;border-radius:8px}
.sv-chip.c1{top:auto !important;bottom:-20px;left:12px !important}
.sv-chip.c2{display:none}
.sv-show{border-radius:14px !important}
.pain{padding:10px 10px 24px;border-radius:20px}
.pain-vis{height:200px}
.pain-body{padding:22px 10px 0}
.pain-h{font-size:22px}
.inc-track{grid-template-columns:minmax(0,1fr);gap:10px}
.inc-vis{display:none}
.inc-card{padding:0;border-radius:20px}
.inc-body{padding:22px 20px 22px !important}
.inc-mnum{display:block;font-family:Cormorant,Georgia,serif;font-style:italic;font-weight:500;font-size:34px;line-height:1;color:var(--acc);margin-bottom:12px}
.cl-mask .marquee{font-size:28px !important}
.proc-step{padding:0 0 52px 34px}
.proc-end{font-size:18px}
.proc-meta{grid-template-columns:minmax(0,1fr);gap:8px}
.pm{padding:14px 16px}
.plan{padding:26px 22px}
.p-tag{position:static}
.cms-ed{display:none}
.case{padding:10px;border-radius:20px}
.case-body{padding:18px 8px 8px}
.c-arr{width:44px;height:44px}
.quote-card blockquote{font-size:19px !important}
.faq-q{font-size:16px;min-height:64px;padding:14px 14px 14px 18px}
.faq-a p{padding:0 18px 20px !important;font-size:15px !important}
.cms-list li{font-size:16px}
}

@supports (animation-timeline: view()) {
@media (prefers-reduced-motion: no-preference) {
@keyframes show-grow{from{scale:.9;translate:0 30px}to{scale:1;translate:0 0}}
@keyframes inc-x{from{translate:0 0}to{translate:calc(-100% + 100vw - 16px) 0}}
@keyframes grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes grow-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes step-on{from{opacity:.32}to{opacity:1}}
@keyframes dot-on{from{background:#080A26;border-color:rgba(255,255,255,.45)}to{background:#8C9CFF;border-color:#8C9CFF}}
@keyframes end-on{from{opacity:.4;scale:.75}to{opacity:1;scale:1}}
.sv-show{animation:show-grow linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
.sv-show-img{animation:par-y linear both;animation-timeline:view();animation-range:cover;scale:1.12}
.pain,.plan,.case,.faq-item{animation:card-rise linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
.case .shot img{animation:par-y linear both;animation-timeline:view();animation-range:cover;scale:1.14}
.proc-in{animation:step-on linear both;animation-timeline:view();animation-range:entry 30% cover 45%}
.proc-dot{animation:dot-on linear both;animation-timeline:view();animation-range:cover 47% cover 53%}
.proc-railf{animation:grow-y linear both;animation-timeline:view();animation-range:entry 50% exit 50%}
.proc-endc{animation:end-on linear both;animation-timeline:view();animation-range:cover 40% cover 52%}
.tech{animation:rv-up linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
@media (min-width: 901px){
.inc-sec{height:clamp(1900px,300vh,3200px);view-timeline-name:--inc}
.inc-sticky{position:sticky;top:0;height:100vh;max-height:1100px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.inc-head{padding-top:0 !important}
.inc-vp{overflow:visible;padding-bottom:0}
.inc-track{animation:inc-x linear both;animation-timeline:--inc;animation-range:contain 8% contain 92%}
.inc-bar > span{animation:grow-x linear both;animation-timeline:--inc;animation-range:contain 8% contain 92%}
.inc-sticky .rv{animation:none}
}
}
}

/* generic pain visuals */
.gv-m{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.gv-k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#6B6D7A}
.gv-vals{position:relative;height:64px;min-width:200px}
.gv-v{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:52px;font-weight:600;letter-spacing:-.04em;transition:opacity .45s,translate .5s cubic-bezier(.2,.7,.2,1)}
.gv-bad{color:#E0573E}
.gv-ok{color:#1E9E5A;opacity:0;translate:0 12px}
.pain:hover .gv-bad{opacity:0;translate:0 -12px}
.pain:hover .gv-ok{opacity:1;translate:0 0}
.gv-cap{position:relative;height:20px;min-width:240px;font-size:13px;color:#55575C}
.gv-cap span{position:absolute;inset:0;transition:opacity .4s}
.gv-cap .gv-c2{opacity:0}
.pain:hover .gv-cap .gv-c1{opacity:0}
.pain:hover .gv-cap .gv-c2{opacity:1}
.q-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:0 12px;border-radius:10px;background:#FFFFFF;font-size:13px;color:#0E0F2C;box-shadow:0 6px 16px -12px rgba(14,15,44,.35)}
.q-row > span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.q-b{flex:0 0 auto;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;transition:opacity .4s}
.q-no{background:#FCEAE6;color:#C2412A}
.q-yes{position:absolute;right:12px;background:#E3F4EA;color:#1E7A4A;opacity:0}
.pain:hover .q-no{opacity:0}
.pain:hover .q-yes{opacity:1}
.q-row:nth-child(2) .q-b{transition-delay:.08s}
.q-row:nth-child(3) .q-b{transition-delay:.16s}
.q-row:nth-child(4) .q-b{transition-delay:.24s}
@media (hover: none){.gv-bad,.gv-cap .gv-c1,.q-no{opacity:0}.gv-ok,.gv-cap .gv-c2,.q-yes{opacity:1;translate:0 0}}

@media (hover: none) {
  .rq { translate: 0 0; }
  .rq-q, .rq-ok { opacity: 1; translate: 0 0; }
  .src-no { opacity: 0; }
  .src-yes { opacity: 1; }
}
/* Scroll-driven animation JS fallback when animation-timeline is unsupported */
@supports not (animation-timeline: view()) {
  .sbar.is-scrolled { display: flex !important; transform: translate(-50%, 0); opacity: 1; }
  .sh-reveal-init { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
  .sh-reveal-init.is-visible { opacity: 1; transform: none; }
}

/* Hero H1 slides in without fading from opacity 0: Chrome counts LCP only once the text is visible,
   so the fade delayed LCP on service/industry pages (PageSpeed 75 -> 90+). Other .sv-in items still fade. */
@keyframes heroInH1{from{transform:translateY(28px)}to{transform:none}}
.sv-h1.sv-in{animation-name:heroInH1}

/* prefers-reduced-motion: some design animations (.sv-in, chips, marquee) are declared outside the
   no-preference blocks; finish every animation and transition at once (end state stays visible). */
@media (prefers-reduced-motion: reduce){
*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
}
