@font-face{font-family:Gordita;src:url('../fonts/Gordita Regular.otf')}@font-face{font-family:Gordita;src:url('../fonts/Gordita Medium.otf');font-weight:500}@font-face{font-family:Gordita;src:url('../fonts/Gordita Bold.otf');font-weight:700}
:root{--bg:#0b0b0f;--panel:#121219;--panel2:#17171f;--text:#f7f7fb;--muted:#a8a8b4;--line:rgba(255,255,255,.09);--violet:#7c5cff;--pink:#ef5da8;--cyan:#50d5ff;--yellow:#ffd84d;--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Gordita,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{text-decoration:none}.container-xl{max-width:1240px}.site-header{position:fixed;z-index:99;left:0;right:0;top:0;background:rgba(11,11,15,.68);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled{border-color:var(--line);background:rgba(11,11,15,.9)}.navbar{min-height:78px}.navbar-brand img{width:150px;height:auto}.nav-link{color:#c9c9d2!important;font-size:14px}.nav-link:hover{color:#fff!important}.btn{border-radius:999px;font-weight:500;border:0;padding:.9rem 1.3rem}.btn-primary{background:linear-gradient(110deg,var(--violet),var(--pink));box-shadow:0 10px 35px rgba(124,92,255,.25)}.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.08)}.btn-ghost{border:1px solid var(--line);color:#fff;background:rgba(255,255,255,.025)}.btn-ghost:hover{color:#fff;background:rgba(255,255,255,.06)}
.hero-section{position:relative;overflow:hidden;min-height:100vh;background:radial-gradient(circle at 78% 35%,rgba(124,92,255,.18),transparent 30%),radial-gradient(circle at 65% 75%,rgba(239,93,168,.10),transparent 22%),#0b0b0f}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 88%)}.eyebrow,.section-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700;color:#cfc8ff;margin-bottom:22px}.display-title{font-size:clamp(52px,7vw,94px);line-height:.97;letter-spacing:-.065em;max-width:850px;margin:0 0 28px;font-weight:700}.gradient-text{background:linear-gradient(110deg,#fff 5%,#ae9dff 38%,#ff91c8 75%,#ffe18a);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{font-size:20px;line-height:1.6;color:#b9b9c6;max-width:690px;margin-bottom:34px}.trust-row{display:flex;gap:35px;margin-top:54px;flex-wrap:wrap}.trust-row>div{display:flex;flex-direction:column}.trust-row strong{font-size:24px}.trust-row span{font-size:12px;color:var(--muted);margin-top:3px}.hero-visual{height:620px;position:relative}.glow{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}.glow-one{width:280px;height:280px;background:var(--violet);right:60px;top:100px}.glow-two{width:220px;height:220px;background:var(--pink);left:40px;bottom:110px}.device-card{position:absolute;border-radius:30px;overflow:hidden;border:1px solid rgba(255,255,255,.18);box-shadow:0 40px 90px rgba(0,0,0,.55);background:#15151c}.device-card img{width:100%;height:100%;object-fit:cover}.device-card-a{width:340px;height:390px;right:-25px;top:115px;transform:rotate(5deg)}.device-card-b{width:210px;height:370px;left:15px;bottom:68px;transform:rotate(-7deg)}.floating-badge{position:absolute;background:rgba(22,22,30,.78);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);padding:10px 17px;border-radius:999px;font-size:12px;box-shadow:0 12px 35px rgba(0,0,0,.25)}.badge-ios{top:102px;left:35px}.badge-android{right:0;bottom:74px}.badge-ai{right:70px;top:82px;color:#f0bfff}.scroll-cue{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);color:#777782;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.scroll-cue span{color:#fff;margin-left:6px}.logo-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d0d12}.strip-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;white-space:nowrap;color:#777781;font-size:13px}.strip-inner b{color:#b7b7c0;font-weight:500}.section{padding:120px 0}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end}.section-heading>div{max-width:760px}.section-heading h2,.process-section h2,.about-section h2,.cta-section h2{font-size:clamp(38px,5vw,66px);line-height:1.05;letter-spacing:-.05em;margin:0}.section-heading>p,.lead-muted{max-width:420px;color:var(--muted);line-height:1.7;margin:0}.service-card{height:100%;min-height:320px;padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));transition:.3s;position:relative;overflow:hidden}.service-card:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:var(--violet);filter:blur(90px);opacity:0;right:-50px;bottom:-50px;transition:.3s}.service-card:hover{transform:translateY(-6px);border-color:rgba(160,141,255,.3)}.service-card:hover:after{opacity:.35}.service-index{display:block;color:#777781;font-size:12px;margin-bottom:65px}.service-card h3{font-size:24px;margin-bottom:14px}.service-card p{color:var(--muted);line-height:1.65;font-size:14px}.chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.chip-row span{font-size:11px;color:#c7c7d0;border:1px solid var(--line);padding:7px 10px;border-radius:999px}.work-section{background:#0e0e13}.work-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px}.project-card{border-radius:var(--radius);background:#15151b;border:1px solid var(--line);overflow:hidden}.project-large{grid-row:span 2}.project-image{height:360px;display:flex;align-items:center;justify-content:center;overflow:hidden}.project-large .project-image{height:650px}.project-image img{max-width:88%;max-height:90%;object-fit:contain;transition:.5s}.project-card:hover .project-image img{transform:scale(1.035)}.project-image.dark{background:#111118}.project-image.light{background:#ececf2}.project-meta{padding:26px 28px 30px;display:flex;align-items:end;justify-content:space-between;gap:20px}.project-meta span{font-size:11px;color:#9696a2;text-transform:uppercase;letter-spacing:.12em}.project-meta h3{font-size:23px;margin:5px 0 0}.project-meta p{max-width:210px;color:#858591;font-size:12px;margin:0;text-align:right}.process-section{background:linear-gradient(180deg,#0b0b0f,#111119)}.process-list{border-top:1px solid var(--line)}.process-item{display:grid;grid-template-columns:90px 1fr;border-bottom:1px solid var(--line);padding:32px 0;transition:.25s}.process-item:hover{padding-left:12px}.process-item>span{color:#7166a7;font-size:13px}.process-item div{display:grid;grid-template-columns:320px 1fr;align-items:center}.process-item h3{font-size:30px;margin:0}.process-item p{max-width:580px;margin:0;color:var(--muted);line-height:1.6}.about-panel{background:linear-gradient(130deg,#161622,#111117);border:1px solid var(--line);border-radius:36px;padding:70px}.about-panel p{margin:28px 0}.text-link{color:#fff;border-bottom:1px solid #555563;padding-bottom:5px}.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.benefit-grid>div{min-height:160px;border:1px solid var(--line);border-radius:22px;padding:24px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;justify-content:flex-end}.benefit-grid strong{font-size:20px}.benefit-grid span{color:var(--muted);font-size:13px;line-height:1.5;margin-top:8px}.cta-panel{border-radius:38px;padding:72px;background:radial-gradient(circle at 85% 0,rgba(239,93,168,.19),transparent 30%),radial-gradient(circle at 10% 90%,rgba(124,92,255,.24),transparent 30%),#15151e;border:1px solid rgba(255,255,255,.1)}.cta-panel>p,.cta-panel .col-lg-6>p{color:#b4b4c0;line-height:1.7;max-width:560px;margin:26px 0}.contact-direct{display:flex;flex-direction:column;gap:8px;margin-top:40px}.contact-direct a{color:#fff;font-size:18px}.contact-direct span{color:#8e8e9b;font-size:13px}.lead-form{background:#0f0f15;border:1px solid var(--line);border-radius:25px;padding:28px}.lead-form label{display:block;color:#bcbcc6;font-size:12px;margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lead-form input,.lead-form select,.lead-form textarea{width:100%;display:block;margin-top:8px;background:#16161e;color:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 15px;outline:none;font-family:inherit}.lead-form textarea{resize:vertical}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:#735cff}.lead-form small{display:block;text-align:center;color:#777781;margin-top:12px;font-size:10px}.site-footer{padding:0 0 40px}.footer-row{display:grid;grid-template-columns:160px 1fr auto auto;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:35px;color:#777781;font-size:12px}.footer-row img{width:130px}.footer-row p{margin:0}.footer-links{display:flex;gap:20px}.footer-links a{color:#92929d}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:991px){.navbar-collapse{background:#111118;padding:20px;border-radius:18px;border:1px solid var(--line)}.hero-section .min-vh-100{min-height:auto!important;padding-top:170px!important;padding-bottom:120px!important}.display-title{font-size:58px}.section{padding:90px 0}.section-heading{display:block}.section-heading>p{margin-top:20px}.work-grid{grid-template-columns:1fr}.project-large{grid-row:auto}.project-large .project-image,.project-image{height:460px}.process-item div{grid-template-columns:240px 1fr}.about-panel,.cta-panel{padding:44px}.footer-row{grid-template-columns:1fr 1fr}.footer-links{justify-content:flex-end}}@media(max-width:767px){.display-title{font-size:45px}.hero-copy{font-size:17px}.trust-row{gap:22px}.strip-inner{justify-content:flex-start}.section{padding:72px 0}.section-heading h2,.process-section h2,.about-section h2,.cta-section h2{font-size:40px}.service-card{min-height:280px}.service-index{margin-bottom:40px}.project-large .project-image,.project-image{height:340px}.project-meta{display:block}.project-meta p{text-align:left;margin-top:10px}.process-item{grid-template-columns:48px 1fr}.process-item div{display:block}.process-item h3{font-size:25px;margin-bottom:8px}.about-panel,.cta-panel{padding:28px;border-radius:28px}.benefit-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.footer-row{grid-template-columns:1fr;gap:14px}.footer-links{justify-content:flex-start;flex-wrap:wrap}.scroll-cue{display:none}}


/* Fingser Light Signature Theme — preserves the original soft multicolour background */
:root{--bg:#fbfafc;--panel:#ffffff;--panel2:#f7f6fa;--text:#27252c;--muted:#716d79;--line:rgba(45,38,55,.10);--violet:#6b4eff;--pink:#e64f9b;--cyan:#31b8d8;--yellow:#e6b72c}
body{background:#fbfafc;color:var(--text)}
.site-header{background:rgba(255,255,255,.68);border-bottom:1px solid transparent;box-shadow:none}.site-header.scrolled{background:rgba(255,255,255,.91);border-color:rgba(45,38,55,.08);box-shadow:0 10px 35px rgba(56,42,72,.05)}
.nav-link{color:#514d58!important}.nav-link:hover{color:#17151b!important}.navbar-brand img{width:150px}.navbar-toggler{border-color:rgba(45,38,55,.12)}
.btn-primary{color:#fff;background:linear-gradient(110deg,#7255ff,#e957a0);box-shadow:0 12px 30px rgba(111,79,255,.18)}.btn-ghost{color:#37323d;background:rgba(255,255,255,.68);border:1px solid rgba(45,38,55,.12);box-shadow:0 8px 25px rgba(55,43,70,.04)}.btn-ghost:hover{color:#17151b;background:#fff;border-color:rgba(111,79,255,.22)}
.hero-section{background-image:linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)),url('../images/banner-bg.jpg');background-position:center;background-size:cover;background-repeat:no-repeat}.hero-grid{background-image:linear-gradient(rgba(255,255,255,.44) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.44) 1px,transparent 1px);opacity:.42;mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 90%)}
.eyebrow,.section-kicker{color:#755ed4}.display-title{color:#29262e}.gradient-text{background:linear-gradient(105deg,#6f4cff 5%,#db4eaa 40%,#f09b50 72%,#6f4cff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{color:#68636e}.trust-row strong{color:#2d2932}.trust-row span{color:#7d7782}.glow{opacity:.18}.device-card{background:#fff;border:1px solid rgba(255,255,255,.85);box-shadow:0 35px 80px rgba(75,53,92,.18)}.floating-badge{color:#49434f;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.9);box-shadow:0 12px 35px rgba(65,45,85,.10)}.badge-ai{color:#9d397f}.scroll-cue{color:#817a86}.scroll-cue span{color:#4f4855}
.logo-strip{background:rgba(255,255,255,.72);border-color:rgba(45,38,55,.08)}.strip-inner{color:#918b96}.strip-inner b{color:#55505b}
.section{background:transparent}.section-heading h2,.process-section h2,.about-section h2,.cta-section h2{color:#2b2830}.section-heading>p,.lead-muted{color:#77717c}
.service-card{background:rgba(255,255,255,.78);border-color:rgba(45,38,55,.09);box-shadow:0 15px 45px rgba(63,48,78,.045)}.service-card:hover{background:#fff;border-color:rgba(111,79,255,.20);box-shadow:0 22px 60px rgba(63,48,78,.09)}.service-index{color:#a29ba7}.service-card h3{color:#302c34}.service-card p{color:#746e79}.chip-row span{color:#6c6572;border-color:rgba(45,38,55,.10);background:#faf9fc}
.work-section{background:linear-gradient(180deg,#faf9fc,#f4f2f7)}.project-card{background:#fff;border-color:rgba(45,38,55,.09);box-shadow:0 18px 50px rgba(57,43,70,.06)}.project-image.dark{background:linear-gradient(145deg,#f0edf6,#faf9fc)}.project-image.light{background:#f4f3f6}.project-meta span{color:#8d8493}.project-meta h3{color:#302c34}.project-meta p{color:#817a86}
.process-section{background:linear-gradient(180deg,#fff,#f9f7fb)}.process-list,.process-item{border-color:rgba(45,38,55,.09)}.process-item>span{color:#846bd5}.process-item h3{color:#302c34}.process-item p{color:#77717c}
.about-section{background-image:linear-gradient(rgba(255,255,255,.80),rgba(255,255,255,.80)),url('../images/aboutus-layer.png');background-size:cover;background-position:center}.about-panel{background:rgba(255,255,255,.80);border-color:rgba(45,38,55,.09);box-shadow:0 24px 70px rgba(61,45,76,.07);backdrop-filter:blur(12px)}.text-link{color:#4d36b7;border-color:#c8bfec}.benefit-grid>div{background:rgba(250,249,252,.82);border-color:rgba(45,38,55,.09)}.benefit-grid strong{color:#302c34}.benefit-grid span{color:#77717c}
.cta-section{background:#fbfafc}.cta-panel{background-image:linear-gradient(rgba(255,255,255,.68),rgba(255,255,255,.68)),url('../images/banner-bg.jpg');background-size:cover;background-position:center;border-color:rgba(45,38,55,.09);box-shadow:0 25px 75px rgba(64,46,81,.08)}.cta-panel>p,.cta-panel .col-lg-6>p{color:#706a76}.contact-direct a{color:#342f39}.contact-direct span{color:#817a86}.lead-form{background:rgba(255,255,255,.86);border-color:rgba(45,38,55,.10);box-shadow:0 16px 45px rgba(63,48,78,.06)}.lead-form label{color:#625c68}.lead-form input,.lead-form select,.lead-form textarea{background:#fff;color:#312d35;border-color:rgba(45,38,55,.12)}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:#8068e7;box-shadow:0 0 0 3px rgba(128,104,231,.08)}.lead-form small{color:#918a96}
.site-footer{background:#fbfafc}.footer-row{border-color:rgba(45,38,55,.09);color:#8a838f}.footer-links a{color:#6d6672}
@media(max-width:991px){.navbar-collapse{background:rgba(255,255,255,.96);border-color:rgba(45,38,55,.09);box-shadow:0 18px 45px rgba(55,43,70,.08)}}

/* ===== Fingser entrance experience + living hero ===== */
body.intro-locked{overflow:hidden}
.fingser-intro{position:fixed;inset:0;z-index:9999;background-image:linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16)),url('../images/banner-bg.jpg');background-size:cover;background-position:center;display:grid;place-items:center;overflow:hidden;transition:opacity .7s ease,visibility .7s ease}
.fingser-intro.is-leaving{pointer-events:none}.fingser-intro.is-hidden{opacity:0;visibility:hidden}
.intro-touch{appearance:none;border:0;background:transparent;display:flex;align-items:center;flex-direction:column;color:#2d2932;font-family:inherit;cursor:pointer;position:relative;z-index:3;padding:40px;min-width:320px}
.intro-logo-wrap{width:min(330px,68vw);display:block;filter:drop-shadow(0 15px 28px rgba(83,55,98,.10));animation:introFloat 3s ease-in-out infinite}.intro-logo-wrap img{display:block;width:100%;height:auto}
.intro-title{font-size:clamp(26px,3vw,40px);font-weight:700;letter-spacing:-.035em;margin-top:34px}.intro-subtitle{font-size:14px;color:#77717c;margin-top:7px}.intro-hint{font-size:10px;letter-spacing:.18em;font-weight:700;color:#8c8392;margin-top:18px}
.touch-orb{width:74px;height:74px;border-radius:50%;margin-top:32px;display:grid;place-items:center;position:relative;background:rgba(255,255,255,.65);box-shadow:0 15px 50px rgba(70,45,88,.12),inset 0 0 0 1px rgba(255,255,255,.85)}.touch-orb:before,.touch-orb:after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(111,76,255,.24);animation:touchPulse 2s ease-out infinite}.touch-orb:after{animation-delay:1s}.touch-orb span{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#7150ff,#df50a7,#ef9c4d,#42bad3);box-shadow:0 4px 16px rgba(111,76,255,.24)}
.ripple-stage{position:absolute;inset:0;pointer-events:none;z-index:2}.fingser-ripple{position:absolute;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;border:3px solid var(--ripple);box-shadow:0 0 45px color-mix(in srgb,var(--ripple) 48%,transparent);opacity:.85;transform:scale(.2);animation:fingserRipple 1.15s cubic-bezier(.12,.65,.24,1) forwards}.fingser-ripple.fill{border:0;background:radial-gradient(circle,rgba(255,255,255,.12) 0,rgba(255,255,255,.18) 12%,rgba(116,80,255,.22) 30%,rgba(227,81,163,.20) 48%,rgba(244,164,73,.16) 66%,rgba(59,190,214,.12) 82%,transparent 100%);width:100px;height:100px;margin:-50px 0 0 -50px;mix-blend-mode:multiply;animation:fingserRippleFill 1.2s ease-out forwards}
@keyframes introFloat{50%{transform:translateY(-7px)}}@keyframes touchPulse{0%{transform:scale(.82);opacity:.55}100%{transform:scale(1.75);opacity:0}}@keyframes fingserRipple{0%{transform:scale(.2);opacity:.9}100%{transform:scale(48);opacity:0}}@keyframes fingserRippleFill{0%{transform:scale(.2);opacity:.8}100%{transform:scale(24);opacity:0}}
.hero-section{min-height:100vh;position:relative;overflow:hidden;padding-bottom:118px}.hero-slider{position:relative;min-height:100vh}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .75s ease,visibility .75s ease}.hero-slide.active{position:relative;opacity:1;visibility:visible;pointer-events:auto}.hero-slide-copy>*{opacity:0;transform:translateY(24px)}.hero-slide.active .hero-slide-copy>*{animation:heroCopyIn .7s ease forwards}.hero-slide.active .hero-slide-copy>*:nth-child(2){animation-delay:.08s}.hero-slide.active .hero-slide-copy>*:nth-child(3){animation-delay:.16s}.hero-slide.active .hero-slide-copy>*:nth-child(4){animation-delay:.24s}@keyframes heroCopyIn{to{opacity:1;transform:none}}
.hero-art{height:610px;position:relative}.art-halo{position:absolute;width:430px;height:430px;border-radius:50%;right:0;top:90px;background:radial-gradient(circle at 34% 32%,rgba(255,255,255,.95),rgba(111,76,255,.16) 30%,rgba(228,79,158,.10) 55%,transparent 72%);filter:blur(2px)}.hero-product-img{position:absolute;object-fit:contain;filter:drop-shadow(0 28px 40px rgba(74,50,91,.17));transition:transform .8s ease}.hero-img-primary{width:390px;height:470px;right:-12px;top:80px}.hero-img-secondary{width:220px;height:320px;left:2px;bottom:68px}.hero-slide.active .hero-img-primary{animation:heroArtA .9s cubic-bezier(.2,.8,.2,1) both}.hero-slide.active .hero-img-secondary{animation:heroArtB 1s .08s cubic-bezier(.2,.8,.2,1) both}@keyframes heroArtA{from{opacity:0;transform:translateX(30px) rotate(3deg) scale(.97)}to{opacity:1;transform:rotate(1.5deg)}}@keyframes heroArtB{from{opacity:0;transform:translate(-25px,20px) rotate(-5deg) scale(.95)}to{opacity:1;transform:rotate(-3deg)}}
.hero-tag{position:absolute;z-index:3;background:rgba(255,255,255,.80);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.92);box-shadow:0 15px 42px rgba(69,48,83,.10);border-radius:999px;padding:10px 16px;font-size:11px;font-weight:700;color:#554d5a}.hero-tag.tag-one{left:30px;top:118px}.hero-tag.tag-two{right:8px;bottom:85px}
.hero-controls{position:absolute;left:50%;transform:translateX(-50%);bottom:135px;z-index:8}.hero-progress{max-width:750px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.hero-dot{font-family:inherit;text-align:left;border:0;background:rgba(255,255,255,.5);backdrop-filter:blur(10px);border-radius:15px;padding:12px 14px 11px;position:relative;overflow:hidden;color:#7d7682;box-shadow:inset 0 0 0 1px rgba(45,38,55,.07);cursor:pointer;transition:.25s}.hero-dot:hover,.hero-dot.active{background:rgba(255,255,255,.86);color:#302b34}.hero-dot span{font-size:9px;letter-spacing:.1em;color:#948c99;display:block}.hero-dot b{font-size:11px;font-weight:700;display:block;margin-top:4px}.hero-dot i{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(45,38,55,.08)}.hero-dot i:after{content:"";display:block;width:0;height:100%;background:linear-gradient(90deg,#6f4cff,#dd50a7,#eea04f,#3cbcd7)}.hero-dot.active i:after{animation:heroProgress 5s linear forwards}@keyframes heroProgress{to{width:100%}}
.hero-trustbar{position:absolute;left:0;right:0;bottom:0;z-index:6;background:rgba(255,255,255,.65);backdrop-filter:blur(18px);border-top:1px solid rgba(45,38,55,.08)}.hero-trustbar .trust-row{margin:0;min-height:96px;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.hero-trustbar .trust-row>div{justify-content:center;padding:0 28px;border-right:1px solid rgba(45,38,55,.08)}.hero-trustbar .trust-row>div:last-child{border-right:0}.hero-trustbar .trust-row strong{font-size:17px}.hero-trustbar .trust-row span{font-size:10px}
@media(max-width:991px){.hero-section{padding-bottom:0}.hero-slider{min-height:780px}.hero-slide .min-vh-100{min-height:680px!important}.hero-controls{bottom:108px}.hero-progress{grid-template-columns:repeat(4,1fr);max-width:none}.hero-trustbar{position:relative}.hero-trustbar .trust-row{grid-template-columns:repeat(2,1fr);padding:16px 0}.hero-trustbar .trust-row>div{min-height:64px}.hero-dot b{font-size:10px}}
@media(max-width:767px){.intro-touch{min-width:0;width:100%;padding:24px}.hero-slider{min-height:710px}.hero-slide .min-vh-100{min-height:600px!important;padding-top:145px!important;padding-bottom:150px!important}.hero-controls{bottom:34px}.hero-progress{grid-template-columns:repeat(4,1fr);gap:6px}.hero-dot{padding:9px 7px}.hero-dot b{display:none}.hero-dot span{font-size:9px;text-align:center}.hero-trustbar{display:none}.hero-section{min-height:710px}.display-title{font-size:44px}}
@media(prefers-reduced-motion:reduce){.intro-logo-wrap,.touch-orb:before,.touch-orb:after,.hero-slide.active .hero-slide-copy>*,.hero-slide.active .hero-product-img,.hero-dot.active i:after{animation:none!important}.hero-slide.active .hero-slide-copy>*{opacity:1;transform:none}}


/* ===== V4 automatic Fingser ripple + editorial agency polish ===== */
.fingser-intro{background-image:linear-gradient(rgba(255,255,255,.10),rgba(255,255,255,.10)),url('../images/banner-bg.jpg');}
.intro-auto{position:relative;z-index:4;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:30px;}
.intro-auto .intro-logo-wrap{width:164px;opacity:0;transform:translateY(8px) scale(.97);animation:introBrandIn .7s .1s ease forwards}
.intro-auto .intro-logo-wrap img{display:block;width:100%;height:auto}
.intro-seed{position:relative;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#6f4cff 0%,#df50a7 36%,#f29e4c 68%,#39bcd6 100%);box-shadow:0 0 0 8px rgba(255,255,255,.72),0 10px 28px rgba(98,72,137,.18);animation:seedPulse 1.1s ease-in-out infinite alternate}
.intro-seed:before,.intro-seed:after,.intro-seed i:before,.intro-seed i:after{content:"";position:absolute;inset:50% auto auto 50%;width:18px;height:18px;margin:-9px;border-radius:50%;border:1.5px solid rgba(111,76,255,.34);animation:seedPreview 2.05s ease-out infinite}
.intro-seed:after{border-color:rgba(223,80,167,.30);animation-delay:.35s}.intro-seed i:before{border-color:rgba(242,158,76,.27);animation-delay:.7s}.intro-seed i:after{border-color:rgba(57,188,214,.28);animation-delay:1.05s}
@keyframes introBrandIn{to{opacity:1;transform:none}}@keyframes seedPulse{to{transform:scale(1.08)}}@keyframes seedPreview{0%{opacity:.7;transform:scale(.8)}100%{opacity:0;transform:scale(4)}}
.fingser-intro.is-leaving .intro-auto{animation:introCoreOut .9s 1.1s ease forwards}@keyframes introCoreOut{to{opacity:0;transform:scale(.96)}}
.fingser-ripple{width:34px;height:34px;margin:-17px 0 0 -17px;border-width:2px;opacity:.72;animation:fingserRippleSlow 2.05s cubic-bezier(.08,.62,.18,1) forwards}
.fingser-ripple.fill{width:90px;height:90px;margin:-45px 0 0 -45px;animation:fingserRippleFillSlow 2.15s ease-out forwards;opacity:.8}
@keyframes fingserRippleSlow{0%{opacity:.78;transform:scale(.25)}70%{opacity:.42}100%{opacity:0;transform:scale(62)}}
@keyframes fingserRippleFillSlow{0%{opacity:.15;transform:scale(.1)}52%{opacity:.58}100%{opacity:0;transform:scale(34)}}

/* A cleaner, high-end agency rhythm inspired by the reference without copying it. */
.site-header{background:rgba(255,255,255,.30)}
.site-header.scrolled{background:rgba(255,255,255,.88);box-shadow:0 8px 30px rgba(74,59,88,.06)}
.hero-section{background-image:linear-gradient(rgba(255,255,255,.22),rgba(255,255,255,.22)),url('../images/banner-bg.jpg')}
.hero-slide .container-xl{max-width:1320px}
.hero-slide-copy{max-width:760px}
.display-title{font-size:clamp(58px,7.2vw,104px);line-height:.93;letter-spacing:-.072em;font-weight:750}
.hero-copy{max-width:650px;font-size:18px;line-height:1.62;color:#625b66}
.eyebrow{font-size:11px;letter-spacing:.16em;padding:8px 12px;border:1px solid rgba(111,76,255,.15);background:rgba(255,255,255,.58);border-radius:999px}
.hero-art{height:650px}
.hero-progress{max-width:850px;gap:10px}
.hero-dot{border-radius:12px;padding:13px 14px 12px;background:rgba(255,255,255,.58)}
.hero-dot.active{box-shadow:0 10px 28px rgba(68,51,84,.08),inset 0 0 0 1px rgba(45,38,55,.06)}
.logo-strip{background:#fff;border-color:rgba(43,35,48,.08)}
.strip-inner{min-height:92px}
.section{padding:138px 0}
.section-heading h2,.process-section h2,.about-section h2,.cta-section h2{font-size:clamp(46px,5.4vw,78px);line-height:.98;letter-spacing:-.058em}
.service-card{background:#fff;border-color:rgba(45,38,55,.08);box-shadow:0 14px 40px rgba(81,64,91,.05);border-radius:22px}
.service-card:hover{box-shadow:0 24px 55px rgba(81,64,91,.09)}
.work-section,.process-section{background:#fff}
.project-card{background:#fff;border-color:rgba(45,38,55,.08);box-shadow:0 15px 44px rgba(77,60,88,.06)}
.project-image.dark{background:linear-gradient(145deg,#f1ecf7,#f8f4fb)}
.about-panel{background:linear-gradient(135deg,rgba(250,246,252,.96),rgba(243,239,249,.96));border-color:rgba(45,38,55,.08);box-shadow:0 24px 70px rgba(83,63,95,.07)}
.text-link{color:#332d39;border-bottom-color:rgba(51,45,57,.25)}
.benefit-grid>div{background:#fff;border-color:rgba(45,38,55,.08)}
.cta-panel{background:radial-gradient(circle at 92% 5%,rgba(223,80,167,.10),transparent 34%),radial-gradient(circle at 8% 92%,rgba(111,76,255,.12),transparent 34%),#fbfafc;border-color:rgba(45,38,55,.08);box-shadow:0 26px 80px rgba(75,57,90,.08)}
.lead-form{background:#fff;border-color:rgba(45,38,55,.08);box-shadow:0 18px 55px rgba(83,65,97,.06)}
.lead-form label{color:#5f5863}.lead-form input,.lead-form select,.lead-form textarea{background:#fbfafc;color:#2d2932;border-color:rgba(45,38,55,.10)}
.contact-direct a{color:#302a35}.contact-direct span{color:#746d78}
@media(max-width:767px){.display-title{font-size:48px}.section{padding:84px 0}.intro-auto .intro-logo-wrap{width:138px}}

/* ===== V5 soft capacitive-touch ripple ===== */
.intro-seed{
  width:14px;height:14px;
  box-shadow:0 0 0 10px rgba(255,255,255,.58),0 8px 26px rgba(98,72,137,.12);
  animation:softSeedBreath 2.2s ease-in-out infinite;
}
.intro-seed:before,.intro-seed:after,.intro-seed i:before,.intro-seed i:after{
  width:30px;height:30px;margin:-15px;
  border-width:1px;
  filter:blur(.15px);
  animation:softSeedPreview 3.4s cubic-bezier(.22,.61,.36,1) infinite;
}
.intro-seed:after{animation-delay:.85s}.intro-seed i:before{animation-delay:1.7s}.intro-seed i:after{animation-delay:2.55s}
@keyframes softSeedBreath{0%,100%{transform:scale(.96);opacity:.92}50%{transform:scale(1.05);opacity:1}}
@keyframes softSeedPreview{0%{opacity:0;transform:scale(.65)}16%{opacity:.28}100%{opacity:0;transform:scale(3.1)}}

.fingser-ripple{
  width:72px;height:72px;margin:-36px 0 0 -36px;
  border-width:1.2px;
  opacity:0;
  box-shadow:0 0 28px color-mix(in srgb,var(--ripple) 16%,transparent);
  filter:blur(.2px);
  animation:softTouchRipple 3.7s cubic-bezier(.22,.61,.36,1) forwards;
}
.fingser-ripple.fill{
  width:150px;height:150px;margin:-75px 0 0 -75px;
  background:radial-gradient(circle,rgba(255,255,255,.02) 0%,rgba(111,76,255,.045) 23%,rgba(223,80,167,.038) 42%,rgba(242,158,76,.03) 60%,rgba(57,188,214,.025) 76%,transparent 100%);
  mix-blend-mode:normal;
  filter:blur(10px);
  opacity:0;
  animation:softTouchWash 4.0s cubic-bezier(.22,.61,.36,1) forwards;
}
@keyframes softTouchRipple{
  0%{opacity:0;transform:scale(.35)}
  10%{opacity:.34}
  58%{opacity:.20}
  100%{opacity:0;transform:scale(38)}
}
@keyframes softTouchWash{
  0%{opacity:0;transform:scale(.25)}
  20%{opacity:.34}
  72%{opacity:.18}
  100%{opacity:0;transform:scale(18)}
}
.fingser-intro{transition:opacity 1.15s ease,visibility 1.15s ease}
.fingser-intro.is-leaving .intro-auto{animation:introCoreOut 1.25s 2.15s ease forwards}


/* ===== V6 connected ocean-wave entrance ===== */
/* One continuous surface rather than separate impact rings. */
.ripple-stage{overflow:hidden;isolation:isolate}
.ocean-wave-field{
  position:absolute;
  left:50%;top:50%;
  width:190vmax;height:190vmax;
  margin-left:-95vmax;margin-top:-95vmax;
  border-radius:50%;
  opacity:0;
  transform:scale(.015);
  transform-origin:center;
  will-change:transform,opacity,filter;
  filter:blur(8px) saturate(1.08) hue-rotate(0deg);
  background:
    repeating-radial-gradient(circle at center,
      rgba(111,76,255,.00) 0vmax,
      rgba(111,76,255,.09) 2.3vmax,
      rgba(223,80,167,.12) 5.6vmax,
      rgba(242,158,76,.10) 9.2vmax,
      rgba(57,188,214,.08) 12.8vmax,
      rgba(255,255,255,.03) 16.2vmax,
      rgba(111,76,255,.00) 20vmax
    );
  animation:oceanTravel 5.8s cubic-bezier(.20,.64,.22,1) forwards;
}
.ocean-wave-field::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at center,
    rgba(255,255,255,.70) 0 1.2%,
    rgba(111,76,255,.13) 4%,
    rgba(223,80,167,.10) 13%,
    rgba(242,158,76,.08) 25%,
    rgba(57,188,214,.07) 39%,
    rgba(255,255,255,0) 58%);
  filter:blur(18px);
  animation:oceanChromatic 5.8s ease-in-out forwards;
}
.ocean-wave-field::after{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:repeating-radial-gradient(circle at center,
    transparent 0 5.5%,
    rgba(255,255,255,.34) 6.2%,
    rgba(255,255,255,.08) 7.1%,
    transparent 8.7% 13.5%);
  opacity:.42;
  filter:blur(6px);
  animation:oceanUndulate 5.8s cubic-bezier(.22,.61,.36,1) forwards;
}
.ocean-color-wash{
  position:absolute;inset:-12%;
  opacity:0;
  background:
    radial-gradient(circle at 50% 50%,rgba(111,76,255,.10),transparent 28%),
    radial-gradient(circle at 40% 54%,rgba(223,80,167,.08),transparent 35%),
    radial-gradient(circle at 58% 46%,rgba(242,158,76,.07),transparent 40%),
    radial-gradient(circle at 50% 50%,rgba(57,188,214,.06),transparent 55%);
  filter:blur(38px) hue-rotate(0deg);
  animation:oceanWash 5.8s ease-in-out forwards;
}
@keyframes oceanTravel{
  0%{opacity:0;transform:scale(.015);filter:blur(14px) saturate(1.02) hue-rotate(0deg)}
  10%{opacity:.58}
  36%{opacity:.78;filter:blur(9px) saturate(1.12) hue-rotate(20deg)}
  68%{opacity:.56;filter:blur(7px) saturate(1.16) hue-rotate(62deg)}
  100%{opacity:0;transform:scale(1);filter:blur(10px) saturate(1.05) hue-rotate(118deg)}
}
@keyframes oceanChromatic{
  0%{opacity:.52;filter:blur(20px) hue-rotate(0deg)}
  42%{opacity:.68;filter:blur(24px) hue-rotate(38deg)}
  78%{opacity:.38;filter:blur(28px) hue-rotate(82deg)}
  100%{opacity:0;filter:blur(34px) hue-rotate(130deg)}
}
@keyframes oceanUndulate{
  0%{transform:scale(.92);opacity:.20}
  28%{transform:scale(1.015);opacity:.48}
  58%{transform:scale(.985);opacity:.36}
  84%{transform:scale(1.01);opacity:.20}
  100%{transform:scale(1);opacity:0}
}
@keyframes oceanWash{
  0%{opacity:0;filter:blur(44px) hue-rotate(0deg)}
  20%{opacity:.42}
  55%{opacity:.34;filter:blur(40px) hue-rotate(55deg)}
  82%{opacity:.18;filter:blur(46px) hue-rotate(100deg)}
  100%{opacity:0;filter:blur(50px) hue-rotate(140deg)}
}
/* Keep the centre contact point subtle while the broad surface moves out. */
.intro-seed{animation:softSeedBreath 2.6s ease-in-out infinite}
.intro-seed:before,.intro-seed:after,.intro-seed i:before,.intro-seed i:after{display:none}
.fingser-intro{transition:opacity 1.25s ease,visibility 1.25s ease}
.fingser-intro.is-leaving .intro-auto{animation:introCoreOut 1.4s 3.45s ease forwards}
@media(max-width:767px){
  .ocean-wave-field{width:210vmax;height:210vmax;margin-left:-105vmax;margin-top:-105vmax}
}


/* ===== V7 richer Fingser ocean + logo handoff ===== */
/* The wave stays connected, but carries a fuller Fingser spectrum while it travels. */
.ocean-wave-field{
  background:
    repeating-radial-gradient(circle at center,
      rgba(99,71,255,0) 0vmax,
      rgba(99,71,255,.11) 2.2vmax,
      rgba(170,72,235,.11) 4.5vmax,
      rgba(229,72,162,.12) 6.8vmax,
      rgba(248,105,105,.105) 9.2vmax,
      rgba(247,169,64,.11) 11.6vmax,
      rgba(225,205,61,.085) 14.0vmax,
      rgba(91,194,121,.085) 16.4vmax,
      rgba(54,190,202,.095) 18.8vmax,
      rgba(63,137,235,.095) 21.2vmax,
      rgba(255,255,255,.025) 23.5vmax,
      rgba(99,71,255,0) 26vmax
    );
  animation:oceanTravelV7 5.95s cubic-bezier(.20,.64,.22,1) forwards;
}
.ocean-wave-field::before{
  background:radial-gradient(circle at center,
    rgba(255,255,255,.72) 0 1%,
    rgba(99,71,255,.13) 5%,
    rgba(170,72,235,.105) 11%,
    rgba(229,72,162,.10) 18%,
    rgba(248,105,105,.085) 26%,
    rgba(247,169,64,.08) 34%,
    rgba(225,205,61,.06) 42%,
    rgba(91,194,121,.06) 49%,
    rgba(54,190,202,.065) 56%,
    rgba(63,137,235,.06) 63%,
    rgba(255,255,255,0) 72%);
  animation:oceanChromaticV7 5.95s ease-in-out forwards;
}
.ocean-color-wash{
  background:
    radial-gradient(circle at 48% 50%,rgba(99,71,255,.10),transparent 24%),
    radial-gradient(circle at 42% 53%,rgba(229,72,162,.085),transparent 31%),
    radial-gradient(circle at 55% 47%,rgba(248,105,105,.07),transparent 35%),
    radial-gradient(circle at 58% 52%,rgba(247,169,64,.07),transparent 40%),
    radial-gradient(circle at 45% 47%,rgba(91,194,121,.055),transparent 45%),
    radial-gradient(circle at 52% 50%,rgba(54,190,202,.065),transparent 53%),
    radial-gradient(circle at 50% 50%,rgba(63,137,235,.055),transparent 60%);
  animation:oceanWashV7 5.95s ease-in-out forwards;
}
@keyframes oceanTravelV7{
  0%{opacity:0;transform:scale(.015);filter:blur(15px) saturate(1.03) hue-rotate(0deg)}
  10%{opacity:.56}
  34%{opacity:.78;filter:blur(9px) saturate(1.13) hue-rotate(8deg)}
  66%{opacity:.60;filter:blur(7px) saturate(1.17) hue-rotate(24deg)}
  86%{opacity:.34;filter:blur(8px) saturate(1.12) hue-rotate(38deg)}
  100%{opacity:0;transform:scale(1);filter:blur(11px) saturate(1.05) hue-rotate(50deg)}
}
@keyframes oceanChromaticV7{
  0%{opacity:.50;filter:blur(20px) hue-rotate(0deg)}
  38%{opacity:.69;filter:blur(23px) hue-rotate(10deg)}
  72%{opacity:.42;filter:blur(27px) hue-rotate(26deg)}
  100%{opacity:0;filter:blur(34px) hue-rotate(48deg)}
}
@keyframes oceanWashV7{
  0%{opacity:0;filter:blur(44px) saturate(1.05)}
  20%{opacity:.44}
  55%{opacity:.36;filter:blur(40px) saturate(1.13)}
  82%{opacity:.20;filter:blur(45px) saturate(1.08)}
  100%{opacity:0;filter:blur(50px) saturate(1.02)}
}
/* No centre dot: the logo itself is the calm focal point. */
.intro-seed{display:none!important}
/* Keep the intro brand steady until the handoff begins. */
.fingser-intro.is-leaving .intro-auto{animation:none}
.navbar-brand img{transition:opacity .28s ease}
body.intro-locked .navbar-brand img{opacity:0}
.fingser-logo-flight{
  position:fixed;left:0;top:0;z-index:10001;pointer-events:none;
  transform-origin:top left;will-change:transform,width,height,opacity;
}
.fingser-logo-flight img{display:block;width:100%;height:100%;object-fit:contain}
.intro-logo-wrap.logo-handoff-source{opacity:0!important}

/* ===== V8 wave-reveal handoff =====
   The page is revealed progressively from the centre, following the ocean wave.
   The intro container stays transparent; only its backdrop dissolves radially so
   the live hero/banner underneath appears as the colour wave travels outward. */
@property --fingserReveal {
  syntax: '<length-percentage>';
  inherits: false;
  initial-value: 0%;
}
.fingser-intro{
  background:none!important;
  isolation:isolate;
}
.fingser-intro::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.10),rgba(255,255,255,.10)),url('../images/banner-bg.jpg');
  background-size:cover;
  background-position:center;
  --fingserReveal:0%;
  -webkit-mask-image:radial-gradient(circle at 50% 50%,
    transparent 0,
    transparent var(--fingserReveal),
    rgba(0,0,0,.12) calc(var(--fingserReveal) + 3%),
    rgba(0,0,0,.48) calc(var(--fingserReveal) + 7%),
    #000 calc(var(--fingserReveal) + 13%));
  mask-image:radial-gradient(circle at 50% 50%,
    transparent 0,
    transparent var(--fingserReveal),
    rgba(0,0,0,.12) calc(var(--fingserReveal) + 3%),
    rgba(0,0,0,.48) calc(var(--fingserReveal) + 7%),
    #000 calc(var(--fingserReveal) + 13%));
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}
.fingser-intro.is-leaving::before{
  animation:fingserWaveReveal 5.85s cubic-bezier(.20,.64,.22,1) forwards;
}
@keyframes fingserWaveReveal{
  0%{--fingserReveal:0%;filter:saturate(1) brightness(1)}
  10%{--fingserReveal:2%}
  30%{--fingserReveal:14%;filter:saturate(.98) brightness(1.01)}
  52%{--fingserReveal:33%}
  72%{--fingserReveal:58%;filter:saturate(.94) brightness(1.015)}
  88%{--fingserReveal:82%}
  100%{--fingserReveal:118%;filter:saturate(.92) brightness(1.02)}
}
/* A very light glass veil softens the boundary, making the underlying page
   seem to dilute into view rather than getting cut out by a hard circle. */
.fingser-intro::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.20;
  background:radial-gradient(circle at 50% 50%,
    rgba(255,255,255,0) 0 10%,
    rgba(255,255,255,.16) 30%,
    rgba(255,255,255,.30) 66%,
    rgba(255,255,255,.42) 100%);
  transition:opacity 1s ease;
}
.fingser-intro.is-leaving::after{animation:fingserVeilDilute 5.75s ease-out forwards}
@keyframes fingserVeilDilute{
  0%{opacity:.22}
  24%{opacity:.18}
  52%{opacity:.11}
  78%{opacity:.05}
  100%{opacity:0}
}
/* Keep wave and logo above the dissolving backdrop. */
.ripple-stage{z-index:2}
.intro-auto{z-index:4}
/* Let the live hero underneath already have a little presence as it is uncovered. */
body.intro-locked .hero-slide.active .hero-slide-copy,
body.intro-locked .hero-slide.active .hero-art{filter:blur(2px);opacity:.92;transition:filter 1.2s ease,opacity 1.2s ease}
body:not(.intro-locked) .hero-slide.active .hero-slide-copy,
body:not(.intro-locked) .hero-slide.active .hero-art{filter:none;opacity:1}
@media(prefers-reduced-motion:reduce){
  .fingser-intro.is-leaving::before{animation-duration:1.4s}
  .fingser-intro.is-leaving::after{animation-duration:1.4s}
}


/* V9 — hero typing synced to the 5-second banner timer */
.typing-title{min-height:1.9em;position:relative}
.typing-title .typing-plain,.typing-title .typing-gradient{white-space:pre-wrap}
.typing-caret{display:inline-block;width:.075em;height:.78em;margin-left:.08em;vertical-align:-.04em;border-radius:999px;background:linear-gradient(180deg,#6f4cff,#dd50a7,#eea04f,#3cbcd7);animation:typingCaretBlink .72s steps(1,end) infinite}
.typing-title.typing-done .typing-caret{animation:typingCaretFade .45s ease forwards}
@keyframes typingCaretBlink{0%,48%{opacity:1}49%,100%{opacity:.12}}
@keyframes typingCaretFade{to{opacity:0;transform:translateY(4px)}}
@media(max-width:767px){.typing-title{min-height:2.35em}}
@media(prefers-reduced-motion:reduce){.typing-caret{display:none}}

/* V10 — tighter OpenXcell-inspired type proportions + safer typing layout */
.display-title{font-size:clamp(44px,5.45vw,76px);line-height:1.03;letter-spacing:-.052em;max-width:780px;overflow:visible;word-break:normal;overflow-wrap:normal}
.hero-slide-copy{overflow:visible;padding-right:18px}
.typing-title{min-height:2.08em;white-space:normal}
@media (max-width:991.98px){.display-title{font-size:clamp(42px,8vw,64px);max-width:720px}.typing-title{min-height:2.12em}}
@media (max-width:575.98px){.display-title{font-size:clamp(36px,11vw,50px);line-height:1.06;letter-spacing:-.045em}.typing-title{min-height:3.18em}.hero-copy{font-size:17px}}

/* V11 — premium generated product visuals for the four hero boards */
.hero-reference-art{height:650px;position:relative;display:flex;align-items:center;justify-content:center;padding:44px 0 34px 24px;isolation:isolate}
.hero-reference-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.98) 0%,rgba(128,95,255,.18) 33%,rgba(255,119,178,.13) 52%,rgba(91,220,233,.10) 68%,transparent 75%);filter:blur(18px);z-index:-1;animation:heroGlowFloat 6s ease-in-out infinite alternate}
.hero-reference-art img{width:112%;max-width:none;height:560px;object-fit:cover;object-position:center;border-radius:36px;box-shadow:0 32px 80px rgba(68,48,92,.15),0 8px 28px rgba(95,73,134,.10);mix-blend-mode:multiply;filter:saturate(1.03) contrast(1.01);mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 95%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 95%,transparent 100%)}
.hero-slide.active .hero-reference-art img{animation:heroRefIn 1.05s cubic-bezier(.2,.8,.2,1) both}
.hero-slide.active .hero-reference-glow{animation:heroRefGlowIn 1.25s ease both,heroGlowFloat 6s 1.25s ease-in-out infinite alternate}
@keyframes heroRefIn{from{opacity:0;transform:translateX(34px) scale(.965);filter:saturate(.92) blur(3px)}to{opacity:1;transform:none;filter:saturate(1.03) blur(0)}}
@keyframes heroRefGlowIn{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}
@keyframes heroGlowFloat{from{transform:translate3d(-6px,-5px,0) scale(.98)}to{transform:translate3d(8px,7px,0) scale(1.03)}}
.hero-reference-art .hero-tag{z-index:3;box-shadow:0 12px 30px rgba(91,68,126,.10)}
.hero-reference-art .tag-one{left:34px;top:105px}.hero-reference-art .tag-two{right:-8px;bottom:106px}
body.intro-locked .hero-slide.active .hero-reference-art{filter:blur(2px);opacity:.92;transition:filter 1.2s ease,opacity 1.2s ease}
body:not(.intro-locked) .hero-slide.active .hero-reference-art{filter:none;opacity:1}
@media(max-width:1199px){.hero-reference-art img{width:108%;height:520px}.hero-reference-art{height:610px}.hero-reference-art .tag-two{right:4px}}
@media(prefers-reduced-motion:reduce){.hero-slide.active .hero-reference-art img,.hero-slide.active .hero-reference-glow{animation:none!important}}


/* V11 refinement: medium navigation + compact hero proof content */
.site-header .nav-link{
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: #11172f;
  padding-left: .65rem !important;
  padding-right: .65rem !important;
}
.site-header .nav-link:hover{ color:#5d46f7; }
.site-header .btn.btn-sm{
  font-size: 14px;
  font-weight: 600;
  padding: .72rem 1.15rem;
}
.site-header .btn.btn-sm span{ margin-left:.35rem; }

.hero-proof-row{
  display:flex;
  align-items:stretch;
  flex-wrap:wrap;
  gap:0;
  margin-top:2rem;
  max-width:690px;
}
.hero-proof-row > div{
  display:flex;
  flex-direction:column;
  gap:.15rem;
  min-width:145px;
  padding:0 1.25rem;
  border-left:1px solid rgba(40,42,80,.13);
}
.hero-proof-row > div:first-child{
  padding-left:0;
  border-left:0;
}
.hero-proof-row strong{
  font-size:1.02rem;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.025em;
  color:#4d39f4;
}
.hero-proof-row span{
  font-size:.76rem;
  line-height:1.35;
  color:#69708d;
  white-space:nowrap;
}
@media (max-width: 991.98px){
  .site-header .nav-link{font-size:16px;padding:.75rem 0 !important;}
  .hero-proof-row{margin-top:1.5rem;}
}
@media (max-width: 575.98px){
  .hero-proof-row{row-gap:1rem;}
  .hero-proof-row > div{
    min-width:50%;
    padding-left:0;
    border-left:0;
  }
  .hero-proof-row span{white-space:normal;}
}

/* V11 What We Do — service icon system */
.service-index{position:absolute;right:28px;top:27px;margin:0;color:#aaa3af;font-size:11px;font-weight:600;letter-spacing:.08em}
.service-icon{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;margin:2px 0 30px;background:linear-gradient(145deg,rgba(111,76,255,.09),rgba(60,188,215,.07) 55%,rgba(242,158,76,.08));border:1px solid rgba(111,76,255,.10);box-shadow:0 10px 28px rgba(75,58,91,.06);transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease}
.service-icon svg{width:36px;height:36px;fill:none;stroke:#433a50;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-icon svg .accent{stroke:url(#none);stroke:#7658f6}
.service-icon svg .accent-fill{fill:#7658f6;stroke:none}
.service-card:hover .service-icon{transform:translateY(-4px) rotate(-2deg) scale(1.04);box-shadow:0 16px 34px rgba(93,68,120,.11)}
.service-card:nth-child(1) .service-icon,.col-xl-4:nth-child(1) .service-icon{background:linear-gradient(145deg,rgba(70,205,208,.13),rgba(92,111,255,.08))}
.col-xl-4:nth-child(2) .service-icon{background:linear-gradient(145deg,rgba(98,213,146,.14),rgba(83,191,219,.08))}
.col-xl-4:nth-child(3) .service-icon{background:linear-gradient(145deg,rgba(245,103,155,.12),rgba(242,158,76,.12))}
.col-xl-4:nth-child(4) .service-icon{background:linear-gradient(145deg,rgba(111,76,255,.12),rgba(223,80,167,.10))}
.col-xl-4:nth-child(5) .service-icon{background:linear-gradient(145deg,rgba(223,80,167,.12),rgba(111,76,255,.10),rgba(60,188,215,.08))}
.col-xl-4:nth-child(6) .service-icon{background:linear-gradient(145deg,rgba(60,188,215,.13),rgba(111,76,255,.08))}
@media(max-width:767px){.service-icon{width:58px;height:58px;border-radius:17px;margin-bottom:24px}.service-icon svg{width:31px;height:31px}}


/* V11 — refined What We Do */
.services-refined{
  position:relative;
  overflow:hidden;
}
.services-refined::before{
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  left:-260px;
  top:90px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(111,78,255,.09),rgba(255,116,174,.035) 42%,transparent 70%);
  pointer-events:none;
}
.services-intro{margin-bottom:2.25rem}
.services-intro h2{
  margin:.75rem 0 0;
  max-width:880px;
  font-size:clamp(2.45rem,4.6vw,4.75rem);
  line-height:.99;
  letter-spacing:-.055em;
}
.services-intro p{
  margin:0 0 .35rem;
  color:#69708d;
  font-size:1rem;
  line-height:1.75;
}
.services-grid > div:nth-child(2) .reveal{transition-delay:.06s}
.services-grid > div:nth-child(3) .reveal{transition-delay:.12s}
.services-grid > div:nth-child(4) .reveal{transition-delay:.06s}
.services-grid > div:nth-child(5) .reveal{transition-delay:.12s}
.services-grid > div:nth-child(6) .reveal{transition-delay:.18s}

.service-card-refined{
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  min-height:365px;
  padding:1.65rem;
  overflow:hidden;
  border:1px solid rgba(70,70,120,.10);
  border-radius:26px;
  background:rgba(255,255,255,.78);
  box-shadow:0 16px 50px rgba(66,54,118,.07);
  transition:box-shadow .45s ease,border-color .45s ease,transform .45s cubic-bezier(.2,.8,.2,1);
}
.service-card-refined::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-55% -30%;
  background:linear-gradient(110deg,
    transparent 25%,
    rgba(111,78,255,.10) 39%,
    rgba(255,85,157,.10) 49%,
    rgba(255,179,71,.09) 58%,
    rgba(66,216,205,.09) 67%,
    transparent 78%);
  transform:translateX(-65%) rotate(8deg);
  transition:transform .8s cubic-bezier(.2,.75,.2,1);
}
.service-card-refined:hover{
  transform:translateY(-3px);
  border-color:rgba(105,78,255,.18);
  box-shadow:0 24px 65px rgba(66,54,118,.12);
}
.service-card-refined:hover::before{transform:translateX(48%) rotate(8deg)}
.service-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:2.15rem;
}
.service-card-refined .service-icon{
  width:72px;
  height:72px;
  border-radius:23px;
  transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease;
}
.service-card-refined:hover .service-icon{
  transform:translateY(-3px) rotate(-3deg) scale(1.035);
  box-shadow:0 12px 28px rgba(90,70,180,.14);
}
.service-card-refined .service-index{
  position:static;
  font-size:.77rem;
  font-weight:700;
  letter-spacing:.13em;
  color:#a2a4b7;
}
.service-card-refined h3{
  margin:0 0 .85rem;
  max-width:290px;
  font-size:1.38rem;
  line-height:1.18;
  letter-spacing:-.035em;
}
.service-card-refined > p{
  margin:0;
  color:#6a7089;
  line-height:1.65;
  max-width:330px;
}
.service-card-bottom{
  margin-top:auto;
  padding-top:1.6rem;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
}
.service-card-refined .chip-row{margin:0;gap:.38rem}
.service-card-refined .chip-row span{
  padding:.36rem .58rem;
  font-size:.68rem;
  background:rgba(248,248,253,.85);
}
.service-explore{
  flex:0 0 auto;
  color:#5641f4;
  text-decoration:none;
  font-size:.82rem;
  font-weight:700;
  white-space:nowrap;
}
.service-explore span{
  display:inline-block;
  margin-left:.28rem;
  transition:transform .3s ease;
}
.service-card-refined:hover .service-explore span{transform:translateX(5px)}
@media (max-width:991.98px){
  .services-intro p{max-width:620px}
  .service-card-refined{min-height:345px}
}
@media (max-width:575.98px){
  .services-intro h2{font-size:2.35rem}
  .service-card-refined{min-height:330px;padding:1.4rem;border-radius:22px}
  .service-card-bottom{align-items:center}
  .service-card-refined .service-icon{width:64px;height:64px}
}

/* V11 — Our Work rebuilt as clear app case studies */
.work-refined{position:relative;overflow:hidden}
.work-intro h2{margin:.75rem 0 0;font-size:clamp(2.45rem,4.6vw,4.7rem);line-height:1;letter-spacing:-.055em}
.work-intro p{margin:0;color:#69708d;line-height:1.75}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.case-card{overflow:hidden;border:1px solid rgba(70,70,120,.1);border-radius:30px;background:rgba(255,255,255,.82);box-shadow:0 18px 55px rgba(66,54,118,.07);transition:transform .4s ease,box-shadow .4s ease}
.case-card:hover{transform:translateY(-4px);box-shadow:0 26px 70px rgba(66,54,118,.12)}
.case-visual{height:390px;position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;padding:34px 30px 0}
.case-election .case-visual{background:linear-gradient(145deg,#f1f4ff,#fff4e9)}
.case-santa .case-visual{background:linear-gradient(145deg,#fff1f4,#f3f0ff)}
.case-kids .case-visual{background:linear-gradient(145deg,#effcff,#fff8e5)}
.case-chat .case-visual{background:linear-gradient(145deg,#f3f0ff,#effaff)}
.phone-shell{width:210px;height:360px;padding:9px;border-radius:35px;background:#151725;box-shadow:0 22px 45px rgba(32,29,65,.22);position:relative;z-index:2;transition:transform .5s ease}
.case-card:hover .phone-shell{transform:translateY(-6px) rotate(-1deg)}
.phone-screen{height:100%;overflow:hidden;border-radius:27px;background:#fff;padding:18px 14px;color:#16182a}
.mini-status{display:flex;justify-content:space-between;font-size:7px;margin-bottom:16px}.app-top{display:flex;gap:8px;align-items:center}.app-top b,.santa-head b{font-size:11px;display:block}.app-top small,.santa-head small{font-size:6px;color:#777;display:block}.app-mark{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#ff7b45,#55a9ff);color:#fff;font-weight:800}
.result-banner{margin:18px 0;padding:15px;border-radius:15px;background:linear-gradient(135deg,#5b4cf5,#786cf8);color:#fff;display:flex;flex-direction:column}.result-banner small{font-size:6px;letter-spacing:.12em}.result-banner strong{font-size:25px}.result-banner span{font-size:7px}.seat-bars{display:grid;gap:8px}.seat-bars i{display:block;height:8px;width:var(--w);border-radius:8px;background:linear-gradient(90deg,#ff8a47,#6556f6)}.mini-row{display:flex;justify-content:space-between;margin:17px 0 8px;font-size:7px}.constituency-list{display:grid;gap:6px}.constituency-list span{font-size:7px;padding:8px;background:#f5f6fb;border-radius:8px}
.santa-screen{background:linear-gradient(#fff,#fff6f7)}.santa-head{display:flex;align-items:center;gap:8px;margin:10px 0 20px}.santa-head>span{font-size:26px}.wish-card{padding:18px;border-radius:18px;background:linear-gradient(145deg,#ff5d77,#ff8b63);color:white}.wish-card small,.wish-card b,.wish-card span{display:block}.wish-card small{font-size:6px;letter-spacing:.15em}.wish-card b{font-size:12px;line-height:1.4;margin:10px 0 18px}.wish-card span{font-size:8px;background:rgba(255,255,255,.2);padding:7px;border-radius:9px}.santa-actions{display:flex;justify-content:space-around;margin-top:26px}.santa-actions i{font-style:normal;text-align:center;font-size:18px}.santa-actions small{display:block;font-size:6px;margin-top:4px;color:#777}
.float-pill{position:absolute;z-index:4;padding:9px 13px;border-radius:99px;background:rgba(255,255,255,.88);box-shadow:0 9px 25px rgba(52,43,99,.12);font-size:10px;font-weight:700;color:#4d4670;backdrop-filter:blur(8px)}.pill-a{left:28px;top:54px}.pill-b{right:24px;bottom:48px}
.tablet-shell{width:390px;height:280px;padding:10px;border-radius:28px;background:#202333;box-shadow:0 24px 50px rgba(32,29,65,.2);transition:transform .5s ease}.case-card:hover .tablet-shell{transform:translateY(-5px)}.kids-screen{height:100%;border-radius:19px;background:#fff;padding:22px}.kids-top{display:flex;justify-content:space-between;font-size:10px}.kids-screen h4{font-size:15px;margin:18px 0}.lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.lesson-grid i{font-style:normal;padding:12px;border-radius:13px;background:#f4f4ff;font-size:18px}.lesson-grid i:nth-child(2){background:#fff5e8}.lesson-grid i:nth-child(3){background:#edfbf5}.lesson-grid i:nth-child(4){background:#fff0f5}.lesson-grid b{display:block;font-size:8px;margin-top:4px}.progress-card{margin-top:12px;font-size:7px}.progress-card span,.progress-card b{display:block}.progress-card em{display:block;height:6px;width:75%;margin-top:7px;border-radius:8px;background:linear-gradient(90deg,#55d8bf 68%,#e9edf2 68%)}
.dual-phone{display:flex;align-items:flex-end;gap:-10px}.dual-phone .phone-shell{width:175px;height:310px}.chat-phone{transform:rotate(-5deg) translateX(10px)}.pay-phone{transform:rotate(5deg) translateX(-10px)}.case-card:hover .chat-phone{transform:rotate(-3deg) translate(8px,-5px)}.case-card:hover .pay-phone{transform:rotate(3deg) translate(-8px,-7px)}.chat-head{margin:8px 0 22px}.chat-head b,.chat-head small{display:block}.chat-head b{font-size:13px}.chat-head small{font-size:7px;color:#52b88d}.bubble{max-width:85%;padding:9px;border-radius:12px;font-size:7px;margin:9px 0}.bubble.left{background:#f0f1f6}.bubble.right{background:#6556f6;color:white;margin-left:auto}.chat-input{position:absolute;bottom:18px;left:14px;right:14px;background:#f3f4f8;border-radius:12px;padding:9px;font-size:7px;color:#999}.chat-input b{float:right;color:#6556f6}.pay-screen{padding-top:45px}.pay-screen>small,.pay-screen>span,.pay-screen>em{display:block}.pay-screen>small{font-size:6px;color:#7d7698;letter-spacing:.15em}.pay-screen>b{display:block;font-size:25px;margin:8px 0}.pay-screen>span{font-size:7px;color:#777}.pay-option{margin:28px 0 13px;padding:12px;border-radius:12px;background:#f4f3fa;font-size:7px}.pay-option b{float:right}.pay-screen button{border:0;width:100%;padding:11px;border-radius:11px;background:linear-gradient(90deg,#6a50f6,#f35aa1);color:#fff;font-size:8px}.pay-screen em{font-style:normal;text-align:center;margin-top:10px;font-size:6px;color:#55a47e}
.case-copy{padding:27px 29px 30px}.case-type{font-size:.69rem;font-weight:700;letter-spacing:.13em;color:#6954f5}.case-copy h3{font-size:1.55rem;margin:.55rem 0 .7rem;letter-spacing:-.035em}.case-copy p{color:#6c7188;line-height:1.65;margin:0;max-width:540px}.case-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.case-tags span{font-size:.68rem;padding:6px 9px;border-radius:99px;background:#f6f5fb;color:#67647a}
.work-note{margin-top:28px;padding:25px 28px;border-radius:24px;display:flex;align-items:center;gap:18px;background:linear-gradient(100deg,rgba(100,78,246,.07),rgba(255,104,154,.06),rgba(255,182,73,.06));border:1px solid rgba(80,70,130,.08)}.work-note>span{font-size:2rem;font-weight:800;letter-spacing:-.05em;color:#5b45f5}.work-note p{margin:0;color:#646a81;flex:1}.work-note a{text-decoration:none;color:#292642;font-size:.86rem}.work-note b{color:#5b45f5}
@media(max-width:991.98px){.case-grid{grid-template-columns:1fr}.case-visual{height:370px}.work-note{align-items:flex-start;flex-wrap:wrap}.work-note p{flex-basis:70%}}
@media(max-width:575.98px){.work-intro h2{font-size:2.35rem}.case-visual{height:320px;padding-top:25px}.phone-shell{width:175px;height:300px}.tablet-shell{width:310px;height:225px}.dual-phone .phone-shell{width:145px;height:265px}.float-pill{font-size:8px}.case-copy{padding:23px 21px}.work-note{padding:21px}.work-note p{flex-basis:60%}}

/* V11 — visual How We Work journey */
.process-visual-section{position:relative;overflow:hidden}
.process-visual-section::before{content:"";position:absolute;width:700px;height:700px;right:-330px;top:180px;border-radius:50%;background:radial-gradient(circle,rgba(89,197,255,.08),rgba(117,82,248,.04) 45%,transparent 70%);pointer-events:none}
.process-intro{margin-bottom:4.5rem}
.process-intro h2{margin:.75rem 0 0;font-size:clamp(2.45rem,4.6vw,4.7rem);line-height:1;letter-spacing:-.055em}
.process-intro .lead-muted{margin:0;line-height:1.75}
.process-journey{position:relative;max-width:1080px;margin:0 auto;padding:0 0 0 94px}
.journey-track{position:absolute;left:34px;top:34px;bottom:34px;width:2px;background:rgba(93,78,175,.12);border-radius:4px;overflow:hidden}
.journey-progress{display:block;width:100%;height:0;background:linear-gradient(#6b50f7,#ec5ea3,#f1a24d,#49cbbd);border-radius:4px;transition:height .18s linear}
.journey-step{position:relative;margin-bottom:32px;opacity:.52;transform:translateX(8px);transition:opacity .55s ease,transform .55s ease}
.journey-step:last-child{margin-bottom:0}
.journey-step.active{opacity:1;transform:none}
.journey-node{position:absolute;left:-94px;top:28px;width:70px;display:flex;align-items:center;justify-content:center}
.journey-node span{position:relative;z-index:2;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid rgba(91,72,196,.14);box-shadow:0 8px 24px rgba(65,53,119,.08);font-size:.72rem;font-weight:800;color:#8b87a4;transition:all .5s ease}
.journey-node b{position:absolute;width:13px;height:13px;border-radius:50%;background:#d9d5ea;box-shadow:0 0 0 6px #faf9fd;transition:all .5s ease}
.journey-step.active .journey-node span{color:#fff;border-color:transparent;background:linear-gradient(135deg,#654cf5,#e85ca5);box-shadow:0 10px 30px rgba(100,76,245,.22)}
.journey-step.active .journey-node b{background:#6850f5}
.journey-card{position:relative;display:grid;grid-template-columns:100px minmax(0,1fr) 250px;gap:28px;align-items:center;padding:29px 30px;border-radius:28px;background:rgba(255,255,255,.76);border:1px solid rgba(69,63,111,.09);box-shadow:0 16px 45px rgba(60,50,110,.055);overflow:hidden;transition:box-shadow .5s ease,border-color .5s ease,background .5s ease}
.journey-card::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(103,78,247,.035),rgba(240,93,166,.025),rgba(74,205,191,.025));opacity:0;transition:opacity .5s ease}
.journey-step.active .journey-card{background:rgba(255,255,255,.92);border-color:rgba(102,79,235,.13);box-shadow:0 20px 55px rgba(60,50,110,.085)}
.journey-step.active .journey-card::before{opacity:1}
.journey-icon{position:relative;z-index:1;width:82px;height:82px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,#f2efff,#fff5f9);transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.journey-step:nth-child(3) .journey-icon{background:linear-gradient(145deg,#fff4ea,#fff9ef)}
.journey-step:nth-child(4) .journey-icon{background:linear-gradient(145deg,#eff8ff,#f2f0ff)}
.journey-step:nth-child(5) .journey-icon{background:linear-gradient(145deg,#edfbf7,#f2f8ff)}
.journey-step:nth-child(6) .journey-icon{background:linear-gradient(145deg,#fff2f6,#fff8eb)}
.journey-step.active .journey-icon{transform:scale(1.04) rotate(-2deg)}
.journey-icon svg{width:45px;height:45px;fill:none;stroke:#6353dc;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.journey-icon svg .fill{fill:#ee6b9f;stroke:none}.journey-icon svg .check{stroke:#ec639e;stroke-width:3}
.journey-copy,.journey-output{position:relative;z-index:1}
.journey-copy small,.journey-output small{display:block;margin-bottom:5px;font-size:.63rem;font-weight:800;letter-spacing:.14em;color:#827b9b}
.journey-copy h3{font-size:1.55rem;margin:0 0 .55rem;letter-spacing:-.035em}
.journey-copy p{margin:0;color:#6c7188;line-height:1.62;font-size:.92rem}
.journey-output{padding-left:24px;border-left:1px solid rgba(80,73,120,.1)}
.journey-output strong{display:block;font-size:.93rem;color:#39354f;margin-bottom:5px}
.journey-output span{display:block;font-size:.72rem;color:#85899b;line-height:1.5}
.process-summary{max-width:1080px;margin:32px auto 0;padding:18px 24px;border-radius:18px;display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(100deg,rgba(103,78,247,.055),rgba(239,94,165,.045),rgba(73,202,189,.05));border:1px solid rgba(75,66,125,.07);font-size:.79rem;color:#77738b}
.process-summary i{font-style:normal;color:#b0acc0}.process-summary strong{color:#5b46ed}
@media(max-width:991.98px){.process-journey{padding-left:76px}.journey-node{left:-76px}.journey-track{left:25px}.journey-card{grid-template-columns:78px 1fr}.journey-output{grid-column:2;padding:13px 0 0;border-left:0;border-top:1px solid rgba(80,73,120,.1)}.journey-icon{width:68px;height:68px;border-radius:20px}}
@media(max-width:575.98px){.process-intro{margin-bottom:3rem}.process-intro h2{font-size:2.35rem}.process-journey{padding-left:48px}.journey-track{left:15px}.journey-node{left:-48px;width:42px}.journey-node span{width:36px;height:36px;font-size:.62rem}.journey-node b{display:none}.journey-card{grid-template-columns:1fr;padding:22px;border-radius:22px;gap:16px}.journey-icon{width:60px;height:60px}.journey-icon svg{width:36px;height:36px}.journey-output{grid-column:1;padding-top:14px}.process-summary{gap:9px;padding:15px;font-size:.68rem}}


/* V11 — animated How We Work: selected square scene + moving multicolour border */
.process-journey-animated{max-width:1160px}
.process-journey-animated .journey-step{opacity:.52}
.process-journey-animated .journey-step.completed{opacity:.76}
.process-journey-animated .journey-step.current{opacity:1;transform:translateX(0)}
.process-journey-animated .journey-card-pop{
  grid-template-columns:210px minmax(0,1fr) 250px;
  min-height:250px;
  border-radius:30px;
}
.process-journey-animated .journey-step.current .journey-card-pop{
  transform:scale(1.015);
  border-color:transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(115deg,#6b50f7,#ed5ea4,#ff9f50,#f7d34d,#4dcbb8,#52aaf7,#6b50f7) border-box;
  border:2px solid transparent;
  box-shadow:0 26px 75px rgba(72,55,145,.15);
  animation:selectedBorderFlow 6s linear infinite;
  background-size:100% 100%,300% 300%;
}
@keyframes selectedBorderFlow{
  0%{background-position:0 0,0% 50%}
  50%{background-position:0 0,100% 50%}
  100%{background-position:0 0,0% 50%}
}
.process-journey-animated .journey-step.current .journey-node span{
  color:#fff;border-color:transparent;background:linear-gradient(135deg,#654cf5,#e85ca5);
  box-shadow:0 10px 30px rgba(100,76,245,.22)
}
.process-journey-animated .journey-step.completed .journey-node span{
  color:#6353dc;background:#f1efff;border-color:#dcd7ff
}
.process-journey-animated .journey-step.current .journey-node b{background:#6850f5}
.process-journey-animated .journey-step.completed .journey-node b{background:#b0a7eb}

/* Square animated presentation */
.process-scene{
  position:relative;z-index:2;width:184px;height:184px;border-radius:27px;
  overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(145deg,rgba(247,245,255,.98),rgba(255,248,252,.97));
  border:1px solid rgba(102,79,235,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 30px rgba(76,61,130,.07);
  transform:scale(.94);transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease;
}
.journey-step.current .process-scene{
  transform:scale(1);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 38px rgba(76,61,130,.13)
}
.scene-glow{position:absolute;width:140px;height:140px;border-radius:50%;filter:blur(35px);opacity:.35;background:linear-gradient(135deg,#7258ff,#ff71ac,#62d7c9);animation:sceneGlow 5s ease-in-out infinite alternate}
@keyframes sceneGlow{to{transform:translate(20px,-12px) scale(1.15);filter:blur(42px);opacity:.48}}

/* Discover paperwork */
.paper{position:absolute;width:82px;height:108px;border-radius:8px;background:#fff;box-shadow:0 12px 24px rgba(54,46,100,.14);padding:15px 12px;transform-origin:bottom center}
.paper-back{transform:translate(20px,-3px) rotate(8deg);background:#f7f5ff}
.paper-front{transform:translate(-10px,3px) rotate(-4deg)}
.paper i{display:block;height:5px;border-radius:5px;background:#e8e5f5;margin:8px 0}
.paper i.short{width:58%}.paper-title{display:block;height:8px;width:62%;background:linear-gradient(90deg,#6853f4,#ef65a7);border-radius:5px;margin-bottom:13px}
.paper-check{position:absolute;right:11px;bottom:10px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e9fff7;color:#40b98f;font-size:11px}
.pen{position:absolute;width:9px;height:76px;border-radius:8px;background:linear-gradient(#6650ee 0 78%,#f1b754 78%);right:35px;bottom:25px;transform:rotate(27deg)}
.current .paper-front{animation:paperFloat 2.5s ease-in-out infinite alternate}
.current .paper-back{animation:paperFloatBack 2.8s ease-in-out infinite alternate}
.current .pen{animation:penWrite 2.2s ease-in-out infinite}
@keyframes paperFloat{to{transform:translate(-10px,-3px) rotate(-2deg)}}
@keyframes paperFloatBack{to{transform:translate(22px,-7px) rotate(10deg)}}
@keyframes penWrite{0%,100%{transform:translate(0,0) rotate(27deg)}50%{transform:translate(-19px,-14px) rotate(23deg)}}

/* Design / Figma-style */
.design-window{position:relative;width:152px;height:118px;border-radius:12px;background:#fff;box-shadow:0 14px 30px rgba(54,46,100,.15);overflow:hidden}
.design-toolbar{height:17px;background:#2c2d38;display:flex;align-items:center;gap:4px;padding:0 6px}.design-toolbar i{width:4px;height:4px;border-radius:50%}.design-toolbar i:nth-child(1){background:#ff6c7e}.design-toolbar i:nth-child(2){background:#ffc45d}.design-toolbar i:nth-child(3){background:#62d19b}.design-toolbar span{margin-left:7px;width:35px;height:4px;border-radius:4px;background:#555767}
.design-sidebar{position:absolute;left:0;top:17px;bottom:0;width:25px;background:#f6f6f9;padding:10px 6px}.design-sidebar i{display:block;height:5px;margin:7px 0;border-radius:3px;background:#d9d9e3}
.design-canvas{position:absolute;left:25px;right:0;top:17px;bottom:0;background:#fafafd}
.design-phone{position:absolute;left:43px;top:10px;width:41px;height:78px;border:3px solid #333543;border-radius:8px;background:#fff;padding:9px 5px}.design-phone span{display:block;height:13px;border-radius:4px;background:linear-gradient(90deg,#6a51f5,#f062a5)}.design-phone b,.design-phone i{display:block;height:5px;border-radius:3px;background:#e5e5ed;margin:7px 0}.design-phone i:last-child{width:62%}
.design-card-mini{position:absolute;right:8px;bottom:11px;width:33px;height:26px;border-radius:5px;background:#fff1e6;border:1px solid #ffd7b5}
.cursor-arrow{position:absolute;left:93px;top:47px;font-size:17px;color:#5d49ee;transform:rotate(-25deg)}
.figma-dots{position:absolute;left:22px;bottom:18px;display:flex;flex-direction:column}.figma-dots i{width:12px;height:12px}.figma-dots i:nth-child(1){background:#f24e1e;border-radius:6px 0 0}.figma-dots i:nth-child(2){background:#a259ff;border-radius:6px 0 0}.figma-dots i:nth-child(3){background:#1abcfe;border-radius:50%}.figma-dots i:nth-child(4){background:#0acf83;border-radius:0 6px 6px 0}.figma-dots i:nth-child(5){background:#ff7262;border-radius:50%}
.current .cursor-arrow{animation:cursorMove 2.8s ease-in-out infinite}
.current .design-phone{animation:framePulse 2.8s ease-in-out infinite}
@keyframes cursorMove{0%,100%{transform:translate(0,0) rotate(-25deg)}50%{transform:translate(-26px,-18px) rotate(-25deg)}}
@keyframes framePulse{50%{box-shadow:0 0 0 3px rgba(102,81,245,.16)}}

/* Apple-style coding workstation */
.apple-monitor{position:absolute;width:145px;height:104px;top:27px;border-radius:10px 10px 7px 7px;background:#dfe1e6;padding:6px;box-shadow:0 13px 25px rgba(44,43,74,.18)}
.monitor-camera{position:absolute;top:2px;left:50%;width:3px;height:3px;border-radius:50%;background:#555;z-index:2}
.code-editor{height:82px;border-radius:6px;background:#1e2030;padding:12px 10px;position:relative;overflow:hidden}
.code-tabs{display:flex;gap:4px;margin-bottom:9px}.code-tabs i{width:13px;height:3px;border-radius:4px;background:#65697c}
.code-line{display:block;height:4px;margin:6px 0;border-radius:4px;transform-origin:left;background:linear-gradient(90deg,#7bd6c0,#8f78f6,#f179ae)}
.code-line.c1{width:72%}.code-line.c2{width:50%}.code-line.c3{width:86%}.code-line.c4{width:63%}.code-line.c5{width:76%}.code-line.c6{width:42%}
.code-caret{position:absolute;width:2px;height:8px;background:#fff;left:71px;bottom:10px;animation:caretBlink .75s steps(1) infinite}
.monitor-logo{font-size:8px;text-align:center;color:#858795;margin-top:2px}.monitor-stand{position:absolute;top:130px;width:42px;height:20px;background:linear-gradient(#cfd1d7,#e8e9ed);clip-path:polygon(35% 0,65% 0,78% 100%,22% 100%)}.keyboard{position:absolute;top:150px;width:105px;height:18px;border-radius:3px;background:repeating-linear-gradient(90deg,#d7d9df 0 4px,#f4f4f6 4px 6px);transform:skewX(-12deg)}
.current .code-line{animation:codeType 2.4s ease-in-out infinite alternate}
.current .code-line.c2{animation-delay:.2s}.current .code-line.c3{animation-delay:.4s}.current .code-line.c4{animation-delay:.6s}.current .code-line.c5{animation-delay:.8s}
@keyframes codeType{from{transform:scaleX(.18);opacity:.45}to{transform:scaleX(1);opacity:1}}
@keyframes caretBlink{50%{opacity:0}}

/* Testing */
.test-laptop{position:absolute;width:125px;height:83px;left:20px;top:42px;border:6px solid #343645;border-bottom-width:9px;border-radius:8px;background:#fff;box-shadow:0 14px 26px rgba(44,43,74,.15)}
.test-screen{padding:12px 10px}.test-progress{display:block;height:7px;border-radius:6px;background:#edf0f4;overflow:hidden;margin-bottom:13px}.test-progress i{display:block;height:100%;width:78%;border-radius:6px;background:linear-gradient(90deg,#6550f2,#54cbb8)}
.test-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.test-list b{display:grid;place-items:center;height:17px;border-radius:5px;background:#ecfbf4;color:#43b683;font-size:8px}
.test-phone{position:absolute;width:47px;height:91px;border:5px solid #242633;border-radius:12px;background:#fff;right:20px;bottom:20px;overflow:hidden;box-shadow:0 12px 23px rgba(44,43,74,.16)}.test-phone span{display:block;width:19px;height:4px;border-radius:4px;background:#e2e3e9;margin:12px auto}.scan-line{position:absolute;left:5px;right:5px;height:2px;background:#58d4c5;box-shadow:0 0 8px #58d4c5;top:30px}
.test-badge{position:absolute;left:24px;bottom:22px;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#654ff2;font-size:9px;font-weight:800;box-shadow:0 8px 20px rgba(80,61,160,.15)}
.current .scan-line{animation:scanPhone 1.7s ease-in-out infinite}.current .test-progress i{animation:testProgress 2.5s ease-in-out infinite alternate}
@keyframes scanPhone{0%,100%{top:27px}50%{top:69px}}@keyframes testProgress{from{width:28%}to{width:94%}}

/* Launch to stores */
.launch-phone{position:absolute;width:69px;height:128px;left:24px;bottom:20px;border:6px solid #252735;border-radius:17px;background:#fff;padding:15px 8px;box-shadow:0 15px 28px rgba(44,43,74,.17)}.launch-app{width:31px;height:31px;border-radius:9px;margin:4px auto 14px;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(135deg,#6550f3,#ef5fa5,#f6ad4b)}.launch-phone i{display:block;height:5px;border-radius:4px;background:#e5e6ec;margin:7px 0}.launch-phone i:last-child{width:60%}
.store-badge{position:absolute;display:flex;align-items:center;gap:7px;width:92px;padding:7px 8px;border-radius:8px;background:#171821;color:#fff;box-shadow:0 10px 23px rgba(43,42,68,.2)}.store-badge>span{font-size:17px}.store-badge small,.store-badge b{display:block;line-height:1.05}.store-badge small{font-size:4px;opacity:.75}.store-badge b{font-size:7px}.appstore-badge{right:13px;top:38px}.playstore-badge{right:13px;top:82px}.playstore-badge>span{color:#55d0bc}
.launch-arrow{position:absolute;left:91px;top:61px;width:31px;height:58px}.launch-arrow i{position:absolute;left:14px;width:3px;height:45px;background:linear-gradient(#ed62a5,#6a50f4);border-radius:4px}.launch-arrow b{position:absolute;top:-8px;left:6px;font-size:24px;color:#6850f4}
.launch-spark{position:absolute;width:5px;height:5px;border-radius:50%;background:#ff9c56;opacity:.6}.s1{top:23px;left:93px}.s2{top:38px;right:24px;background:#6bd2c2}.s3{bottom:29px;right:50px;background:#ed67a4}
.current .launch-arrow{animation:launchUp 1.8s ease-in-out infinite}.current .store-badge{animation:storePop 2.3s ease-in-out infinite alternate}.current .playstore-badge{animation-delay:.35s}.current .launch-spark{animation:spark 1.5s ease-in-out infinite alternate}
@keyframes launchUp{0%,100%{transform:translateY(9px);opacity:.55}50%{transform:translateY(-7px);opacity:1}}
@keyframes storePop{to{transform:translateX(5px) scale(1.04)}}
@keyframes spark{to{transform:scale(2.2);opacity:1}}

@media(max-width:991.98px){
  .process-journey-animated .journey-card-pop{grid-template-columns:190px 1fr}
  .process-journey-animated .journey-output{grid-column:2}
}
@media(max-width:767.98px){
  .process-journey-animated .journey-card-pop{grid-template-columns:1fr}
  .process-scene{width:170px;height:170px;margin:0 auto}
  .process-journey-animated .journey-output{grid-column:1}
  .process-journey-animated .journey-step.current .journey-card-pop{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .process-scene *, .journey-card-pop{animation:none!important;transition:none!important}
}

/* V11 — About: client truth, founder and virtual office */
.about-truth-section{position:relative;overflow:hidden}
.about-truth-section:before{content:"";position:absolute;width:700px;height:700px;left:-360px;top:260px;border-radius:50%;background:radial-gradient(circle,rgba(106,80,246,.07),rgba(239,94,164,.03) 46%,transparent 70%);pointer-events:none}
.about-truth-intro{margin-bottom:2.5rem}.about-truth-intro h2{margin:.75rem 0 0;font-size:clamp(2.45rem,4.6vw,4.7rem);line-height:1;letter-spacing:-.055em}.about-truth-intro p{margin:0;color:#69708d;line-height:1.75}.about-truth-intro p strong{color:#5141dc}
.truth-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(72,64,118,.09);border-radius:25px;background:rgba(255,255,255,.74);overflow:hidden;box-shadow:0 16px 48px rgba(60,50,110,.05);margin-bottom:28px}.truth-stats div{padding:25px 23px;border-left:1px solid rgba(72,64,118,.08)}.truth-stats div:first-child{border-left:0}.truth-stats strong{display:block;font-size:1.5rem;letter-spacing:-.04em;color:#5e49ed}.truth-stats span{display:block;margin-top:5px;font-size:.74rem;line-height:1.45;color:#777c91}
.about-story-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:24px}.about-story,.founder-card{border-radius:30px;border:1px solid rgba(72,64,118,.09);background:rgba(255,255,255,.82);box-shadow:0 18px 55px rgba(60,50,110,.06)}.about-story{padding:38px}.about-story h3{font-size:2rem;line-height:1.08;letter-spacing:-.045em;margin:.8rem 0 1rem}.about-story>p{color:#6c7188;line-height:1.72;max-width:620px}.about-values{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}.about-values span{padding:13px 14px;border-radius:13px;background:#f8f7fc;color:#56546a;font-size:.78rem}.about-values b{color:#755cf2;margin-right:6px}
.founder-card{padding:18px;display:grid;grid-template-columns:.88fr 1.12fr;gap:22px;align-items:center;overflow:hidden}.founder-photo{height:315px;border-radius:23px;overflow:hidden;position:relative;background:linear-gradient(145deg,#eeeaff,#fff0f6 50%,#edfafa);display:grid;place-items:center}.founder-monogram{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;font-size:2rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#6550f4,#ed60a5,#f2a04e);box-shadow:0 18px 40px rgba(97,72,205,.2)}.founder-photo>span{position:absolute;bottom:18px;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:#8a839d}.founder-copy small{font-size:.63rem;letter-spacing:.14em;font-weight:800;color:#7059ef}.founder-copy h3{font-size:1.65rem;letter-spacing:-.04em;margin:.45rem 0 .7rem}.founder-copy p{font-size:.86rem;line-height:1.65;color:#70758a}.founder-tags{display:flex;gap:6px;flex-wrap:wrap}.founder-tags span{font-size:.66rem;padding:6px 8px;border-radius:99px;background:#f4f2fc;color:#655e7c}
.virtual-office{margin-top:28px;padding:34px;border-radius:31px;border:1px solid rgba(72,64,118,.08);background:linear-gradient(145deg,rgba(249,248,255,.92),rgba(255,250,252,.9),rgba(247,253,252,.9));overflow:hidden}.virtual-office-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:25px}.virtual-office-head h3{font-size:1.7rem;letter-spacing:-.04em;margin:.6rem 0 0}.virtual-office-head p{max-width:390px;margin:0;color:#73788d;font-size:.86rem;line-height:1.6}
.office-gallery{display:grid;grid-template-columns:1.25fr .88fr .88fr;gap:16px}.office-frame{height:245px;border-radius:22px;background:#fff;box-shadow:0 15px 35px rgba(59,49,105,.08);overflow:hidden;position:relative;transition:transform .45s ease,box-shadow .45s ease}.office-frame:hover{transform:translateY(-5px) rotate(-.4deg);box-shadow:0 22px 45px rgba(59,49,105,.13)}.office-window-bar{height:31px;background:#292a36;color:#a9a9b5;display:flex;align-items:center;gap:5px;padding:0 10px;font-size:7px}.office-window-bar i{width:5px;height:5px;border-radius:50%;background:#ff6d78}.office-window-bar i:nth-child(2){background:#ffc35b}.office-window-bar i:nth-child(3){background:#61cf92}.office-window-bar span{margin-left:7px}
.call-grid{height:214px;display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;background:#e9eaf0}.call-grid b{display:grid;place-items:center;align-content:center;font-size:1.2rem;color:#fff;background:linear-gradient(145deg,#6651ef,#8c75f2)}.call-grid b:nth-child(2){background:linear-gradient(145deg,#ec62a5,#f28baf)}.call-grid b:nth-child(3){background:linear-gradient(145deg,#45bfae,#6dd2c2)}.call-grid b:nth-child(4){background:linear-gradient(145deg,#ed9b4d,#f2bc68)}.call-grid small{display:block;font-size:6px;font-weight:500;margin-top:5px;opacity:.8}.office-live,.office-caption{position:absolute;bottom:10px;left:10px;padding:6px 9px;border-radius:99px;background:rgba(255,255,255,.88);box-shadow:0 6px 15px rgba(50,44,85,.1);font-size:7px;color:#5f5a73}.office-live{color:#3d9d76}
.board-canvas,.dev-canvas{height:214px;position:relative;background:#f5f4fa}.board-phone{position:absolute;width:53px;height:104px;border:4px solid #333441;border-radius:12px;left:34px;top:36px;background:#fff}.board-phone:before{content:"";position:absolute;left:7px;right:7px;top:14px;height:22px;border-radius:6px;background:linear-gradient(90deg,#6851f4,#ec62a6)}.board-card{position:absolute;width:63px;height:43px;border-radius:8px;background:#fff;box-shadow:0 6px 14px rgba(50,44,85,.09)}.board-card.b1{right:28px;top:36px}.board-card.b2{right:39px;top:98px;background:#fff2e8}.board-lines{position:absolute;left:102px;top:86px;width:55px;height:3px;background:#d2cceb;transform:rotate(-20deg)}.board-cursor{position:absolute;left:130px;top:65px;color:#6851f4;font-size:18px;transform:rotate(-25deg);animation:officeCursor 3s ease-in-out infinite}.dev-canvas{background:#202230}.dev-code{position:absolute;left:18px;top:27px;width:105px}.dev-code i{display:block;height:5px;margin:9px 0;border-radius:4px;background:linear-gradient(90deg,#62d0bc,#8570f1,#ef72aa);animation:officeCode 2.8s ease-in-out infinite alternate;transform-origin:left}.dev-code i:nth-child(2){width:68%;animation-delay:.2s}.dev-code i:nth-child(3){width:88%;animation-delay:.4s}.dev-code i:nth-child(4){width:55%;animation-delay:.6s}.dev-code i:nth-child(5){width:76%;animation-delay:.8s}.dev-phone{position:absolute;right:18px;bottom:23px;width:55px;height:106px;border:5px solid #e8e8ed;border-radius:13px;background:#fff;display:grid;place-items:center}.dev-phone b{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#6650f2,#ed61a5);color:#fff;font-size:10px}
.office-photo-note{margin:15px 0 0;text-align:right;font-size:.68rem;color:#9996a8}
.about-promise{margin-top:28px;padding:25px 28px;border-radius:24px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;background:linear-gradient(100deg,rgba(102,79,244,.07),rgba(239,95,164,.055),rgba(75,203,187,.055));border:1px solid rgba(72,64,118,.07)}.about-promise>span{font-size:.65rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#7a7491}.about-promise strong{font-size:1.03rem;color:#39364c}.about-promise a{text-decoration:none;font-size:.82rem;color:#55516a}.about-promise a b{color:#604bef}
@keyframes officeCursor{0%,100%{transform:translate(0,0) rotate(-25deg)}50%{transform:translate(-27px,25px) rotate(-25deg)}}@keyframes officeCode{from{transform:scaleX(.25);opacity:.45}to{transform:scaleX(1);opacity:1}}
@media(max-width:991.98px){.truth-stats{grid-template-columns:1fr 1fr}.truth-stats div:nth-child(3){border-top:1px solid rgba(72,64,118,.08);border-left:0}.truth-stats div:nth-child(4){border-top:1px solid rgba(72,64,118,.08)}.about-story-grid{grid-template-columns:1fr}.office-gallery{grid-template-columns:1fr 1fr}.office-call{grid-column:1/-1}.virtual-office-head{align-items:start;flex-direction:column;gap:12px}}
@media(max-width:575.98px){.about-truth-intro h2{font-size:2.35rem}.truth-stats{grid-template-columns:1fr}.truth-stats div{border-left:0!important;border-top:1px solid rgba(72,64,118,.08)}.truth-stats div:first-child{border-top:0}.about-story{padding:25px}.about-values{grid-template-columns:1fr}.founder-card{grid-template-columns:1fr}.founder-photo{height:240px}.virtual-office{padding:23px}.office-gallery{grid-template-columns:1fr}.office-call{grid-column:auto}.about-promise{grid-template-columns:1fr;gap:9px}.office-photo-note{text-align:left}}

/* V11 — cleaner About section inspired by spacious editorial agency layouts */
.about-clean-section{position:relative;overflow:hidden}
.about-clean-intro{margin-bottom:3.25rem}
.about-clean-intro h2{margin:.75rem 0 0;font-size:clamp(2.7rem,5.2vw,5.25rem);line-height:.96;letter-spacing:-.06em}
.about-clean-intro p{margin:0;color:#69708d;font-size:1rem;line-height:1.8;max-width:520px}
.about-clean-intro p strong{color:#403bc0}

.about-hero-photo{position:relative;height:520px;border-radius:34px;overflow:hidden;background:#ececf3}
.about-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02);transition:transform 1.2s cubic-bezier(.2,.8,.2,1);filter:saturate(.85) contrast(.96)}
.about-hero-photo:hover img{transform:scale(1.055)}
.about-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,20,34,.56) 0%,rgba(21,20,34,.13) 48%,rgba(21,20,34,0) 72%)}
.about-photo-overlay{position:absolute;z-index:2;left:46px;bottom:43px;color:white}
.about-photo-overlay span{display:block;margin-bottom:9px;font-size:.64rem;font-weight:800;letter-spacing:.16em}
.about-photo-overlay strong{font-size:2rem;line-height:1.08;letter-spacing:-.04em}
.about-floating-proof{position:absolute;z-index:3;padding:14px 17px;border-radius:16px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);box-shadow:0 14px 35px rgba(39,33,75,.14);animation:aboutFloat 5s ease-in-out infinite alternate}
.about-floating-proof b,.about-floating-proof span{display:block}.about-floating-proof b{font-size:.9rem;color:#4f42d9}.about-floating-proof span{font-size:.66rem;color:#77788c;margin-top:2px}
.proof-one{right:32px;top:36px}.proof-two{right:54px;bottom:37px;animation-delay:.7s}
@keyframes aboutFloat{to{transform:translateY(-8px)}}

.about-facts{display:grid;grid-template-columns:repeat(4,1fr);padding:31px 0;border-bottom:1px solid rgba(66,59,106,.1)}
.about-facts div{padding:0 28px;border-left:1px solid rgba(66,59,106,.1)}.about-facts div:first-child{padding-left:0;border-left:0}
.about-facts strong{display:block;font-size:1.55rem;letter-spacing:-.045em;color:#5747e5}.about-facts span{display:block;margin-top:5px;font-size:.72rem;color:#777b91}

.about-belief{padding:95px 0 90px;border-bottom:1px solid rgba(66,59,106,.09)}
.about-belief h3{font-size:clamp(2.05rem,3.2vw,3.45rem);line-height:1.05;letter-spacing:-.055em;margin:.8rem 0 0;max-width:600px}
.about-belief p{font-size:1rem;line-height:1.8;color:#6c7188;margin:3px 0 25px;max-width:560px}
.belief-points{display:grid;gap:0;border-top:1px solid rgba(66,59,106,.08)}
.belief-points span{padding:14px 0;border-bottom:1px solid rgba(66,59,106,.08);font-size:.82rem;color:#55566b}.belief-points b{display:inline-block;width:34px;color:#725af0}

.founder-clean{display:grid;grid-template-columns:360px 1fr;gap:72px;align-items:center;padding:92px 0}
.founder-clean-photo{padding-left:20px}
.founder-photo-frame{position:relative;height:430px;border-radius:30px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(150deg,#ebe7ff,#fff1f7 55%,#ebfaf7);box-shadow:0 20px 55px rgba(64,50,124,.09)}
.founder-photo-frame:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:linear-gradient(135deg,rgba(105,80,245,.25),rgba(239,96,164,.22),rgba(79,205,188,.22));filter:blur(18px);animation:founderGlow 5s ease-in-out infinite alternate}
@keyframes founderGlow{to{transform:translate(30px,-18px) scale(1.12)}}
.founder-initial{position:relative;z-index:2;width:135px;height:135px;border-radius:50%;display:grid;place-items:center;background:white;color:#5c49e4;font-size:2.6rem;font-weight:800;box-shadow:0 18px 45px rgba(81,64,161,.16)}
.founder-photo-frame>span{position:absolute;z-index:2;bottom:25px;font-size:.65rem;text-transform:uppercase;letter-spacing:.13em;color:#89869a}
.founder-clean-copy{max-width:650px}.founder-clean-copy h3{font-size:3rem;letter-spacing:-.055em;margin:.65rem 0 .25rem}.founder-role{color:#624ee9!important;font-size:.82rem!important;font-weight:650}.founder-clean-copy>p{font-size:1rem;line-height:1.78;color:#6c7188;max-width:620px}
.founder-clean-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.founder-clean-tags span{padding:7px 11px;border-radius:99px;background:#f4f2fc;color:#655e7c;font-size:.7rem}

.about-culture{padding:90px 0 30px}
.culture-head{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:end;margin-bottom:35px}.culture-head h3{font-size:clamp(2.2rem,3.7vw,3.8rem);line-height:1.02;letter-spacing:-.055em;margin:.7rem 0 0}.culture-head p{margin:0;color:#70758b;line-height:1.75}
.culture-gallery{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:260px 260px;gap:18px}
.culture-img{position:relative;margin:0;border-radius:27px;overflow:hidden;background:#eee;box-shadow:0 14px 40px rgba(64,52,115,.07)}
.culture-large{grid-row:1/3}.culture-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .6s ease;filter:saturate(.88)}
.culture-img:hover img{transform:scale(1.045);filter:saturate(1)}
.culture-img:after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(transparent,rgba(20,20,31,.66))}
.culture-img figcaption{position:absolute;z-index:2;left:22px;bottom:20px;color:#fff}.culture-img figcaption b,.culture-img figcaption span{display:block}.culture-img figcaption b{font-size:.92rem}.culture-img figcaption span{font-size:.68rem;margin-top:3px;opacity:.8}

.about-motto{margin-top:35px;padding:28px 0 10px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(66,59,106,.1)}
.about-motto>div span,.about-motto>div strong{display:block}.about-motto>div span{font-size:.62rem;font-weight:800;letter-spacing:.15em;color:#7c7890;margin-bottom:5px}.about-motto>div strong{font-size:1.25rem;color:#343145}.about-motto a{text-decoration:none;color:#56536b;font-size:.84rem}.about-motto a b{color:#604bef}

@media(max-width:991.98px){.about-hero-photo{height:430px}.about-facts{grid-template-columns:1fr 1fr;gap:25px}.about-facts div:nth-child(3){border-left:0;padding-left:0}.founder-clean{grid-template-columns:300px 1fr;gap:42px}.founder-photo-frame{height:360px}.culture-head{grid-template-columns:1fr}}
@media(max-width:767.98px){.about-clean-intro h2{font-size:2.75rem}.about-hero-photo{height:380px;border-radius:25px}.about-photo-overlay{left:24px;bottom:25px}.about-photo-overlay strong{font-size:1.45rem}.proof-one{right:18px;top:18px}.proof-two{right:18px;bottom:18px}.about-facts{grid-template-columns:1fr 1fr}.about-facts div{padding:0 10px}.about-belief{padding:65px 0}.founder-clean{grid-template-columns:1fr;padding:65px 0;gap:30px}.founder-clean-photo{padding:0}.founder-photo-frame{height:330px;max-width:330px}.founder-clean-copy h3{font-size:2.45rem}.culture-gallery{grid-template-columns:1fr;grid-template-rows:330px 230px 230px}.culture-large{grid-row:auto}.about-motto{align-items:flex-start;flex-direction:column;gap:18px}}
@media(prefers-reduced-motion:reduce){.about-hero-photo img,.about-floating-proof,.founder-photo-frame:before,.culture-img img{animation:none!important;transition:none!important}}

/* V11 — founder photo, remote workspace imagery and Pune location */
.founder-photo-real{background:#f6f4f7}
.founder-photo-real:before{display:none}
.founder-photo-real img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.founder-photo-real:hover img{transform:scale(1.035)}

.remote-visual-grid{display:grid;grid-template-columns:1.05fr 1.05fr .8fr;gap:18px}
.remote-photo{position:relative;height:420px;margin:0;border-radius:28px;overflow:hidden;background:#ececf2;box-shadow:0 16px 45px rgba(55,45,105,.08)}
.remote-product{height:420px}
.remote-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .7s ease;filter:saturate(.9)}
.remote-photo:hover img{transform:scale(1.055);filter:saturate(1.04)}
.remote-photo:after{content:"";position:absolute;inset:auto 0 0;height:48%;background:linear-gradient(transparent,rgba(19,19,29,.72))}
.remote-photo figcaption{position:absolute;z-index:2;left:24px;right:20px;bottom:22px;color:#fff}
.remote-photo figcaption b,.remote-photo figcaption span{display:block}.remote-photo figcaption b{font-size:1rem}.remote-photo figcaption span{font-size:.72rem;opacity:.8;margin-top:4px;line-height:1.4}
.remote-building{transform:translateY(22px)}.remote-product{transform:translateY(45px)}
.remote-building:hover{transform:translateY(16px)}.remote-product:hover{transform:translateY(39px)}

.about-location{margin:120px 0 35px;display:grid;grid-template-columns:.72fr 1.28fr;min-height:440px;border-radius:32px;overflow:hidden;background:linear-gradient(145deg,#f5f3ff,#fff8fb);border:1px solid rgba(69,62,115,.08);box-shadow:0 18px 55px rgba(60,50,110,.06)}
.location-copy{padding:55px 45px;display:flex;flex-direction:column;justify-content:center}.location-copy h3{font-size:2.45rem;line-height:1.04;letter-spacing:-.05em;margin:.75rem 0 1.25rem}.location-copy p{color:#676c82;line-height:1.7;margin:0}.location-copy p strong{color:#39354d}
.location-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.location-chips span{padding:7px 10px;border-radius:99px;background:#fff;color:#625d75;font-size:.68rem;box-shadow:0 5px 15px rgba(65,53,120,.05)}
.location-map{position:relative;min-height:440px;background:#e9e9ef}.location-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.82) contrast(.96)}
.map-pin-card{position:absolute;left:24px;bottom:24px;padding:13px 17px;border-radius:14px;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(42,38,70,.16)}.map-pin-card b,.map-pin-card span{display:block}.map-pin-card b{font-size:.85rem;color:#5946e6}.map-pin-card span{font-size:.65rem;color:#77798b;margin-top:3px}

@media(max-width:991.98px){.remote-visual-grid{grid-template-columns:1fr 1fr}.remote-product{grid-column:1/-1;height:300px;transform:none}.remote-building{transform:none}.about-location{grid-template-columns:1fr;margin-top:75px}.location-map{min-height:380px}}
@media(max-width:767.98px){.remote-visual-grid{grid-template-columns:1fr}.remote-photo,.remote-product{height:320px;transform:none}.about-location{border-radius:24px}.location-copy{padding:36px 27px}.location-copy h3{font-size:2rem}.location-map{min-height:340px}}
@media(prefers-reduced-motion:reduce){.founder-photo-real img,.remote-photo img{transition:none!important}}

/* V11 — vibrant About refinements */
.vibrant-pop{
  position:relative;
  isolation:isolate;
}
.vibrant-pop::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-2px;
  border-radius:inherit;
  padding:2px;
  background:linear-gradient(115deg,#6b50f7,#ec5fa4,#ff9e4f,#f4d35e,#4dcab9,#4faaf6,#6b50f7);
  background-size:280% 280%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:0;
  transform:scale(.995);
  transition:opacity .35s ease,transform .4s ease;
  animation:vibrantBorderFlow 6s linear infinite;
  pointer-events:none;
}
.vibrant-pop:hover::before,
.vibrant-pop:focus-within::before{opacity:1;transform:scale(1)}
.vibrant-pop:hover{box-shadow:0 24px 65px rgba(65,50,130,.12)}
@keyframes vibrantBorderFlow{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}

/* always-visible subtle colour accent for About facts */
.about-facts.vibrant-pop{
  border-radius:22px;
  padding-left:18px;
  padding-right:18px;
  background:rgba(255,255,255,.54);
}
.about-facts.vibrant-pop::before{opacity:.45}
.founder-clean.vibrant-pop{
  border-radius:34px;
  padding-left:26px;
  padding-right:26px;
  background:rgba(255,255,255,.38);
}
.founder-clean.vibrant-pop::before{opacity:.2}

/* richer Remote by Setup mosaic */
.remote-visual-grid-rich{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  grid-template-rows:255px 255px;
  gap:18px;
}
.remote-visual-grid-rich .remote-photo{
  height:auto;
  min-height:0;
  transform:none;
}
.remote-visual-grid-rich .remote-building{grid-row:1/3}
.remote-visual-grid-rich .remote-team{grid-column:3;grid-row:1}
.remote-visual-grid-rich .remote-code{grid-column:2;grid-row:2}
.remote-visual-grid-rich .remote-product{grid-column:3;grid-row:2}
.remote-visual-grid-rich .remote-developer{grid-column:2;grid-row:1}
.remote-visual-grid-rich .remote-photo::before{border-radius:28px}
.remote-visual-grid-rich .remote-photo:hover{transform:translateY(-5px)}
.remote-visual-grid-rich .remote-photo img{filter:saturate(.88) contrast(.98)}
.remote-visual-grid-rich .remote-photo:hover img{transform:scale(1.06);filter:saturate(1.04) contrast(1)}

/* precise, distinguishable map treatment */
.about-location.map-pop{
  box-shadow:
    0 32px 80px rgba(16,16,24,.18),
    0 8px 24px rgba(16,16,24,.12);
  border:1px solid rgba(20,20,28,.13);
}
.about-location.map-pop::before{opacity:.55}
.location-map{
  position:relative;
  overflow:hidden;
}
.location-map::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  box-shadow:
    inset 28px 0 42px rgba(0,0,0,.17),
    inset 0 0 0 1px rgba(0,0,0,.10);
}
.location-map::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.13) 0%,rgba(0,0,0,.035) 18%,transparent 35%);
}
.location-map iframe{
  filter:saturate(.78) contrast(1.07) brightness(.96);
}
.map-pin-card{
  z-index:4;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 16px 42px rgba(0,0,0,.24);
}
.map-pin-card:before{
  content:"";
  position:absolute;
  left:-8px;top:50%;
  width:16px;height:16px;
  background:#fff;
  transform:translateY(-50%) rotate(45deg);
  box-shadow:-2px 2px 5px rgba(0,0,0,.06);
}

@media(max-width:991.98px){
  .remote-visual-grid-rich{grid-template-columns:1fr 1fr;grid-template-rows:310px 260px 260px}
  .remote-visual-grid-rich .remote-building{grid-column:1/-1;grid-row:1}
  .remote-visual-grid-rich .remote-developer{grid-column:1;grid-row:2}
  .remote-visual-grid-rich .remote-team{grid-column:2;grid-row:2}
  .remote-visual-grid-rich .remote-code{grid-column:1;grid-row:3}
  .remote-visual-grid-rich .remote-product{grid-column:2;grid-row:3}
}
@media(max-width:767.98px){
  .remote-visual-grid-rich{grid-template-columns:1fr;grid-template-rows:repeat(5,290px)}
  .remote-visual-grid-rich .remote-building,
  .remote-visual-grid-rich .remote-developer,
  .remote-visual-grid-rich .remote-team,
  .remote-visual-grid-rich .remote-code,
  .remote-visual-grid-rich .remote-product{grid-column:1;grid-row:auto}
  .founder-clean.vibrant-pop{padding-left:0;padding-right:0;background:transparent}
  .about-facts.vibrant-pop{padding-left:12px;padding-right:12px}
}
@media(prefers-reduced-motion:reduce){
  .vibrant-pop::before{animation:none!important}
}


/* V11 — three-image Remote Setup storytelling */
.remote-story-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.remote-story-card{
  height:430px;
  transform:none!important;
}
.remote-story-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.remote-story-card:nth-child(1) img{object-position:center 46%}
.remote-story-card:nth-child(2) img{object-position:center 46%}
.remote-story-card:nth-child(3) img{object-position:center}
.remote-story-card figcaption{
  left:24px;
  right:24px;
  bottom:24px;
}
.remote-story-card figcaption b{
  font-size:1.08rem;
  letter-spacing:-.02em;
}
.remote-story-card figcaption span{
  max-width:330px;
  font-size:.73rem;
  line-height:1.5;
}
.remote-story-card:hover{
  transform:translateY(-6px)!important;
}

/* Founder says hi — keeps the real portrait unchanged and adds a playful wave */
.founder-photo-real{
  overflow:hidden;
}
.founder-wave{
  position:absolute;
  z-index:5;
  right:20px;
  top:22px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(88,70,180,.12);
  box-shadow:0 12px 28px rgba(42,35,90,.15);
  backdrop-filter:blur(10px);
  transform:translateY(-4px);
}
.founder-wave b{
  font-size:.72rem;
  color:#5b47e5;
  letter-spacing:-.01em;
}
.wave-hand{
  display:inline-block;
  font-size:1.25rem;
  transform-origin:72% 78%;
  animation:founderWave 2.1s ease-in-out infinite;
}
@keyframes founderWave{
  0%,55%,100%{transform:rotate(0deg)}
  10%{transform:rotate(18deg)}
  20%{transform:rotate(-12deg)}
  30%{transform:rotate(16deg)}
  40%{transform:rotate(-8deg)}
  48%{transform:rotate(10deg)}
}
.founder-photo-real:hover .founder-wave{
  box-shadow:0 16px 34px rgba(42,35,90,.2);
}

@media(max-width:991.98px){
  .remote-story-grid{grid-template-columns:1fr 1fr}
  .remote-story-card:nth-child(3){grid-column:1/-1;height:350px}
}
@media(max-width:767.98px){
  .remote-story-grid{grid-template-columns:1fr}
  .remote-story-card,.remote-story-card:nth-child(3){grid-column:auto;height:330px}
  .founder-wave{right:14px;top:14px;padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){
  .wave-hand{animation:none!important}
}


/* V11 — exact named Remote Setup imagery + motion */
.remote-story-grid-expanded{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.remote-story-grid-expanded .remote-story-card{
  position:relative;
  height:420px;
  overflow:hidden;
}
.remote-story-grid-expanded .story-build img{
  object-position:center 37%;
}
.story-number{
  position:absolute;
  z-index:4;
  right:18px;
  top:18px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(10px);
  font-size:.62rem;
  font-weight:800;
  color:#604bef;
  box-shadow:0 8px 22px rgba(30,25,60,.14);
}
.remote-story-card.reveal-visible img,
.reveal-visible .remote-story-card img{
  animation:storyImageEnter 1.15s cubic-bezier(.2,.8,.2,1) both;
}
.remote-story-card:nth-child(2) img{animation-delay:.12s}
.remote-story-card:nth-child(3) img{animation-delay:.24s}
@keyframes storyImageEnter{
  from{transform:scale(1.1);filter:saturate(.72) brightness(.9)}
  to{transform:scale(1);filter:saturate(.92) brightness(1)}
}

.remote-setup-showcase{
  grid-column:1/-1;
  margin-top:42px;
  padding:48px 0 30px;
  display:grid;
  grid-template-columns:.65fr 1.35fr;
  gap:55px;
  align-items:center;
  border-top:1px solid rgba(65,58,105,.09);
}
.remote-setup-copy h4{
  margin:.7rem 0 1rem;
  font-size:clamp(2rem,3.2vw,3.35rem);
  line-height:1.04;
  letter-spacing:-.055em;
}
.remote-setup-copy p{
  max-width:410px;
  margin:0;
  color:#70758b;
  line-height:1.75;
}
.remote-setup-stack{
  position:relative;
  height:455px;
  perspective:1200px;
}
.setup-shot{
  position:absolute;
  margin:0;
  overflow:hidden;
  border-radius:24px;
  background:#eee;
  box-shadow:0 22px 55px rgba(33,27,65,.16);
  transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease;
}
.setup-shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 1s cubic-bezier(.2,.8,.2,1);
}
.setup-shot span{
  position:absolute;
  left:15px;
  bottom:14px;
  z-index:3;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);
  color:#514b65;
  font-size:.66rem;
  font-weight:700;
  box-shadow:0 7px 18px rgba(0,0,0,.12);
}
.setup-shot:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:38%;
  background:linear-gradient(transparent,rgba(10,10,18,.18));
  pointer-events:none;
}
.setup-shot-one{
  width:63%;
  height:315px;
  right:0;
  top:0;
  transform:rotate(2.2deg);
  z-index:1;
  animation:setupFloatOne 6.4s ease-in-out infinite alternate;
}
.setup-shot-two{
  width:54%;
  height:250px;
  left:0;
  bottom:5px;
  transform:rotate(-2.5deg);
  z-index:3;
  animation:setupFloatTwo 5.8s ease-in-out infinite alternate;
}
.setup-shot-three{
  width:47%;
  height:225px;
  right:8%;
  bottom:0;
  transform:rotate(1deg);
  z-index:4;
  animation:setupFloatThree 6.8s ease-in-out infinite alternate;
}
.setup-shot:hover{
  z-index:8;
  box-shadow:0 30px 70px rgba(33,27,65,.23);
}
.setup-shot:hover img{transform:scale(1.045)}
.setup-shot-one:hover{transform:translateY(-8px) rotate(0deg) scale(1.025)}
.setup-shot-two:hover{transform:translateY(-8px) rotate(0deg) scale(1.025)}
.setup-shot-three:hover{transform:translateY(-8px) rotate(0deg) scale(1.025)}

@keyframes setupFloatOne{
  to{transform:translateY(-9px) rotate(1.3deg)}
}
@keyframes setupFloatTwo{
  to{transform:translate(6px,-8px) rotate(-1.5deg)}
}
@keyframes setupFloatThree{
  to{transform:translate(-5px,-10px) rotate(.3deg)}
}

@media(max-width:991.98px){
  .remote-story-grid-expanded{grid-template-columns:1fr 1fr}
  .remote-story-grid-expanded .story-build{grid-column:1/-1;height:350px}
  .remote-setup-showcase{grid-template-columns:1fr;gap:30px}
  .remote-setup-stack{height:430px}
}
@media(max-width:767.98px){
  .remote-story-grid-expanded{grid-template-columns:1fr}
  .remote-story-grid-expanded .remote-story-card,
  .remote-story-grid-expanded .story-build{grid-column:auto;height:330px}
  .remote-setup-showcase{margin-top:25px;padding-top:38px}
  .remote-setup-stack{height:auto;display:grid;gap:14px}
  .setup-shot,.setup-shot-one,.setup-shot-two,.setup-shot-three{
    position:relative;
    inset:auto;
    width:100%;
    height:245px;
    transform:none;
    animation:none;
  }
}
@media(prefers-reduced-motion:reduce){
  .setup-shot-one,.setup-shot-two,.setup-shot-three,
  .remote-story-card.reveal-visible img,.reveal-visible .remote-story-card img{
    animation:none!important;
  }
}

/* V11 — Remote Setup images merged into "Remote by setup. Connected by the work." */
.remote-connected-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,330px)!important;
  gap:18px;
}
.remote-connected-gallery .remote-story-card,
.remote-connected-gallery .story-build{
  grid-column:auto!important;
  grid-row:auto!important;
  height:330px!important;
}
.remote-connected-gallery .remote-story-card:nth-child(4),
.remote-connected-gallery .remote-story-card:nth-child(5),
.remote-connected-gallery .remote-story-card:nth-child(6){
  transform:translateY(0)!important;
}
.remote-connected-gallery .remote-story-card{
  transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease;
}
.remote-connected-gallery .remote-story-card:hover{
  transform:translateY(-6px)!important;
}
.remote-connected-gallery .remote-story-card img{
  animation:connectedImageReveal 1.1s cubic-bezier(.2,.8,.2,1) both;
}
.remote-connected-gallery .remote-story-card:nth-child(2) img{animation-delay:.08s}
.remote-connected-gallery .remote-story-card:nth-child(3) img{animation-delay:.16s}
.remote-connected-gallery .remote-story-card:nth-child(4) img{animation-delay:.24s}
.remote-connected-gallery .remote-story-card:nth-child(5) img{animation-delay:.32s}
.remote-connected-gallery .remote-story-card:nth-child(6) img{animation-delay:.40s}
@keyframes connectedImageReveal{
  from{opacity:.55;transform:scale(1.09) translateY(8px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
@media(max-width:991.98px){
  .remote-connected-gallery{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:repeat(3,310px)!important}
  .remote-connected-gallery .remote-story-card,.remote-connected-gallery .story-build{height:310px!important}
}
@media(max-width:767.98px){
  .remote-connected-gallery{grid-template-columns:1fr!important;grid-template-rows:none!important}
  .remote-connected-gallery .remote-story-card,.remote-connected-gallery .story-build{height:300px!important}
}
@media(prefers-reduced-motion:reduce){
  .remote-connected-gallery .remote-story-card img{animation:none!important}
}

/* V11 — final Our Virtual Workspace */
.virtual-workspace-final{padding:90px 0 35px}
.virtual-workspace-head{margin-bottom:38px}
.virtual-workspace-head h3{max-width:690px}
.virtual-workspace-head p{max-width:530px;font-size:1rem;line-height:1.78}
.virtual-workspace-images{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.workspace-shot{
  position:relative;
  height:390px;
  margin:0;
  overflow:hidden;
  border-radius:28px;
  background:#ececf2;
  box-shadow:0 16px 45px rgba(50,42,100,.08);
  transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease;
}
.workspace-shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .7s ease;
  filter:saturate(.9);
  animation:workspaceReveal 1.15s cubic-bezier(.2,.8,.2,1) both;
}
.workspace-shot:nth-child(2) img{animation-delay:.12s}
.workspace-shot:nth-child(3) img{animation-delay:.24s}
.workspace-shot:hover{transform:translateY(-7px);box-shadow:0 26px 62px rgba(50,42,100,.15)}
.workspace-shot:hover img{transform:scale(1.055);filter:saturate(1.03)}
.workspace-shot:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:46%;
  background:linear-gradient(transparent,rgba(14,14,23,.72));pointer-events:none
}
.workspace-shot figcaption{position:absolute;z-index:3;left:23px;right:23px;bottom:22px;color:#fff}
.workspace-shot figcaption b,.workspace-shot figcaption span{display:block}
.workspace-shot figcaption b{font-size:1.03rem;letter-spacing:-.02em}
.workspace-shot figcaption span{margin-top:4px;max-width:300px;font-size:.71rem;line-height:1.45;opacity:.82}
.workspace-index{
  position:absolute;z-index:4;right:17px;top:17px;width:34px;height:34px;
  display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);color:#604bef;font-size:.62rem;font-weight:800;
  box-shadow:0 8px 20px rgba(25,22,55,.14)
}
.workspace-proof{
  display:grid;grid-template-columns:repeat(4,1fr);
  margin-top:27px;padding:25px 0;
  border-top:1px solid rgba(67,60,108,.09);
  border-bottom:1px solid rgba(67,60,108,.09)
}
.workspace-proof div{padding:0 24px;border-left:1px solid rgba(67,60,108,.09)}
.workspace-proof div:first-child{padding-left:0;border-left:0}
.workspace-proof strong{display:block;color:#5c49e7;font-size:1.25rem;letter-spacing:-.035em}
.workspace-proof span{display:block;margin-top:4px;color:#777b90;font-size:.7rem}
@keyframes workspaceReveal{
  from{opacity:.35;transform:scale(1.09) translateY(10px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
@media(max-width:991.98px){
  .virtual-workspace-images{grid-template-columns:1fr 1fr}
  .workspace-shot:nth-child(3){grid-column:1/-1;height:330px}
  .workspace-proof{grid-template-columns:1fr 1fr;gap:22px}
  .workspace-proof div:nth-child(3){border-left:0;padding-left:0}
}
@media(max-width:767.98px){
  .virtual-workspace-final{padding-top:65px}
  .virtual-workspace-images{grid-template-columns:1fr}
  .workspace-shot,.workspace-shot:nth-child(3){grid-column:auto;height:310px}
  .workspace-proof{grid-template-columns:1fr 1fr}
  .workspace-proof div{padding:0 10px}
}
@media(prefers-reduced-motion:reduce){
  .workspace-shot img{animation:none!important;transition:none!important}
}

/* V11 — vibrant Let's Talk */
.lets-talk-section{position:relative;overflow:hidden}
.lets-talk-section:before{
  content:"";position:absolute;width:720px;height:720px;right:-320px;top:-180px;border-radius:50%;
  background:radial-gradient(circle,rgba(103,78,247,.09),rgba(239,94,165,.04) 43%,rgba(76,204,190,.025) 58%,transparent 72%);
  pointer-events:none
}
.lets-talk-wrap{
  display:grid;grid-template-columns:.94fr 1.06fr;min-height:720px;
  border-radius:34px;overflow:hidden;background:#fff;
  border:1px solid rgba(72,64,118,.08);
  box-shadow:0 28px 85px rgba(48,39,95,.10)
}
.lets-talk-visual{position:relative;min-height:720px;overflow:hidden;background:#e7e7ed}
.lets-talk-visual img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  transition:transform 1.3s cubic-bezier(.2,.8,.2,1),filter .8s ease;
  filter:saturate(.96) contrast(1.02)
}
.lets-talk-visual:hover img{transform:scale(1.045);filter:saturate(1.07)}
.lets-talk-image-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,33,.02) 20%,rgba(20,18,33,.16) 55%,rgba(20,18,33,.76) 100%)}
.lets-talk-image-copy{position:absolute;z-index:2;left:42px;right:42px;bottom:44px;color:#fff}
.lets-talk-image-copy>span{display:block;font-size:.64rem;font-weight:800;letter-spacing:.16em;margin-bottom:11px}
.lets-talk-image-copy strong{display:block;font-size:2.25rem;line-height:1.05;letter-spacing:-.045em}
.lets-talk-image-copy p{max-width:390px;margin:12px 0 0;font-size:.82rem;line-height:1.6;opacity:.82}
.lets-talk-float{
  position:absolute;z-index:3;top:28px;left:28px;display:flex;align-items:center;gap:8px;
  padding:10px 13px;border-radius:999px;background:rgba(255,255,255,.91);backdrop-filter:blur(12px);
  box-shadow:0 12px 28px rgba(34,28,65,.14);font-size:.68rem;color:#4e4a61
}
.lets-talk-float i{width:8px;height:8px;border-radius:50%;background:#4fc393;box-shadow:0 0 0 5px rgba(79,195,147,.12);animation:availabilityPulse 2s ease-in-out infinite}
@keyframes availabilityPulse{50%{box-shadow:0 0 0 9px rgba(79,195,147,0)}}

.lets-talk-form-panel{padding:52px 54px 45px}
.lets-talk-form-panel h2{margin:.7rem 0 1rem;font-size:clamp(2.4rem,4vw,4rem);line-height:.98;letter-spacing:-.055em}
.lets-talk-intro{max-width:560px;margin:0 0 27px;color:#6f748b;line-height:1.7}
.lets-talk-form{display:grid;gap:16px}
.lets-talk-form label{display:block;font-size:.72rem;font-weight:700;color:#555369}
.lets-talk-form input,.lets-talk-form select,.lets-talk-form textarea{
  width:100%;margin-top:8px;padding:14px 16px;border:1.5px solid rgba(72,68,100,.14);
  border-radius:16px;background:rgba(250,250,253,.9);color:#343244;font-size:.88rem;
  outline:none;box-shadow:none;transition:box-shadow .25s ease,background .25s ease,transform .25s ease
}
.lets-talk-form textarea{resize:vertical;min-height:125px}
.lets-talk-form input:focus,.lets-talk-form select:focus,.lets-talk-form textarea:focus{
  border-color:transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(110deg,#6b50f7,#ec5fa4,#ff9e4f,#f3d15d,#4ccab8,#4faaf6) border-box;
  border:2px solid transparent;
  box-shadow:0 10px 30px rgba(85,65,170,.10);
  transform:translateY(-1px)
}
.lets-talk-form .form-row{gap:14px}
.captcha-box{
  display:grid;grid-template-columns:42px 1fr 38px;gap:12px;align-items:center;
  padding:13px 14px;border-radius:18px;
  background:linear-gradient(105deg,rgba(103,78,247,.045),rgba(239,94,165,.035),rgba(76,204,190,.04));
  border:1px solid rgba(72,64,118,.09)
}
.captcha-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#48b98b;font-weight:800;box-shadow:0 7px 18px rgba(55,45,100,.07)}
.captcha-copy small{display:block;font-size:.55rem;letter-spacing:.14em;font-weight:800;color:#7e7894;margin-bottom:2px}
.captcha-copy label{display:grid;grid-template-columns:auto 92px;align-items:center;justify-content:start;gap:10px;font-size:.75rem}
.captcha-copy label input{margin:0;padding:8px 10px;border-radius:11px;font-size:.78rem}
.captcha-copy em{display:block;min-height:12px;margin-top:3px;font-size:.61rem;font-style:normal;color:#d4516f}
.captcha-copy input.captcha-error{border-color:#df6780;background:#fff8fa}
.captcha-refresh{width:35px;height:35px;border:0;border-radius:11px;background:#fff;color:#614ce9;font-size:1rem;box-shadow:0 6px 16px rgba(54,43,110,.07);cursor:pointer;transition:transform .25s ease}
.captcha-refresh:hover{transform:rotate(35deg)}
.lets-talk-submit{margin-top:3px;border-radius:16px!important;padding-top:15px!important;padding-bottom:15px!important}
.lets-talk-foot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#8a8ca0}
.lets-talk-foot small,.lets-talk-foot span{font-size:.63rem}
@media(max-width:991.98px){
  .lets-talk-wrap{grid-template-columns:1fr}
  .lets-talk-visual{min-height:500px}
  .lets-talk-form-panel{padding:45px 38px}
}
@media(max-width:575.98px){
  .lets-talk-wrap{border-radius:25px}
  .lets-talk-visual{min-height:400px}
  .lets-talk-image-copy{left:24px;right:24px;bottom:25px}
  .lets-talk-image-copy strong{font-size:1.75rem}
  .lets-talk-form-panel{padding:34px 23px}
  .lets-talk-form .form-row{grid-template-columns:1fr}
  .captcha-copy label{grid-template-columns:1fr}
  .captcha-copy label input{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .lets-talk-visual img,.lets-talk-float i,.captcha-refresh{animation:none!important;transition:none!important}
}

/* V11 — social connect + floating WhatsApp */
.lets-talk-social-foot{
  align-items:center;
  margin-top:2px;
}
.lets-talk-social-foot>small{
  font-size:.67rem;
  color:#7f8297;
}
.social-connect{
  display:flex;
  align-items:center;
  gap:8px;
}
.social-connect a{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(82,70,145,.10);
  background:#fff;
  box-shadow:0 7px 18px rgba(58,47,110,.06);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.social-connect a:hover{
  transform:translateY(-3px);
  border-color:transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(120deg,#6b50f7,#ed5fa5,#ff9e50,#4ccab8,#4faaf6) border-box;
  border:2px solid transparent;
  box-shadow:0 12px 25px rgba(70,55,145,.13);
}
.social-connect svg{
  width:17px;height:17px;fill:#4d4a62;
}
.floating-whatsapp{
  position:fixed;
  z-index:999;
  right:24px;
  bottom:24px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 14px 10px 10px;
  border-radius:999px;
  background:#25D366;
  color:#fff;
  text-decoration:none;
  box-shadow:0 16px 36px rgba(14,100,54,.28);
  transition:transform .3s ease,box-shadow .3s ease;
}
.floating-whatsapp:hover{
  color:#fff;
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 20px 42px rgba(14,100,54,.34);
}
.floating-whatsapp svg{
  width:31px;height:31px;fill:#fff;
}
.floating-whatsapp span{
  font-size:.76rem;
  font-weight:700;
  letter-spacing:-.01em;
}
.floating-whatsapp:before{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:inherit;
  border:1px solid rgba(37,211,102,.28);
  animation:whatsPulse 2.2s ease-out infinite;
}
@keyframes whatsPulse{
  0%{transform:scale(.95);opacity:.7}
  80%,100%{transform:scale(1.12);opacity:0}
}
@media(max-width:575.98px){
  .floating-whatsapp{
    right:15px;
    bottom:15px;
    width:54px;height:54px;
    padding:0;
    justify-content:center;
  }
  .floating-whatsapp span{display:none}
  .floating-whatsapp svg{width:29px;height:29px}
}
@media(prefers-reduced-motion:reduce){
  .floating-whatsapp:before{animation:none!important}
}


/* V11 — generated Fingser Let’s Talk visual */
.lets-talk-visual img{
  object-position:38% center;
}
@media(max-width:991.98px){
  .lets-talk-visual img{object-position:34% center}
}

/* V11 — Let's Talk full-image composition */
.lets-talk-full-image{padding-top:90px;padding-bottom:90px}
.lets-talk-stage{
  position:relative;
  min-height:860px;
  border-radius:36px;
  overflow:hidden;
  box-shadow:0 34px 90px rgba(42,34,86,.16);
  background:#eee;
}
.lets-talk-stage-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.005);
  transition:transform 1.3s cubic-bezier(.2,.8,.2,1);
}
.lets-talk-stage:hover .lets-talk-stage-image{transform:scale(1.025)}
.lets-talk-stage-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.02) 45%,rgba(255,255,255,.05) 100%),
    linear-gradient(180deg,rgba(20,18,34,0) 55%,rgba(20,18,34,.12) 100%);
}
.lets-talk-panel{
  position:absolute;
  z-index:3;
  top:44px;
  right:44px;
  width:min(520px,calc(100% - 88px));
  padding:30px 30px 26px;
  border-radius:30px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 28px 70px rgba(35,29,70,.18);
}
.lets-talk-panel h2{
  margin:.55rem 0 .8rem;
  font-size:clamp(2rem,3.2vw,3.2rem);
  line-height:1;
  letter-spacing:-.055em;
}
.lets-talk-panel .lets-talk-intro{
  margin-bottom:18px;
  font-size:.84rem;
  line-height:1.6;
}
.lets-talk-form{gap:12px}
.lets-talk-form input,.lets-talk-form select,.lets-talk-form textarea{
  padding:12px 14px;
  border-radius:14px;
}
.lets-talk-form textarea{min-height:105px}
.lets-talk-submit{
  background:linear-gradient(90deg,#5537ff,#a23df3,#ee5aa9,#ff9c56)!important;
  border:0!important;
  box-shadow:0 12px 30px rgba(114,68,222,.22)
}
.lets-talk-social-foot{
  justify-content:center;
  gap:14px;
  flex-direction:column;
  align-items:center;
  margin-top:4px;
}
.lets-talk-social-foot>small{font-size:.58rem;letter-spacing:.12em;font-weight:800}
.lets-talk-quote{
  position:absolute;
  z-index:3;
  left:28%;
  bottom:30px;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px 14px;
  align-items:start;
  padding:18px 24px;
  border-radius:20px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 42px rgba(40,33,80,.14);
  color:#2d2a3c;
}
.lets-talk-quote>span{
  font-size:2.7rem;
  line-height:.7;
  color:#7158f4;
  font-weight:800;
}
.lets-talk-quote strong{
  font-size:1rem;
  line-height:1.35;
  letter-spacing:-.02em;
}
.lets-talk-quote i{
  grid-column:2;
  width:58px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,#6b50f7,#ed5fa5,#ff9e50);
}
@media(max-width:991.98px){
  .lets-talk-stage{min-height:1050px}
  .lets-talk-panel{
    top:32px;right:32px;left:32px;width:auto;
  }
  .lets-talk-quote{
    left:50%;bottom:26px;
  }
}
@media(max-width:575.98px){
  .lets-talk-full-image{padding-top:60px;padding-bottom:60px}
  .lets-talk-stage{min-height:1160px;border-radius:26px}
  .lets-talk-panel{
    top:18px;right:18px;left:18px;padding:24px 20px;border-radius:24px;
  }
  .lets-talk-panel h2{font-size:2rem}
  .lets-talk-quote{
    width:calc(100% - 36px);
    left:18px;
    transform:none;
    bottom:18px;
    padding:16px 18px;
  }
}
@media(prefers-reduced-motion:reduce){
  .lets-talk-stage-image{transition:none!important}
}


/* V11 — Let's Talk edge-to-edge browser-width image */
.lets-talk-full-image{
  padding-left:0!important;
  padding-right:0!important;
}
.lets-talk-full-image > .container-xl{
  width:100%!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
.lets-talk-full-image .lets-talk-stage{
  width:100%;
  max-width:none;
  border-radius:0;
  margin:0;
  box-shadow:none;
}
.lets-talk-full-image .lets-talk-stage-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:575.98px){
  .lets-talk-full-image .lets-talk-stage{
    border-radius:0;
  }
}


/* V11 — Let’s Talk height fix */
.lets-talk-full-image .lets-talk-stage{
  min-height:980px!important;
  height:auto!important;
}
.lets-talk-full-image .lets-talk-panel{
  top:50px!important;
  bottom:auto!important;
  max-height:none!important;
}
.lets-talk-full-image .lets-talk-form{
  overflow:visible!important;
}
.lets-talk-full-image .lets-talk-submit{
  position:relative;
  z-index:2;
}
.lets-talk-full-image .lets-talk-quote{
  bottom:34px;
}

@media(max-width:1199.98px){
  .lets-talk-full-image .lets-talk-stage{min-height:1040px!important}
}
@media(max-width:991.98px){
  .lets-talk-full-image .lets-talk-stage{min-height:1180px!important}
}
@media(max-width:575.98px){
  .lets-talk-full-image .lets-talk-stage{min-height:1280px!important}
}

/* V11 — multicolour selected state for top navigation */
.site-header .nav-link{
  position:relative;
  padding-bottom:.55rem!important;
}
.site-header .nav-link::after{
  content:"";
  position:absolute;
  left:.65rem;
  right:.65rem;
  bottom:.05rem;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#6b50f7,#ec5fa4,#ff9e4f,#f3d15d,#4ccab8,#4faaf6);
  background-size:220% 100%;
  transform:scaleX(0);
  transform-origin:center;
  opacity:0;
  transition:transform .3s ease,opacity .3s ease;
}
.site-header .nav-link:hover::after,
.site-header .nav-link:focus-visible::after,
.site-header .nav-link.nav-active::after{
  transform:scaleX(1);
  opacity:1;
  animation:navGradientSlide 3s linear infinite;
}
.site-header .nav-link.nav-active{
  color:#4e3fd7!important;
  font-weight:700;
}
@keyframes navGradientSlide{
  0%{background-position:0% 50%}
  100%{background-position:220% 50%}
}
@media(prefers-reduced-motion:reduce){
  .site-header .nav-link::after{animation:none!important}
}


/* V11 — final Let’s Talk overflow fix: stage height follows the form */
.lets-talk-full-image .lets-talk-stage{
  min-height:0!important;
  height:auto!important;
  display:flex;
  justify-content:flex-end;
  align-items:flex-start;
  padding:50px 44px 80px!important;
  box-sizing:border-box;
}
.lets-talk-full-image .lets-talk-stage-image,
.lets-talk-full-image .lets-talk-stage-overlay{
  position:absolute!important;
  inset:0;
}
.lets-talk-full-image .lets-talk-panel{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  width:min(520px,46vw)!important;
  max-height:none!important;
  margin:0!important;
  overflow:visible!important;
  z-index:4;
}
.lets-talk-full-image .lets-talk-form{
  overflow:visible!important;
}
.lets-talk-full-image .lets-talk-submit{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:56px;
  overflow:visible!important;
}
.lets-talk-full-image .lets-talk-quote{
  z-index:3;
}

@media(max-width:991.98px){
  .lets-talk-full-image .lets-talk-stage{
    padding:32px 32px 180px!important;
  }
  .lets-talk-full-image .lets-talk-panel{
    width:100%!important;
    max-width:620px!important;
  }
}
@media(max-width:575.98px){
  .lets-talk-full-image .lets-talk-stage{
    padding:18px 18px 170px!important;
  }
  .lets-talk-full-image .lets-talk-panel{
    width:100%!important;
    max-width:none!important;
  }
}

/* Floating WhatsApp restored */
.floating-whatsapp{
  position:fixed;
  z-index:9999;
  right:24px;
  bottom:24px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 14px 10px 10px;
  border-radius:999px;
  background:#25D366;
  color:#fff;
  text-decoration:none;
  box-shadow:0 16px 36px rgba(14,100,54,.30);
  transition:transform .3s ease,box-shadow .3s ease;
}
.floating-whatsapp:hover{
  color:#fff;
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 20px 42px rgba(14,100,54,.36);
}
.floating-whatsapp svg{width:31px;height:31px;fill:#fff}
.floating-whatsapp span{font-size:.76rem;font-weight:700}
.floating-whatsapp:before{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:inherit;
  border:1px solid rgba(37,211,102,.3);
  animation:whatsPulseFinal 2.2s ease-out infinite;
}
@keyframes whatsPulseFinal{
  0%{transform:scale(.96);opacity:.65}
  80%,100%{transform:scale(1.14);opacity:0}
}
@media(max-width:575.98px){
  .floating-whatsapp{
    right:15px;
    bottom:15px;
    width:56px;
    height:56px;
    padding:0;
    justify-content:center;
  }
  .floating-whatsapp span{display:none}
}
@media(prefers-reduced-motion:reduce){
  .floating-whatsapp:before{animation:none!important}
}


/* V11 — corrected top-nav selection + WhatsApp intro timing */
.site-header .nav-link.nav-active{
  color:#11172f!important;
  font-weight:700!important;
}
.site-header .nav-link::after{
  background:linear-gradient(90deg,#ff5f7e,#ff9f43,#f3ce4b,#42c8ad,#3f9cf3,#ef5f9f)!important;
}
/* Track Let's Talk too without changing its button fill. */
.site-header #mainNav .btn[href="#contact"]{
  position:relative;
}
.site-header #mainNav .btn[href="#contact"]::after{
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  bottom:-7px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#ff5f7e,#ff9f43,#f3ce4b,#42c8ad,#3f9cf3,#ef5f9f);
  background-size:220% 100%;
  transform:scaleX(0);
  opacity:0;
  transition:transform .3s ease,opacity .3s ease;
}
.site-header #mainNav .btn[href="#contact"].nav-active::after{
  transform:scaleX(1);
  opacity:1;
  animation:navGradientSlide 3s linear infinite;
}

/* WhatsApp must not appear above the opening Fingser ripple. */
.intro-locked .floating-whatsapp{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(16px) scale(.92)!important;
}
body:not(.intro-locked) .floating-whatsapp{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease;
}
@media(prefers-reduced-motion:reduce){
  body:not(.intro-locked) .floating-whatsapp{transition:none!important}
}


/* V11 — final navigation / ending polish */

/* No underline below the Let's Talk button. */
.site-header #mainNav .btn[href="#contact"]::after{
  display:none!important;
}

/* When Let's Talk is active, use a multicolour border around the button. */
.site-header #mainNav .btn[href="#contact"].nav-active{
  border:2px solid transparent!important;
  background:
    linear-gradient(110deg,#7255ff,#e957a0) padding-box,
    linear-gradient(90deg,#ff5f7e,#ff9f43,#f3ce4b,#42c8ad,#3f9cf3,#ef5f9f) border-box!important;
  box-shadow:0 12px 30px rgba(70,55,120,.14)!important;
}

/* Remove the unnecessary blank gap after the large contact visual. */
.lets-talk-full-image{
  padding-bottom:0!important;
}

/* Closing statement — intentional ending instead of empty space. */
.site-ending{
  padding:64px 0 46px;
  background:#fbfafc;
  text-align:center;
}
.site-ending .container-xl{
  max-width:980px;
}
.ending-line{
  width:96px;
  height:3px;
  margin:0 auto 28px;
  border-radius:999px;
  background:linear-gradient(90deg,#ff647f,#ffa34f,#f2cf55,#4ac7b2,#50a8ef,#ed68a4);
}
.site-ending p{
  margin:0 auto;
  max-width:900px;
  font-size:clamp(1.35rem,2.1vw,2rem);
  line-height:1.5;
  letter-spacing:-.035em;
  font-weight:500;
  color:#292731;
}
.site-ending p strong{
  font-weight:700;
  color:#151419;
}
.site-ending> .container-xl > span{
  display:block;
  margin-top:18px;
  color:#8a8793;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Compact footer so the page finishes cleanly. */
.site-footer{
  padding:0 0 24px!important;
}
.footer-row{
  padding-top:26px!important;
}

@media(max-width:767.98px){
  .site-ending{
    padding:48px 22px 36px;
  }
  .site-ending p{
    font-size:1.28rem;
  }
  .ending-line{
    margin-bottom:22px;
  }
}


/* V11 — remove all accidental document space after footer */
html,body{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
main{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
.site-footer{
  margin:0!important;
  padding-bottom:18px!important;
}
.site-footer .container-xl,
.footer-row{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
body > .site-footer:last-of-type{
  margin-bottom:0!important;
}

/* Stronger final thought hierarchy */
.site-ending{
  padding:54px 0 34px!important;
}
.site-ending p{
  max-width:860px;
  font-size:clamp(1.25rem,1.8vw,1.72rem)!important;
  line-height:1.5;
  font-weight:500;
  color:#34313b;
}
.ending-highlight{
  display:block;
  margin:16px auto 0;
  font-size:clamp(1.8rem,3vw,3rem);
  line-height:1.12;
  letter-spacing:-.045em;
  font-weight:700;
  background:linear-gradient(90deg,#ff627e,#ff9e4e,#efcb50,#47c5ad,#4aa6ed,#eb66a4);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.site-ending> .container-xl > span{
  margin-top:16px!important;
}
@media(max-width:767.98px){
  .site-ending{padding:42px 20px 28px!important}
  .ending-highlight{font-size:1.85rem}
}


/* V11 — reference-style final statement */
.site-ending{
  position:relative;
  overflow:hidden;
  padding:72px 24px 62px!important;
  background:
    radial-gradient(circle at 50% 15%,rgba(92,167,255,.055),transparent 38%),
    radial-gradient(circle at 15% 70%,rgba(255,103,155,.035),transparent 30%),
    #fbfafc;
}
.site-ending .container-xl{
  max-width:1320px!important;
}
.ending-line{
  width:276px!important;
  height:4px!important;
  margin:0 auto 36px!important;
  border-radius:999px;
  opacity:.92;
}
.site-ending .ending-copy{
  max-width:1180px!important;
  margin:0 auto!important;
  color:#15151b!important;
  font-size:clamp(1.65rem,2.15vw,2.35rem)!important;
  line-height:1.38!important;
  letter-spacing:-.035em!important;
  font-weight:500!important;
}
.site-ending .ending-highlight{
  display:block;
  width:max-content;
  max-width:100%;
  margin:28px auto 0!important;
  font-size:clamp(2.65rem,4.8vw,5rem)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
  font-weight:700!important;
  background:linear-gradient(90deg,#ff626c 0%,#ff9c45 18%,#efd24e 34%,#55c6a7 51%,#43add6 68%,#6879d8 84%,#bb5ba7 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}
.site-ending > .container-xl > span{
  display:block;
  margin-top:32px!important;
  color:#575560!important;
  font-size:.9rem!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
}
.site-footer{
  position:relative;
  padding:0 0 18px!important;
  margin:0!important;
}
.footer-row{
  padding-top:24px!important;
  margin-bottom:0!important;
}

/* Prevent decorative/fixed elements from extending the document after footer. */
html{
  margin:0!important;
  padding:0!important;
  overflow-x:clip;
}
body{
  margin:0!important;
  padding:0!important;
}
@media(max-width:767.98px){
  .site-ending{padding:52px 18px 44px!important}
  .ending-line{width:180px!important;margin-bottom:28px!important}
  .site-ending .ending-copy{font-size:1.35rem!important}
  .site-ending .ending-highlight{
    width:auto;
    font-size:2.35rem!important;
    margin-top:22px!important;
  }
  .site-ending > .container-xl > span{margin-top:24px!important}
}


/* V11 — compact impactful shimmer ending */
.site-ending{
  position:relative;
  overflow:hidden;
  padding:48px 20px 34px!important;
  background:
    radial-gradient(circle at 12% 42%,rgba(255,119,163,.045),transparent 24%),
    radial-gradient(circle at 88% 45%,rgba(88,170,255,.055),transparent 26%),
    #fbfafc;
  text-align:center;
}
.site-ending .ending-inner{
  max-width:1120px!important;
  margin:0 auto;
}
.ending-shimmer-line{
  position:relative;
  width:260px!important;
  height:4px!important;
  margin:0 auto 28px!important;
  overflow:hidden;
  border-radius:999px;
  background:linear-gradient(90deg,#ff687f,#ffa24c,#f0d35a,#4fc9b0,#4aade3,#766bd8,#c55daf);
  box-shadow:0 0 12px rgba(100,120,220,.12);
}
.ending-shimmer-line::after{
  content:"";
  position:absolute;
  top:-3px;
  left:-55px;
  width:54px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,.98);
  filter:blur(4px);
  box-shadow:0 0 13px rgba(255,255,255,.95),0 0 20px rgba(98,180,255,.75);
  animation:endingLineShimmer 3s linear infinite;
}
@keyframes endingLineShimmer{
  from{transform:translateX(0)}
  to{transform:translateX(365px)}
}
.site-ending .ending-copy{
  max-width:920px!important;
  margin:0 auto!important;
  color:#202027!important;
  font-size:clamp(1.25rem,1.65vw,1.72rem)!important;
  line-height:1.5!important;
  letter-spacing:-.028em!important;
  font-weight:500!important;
}
.ending-shimmer-text{
  display:block;
  position:relative;
  width:max-content;
  max-width:100%;
  margin:22px auto 0!important;
  font-size:clamp(2rem,3.5vw,3.55rem)!important;
  line-height:1.04!important;
  letter-spacing:-.05em!important;
  font-weight:700!important;
  background:
    linear-gradient(110deg,
      #ff5f72 0%,
      #ff9748 16%,
      #f0cf51 30%,
      #4fc5a7 47%,
      #36a9db 64%,
      #6e72da 82%,
      #c35daa 100%);
  background-size:100% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  text-shadow:0 0 18px rgba(97,120,220,.05);
}
.ending-shimmer-text::after{
  content:attr(data-text);
}
.ending-shimmer-text{
  isolation:isolate;
}
.ending-shimmer-text::before{
  content:"";
  position:absolute;
  z-index:2;
  top:-12%;
  bottom:-12%;
  left:-15%;
  width:14%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);
  filter:blur(1px);
  mix-blend-mode:screen;
  animation:endingTextShimmer 3.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes endingTextShimmer{
  0%,12%{left:-18%;opacity:0}
  18%{opacity:1}
  52%{left:104%;opacity:1}
  58%,100%{left:104%;opacity:0}
}
.ending-signature{
  display:block;
  margin-top:22px!important;
  color:#64616b!important;
  font-size:.78rem!important;
  font-weight:700!important;
  letter-spacing:.11em!important;
  text-transform:uppercase;
}
.site-footer{
  padding:0 0 16px!important;
}
.footer-row{
  padding-top:22px!important;
}

/* Ensure absolutely no extra space after footer */
html,body{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
body{
  min-height:0!important;
  height:auto!important;
}
.site-footer,
.site-footer .container-xl,
.footer-row{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

@media(max-width:767.98px){
  .site-ending{padding:40px 18px 28px!important}
  .ending-shimmer-line{width:190px!important;margin-bottom:22px!important}
  .site-ending .ending-copy{font-size:1.18rem!important}
  .ending-shimmer-text{
    width:auto;
    font-size:2.15rem!important;
    margin-top:18px!important;
  }
  .ending-signature{margin-top:18px!important}
}
@media(prefers-reduced-motion:reduce){
  .ending-shimmer-line::after,
  .ending-shimmer-text::before{
    animation:none!important;
  }
}


/* V11 — handwritten character-by-character closing line */
.ending-shimmer-text::before,
.ending-shimmer-text::after{
  display:none!important;
  content:none!important;
}
.ending-handwriting{
  display:flex!important;
  justify-content:center;
  align-items:baseline;
  flex-wrap:wrap;
  width:auto!important;
  max-width:100%;
  margin:20px auto 0!important;
  padding:0 8px;
  font-family:"Segoe Script","Snell Roundhand","Brush Script MT","Bradley Hand",cursive!important;
  font-size:clamp(1.9rem,3vw,3rem)!important;
  line-height:1.25!important;
  letter-spacing:.005em!important;
  font-weight:500!important;
  background:none!important;
  color:inherit!important;
  text-shadow:none!important;
}
.ending-handwriting .hw-char,
.ending-handwriting .hw-space{
  display:inline-block;
}
.ending-handwriting .hw-char{
  opacity:0;
  transform:translateY(6px) rotate(-2deg);
  background:linear-gradient(180deg,#ff5f72,#ff9748 18%,#edc94d 34%,#4dc4a6 51%,#37a9d8 67%,#6c72d7 83%,#bf5aa7);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.ending-handwriting.is-writing .hw-char{
  animation:handwriteChar .38s cubic-bezier(.18,.75,.25,1) forwards;
  animation-delay:calc(var(--i) * 55ms);
}
.ending-handwriting .hw-space{
  width:.34em;
}
.ending-handwriting::after{
  content:"";
  display:block!important;
  flex-basis:100%;
  width:190px;
  height:3px;
  margin:8px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,#ff654d,#ffa33e,#d8cd43,#4ac29f,#38a7d8,#6d70df);
  transform:scaleX(0);
  transform-origin:left center;
  opacity:.95;
}
.ending-handwriting.is-writing::after{
  animation:handwriteUnderline 1.1s ease forwards;
  animation-delay:2.25s;
}
@keyframes handwriteChar{
  0%{opacity:0;transform:translateY(6px) rotate(-2deg);filter:blur(1px)}
  55%{opacity:1;transform:translateY(-1px) rotate(.5deg);filter:blur(0)}
  100%{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}
}
@keyframes handwriteUnderline{
  to{transform:scaleX(1)}
}
@media(max-width:767.98px){
  .ending-handwriting{
    font-size:2rem!important;
    margin-top:16px!important;
  }
  .ending-handwriting::after{
    width:145px;
  }
}
@media(prefers-reduced-motion:reduce){
  .ending-handwriting .hw-char{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
  }
  .ending-handwriting::after{
    transform:scaleX(1)!important;
    animation:none!important;
  }
}


/* V11 — expected.png handwriting ending correction
   Keep the sentence compact, continuous and visually handwritten. */
.ending-handwriting{
  position:relative!important;
  display:block!important;
  width:max-content!important;
  max-width:calc(100vw - 72px)!important;
  margin:20px auto 0!important;
  padding:0 8px 9px!important;
  white-space:nowrap!important;
  flex-wrap:nowrap!important;
  overflow:hidden!important;
  font-family:"Segoe Script","Snell Roundhand","Brush Script MT","Bradley Hand",cursive!important;
  font-size:clamp(1.72rem,2.55vw,2.85rem)!important;
  line-height:1.2!important;
  letter-spacing:-.025em!important;
  font-weight:500!important;
  background:linear-gradient(90deg,
    #ff535d 0%,
    #ff8d3e 18%,
    #eacb3e 34%,
    #48c17f 50%,
    #18a8c9 65%,
    #257bd7 80%,
    #8d3ed0 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  text-shadow:none!important;
  clip-path:inset(0 100% 0 0);
}

/* Undo old per-character layout if cached markup exists. */
.ending-handwriting .hw-char,
.ending-handwriting .hw-space{
  display:inline!important;
  opacity:1!important;
  transform:none!important;
  animation:none!important;
  width:auto!important;
  background:inherit!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}

/* Smooth left-to-right reveal gives the visual impression of the phrase
   being written while preserving natural script spacing/kerning. */
.ending-handwriting.is-writing{
  animation:endingHandwriteReveal 3.15s steps(42,end) forwards!important;
}
@keyframes endingHandwriteReveal{
  from{clip-path:inset(0 100% 0 0)}
  to{clip-path:inset(0 0 0 0)}
}

/* Short hand-drawn underline like the expected reference. */
.ending-handwriting::after{
  content:""!important;
  display:block!important;
  position:relative!important;
  width:205px!important;
  height:3px!important;
  margin:7px auto 0!important;
  border-radius:70% 35% 65% 40%!important;
  background:linear-gradient(90deg,#ff6748,#ffad32,#80c75a,#23b8bd,#4089df)!important;
  transform:scaleX(0) rotate(-2deg)!important;
  transform-origin:left center!important;
  opacity:.95!important;
}
.ending-handwriting.is-writing::after{
  animation:endingHandUnderline .72s ease forwards!important;
  animation-delay:3.18s!important;
}
@keyframes endingHandUnderline{
  to{transform:scaleX(1) rotate(-2deg)}
}

/* Match the expected composition more closely. */
.site-ending{
  padding:46px 20px 34px!important;
}
.site-ending .ending-copy{
  font-size:clamp(1.18rem,1.5vw,1.58rem)!important;
  line-height:1.52!important;
  font-weight:500!important;
}
.ending-shimmer-line{
  width:250px!important;
  margin-bottom:26px!important;
}
.ending-signature{
  margin-top:21px!important;
}

@media(max-width:900px){
  .ending-handwriting{
    width:auto!important;
    max-width:92vw!important;
    white-space:normal!important;
    font-size:clamp(1.65rem,5.1vw,2.35rem)!important;
  }
}
@media(max-width:575.98px){
  .site-ending{padding:38px 16px 28px!important}
  .ending-handwriting{font-size:1.72rem!important}
  .ending-handwriting::after{width:145px!important}
}
@media(prefers-reduced-motion:reduce){
  .ending-handwriting{
    clip-path:inset(0 0 0 0)!important;
    animation:none!important;
  }
  .ending-handwriting::after{
    transform:scaleX(1) rotate(-2deg)!important;
    animation:none!important;
  }
}


/* V11 — image-based handwritten closing phrase */
.ending-handwriting,
.ending-shimmer-text{
  display:none!important;
}
.ending-script-image-wrap{
  width:min(900px,78vw);
  margin:18px auto 0;
  overflow:hidden;
  border-radius:22px;
  opacity:0;
  transform:translateY(8px) scale(.985);
}
.reveal.visible .ending-script-image-wrap{
  animation:endingImageReveal .9s cubic-bezier(.2,.8,.2,1) .18s forwards;
}
.ending-script-image{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  mix-blend-mode:multiply;
}
@keyframes endingImageReveal{
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* Match the generated reference look more closely */
.site-ending{
  padding:42px 20px 30px!important;
  background:
    radial-gradient(circle at 9% 45%,rgba(255,120,150,.04),transparent 24%),
    radial-gradient(circle at 91% 46%,rgba(98,171,255,.055),transparent 25%),
    #fbfafc!important;
}
.site-ending .ending-copy{
  font-size:clamp(1.16rem,1.48vw,1.55rem)!important;
  line-height:1.5!important;
  font-weight:500!important;
  max-width:900px!important;
}
.ending-shimmer-line{
  width:250px!important;
  margin-bottom:25px!important;
}
.ending-signature{
  margin-top:18px!important;
  font-size:.76rem!important;
}
.site-footer{
  border-top:1px solid rgba(55,50,80,.07);
}

@media(max-width:767.98px){
  .ending-script-image-wrap{
    width:94vw;
    margin-top:16px;
  }
  .site-ending{padding:36px 14px 26px!important}
  .site-ending .ending-copy{font-size:1.14rem!important}
}
@media(prefers-reduced-motion:reduce){
  .ending-script-image-wrap{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
  }
}


/* V11 — corrected clean handwritten image + final 20px bottom breathing room */
.ending-script-image-wrap{
  width:min(820px,74vw)!important;
  margin:17px auto 0!important;
  border-radius:0!important;
  background:transparent!important;
}
.ending-script-image{
  width:100%!important;
  height:auto!important;
  display:block!important;
  mix-blend-mode:multiply;
}
.site-footer{
  padding-bottom:20px!important;
}
.footer-row{
  padding-bottom:0!important;
}
@media(max-width:767.98px){
  .ending-script-image-wrap{
    width:92vw!important;
  }
  .site-footer{
    padding-bottom:20px!important;
  }
}


/* V11 — use user-supplied slogan artwork */
.ending-script-image-wrap{
  width:min(860px,76vw)!important;
  margin:16px auto 0!important;
  overflow:visible!important;
  background:transparent!important;
  border-radius:0!important;
}
.ending-script-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  mix-blend-mode:normal!important;
  background:transparent!important;
}
.ending-signature{
  margin-top:10px!important;
}
.site-ending{
  padding-bottom:34px!important;
}
.site-footer{
  padding-bottom:20px!important;
}
@media(max-width:767.98px){
  .ending-script-image-wrap{width:94vw!important}
  .site-ending{padding-bottom:28px!important}
}

/* V11 FINAL — dark closing footer inspired by supplied reference */
.site-footer{
  position:relative;
  background:#303030!important;
  border-top:0!important;
  padding:30px 0 27px!important;
  margin:0!important;
  color:#fff!important;
  overflow:hidden;
}
.site-footer::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg,#ff5d69 0%,#ff9b43 18%,#efd24d 34%,#54c69f 50%,#3fb5d9 66%,#6777db 82%,#bd5da8 100%);
}
.site-footer .container-xl{max-width:1640px!important}
.site-footer .footer-row{
  display:grid!important;
  grid-template-columns:auto minmax(220px,1fr) auto auto;
  align-items:center!important;
  gap:28px!important;
  padding:0!important;
  margin:0!important;
}
.site-footer .footer-row img{
  width:auto!important;
  height:34px!important;
  object-fit:contain;
  filter:brightness(0) invert(1)!important;
  opacity:.98;
}
.site-footer .footer-row p,
.site-footer .footer-row > span,
.site-footer .footer-links a{
  color:#fff!important;
}
.site-footer .footer-row p{
  margin:0!important;
  font-size:.83rem!important;
  font-weight:400!important;
  opacity:.72;
}
.site-footer .footer-links{
  display:flex!important;
  align-items:center;
  gap:25px!important;
  margin:0!important;
}
.site-footer .footer-links a{
  position:relative;
  text-decoration:none!important;
  font-size:.82rem!important;
  font-weight:500!important;
  opacity:.82;
  transition:opacity .25s ease,transform .25s ease;
}
.site-footer .footer-links a:hover{opacity:1;transform:translateY(-1px)}
.site-footer .footer-row > span{
  font-size:.78rem!important;
  white-space:nowrap;
  opacity:.64;
}
@media(max-width:991.98px){
  .site-footer{padding:26px 0 25px!important}
  .site-footer .footer-row{
    grid-template-columns:1fr!important;
    justify-items:center;
    text-align:center;
    gap:14px!important;
  }
  .site-footer .footer-links{gap:20px!important;flex-wrap:wrap;justify-content:center}
}

/* V11 FINAL — compact floating WhatsApp icon, lifted above footer content */
.floating-whatsapp{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  padding:0!important;
  border-radius:50%!important;
  right:24px!important;
  bottom:88px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.floating-whatsapp span{display:none!important}
.floating-whatsapp svg{width:30px!important;height:30px!important}
@media(max-width:767.98px){
  .floating-whatsapp{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    right:16px!important;
    bottom:82px!important;
  }
  .floating-whatsapp svg{width:28px!important;height:28px!important}
}


/* PHP enquiry form feedback */
.form-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.lead-response{
  display:none;
  margin-top:2px;
  padding:13px 15px;
  border-radius:14px;
  font-size:.76rem;
  line-height:1.45;
  text-align:center;
}
.lead-response.show{display:block}
.lead-response.success{
  color:#247b58;
  background:#eefbf5;
  border:1px solid rgba(52,170,119,.18);
}
.lead-response.error{
  color:#b4435d;
  background:#fff4f6;
  border:1px solid rgba(205,79,105,.18);
}
.lets-talk-submit.is-sending{
  opacity:.72;
  cursor:wait;
}
