@charset "UTF-8";body,header{background-color:#f3f0e6;color:#0a0262!important}.pink-text{color:#f037a5;font-weight:inherit;font-family:inherit}.beige-text{color:#f3f0e6;font-weight:inherit;font-family:inherit}.blue-text{color:#2d46b9;font-weight:inherit;font-family:inherit}.dark-blue-text{color:#0a0262}.pink-bg{background-color:#f037a5}.blue-bg{background-color:#2d46b9}.yellow-bg{background-color:#fbb91c}.beige-bg{background-color:#f3f0e6!important}@font-face{font-family:inter;src:url(/fonts/Inter_18pt-Medium.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:plus jakarta sans;src:url(/fonts/PlusJakartaSans-VariableFont.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}*{font-family:inter,sans-serif}* .navbar a{font-family:plus jakarta sans,sans-serif!important}.navbar{padding-top:1.5rem!important;background-color:#f3f0e6!important}body{background-color:#f3f0e6}h1{font-family:plus jakarta sans,sans-serif;font-weight:600;font-size:45px;margin:0}@media(max-width:780px){h1{font-size:35px}}.sitename{font-family:plus jakarta sans,sans-serif;font-weight:600;font-size:20px;text-transform:uppercase;color:#2d46b9;margin:0}h2{font-family:plus jakarta sans,sans-serif;font-weight:600;font-size:30px;margin-bottom:10px}@media(max-width:780px){h2{font-size:25px}}h3{font-family:plus jakarta sans,sans-serif;color:#f037a5;font-weight:600;font-size:20px}@media(max-width:780px){h3{font-size:20px}}.container{margin:0;padding:20px}@media(max-width:780px){.container{padding:15px!important}}.border{border-top:2px solid #0a0262;border-bottom:2px solid #0a0262}[id]{scroll-margin-top:80px}.section{position:relative;top:-80px;padding-top:80px}.nobr{white-space:nowrap}.mb-4{margin-bottom:4rem!important}.mt-4{margin-top:4rem!important}@media(max-width:780px){.mt-4{margin-top:2rem!important}}.space-between{display:flex;justify-content:space-between;align-items:center;align-self:center!important}@media(max-width:780px){.space-between{flex-direction:column;justify-content:center}}.space-around{display:flex;justify-content:space-around}@media(max-width:780px){.space-around{padding:1rem;flex-direction:column}}.align-center{display:flex;align-items:center}.button{background-color:#f037a5!important;color:#0a0262!important;font-size:1rem;border:#0a0262 solid 2px!important;display:inline-block;margin-top:2rem;padding:.5rem 3rem!important;font-family:plus jakarta sans,sans-serif;font-weight:600;box-shadow:3px 3px #0A0262;transition:transform .15s ease,box-shadow .15s ease,background-color .2s ease}.button:hover{background-color:#f037a5!important;transform:translate(-2px,-2px);box-shadow:5px 5px #0A0262}.button:active{transform:translate(2px,2px);box-shadow:1px 1px #0A0262}.button-secondary{background-color:transparent!important}.button-secondary:hover{background-color:#fff!important}:focus-visible{outline:3px solid #2d46b9;outline-offset:3px}ul.custom-bullets{list-style:none;padding-left:0}ul.custom-bullets li{position:relative;padding-left:1.5em;margin-bottom:.6em;line-height:1.5}ul.custom-bullets li::before{content:"✘";position:relative;left:-.5rem}.topbar-menu li a{text-decoration:none;color:#333;transition:all .2s ease}.topbar-menu li a.active{text-decoration:underline}.topbar-menu li a:hover{text-decoration:underline}.topbar-menu li a.active,.topbar-menu li a.ancestor{text-decoration:underline}.language-switcher{position:relative;display:flex;align-items:center;justify-content:center;height:100%}.language-switcher button{background:0 0;border:none;padding:0;cursor:pointer;display:flex;align-items:center}.language-switcher .globe-icon{width:24px;height:24px;display:block;fill:#2d46b9!important;margin-left:20px}@media(max-width:780px){.language-switcher .globe-icon{margin-left:0}}.language-switcher .lang-menu{position:absolute;top:100%;right:0;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);border-radius:4px;padding:8px 0;min-width:120px;z-index:1000}.language-switcher .lang-menu a{display:block;padding:6px 12px;color:#333;text-decoration:none}.language-switcher .lang-menu a:hover{background-color:#f0f0f0}p a{text-decoration:underline!important}@media(max-width:768px){.menu{background:#f3f0e6!important}}.logo{width:10rem;height:10rem;animation:spin 20s linear infinite;transition:animation-duration .3s ease}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.equal{flex:1}.pb-4{padding-bottom:4rem}@media(max-width:780px){.pb-4{padding-bottom:2rem}}.pt-4{padding-top:4rem}@media(max-width:780px){.pt-4{padding-top:2rem}}.border-bt{border-bottom:#0a0262 solid 2px}.border-top{border-top:#0a0262 solid 2px}.mb-2{margin-bottom:2rem}.center{justify-content:center;align-items:center}.flex{display:flex}.mentions{font-size:12px;color:#333;font-style:italic;text-align:center}.flex-column{display:flex;flex-direction:column}.text-center{text-align:center}.gallery{display:flex;flex-wrap:wrap;gap:3rem;margin-bottom:2rem;justify-content:center}.gallery-image{height:16rem;display:block;border-radius:.5rem;object-fit:cover;object-position:top;border:2px solid #0a0262}@media(max-width:768px){.gallery-item{flex:1 1 100%}.gallery-image{width:100%}}.hero{background-color:#f3f0e6;border-radius:20px;padding:5rem 0;min-height:40vh;display:flex;flex-direction:column;align-items:center;justify-content:center}@media(max-width:780px){.hero{padding:0 2rem;min-height:80vh}}.hero h1{animation:fadeInUp .6s ease-out forwards}.hero-content{display:flex;align-items:center;gap:50px;max-width:1200px;width:100%}.hero-text{flex:2;text-align:left}.hero-logo{flex:1;display:flex;justify-content:center}.hero-logo img{max-width:100%;height:100%}@media(max-width:780px){.hero-content{flex-direction:column-reverse;gap:40px;text-align:center}.hero-text{text-align:center}.hero-logo{justify-content:center;padding:10px}.hero-logo img{width:90%;height:auto;max-width:none}}.services-container{display:flex;flex-wrap:wrap;gap:20px}.service-block{flex:1;min-width:250px;padding:20px 25px;border-radius:10px;background-color:#f3f0e6;color:#0a0262;border:2px solid #0a0262}.service-block h3{margin-top:0}.flex-center{display:flex;justify-content:center}.service-block img{width:2rem;margin-bottom:1rem}@media(max-width:768px){.services-container{flex-direction:column}}.form-field{border-radius:10px;width:100%;color:#0a0262;background-color:transparent;margin-top:10px;padding:10px;min-height:30px;border:#0a0262 solid 1px}.form-field.text{min-height:60px}@media(max-width:780px){.form-field{width:80vw}}.team-row{display:flex;gap:1em;justify-content:center;flex-wrap:wrap;padding-top:2rem}.team-member{display:flex;align-items:center;justify-content:center;flex-direction:column}.avatar{width:180px;height:240px;border-radius:20px;object-fit:cover;object-position:50% 25%;border:#0a0262 solid 2px}@media(max-width:780px){.avatar{width:100px;height:150px}}.name{margin-top:.5rem;font-size:1rem;font-weight:500;text-align:center;color:#0a0262;font-family:plus jakarta sans,sans-serif}.team-intro{display:flex;gap:2rem;align-items:stretch;margin-bottom:2rem;padding-top:40px}@media(max-width:780px){.team-intro{flex-direction:column;text-align:center;gap:.5rem}}.team-intro p{margin-top:5px!important}.section-title{flex:2;display:flex;align-items:flex-start}.section-title h2{margin:0;text-align:left;padding:4rem 0!important}.team-text{flex:5;padding-right:3rem;text-align:justify}@media(max-width:780px){.section-title,.team-text{padding-left:1rem;padding-right:1rem}.avatar{width:100%;min-height:100px}.section-title{justify-content:center;text-align:center}.section-title h2{text-align:center;padding-left:0}footer{justify-content:center}footer p{text-align:center}}.mtb-20{margin-top:20px;margin-bottom:20px}.banner{width:100%;background-color:#b69aeb;color:#000;overflow:hidden;box-sizing:border-box;padding:10px 0;position:relative;height:3rem;display:flex;align-items:center;white-space:nowrap}.track{display:inline-flex;gap:4rem;animation:marquee 40s linear infinite;transform:translateX(-25%)}.track,.track *{font-family:plus jakarta sans,sans-serif!important}.track span{flex-shrink:0}@keyframes marquee{from{transform:translateX(-25%)}to{transform:translateX(-75%)}}.track:hover{animation-play-state:paused}#wcb #wcb_2,#wcb #wcb_a,#wcb #wcb_g{font-family:plus jakarta sans,sans-serif!important;text-transform:uppercase!important;border:none!important;text-decoration-color:#f3f0e6!important;color:#f3f0e6!important}#wcb.carbonbadge{--b1:$color-beige !important;--b2:$color-beige !important;font-size:14px!important;padding-top:10px}#wcb #wcb_g{border-radius:0!important;background:0 0!important;color:#f3f0e6!important;border-bottom:solid 2px #f3f0e6!important;justify-content:left!important}#wcb #wcb_a{border-radius:0!important;font-weight:500!important;background:0 0!important;color:#f3f0e6!important;border-bottom:solid 2px #f3f0e6!important}@media(max-width:768px){.carbonbadge{padding-bottom:1rem}}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media(max-width:992px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.projects-grid{grid-template-columns:1fr}}.project-card{border-radius:10px;border:2px solid #0a0262;overflow:hidden;padding:1rem;background:#f3f0e6;transition:transform .2s ease}.project-card:hover{transform:translateY(-5px)}.project-image{width:100%;height:200px;object-fit:cover;border-radius:5px}.project-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.3rem}.project-title{font-size:1rem;margin:0;letter-spacing:normal;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#2d46b9;font-weight:300}.project-tags{list-style:none;display:flex;gap:.5rem;padding:0;margin:0}.project-tags li{padding:.2rem .6rem;border-radius:9999px;font-size:.85rem;display:inline-block;transition:all .3s ease}.project-tags .tag-ruby-on-rails{background:#f037a5;border:1px solid #f037a5;color:#fff}.project-tags .tag-ruby-on-rails:hover{background:#fff;color:#f037a5}.project-tags .tag-hugo{background:#2d46b9;border:1px solid #2d46b9;color:#fff}.project-tags .tag-hugo:hover{background:#fff;color:#2d46b9}.project-tags li:not(.tag-ruby-on-rails):not(.tag-hugo){background:#f3f0e6;border:1px solid #0a0262;color:#0a0262}.project-tags li:not(.tag-ruby-on-rails):not(.tag-hugo):hover{background:#fff;color:#0a0262}.project-summary{margin-top:.5rem;font-size:.95rem}.project-page-single{max-width:1e3px;margin:0 auto;padding:2rem}@media(max-width:768px){.project-page-single{padding:1rem}}.project-single-header{display:flex;gap:2rem;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap}.project-single-image{width:100%;height:500px;object-fit:cover;border-radius:8px;border:2px solid #0a0262}.project-single-details{display:flex;flex-direction:column;width:100%}.project-single-title{font-size:2rem;margin-bottom:.5rem}.project-single-tags{list-style:none;display:flex;gap:.5rem;padding:0;margin:0 0 1rem}.project-single-tags li{background:0 0;border:1px solid #f037a5;padding:.2rem .6rem;border-radius:9999px;font-size:.85rem;color:#f037a5}.project-single-description{font-size:1rem;margin-bottom:1rem}.project-single-content{margin-top:2rem}@media(max-width:768px){.project-single-header{flex-direction:column}.project-single-image-wrapper{flex:1 0 100%}.project-single-image{width:100%;height:auto}}.project-back-button{display:inline-block;color:#333;text-decoration:none;font-weight:500;transition:all .3s ease}.project-back-button:hover{text-decoration:underline}.testimonial-card{background:#fff;border-radius:20px;padding:10px 20px;border:2px solid #0a0262;height:220px;display:flex;flex-direction:column}@media(max-width:900px){.testimonial-card{height:auto}}.testimonial-content{flex:1;display:flex;align-items:center;justify-content:center;text-align:start}.testimonial-text{color:#0a0262}.testimonial-footer{margin-top:auto;display:flex;align-items:center;gap:10px}.testimonial-name{font-weight:700;color:#f037a5}.swiper-pagination-bullet{background:#2d46b9!important;width:10px!important;height:10px!important;opacity:.4}.swiper-pagination-bullet-active{opacity:1}.testimonials-wrapper{position:relative;padding-bottom:50px;overflow:visible}.swiper-pagination{text-align:center;position:absolute;bottom:0;left:0;right:0}.dark-blue-bg{background-color:#0a0262}.eyebrow,.kicker{font-family:plus jakarta sans,sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .75rem}.eyebrow{display:inline-block;color:#2d46b9;border:2px solid #2d46b9;border-radius:999px;padding:.3rem .9rem;margin-bottom:1.5rem}.section-heading{padding:4rem 0 2rem}.section-heading h2{margin:0;max-width:40rem}@media(max-width:780px){.section-heading{padding:2.5rem 0 1.5rem;text-align:center}.section-heading h2{margin:0 auto}}.section-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}@media(max-width:780px){.section-heading-row{flex-direction:column;align-items:center}}.link-arrow{font-family:plus jakarta sans,sans-serif;font-weight:600;color:#2d46b9;white-space:nowrap;border-bottom:2px solid transparent;transition:border-color .2s ease}.link-arrow:hover{border-color:#2d46b9}.hero{min-height:auto;padding:4rem 0}.hero h1{animation:none;font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.1;letter-spacing:-.02em}@media(max-width:780px){.hero{min-height:auto;padding:2rem 0 3rem}}.hero-lead{font-size:1.15rem;line-height:1.6;max-width:36rem;margin:1.5rem 0 0;opacity:.85}@media(max-width:780px){.hero-lead{font-size:1rem;margin:1rem auto 0}}.hero-actions{display:flex;flex-wrap:wrap;gap:0 1rem}@media(max-width:780px){.hero-actions{justify-content:center}.hero-actions .button{margin-top:1rem}}.hero-badges{list-style:none;padding:0;margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.9rem}.hero-badges li{display:flex;align-items:center;gap:.5rem}.hero-badges li::before{content:"";width:8px;height:8px;border-radius:50%;background:#f037a5}@media(max-width:780px){.hero-badges{justify-content:center}}.hero-logo .logo{width:16rem;height:16rem}@media(max-width:780px){.hero-logo .logo{width:7rem!important;height:7rem}}@keyframes heroIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.hero-text{animation:heroIn .7s ease-out both}@keyframes trust-scroll{from{transform:translateX(0)}to{transform:translateX(calc((-100% - var(--gap))/var(--copies)))}}.trust-marquee{display:flex;align-items:stretch;background-color:#b69aeb;overflow:hidden}@media(max-width:780px){.trust-marquee{flex-direction:column}}.trust-label{flex-shrink:0;display:flex;align-items:center;margin:0;padding:0 1.5rem;font-family:plus jakarta sans,sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#f3f0e6;background-color:#0a0262;position:relative;z-index:1}@media(max-width:780px){.trust-label{justify-content:center;padding:.5rem 1rem}}.trust-viewport{flex:1;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 4rem,#000 calc(100% - 4rem),transparent)}.trust-track{list-style:none;margin:0;padding:1rem 0;--gap:3.5rem;display:flex;align-items:center;gap:var(--gap);width:max-content;animation:trust-scroll 30s linear infinite}.trust-track:hover{animation-play-state:paused}.trust-track a{display:flex;align-items:center;color:#0a0262}.trust-track .trust-name{font-family:plus jakarta sans,sans-serif;font-weight:700;font-size:1.1rem;white-space:nowrap;opacity:.8}.trust-track .trust-logo{--area:2300;display:block;width:calc(sqrt(var(--area) * var(--ratio,2)) * 1px);max-width:120px;height:auto;max-height:52px;object-fit:contain;filter:brightness(0);opacity:.75;transition:filter .2s ease,opacity .2s ease}.trust-track a:hover .trust-logo,.trust-track a:focus-visible .trust-logo{filter:none;opacity:1}@media(max-width:780px){.trust-track{--gap:2.5rem;padding:.75rem 0}.trust-track .trust-logo{--area:1500;max-width:95px}}@media(prefers-reduced-motion:reduce){.trust-track{width:auto;flex-wrap:wrap;justify-content:center;gap:1rem 2rem}.trust-track li[aria-hidden=true]{display:none}}.service-block{box-shadow:4px 4px #0A0262;transition:transform .2s ease,box-shadow .2s ease}.service-block:hover{transform:translate(-3px,-3px);box-shadow:7px 7px #0A0262}.service-block img{margin-bottom:0!important}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.service-number{font-family:plus jakarta sans,sans-serif;font-weight:800;font-size:1.5rem;color:#2d46b9;opacity:.35}.check-list{list-style:none;padding:0;margin:1rem 0}.check-list li{position:relative;padding-left:1.75rem;margin-bottom:.5rem;line-height:1.45}.check-list li::before{content:"✓";position:absolute;left:0;top:0;width:1.2rem;height:1.2rem;border-radius:50%;background:#f037a5;color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:.1rem}.offer-block:hover{transform:none;box-shadow:4px 4px #0A0262}.offer-block p{margin:0}.offer-block .button{margin-top:0}@media(max-width:780px){.offer-block{text-align:center}.offer-block .button{margin-top:1.5rem}}.offer-price{font-family:plus jakarta sans,sans-serif;font-weight:700;font-size:1.4rem;color:#0a0262}.offer-detail{margin-top:.25rem!important;opacity:.8}.project-card-link{display:block;height:100%}.project-card{height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:.75rem;box-shadow:4px 4px #0A0262;transition:transform .2s ease,box-shadow .2s ease}.project-card:hover{transform:translate(-3px,-3px);box-shadow:7px 7px #0A0262}.project-card:hover .project-image{transform:scale(1.04)}.project-card:hover .project-more{gap:.6rem}.project-image-wrapper{overflow:hidden;border-radius:5px;border:1px solid rgba(10,2,98,.15)}.project-image{display:block;object-position:top;transition:transform .4s ease}.project-title{font-family:plus jakarta sans,sans-serif;font-weight:700!important;font-size:1.15rem!important;color:#0a0262!important}.project-summary{margin:0!important;font-size:.9rem!important;line-height:1.5;opacity:.8;flex:1}.project-more{display:inline-flex;gap:.3rem;font-family:plus jakarta sans,sans-serif;font-weight:600;font-size:.9rem;color:#f037a5;transition:gap .2s ease}.process{color:#f3f0e6}.process-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}@media(max-width:1100px){.process-steps{grid-template-columns:repeat(3,1fr)}}@media(max-width:780px){.process-steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.process-steps{grid-template-columns:1fr}}.process-step{position:relative;padding:1.25rem;border:2px solid rgba(243,240,230,.25);border-radius:10px;transition:border-color .2s ease}.process-step:hover{border-color:#f037a5}.process-step h3{color:#f3f0e6;margin:.75rem 0 .5rem;font-size:1.15rem}.process-step p{margin:0;font-size:.95rem;line-height:1.55;opacity:.8}.process-number{font-family:plus jakarta sans,sans-serif;font-weight:800;font-size:2.25rem;line-height:1;color:#f037a5}.value-chips{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}.value-chips li{font-family:plus jakarta sans,sans-serif;font-weight:600;font-size:.9rem;padding:.35rem 1rem;border-radius:999px;background:#f3f0e6;color:#0a0262;border:2px solid #0a0262}@media(max-width:780px){.value-chips{justify-content:center}}.avatar{box-shadow:4px 4px #0A0262}.name{font-weight:700!important;font-size:1.1rem!important;margin-bottom:0}.role{margin:0;font-size:.85rem;color:#0a0262;opacity:.8}.testimonial-card{margin:0;position:relative;padding:1.5rem 1.5rem 1rem!important;box-sizing:border-box}.testimonial-card::before{content:"“";font-family:plus jakarta sans,sans-serif;font-weight:800;font-size:4rem;line-height:1;color:#f037a5;height:2rem}.testimonial-content{margin:0;align-items:flex-start!important}.testimonial-content p{margin:0;line-height:1.55}.testimonial-footer{flex-direction:column;align-items:flex-start!important;gap:0!important;padding-top:1rem;margin-top:1rem;border-top:1px solid rgba(10,2,98,.15)}.testimonial-name{font-family:plus jakarta sans,sans-serif;font-weight:700}.testimonial-role{font-size:.85rem;opacity:.7}.nav-cta{margin:0 0 0 1.5rem!important;padding:.35rem 1.25rem!important;font-size:.9rem;white-space:nowrap}@media(max-width:768px){.nav-cta{display:none!important}}.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;align-items:start}@media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:1.5rem;text-align:center}}.contact-intro h2{margin-top:0}.contact-reassure{margin-top:1.5rem}@media(max-width:860px){.contact-reassure{display:inline-block;text-align:left}}.contact-card{background:#fff;border:2px solid #0a0262;border-radius:20px;padding:1.5rem 2rem;box-shadow:4px 4px #0A0262}@media(max-width:780px){.contact-card{padding:1rem 1.25rem}}.form-field{width:100%!important;box-sizing:border-box;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.form-field:focus{outline:none;border-color:#2d46b9;box-shadow:0 0 0 3px rgba(45,70,185,.2)}.form-field.text{min-height:140px!important;resize:vertical}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.track{transform:none}}html{scroll-behavior:smooth}h1.beige-text,h1.pink-text,h1.blue-text,h1.dark-blue-text,h2.beige-text,h2.pink-text,h2.blue-text,h2.dark-blue-text,h3.beige-text,h3.pink-text,h3.blue-text,h3.dark-blue-text{font-family:plus jakarta sans,sans-serif;font-weight:600}.container.section-pad{padding-bottom:5rem!important}@media(max-width:780px){.container.section-pad{padding-bottom:3rem!important}}.project-title{white-space:normal!important}.name-link{display:inline-flex;align-items:center;gap:.4rem;border-bottom:2px solid transparent;transition:color .2s ease,border-color .2s ease}.name-link svg{color:#2d46b9}.name-link:hover{border-color:#0a0262}header{height:auto!important}.navbar{padding-bottom:.9rem!important}.project-image-placeholder{height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:linear-gradient(135deg,#B69AEB,#2D46B9)}.project-image-placeholder span{font-family:plus jakarta sans,sans-serif;font-weight:700;font-size:1.6rem;color:#f3f0e6}.pink-text,h3,.testimonial-name,.project-more,.case-quote figcaption,.case-content p>strong:first-child{color:#c60f7b}.process .pink-text,.case-cta .pink-text{color:#f037a5}.project-tags .tag-ruby-on-rails{color:#0a0262}.project-tags .tag-ruby-on-rails:hover{color:#c60f7b}.video-testimonial{display:flex;align-items:center;gap:3rem;margin:2rem 0 1rem;padding:2rem;background:#fff;border:2px solid #0a0262;border-radius:20px;box-shadow:4px 4px #0A0262}.video-testimonial h3{color:#0a0262;font-size:1.4rem;margin:0 0 .75rem}@media(max-width:780px){.video-testimonial{flex-direction:column;text-align:center;gap:1.5rem;padding:1.5rem}}.video-poster,.video-player{flex-shrink:0;display:block;width:220px;aspect-ratio:292/480;border-radius:14px;overflow:hidden;background:#0a0262}.video-poster{padding:0;border:2px solid #0a0262;cursor:pointer;transition:transform .2s ease}.video-poster:hover{transform:scale(1.03)}.video-poster img{display:block;width:100%;height:100%;object-fit:cover}.video-lang{font-size:.85rem;opacity:.7}.faq-list{display:grid;gap:.75rem}.faq-item{background:#fff;border:2px solid #0a0262;border-radius:14px;transition:box-shadow .2s ease}.faq-item[open]{box-shadow:4px 4px #0A0262}.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.5rem;font-family:plus jakarta sans,sans-serif;font-weight:700;font-size:1.05rem;color:#0a0262;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"";flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:50%;background:linear-gradient(#0A0262,#0A0262)50%/.75rem 2px no-repeat,linear-gradient(#0A0262,#0A0262)50%/2px .75rem no-repeat,#f037a5;transition:transform .2s ease}.faq-item[open] summary::after{transform:rotate(45deg)}.faq-item p{margin:0;padding:0 1.5rem 1.25rem;line-height:1.65}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;margin-top:1em}.form-row p{margin:0}@media(max-width:600px){.form-row{grid-template-columns:1fr;gap:1em}}select.form-field{appearance:none;min-height:42px;padding-right:2.25rem;font-family:inherit;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230A0262' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center}.menu-cta{display:none!important}@media(max-width:768px){.menu.active{padding-bottom:1.5rem;border-bottom:2px solid #0a0262;box-shadow:0 8px 16px rgba(10,2,98,.15)}.menu-cta{display:inline-block!important;margin:1.5rem auto 0!important}}.case{padding-bottom:2rem}.case-header{padding-top:2.5rem!important;padding-bottom:2rem!important}.case-header .project-back-button{display:inline-block;margin-bottom:2.5rem}.case-header .project-tags{flex-wrap:wrap;margin-top:1.5rem}.case-title{font-size:clamp(2.2rem,5vw,3.8rem)!important;line-height:1.05;letter-spacing:-.02em;margin:0}.case-lead{font-size:1.2rem;line-height:1.55;max-width:44rem;margin:1.25rem 0 0;opacity:.85}@media(max-width:780px){.case-lead{font-size:1.05rem}}.case-cover{margin:0;border:2px solid #0a0262;border-radius:16px;overflow:hidden;box-shadow:6px 6px #0A0262}.case-cover img{display:block;width:100%;height:auto;max-height:640px;object-fit:cover;object-position:top}.case-body{display:grid;grid-template-columns:minmax(0,1fr)300px;gap:4rem;align-items:start;padding-top:4rem!important}@media(max-width:900px){.case-body{grid-template-columns:1fr;gap:2rem;padding-top:2.5rem!important}}.case-content{max-width:44rem;font-size:1.05rem;line-height:1.7}.case-content>:first-child{margin-top:0}.case-content h2,.case-content h3{font-family:plus jakarta sans,sans-serif;color:#0a0262;font-size:1.4rem;margin:2.5rem 0 .75rem;padding-left:.9rem;border-left:4px solid #f037a5;line-height:1.3}.case-content p>strong:first-child{display:block;margin-top:2rem;margin-bottom:.4rem;font-family:plus jakarta sans,sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#f037a5}.case-content em:only-child{display:inline-block;font-style:normal;font-family:plus jakarta sans,sans-serif;font-weight:600;font-size:.85rem;padding:.25rem .8rem;border-radius:999px;background:#fbb91c;color:#0a0262}.case-aside{position:sticky;top:6.5rem}@media(max-width:900px){.case-aside{position:static}}.case-facts{background:#fff;border:2px solid #0a0262;border-radius:16px;padding:1.5rem;box-shadow:4px 4px #0A0262}.case-facts dl{margin:0}.case-facts dt{font-size:.8rem;opacity:.65;margin-top:1rem}.case-facts dd{margin:.15rem 0 0;font-family:plus jakarta sans,sans-serif;font-weight:600}.case-facts .button{display:block;text-align:center;margin-top:1.5rem;padding:.5rem 1rem!important}.case-section{padding-top:4rem!important}.case-section h2{margin-top:0}@media(max-width:780px){.case-section{padding-top:2.5rem!important}}.case-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.case-gallery-item{display:block;padding:0;border:2px solid #0a0262;border-radius:12px;overflow:hidden;background:0 0;cursor:zoom-in;aspect-ratio:4/3;box-shadow:4px 4px #0A0262;transition:transform .2s ease,box-shadow .2s ease}.case-gallery-item:hover{transform:translate(-3px,-3px);box-shadow:7px 7px #0A0262}.case-gallery-item img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.lightbox{padding:0;border:none;background:0 0;max-width:92vw;max-height:92vh;overflow:visible}.lightbox::backdrop{background:rgba(10,2,98,.85)}.lightbox img{display:block;max-width:92vw;max-height:88vh;border-radius:12px}.lightbox-close{position:absolute;top:-1rem;right:-1rem;width:2.5rem;height:2.5rem;border-radius:50%;border:2px solid #0a0262;background:#f3f0e6;color:#0a0262;font-size:1.5rem;line-height:1;cursor:pointer}@media(max-width:780px){.lightbox-close{top:-3rem;right:0}}.case-quote{margin:0;padding:2.5rem;background:#fff;border:2px solid #0a0262;border-radius:20px;box-shadow:4px 4px #0A0262}.case-quote blockquote{margin:0;font-family:plus jakarta sans,sans-serif;font-weight:500;font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.5;color:#0a0262}.case-quote blockquote p{margin:0;font-family:inherit}.case-quote blockquote::before{content:"“";display:block;font-weight:800;font-size:4rem;line-height:.8;color:#f037a5}.case-quote figcaption{margin-top:1.5rem;font-family:plus jakarta sans,sans-serif;font-weight:700;color:#f037a5}@media(max-width:780px){.case-quote{padding:1.5rem}}.case-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.5rem;border-radius:20px;background:#0a0262;color:#f3f0e6}.case-cta h2{margin:0 0 .5rem}.case-cta p{margin:0;opacity:.85}.case-cta .button{margin-top:0;flex-shrink:0;box-shadow:3px 3px #F037A5;border-color:#f3f0e6!important}@media(max-width:780px){.case-cta{flex-direction:column;text-align:center;padding:2rem 1.5rem}}.case-nav{display:flex;justify-content:space-between;gap:1rem;padding-top:3rem!important;padding-bottom:3rem!important}.case-nav-link{display:flex;flex-direction:column;gap:.2rem}.case-nav-link span{font-size:.85rem;opacity:.7}.case-nav-link strong{font-family:plus jakarta sans,sans-serif;font-size:1.15rem;color:#2d46b9;border-bottom:2px solid transparent;transition:border-color .2s ease}.case-nav-link:hover strong{border-color:#2d46b9}.case-nav-next{text-align:right;align-items:flex-end}.project-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.filter-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border:2px solid #0a0262;border-radius:999px;background:0 0;color:#0a0262;font-family:plus jakarta sans,sans-serif;font-weight:600;font-size:.9rem;cursor:pointer;transition:background-color .2s ease,color .2s ease}.filter-chip span{font-size:.75rem;min-width:1.4rem;padding:.05rem .4rem;border-radius:999px;background:rgba(10,2,98,.1)}.filter-chip:hover{background:#fff}.filter-chip.is-active{background:#0a0262;color:#f3f0e6}.filter-chip.is-active span{background:#f037a5;color:#fff}.project-card-link[hidden]{display:none}.not-found{padding-top:4rem!important;padding-bottom:5rem!important;text-align:center}.not-found h1{margin:0}.not-found .case-lead{margin:1rem auto 0}.not-found .hero-actions{justify-content:center}.not-found-code{margin:0 0 1rem;font-family:plus jakarta sans,sans-serif;font-weight:800;font-size:clamp(5rem,18vw,10rem);line-height:1;color:#f037a5;text-shadow:6px 6px 0 #0a0262}.merci-icon{font-size:clamp(4rem,12vw,7rem)}.not-found h1{max-width:40rem;margin:0 auto}.legal-title{font-size:clamp(1.8rem,4vw,2.8rem)!important}.legal-content{padding-bottom:4rem}.legal-content h2{font-size:1.6rem;border-left:none;padding-left:0;margin-top:3rem}.legal-content ul{padding-left:1.25rem}.case-content ul{padding-left:1.25rem}.case-content ul li{margin-bottom:.35rem}.case-content ul li::marker{color:#f037a5}.case-quote-role{display:block;margin-top:.2rem;font-weight:500;font-size:.9rem;color:#0a0262;opacity:.75}.topbar-menu{list-style:none;display:flex;margin:0;padding:0;gap:2rem;z-index:20;max-width:none}nav{display:flex;align-items:center;width:100%;justify-content:flex-end;flex:1}header{position:fixed;top:0;left:0;width:100%;z-index:1000;height:4rem}.navbar{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;background:#fff;z-index:10}main,.site-content{padding-top:6rem}@media(max-width:768px){main,.site-content{padding-top:4rem}}.burger{display:none;flex-direction:column;justify-content:space-around;width:28px;height:24px;background:0 0;border:none;cursor:pointer;padding:0;z-index:1100}.burger span{width:100%;height:3px;background-color:#2d46b9;border-radius:2px;transition:all .3s}@media(max-width:768px){.navbar{width:100%;flex-wrap:wrap}.burger{display:flex;position:relative;z-index:1100;cursor:pointer}.menu{display:none;flex-direction:column;position:absolute;top:100%;left:0;width:100%;background:#fff;z-index:1000;align-items:center}.menu.active{display:flex}.menu .topbar-menu{display:flex;flex-direction:column;width:100%;margin:0;padding:0;gap:0;align-items:center}.menu .topbar-menu li{width:100vw;padding:12px 0;border-bottom:1px solid #2d46b9;box-sizing:border-box;display:flex;justify-content:center}.menu .topbar-menu li a{display:block;width:100%;text-align:center}}.button{background-color:transparent;border:solid 1px #000;outline:none;color:#000;padding:10px 20px;width:auto;border-radius:50px;margin-top:20px;text-wrap:nowrap;transition:.3s}.button:hover{background-color:#000;color:#fff}.title{font-size:150px;line-height:70%}@media(max-width:768px){.title{font-size:50px}}.container{max-width:1200px;margin:0 auto;padding:0 6rem;box-sizing:border-box}@media(max-width:1000px){.container{padding:0 1.5rem}}html,body{height:100%;margin:0;padding:0}body{color:#222;font-family:sans-serif;line-height:1.5}footer{margin-top:1rem}a{color:inherit;text-decoration:none}.center-x{display:block;margin-left:auto;margin-right:auto}