:root{--primary-beige:#f0eee4;--primary-black:#141413;--primary-orange:#d97757;--cream-light:#faf9dc;--cream-white:#faf9f5;--white:#ffffff;--grey-hover:#3d3d3a;--grey-light:#c2c0b6;--dark-card:#1f1e1d;--separator:#30302f;--focus:#ffd166;--card1-bg:#ebdbbc;--card1-bg-hover:#f3e3c4;--card1-icon:#8b7a5c;--card2-bg:#acb297;--card2-bg-hover:#bac2a5;--card2-icon:#5c6247;--card3-bg:#90a0b0;--card3-bg-hover:#a0b0c0;--card3-icon:#3a4550;--card4-bg:#c9b8a8;--card4-bg-hover:#d7c6b6;--card4-icon:#7a5f4f;--hero-photo-delay:0ms;--hero-photo-duration:600ms;--hero-name-delay:100ms;--hero-name-duration:500ms;--hero-job-delay:100ms;--hero-job-duration:500ms;--hero-expertise1-delay:500ms;--hero-expertise2-delay:650ms;--hero-expertise3-delay:800ms;--hero-expertise4-delay:950ms;--hero-expertise-duration:400ms;--hero-typewriter-delay:1800ms;--hero-typewriter-duration:2000ms;--hero-cta-delay:0ms;--hero-cta-duration:500ms}*{box-sizing:border-box}body,html{margin:0;padding:0;width:100%}html{height:100%;-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,sans-serif;color:var(--cream-white);background:var(--primary-black);line-height:1.6;position:relative}.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;padding:.6rem 1rem;background:var(--focus);color:var(--primary-black);border-radius:.5rem;z-index:10000}.container{max-width:1400px;margin:0 auto;padding:1rem 2rem}section{padding:5rem 1.5rem;position:relative;z-index:101}.section-title{font-size:clamp(2.2rem, 5vw, 3.2rem);font-weight:500;text-align:center;margin:0 0 2.5rem;letter-spacing:-.02em}.section-subtitle{font-size:clamp(1.25rem, 2.4vw, 1.5rem);font-family:'Crimson Pro',serif;color:var(--primary-black);text-align:center;margin:0 auto .25rem;width:100%;max-width:600px;line-height:1.5}footer a,main a:not(.btn):not(nav a){color:var(--primary-orange);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:0.2em}footer a:hover,main a:not(.btn):not(nav a):hover{filter:brightness(1.15)}footer a:focus-visible,main a:not(.btn):not(nav a):focus-visible{outline:0}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}.no-js .reveal,.reveal.revealed,.reveal.visible{opacity:1;transform:translateY(0)}.js .card.reveal{opacity:0;transform:translateY(50px) scale(.92);filter:blur(8px);transition:opacity .8s cubic-bezier(.22, .61, .36, 1),transform .8s cubic-bezier(.22, .61, .36, 1),filter .8s cubic-bezier(.22, .61, .36, 1);position:relative;will-change:opacity,transform,filter}.card.reveal.revealed,.card.reveal.visible,.no-js .card.reveal{opacity:1;transform:translateY(0) scale(1);filter:blur(0);will-change:auto}.services-grid .card.reveal:first-child{transition-delay:0s}.services-grid .card.reveal:nth-child(2){transition-delay:150ms}.services-grid .card.reveal:nth-child(3){transition-delay:0.3s}.services-grid .card.reveal:nth-child(4){transition-delay:450ms}.services-grid .card.revealed{animation:cardGlowPulse 4s ease-in-out 1s infinite}@keyframes cardGlowPulse{0%,100%{box-shadow:inset 0 0 25px rgba(0,0,0,.1)}50%{box-shadow:inset 0 0 25px rgba(0,0,0,.1),0 0 20px rgba(255,255,255,.1)}}.card{animation:float 6s ease-in-out infinite;will-change:transform}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.card h3{transform:translate3d(0,0,0);animation:none;transition:none;position:relative;z-index:10;backface-visibility:hidden}@keyframes lock-shake{0%,100%,90%{transform:rotate(0)}92%,94%{transform:rotate(-3deg)}96%,98%{transform:rotate(3deg)}}@keyframes gear-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes lightning-strike{0%,100%,92%{transform:translateY(0);opacity:.7}94%{transform:translateY(-2px);opacity:1}96%{transform:translateY(0);opacity:1}}@keyframes subtlePulse{0%,100%{opacity:.6}50%{opacity:1}}@keyframes slideArrowLeft{0%,100%{transform:translateX(0)}50%{transform:translateX(-3px)}}@keyframes slideArrowRight{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}@keyframes slideFromLeft{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:.3}}@keyframes slideFromRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:.3}}@keyframes badgeActivate{0%{transform:scale(1)}50%{transform:scale(1.4)}100%{transform:scale(1)}}@keyframes drawCheck{0%{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="rgba(255,255,255,0.3)" stroke-width="2"><circle cx="12" cy="12" r="10"/></svg>');opacity:1}100%{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23d97757" stroke-width="2.5"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-7" stroke-linecap="round" stroke-linejoin="round"/></svg>');opacity:1}}@keyframes heroRevealLottie{0%{opacity:0;transform:scale(.92) rotate(-2deg);filter:blur(5px)}100%{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}@keyframes heroRevealTitle{0%{opacity:0;transform:translateY(20px) scale(.98);filter:blur(4px)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes heroRevealHighlight{0%{width:0%;opacity:0}100%{width:100%;opacity:1}}@keyframes heroRevealTagline{0%{opacity:0;transform:translateY(15px);filter:blur(3px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes heroRevealCTA{0%{opacity:0;transform:translateY(20px) scale(.95)}80%{transform:translateY(-1px) scale(1.01)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes heroRevealPhoto{0%{opacity:0;transform:scale(.9) translateY(20px);filter:blur(5px)}100%{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}@keyframes heroRevealSimple{0%{opacity:0;transform:translateY(15px);filter:blur(3px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes heroRevealExpertise{0%{opacity:0;transform:translateX(-10px)}100%{opacity:1;transform:translateX(0)}}@keyframes blink{0%,50%{opacity:1}100%,51%{opacity:0}}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.no-js .service-body li,.no-js .service-header h3,.no-js .service-header::after,.no-js .service-tagline{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}.services-grid .card.reveal{animation:none!important}.service-body li,.service-header h3,.service-header::after,.service-tagline{opacity:1!important;transform:none!important;transition:none!important}}header.nav{position:fixed;top:0;left:0;right:0;z-index:102;background:var(--primary-beige);width:100%}header.nav .container{max-width:100%;margin:0;padding:1.25rem 1rem;display:flex;align-items:center;justify-content:space-between;min-height:60px}.logo{font-size:1.75rem;letter-spacing:-.01em;font-weight:700;text-decoration:none;color:var(--primary-black);display:flex;align-items:center;line-height:1;position:relative}.logo-lottie{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;opacity:1;z-index:-1;pointer-events:none}.logo .light{font-weight:200}nav ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}nav a{color:var(--primary-black);text-decoration:none;font-weight:500;position:relative}nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--primary-black);transition:width .25s ease}nav a.active:after,nav a:focus-visible:after,nav a:hover:after{width:100%}.menu-btn,.mobile-panel{display:none}.hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--primary-beige);color:var(--primary-black);text-align:center;padding:6rem 1.5rem 4rem}.hero h1,.hero p{color:var(--primary-black)}.hero .container{position:relative;z-index:1;padding-left:2rem;padding-right:2rem;width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding-top:calc(20vh - 6rem)}.hero-lottie-wrapper{width:100%;max-width:180px;margin:0 auto 1.5rem;display:flex;justify-content:center;align-items:center}.hero-lottie-wrapper dotlottie-player{width:100%;height:auto;max-width:180px;transition:transform .4s ease}.hero-lottie-wrapper:hover dotlottie-player{transform:scale(1.15)}.hero h1{white-space:normal;font-size:clamp(2rem, 4.2vw, 3rem);margin:0 auto;max-width:1400px;line-height:1.55;font-weight:600}.hero h1 .light{font-weight:200}.hero-highlight{position:relative;display:inline-block;color:var(--primary-black);font-weight:600;transition:all .3s ease}.hero-highlight::after{content:'';position:absolute;left:0;bottom:.05em;width:100%;height:5px;background:var(--primary-orange);opacity:1;transition:opacity .3s ease,width .3s ease}@media (hover:hover){.hero-highlight{cursor:default}}@media (min-width:1200px){.hero h1{white-space:normal;font-size:clamp(2.2rem, 4.5vw, 3.3rem);max-width:1500px}}.tagline{font-size:clamp(1.15rem, 2vw, 1.4rem);font-family:'Crimson Pro',serif;color:var(--primary-black);margin-top:2rem;margin-bottom:1.5rem;line-height:1.3;text-align:center}.hero-name{display:block;font-size:clamp(1.5rem, 3vw, 2.8rem);font-weight:600;color:#d97757;margin-bottom:.5rem;text-align:left;letter-spacing:.05em;font-family:'Crimson Pro',serif}.hero-job-title{display:block;font-size:clamp(1.8rem, 3.5vw, 3.5rem);font-weight:600;color:var(--primary-black);margin-bottom:.75rem;text-align:left;line-height:1.2}.hero-expertises{display:block;font-size:clamp(.85rem, 1.5vw, 1.25rem);font-weight:400;color:var(--primary-black);opacity:.7;text-align:left;line-height:1.6;margin-top:.5rem;white-space:nowrap}.expertise-inline{display:inline;white-space:nowrap}.expertise-inline:not(:last-child)::after{content:' • ';margin:0 .3rem;opacity:.5}.hero h1{text-align:left}.hero-tech-inline{font-size:clamp(.85rem, 1.4vw, 1rem);font-weight:400;opacity:.7;margin-left:.5rem}.hero-tech-stack{font-size:clamp(1rem, 1.8vw, 1.2rem);font-family:Poppins,sans-serif;color:var(--primary-black);margin-top:1rem;margin-bottom:1.5rem;font-weight:500;opacity:.8;text-align:left}.hero-value-proposition{font-size:clamp(1.2rem, 2.2vw, 1.6rem);font-family:'Crimson Pro',serif;color:var(--primary-black);margin-top:1.5rem;margin-bottom:2rem;line-height:1.5;max-width:1000px;font-weight:500;text-align:left;white-space:nowrap;overflow:visible}.hero-expertise{display:flex;flex-wrap:nowrap;gap:.75rem;justify-content:flex-start;margin-top:2rem;margin-bottom:2.5rem;max-width:100%;overflow-x:auto}.hero .cta-row{justify-content:flex-start}.expertise-item{background:0 0;border:none;padding:0 .75rem;border-radius:0;font-size:.95rem;color:var(--primary-black);font-weight:400;opacity:.7;transition:opacity .3s ease;white-space:nowrap;flex-shrink:0;position:relative}.expertise-item:not(:last-child)::after{content:'•';position:absolute;right:-.15rem;color:var(--primary-black);opacity:.4}.expertise-item:hover{opacity:1}.js .hero-reveal-photo{opacity:0;transform:scale(.9) translateY(20px);filter:blur(5px);will-change:opacity,transform,filter}.js .hero-reveal-photo.revealed{animation:heroRevealPhoto var(--hero-photo-duration) cubic-bezier(.25,.46,.45,.94) var(--hero-photo-delay) forwards;will-change:auto}.js .hero-reveal-job,.js .hero-reveal-name{opacity:0;transform:translateY(15px);filter:blur(3px);will-change:opacity,transform,filter}.js .hero-reveal-name.revealed{animation:heroRevealSimple var(--hero-name-duration) cubic-bezier(.25,.46,.45,.94) var(--hero-name-delay) forwards;will-change:auto}.js .hero-reveal-job.revealed{animation:heroRevealSimple var(--hero-job-duration) cubic-bezier(.25,.46,.45,.94) var(--hero-job-delay) forwards;will-change:auto}.js .hero-reveal-expertise{opacity:0;transform:translateX(-10px);will-change:opacity,transform}.js .hero-reveal-expertise.revealed{animation:heroRevealExpertise var(--hero-expertise-duration) cubic-bezier(.25,.46,.45,.94) forwards;will-change:auto}.js .hero-typewriter{position:relative;opacity:0;min-height:2em}.js .hero-typewriter.typing{opacity:1}.js .hero-typewriter.typing::after{content:'|';position:absolute;animation:blink .8s infinite;color:var(--primary-orange);font-weight:600}.js .hero-reveal-cta{opacity:0;transform:translateY(20px) scale(.95);will-change:opacity,transform}.js .hero-reveal-cta.revealed{animation:heroRevealCTA var(--hero-cta-duration) cubic-bezier(.25,.46,.45,.94) var(--hero-cta-delay) forwards;will-change:auto}.hero-content{display:flex;align-items:center;justify-content:flex-start;gap:4rem;width:100%;max-width:1300px;margin:0}.hero-text{flex:1;max-width:700px;text-align:left}.hero-image{flex:0 0 auto;width:300px;height:300px;position:relative;display:block;text-decoration:none;cursor:pointer}.hero-image img{width:100%;height:100%;box-shadow:0 20px 60px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.05);object-fit:cover;object-position:center;transition:box-shadow .3s ease;clip-path:circle(50%);position:relative;z-index:1}.hero-image:hover img{box-shadow:0 25px 70px rgba(0,0,0,.2),0 0 0 1px rgba(0,0,0,.08)}.status-badge{position:absolute;bottom:12%;right:12%;width:24px;height:24px;background:#6b6b6b;border:4px solid var(--primary-beige);border-radius:50%;z-index:100;transition:background .6s cubic-bezier(.34, 1.56, .64, 1)}.status-badge.online{background:#01754f;animation:badgeActivate .6s cubic-bezier(.34,1.56,.64,1) forwards}#hero-tooltip{position:fixed;background:var(--primary-black);color:var(--primary-beige);padding:8px 16px;border-radius:8px;font-size:.875rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:10001;left:0;top:0;transform:translate(0,-100%);display:flex;align-items:center;gap:8px}#hero-tooltip .status-dot{width:8px;height:8px;background:#01754f;border-radius:50%;flex-shrink:0}.js .hero-highlight::after{width:0%;opacity:0;transition:width .5s ease-out,opacity .5s ease-out}@media (min-width:901px){.js .hero-highlight.revealed::after{animation:heroRevealHighlight var(--hero-highlight-duration) cubic-bezier(.34,1.56,.64,1) forwards}.js .hero-highlight.revealed::after{animation-delay:var(--hero-highlight-delay)}.js .hero-highlight-fiabilisation.revealed::after{animation-delay:var(--hero-highlight-delay)}.js .hero-highlight-tests.revealed::after{animation-delay:calc(var(--hero-highlight-delay) + 200ms)}.js .hero-highlight-evolution.revealed::after{animation-delay:calc(var(--hero-highlight-delay) + 400ms)}}@media (max-width:900px){.js .hero-highlight.revealed::after{width:100%;opacity:1}}.no-js .hero-reveal-cta,.no-js .hero-reveal-lottie,.no-js .hero-reveal-tagline,.no-js .hero-reveal-title{opacity:1;transform:none;filter:none}#services{padding:8rem 0 3rem 0;position:relative;overflow:visible;background:var(--primary-beige);color:var(--primary-black)}#services *{color:inherit}#services .btn-primary{color:var(--cream-light);background:var(--primary-black);border-color:var(--primary-black)}#services>*{position:relative;z-index:1}#services .container{max-width:1500px;margin:0 auto 4rem auto;padding:0 3rem}#services .section-title{text-align:center;margin:0 0 3rem 0;color:var(--primary-black)}#services .section-subtitle{text-align:center;margin:0 auto 6rem auto;max-width:1350px;color:var(--primary-black)}.services-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:3.5rem;max-width:2200px;margin:0 auto 4rem auto;padding:0 3rem}.services-grid .card{position:relative;padding:0;border:none;border-radius:24px;text-align:center;cursor:default;outline:0;height:clamp(500px,calc(700px - 3vw),750px);min-height:clamp(500px,calc(700px - 3vw),750px);max-height:clamp(500px,calc(700px - 3vw),750px);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;box-shadow:inset 0 0 25px rgba(0,0,0,.1);animation:none;z-index:1;transition:background .4s cubic-bezier(.22, .61, .36, 1),box-shadow .4s cubic-bezier(.22, .61, .36, 1),transform .5s cubic-bezier(.34, 1.56, .64, 1)}.services-grid .card:hover{transform:translateY(-12px) scale(1.02);box-shadow:inset 0 0 25px rgba(0,0,0,.1),0 20px 40px rgba(0,0,0,.15),0 0 30px rgba(255,255,255,.15);z-index:10}.services-grid .card::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='grainy'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.95' numOctaves='4' result='noise' seed='2'/%3E%3CfeColorMatrix in='noise' type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grainy)' opacity='0.25'/%3E%3C/svg%3E");opacity:.7;z-index:1;pointer-events:none;mix-blend-mode:multiply}.services-grid .card::after{content:'';position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.5) 50%,transparent 100%);border-radius:1rem 1rem 0 0;z-index:1;opacity:.6}.services-grid .card[data-card="1"]{background:var(--card1-bg)}.services-grid .card[data-card="2"]{background:var(--card2-bg)}.services-grid .card[data-card="3"]{background:var(--card3-bg)}.services-grid .card[data-card="4"]{background:var(--card4-bg)}.services-grid .card[data-card="1"]:hover{background:var(--card1-bg-hover)}.services-grid .card[data-card="2"]:hover{background:var(--card2-bg-hover)}.services-grid .card[data-card="3"]:hover{background:var(--card3-bg-hover)}.services-grid .card[data-card="4"]:hover{background:var(--card4-bg-hover)}.service-header{position:relative;z-index:2;padding:1.5rem 1.5rem 1.5rem;background:0 0;border-bottom:none;margin:0;height:clamp(220px,calc(350px - 2vw),370px);flex:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0}.service-icon{color:var(--primary-black);width:40px;height:40px;opacity:1;position:relative;display:block;margin:4rem 0 .7rem 0;z-index:2}.service-header h3{font-family:Poppins,sans-serif;font-size:1.5rem;font-weight:600;letter-spacing:.05em;margin:0 0 2.25rem 0;color:var(--primary-black);position:relative;z-index:10;opacity:0;transform:translateY(10px);transition:transform .3s ease,opacity .5s ease}.services-grid .card.revealed h3{opacity:1;transform:translateY(0);transition-delay:0.3s}.service-tagline{font-size:1.05rem;font-family:Poppins,sans-serif;font-weight:450;color:var(--primary-black);font-style:normal;margin:0 0 .5rem 0;line-height:1.3;position:relative;z-index:10;text-align:center;min-height:3.12rem;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s cubic-bezier(.22, .61, .36, 1)}.services-grid .card.revealed .service-tagline{opacity:1;transform:translateY(0);transition-delay:0.4s}.services-grid .card[data-card="1"] .service-tagline{color:var(--card1-icon)}.services-grid .card[data-card="2"] .service-tagline{color:var(--card2-icon)}.services-grid .card[data-card="3"] .service-tagline{color:var(--card3-icon)}.services-grid .card[data-card="4"] .service-tagline{color:var(--card4-icon)}.service-header::after{content:"";position:absolute;bottom:clamp(.5rem,1vw,1.5rem);left:10%;right:10%;height:2px;background:var(--primary-black);opacity:0;transform:scaleX(0);transform-origin:left;transition:opacity .5s ease,transform .6s cubic-bezier(.22, .61, .36, 1)}.services-grid .card.revealed .service-header::after{opacity:.3;transform:scaleX(1);transition-delay:0.5s}.services-grid .card[data-card="1"] .service-header::after{background:var(--card1-icon)}.services-grid .card[data-card="2"] .service-header::after{background:var(--card2-icon)}.services-grid .card[data-card="3"] .service-header::after{background:var(--card3-icon)}.services-grid .card[data-card="4"] .service-header::after{background:var(--card4-icon)}.service-body{flex:1 1 auto;padding:.5rem 1.8rem 2.5rem 1.8rem;display:flex;flex-direction:column;justify-content:flex-start;position:relative;z-index:2}.service-body ul{list-style:none;padding:0;margin:0;flex:1;display:flex;flex-direction:column;justify-content:flex-start;gap:.15rem}.service-body li{position:relative;padding-left:1.8rem;font-size:clamp(.88rem, 1.15vw, .98rem);line-height:1.35;color:var(--primary-black);font-weight:400;text-align:left;opacity:0;transform:translateX(-10px);transition:opacity .5s ease,transform .5s cubic-bezier(.22, .61, .36, 1)}.services-grid .card.revealed li{opacity:1;transform:translateX(0)}.services-grid .card.revealed li:first-child{transition-delay:0.6s}.services-grid .card.revealed li:nth-child(2){transition-delay:0.7s}.services-grid .card.revealed li:nth-child(3){transition-delay:0.8s}.services-grid .card.revealed li:nth-child(4){transition-delay:0.9s}.services-grid .card.revealed li:nth-child(5){transition-delay:1.0s}.service-body li::before{content:'✓';position:absolute;left:0;top:0;color:var(--primary-black);font-weight:600;font-size:1.1em}.card ul li{position:relative;padding-left:1.8rem;margin:1.4rem 0;font-size:clamp(.88rem, 1.15vw, .98rem);font-family:Poppins,sans-serif;font-weight:400;color:var(--primary-black);line-height:1.4;pointer-events:auto;user-select:text;cursor:text}.card ul li::before{content:"◆";position:absolute;left:0;top:.55em;font-size:.6rem;opacity:.4;color:var(--primary-black)}.card ul li:last-child{margin-bottom:0}.services-cta-global{max-width:1000px;margin:0 auto;padding:0 3rem;text-align:center}#competences{background:var(--primary-beige);padding:5rem 1.5rem}#competences .section-title{text-align:center;margin:0 0 1rem 0;color:var(--primary-black)}#competences .section-subtitle{text-align:center;margin:0 auto 3rem auto;color:var(--primary-black)}.competences-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:3rem}.competence-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:transform .3s ease,box-shadow .3s ease}.competence-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.12)}.competence-header{margin-bottom:1rem}.competence-header h3{font-size:1.1rem;font-weight:600;color:var(--primary-black);margin:0}.competence-tags{display:flex;flex-wrap:wrap;gap:.5rem}.competence-tags .tag{background:var(--primary-beige);color:var(--primary-black);padding:.35rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500;white-space:nowrap;transition:background .2s ease}.competence-tags .tag:hover{background:#e8e6dc}.services-cta-global .section-subtitle{font-size:clamp(1.25rem, 2.4vw, 1.5rem);color:var(--primary-black)}.cta-global-content{background:0 0;border-radius:24px;padding:3rem 2rem;border:none;position:relative;z-index:10}.cta-global-content h3{font-size:clamp(1.5rem, 3vw, 2rem);font-weight:600;margin:0 0 1rem 0;color:var(--primary-black)}.cta-global-content p{font-size:clamp(1rem, 1.8vw, 1.2rem);margin:0;color:var(--primary-black);line-height:1.5}#realisations{padding:6rem 0;position:relative;overflow:visible;background:var(--primary-black);min-height:100vh}#realisations>*{position:relative;z-index:1}#realisations .container{max-width:100%;margin:0 auto;padding:0;position:relative;z-index:1;overflow:visible}#realisations .section-title{text-align:center;margin:0 auto 1rem auto;padding:0 2rem;max-width:1250px;color:var(--cream-white)}#realisations .section-subtitle{text-align:center;margin:0 auto 4rem auto;max-width:1250px;color:var(--cream-white);padding:0 2rem}.logo-selectors{display:none;justify-content:center;align-items:center;gap:2rem;margin:5rem auto 2.5rem auto;padding:1rem 1rem;position:relative;max-width:950px!important;width:100%;background:0 0;border:none;overflow:visible}@media (min-width:900px){.logo-selectors{display:flex}}.logo-selector{background:0 0;border:none;border-radius:8px;padding:.75rem 1.25rem;cursor:pointer;transition:all .3s ease;opacity:.7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;position:relative;min-height:70px;max-height:70px;overflow:visible}.logo-selector:hover{opacity:1;transform:scale(1.05)}.logo-selector.active{opacity:1;background:rgba(255,255,255,.05);box-shadow:0 0 0 1px rgba(255,255,255,.15),0 0 0 3px rgba(255,255,255,.08);position:relative}.logo-selector img{height:28px;width:auto;filter:grayscale(100%) brightness(2);transition:filter .3s ease;object-fit:contain;margin:0}.logo-selector.active img{filter:grayscale(0%) brightness(1)}.logo-label{font-size:.65rem;color:rgba(255,255,255,.5);text-align:center;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;transition:color .3s ease}.logo-selector.active .logo-label{color:rgba(255,255,255,.8)}.logo-selector.active::after{content:'';position:absolute;bottom:-30px;left:50%;width:15px;height:15px;border-left:2px solid #d97757;border-bottom:2px solid #d97757;background:0 0;transform:translateX(-50%) rotate(-45deg);z-index:150;animation:bounceArrow 3s ease-in-out infinite;will-change:transform}@media (min-width:900px){.logo-selector.active::after{bottom:-30px}}@keyframes bounceArrow{0%,100%,50%{transform:translateX(-50%) translateY(0) rotate(-45deg)}25%{transform:translateX(-50%) translateY(-8px) rotate(-45deg)}}.logo-selector img[alt=Airbus]{height:34px;width:auto;object-fit:contain;object-position:center}.logo-selector img[alt=Agreenculture]{height:180px;width:auto;object-fit:contain;object-position:center}.logo-selector img[alt=Navocap]{height:38px;width:auto;object-fit:contain;object-position:center}.carousel-container{position:relative;width:100%;margin:0 auto;overflow:visible;padding:0}.realisations-swiper{position:relative;width:100%;max-width:none;margin:0 auto;overflow:visible;padding:0}@media (min-width:901px){.carousel-container .swiper-button-next,.carousel-container .swiper-button-prev{display:flex!important}}@media (max-width:900px){.carousel-container{padding:0 1rem}}.realisations-swiper .swiper-wrapper{align-items:stretch}.realisations-swiper .swiper-slide{height:auto;display:flex;align-items:stretch}.carousel-container .swiper-button-next,.carousel-container .swiper-button-prev{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:auto!important;height:auto!important;background:0 0!important;border-radius:0!important;transition:all .3s ease!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:100!important;cursor:pointer!important;visibility:visible!important;opacity:.7!important;pointer-events:auto!important;margin:0!important}.carousel-container .swiper-button-next.swiper-button-hidden,.carousel-container .swiper-button-next.swiper-button-lock,.carousel-container .swiper-button-prev.swiper-button-hidden,.carousel-container .swiper-button-prev.swiper-button-lock{display:flex!important;visibility:visible!important;opacity:1!important}.carousel-container .swiper-button-next::after,.carousel-container .swiper-button-prev::after{font-size:36px!important;color:#d97757!important;font-weight:700!important}.carousel-container .swiper-button-prev{left:calc((100vw - 1150px)/ 2 - 80px)!important}.carousel-container .swiper-button-next{right:calc((100vw - 1150px)/ 2 - 80px)!important}.carousel-container .swiper-button-next:hover,.carousel-container .swiper-button-prev:hover{opacity:1!important;transform:translateY(-50%) scale(1.1)!important}.carousel-container .swiper-button-disabled{opacity:.4!important;cursor:not-allowed!important}.realisations-swiper .swiper-pagination{display:none!important}.realisations-swiper .swiper-pagination-bullet{width:10px;height:10px;background:rgba(255,255,255,.3);opacity:1;transition:all .3s ease;border-radius:50%;margin:0}.realisations-swiper .swiper-pagination-bullet-active{background:var(--primary-orange);width:24px;border-radius:5px}.swiper-slide.realisation-card{padding:0;position:relative;height:auto;width:1150px;opacity:.4;transition:opacity .4s ease,transform .3s ease;cursor:pointer}.swiper-slide-active.realisation-card{opacity:1;transform:scale(1);filter:blur(0)}.swiper-slide-next.realisation-card,.swiper-slide-prev.realisation-card{opacity:.25;filter:blur(2px);transform:scale(.92);transition:all .5s cubic-bezier(.4, 0, .2, 1)}.swiper-slide:not(.swiper-slide-active):not(.swiper-slide-prev):not(.swiper-slide-next).realisation-card{opacity:.15;filter:blur(4px);transform:scale(.85)}.swiper-slide.realisation-card{transition:opacity .5s cubic-bezier(.4, 0, .2, 1),transform .5s cubic-bezier(.4, 0, .2, 1),filter .5s cubic-bezier(.4, 0, .2, 1)}@media (max-width:900px){.swiper-slide-next.realisation-card,.swiper-slide-prev.realisation-card,.swiper-slide:not(.swiper-slide-active):not(.swiper-slide-prev):not(.swiper-slide-next).realisation-card{opacity:1;filter:none;transform:scale(1)}}.realisation-content{background:var(--dark-card);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:0;display:flex;flex-direction:column;min-height:500px;max-width:1150px;margin:0 auto;position:relative;overflow:hidden;transition:all .5s cubic-bezier(.4, 0, .2, 1)}.realisation-header-minimal{padding:1.75rem 3rem 1.25rem;background:0 0;position:relative;z-index:1;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:0}.realisation-header-minimal::before{content:'';position:absolute;top:0;left:0;right:0;height:8px;background:var(--primary-orange);opacity:1;pointer-events:none;z-index:2;overflow:hidden;border-radius:24px 24px 0 0}.project-title{font-size:1.5rem;color:var(--cream-white);margin:0;font-weight:500;letter-spacing:-.5px;flex:1}.project-meta{margin:0;text-align:left;flex-shrink:0;display:flex;flex-direction:column;gap:.3rem}.project-meta span{color:rgba(255,255,255,.45);font-size:.9rem;font-weight:400;letter-spacing:.3px;text-transform:uppercase;position:relative}.project-company{display:block}.project-role{padding:0 3rem .75rem 3rem;margin-top:-.5rem}.project-role span{color:rgba(255,255,255,.6);font-size:.95rem;font-weight:500;font-style:italic}.realisation-description-section{padding:.5rem 3rem 1.5rem 3rem;background:0 0;position:relative;z-index:1}.realisation-description-section::after{content:'';position:absolute;bottom:0;left:3rem;right:3rem;height:2px;background-color:var(--separator);opacity:.8}.project-description{color:rgba(255,255,255,.8);font-family:Poppins,sans-serif;line-height:1.6;font-size:16.5px;margin:0;max-width:100%}.realisation-achievements{position:relative;z-index:1;width:100%;padding:.5rem 3rem .75rem;background:0 0}.achievements-card{background:0 0;border:none;padding:0 1.5rem 1.5rem 0;transition:all .3s ease;position:relative}.achievements-card::after{content:'';position:absolute;bottom:-.75rem;left:0;right:0;height:2px;background-color:var(--separator);opacity:.8}.achievements-card h4{color:rgba(255,255,255,.9);margin:0 0 1.1rem 0;padding-left:0;font-family:Poppins,sans-serif;font-size:1.05rem;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;opacity:.95}.achievements-grid{display:flex;flex-direction:column;gap:.6rem;width:100%;position:relative}.achievement-item{display:flex;align-items:flex-start;gap:.65rem;color:rgba(255,255,255,.8);font-family:Poppins,sans-serif;font-size:16.5px;line-height:1.45;position:relative;opacity:.7;transition:opacity .3s ease,transform .3s ease}.swiper-slide-active .achievement-item{opacity:1}.achievement-item:last-child{margin-bottom:0}.achievement-item .check{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;background:0 0;position:relative;margin-top:2px;margin-right:4px;overflow:visible;transition:all .4s ease}.achievement-item .check::before{content:'';position:absolute;width:100%;height:100%;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23d97757" stroke-width="2.5"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-7" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-size:contain;background-repeat:no-repeat;background-position:center;opacity:1;filter:none}.swiper-slide-active.first-time .achievement-item:first-child .check::before{animation:drawCheck .4s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:.3s}.swiper-slide-active.first-time .achievement-item:nth-child(2) .check::before{animation:drawCheck .4s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:.5s}.swiper-slide-active.first-time .achievement-item:nth-child(3) .check::before{animation:drawCheck .4s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:.7s}.swiper-slide-active.first-time .achievement-item:nth-child(n+4) .check::before{animation:drawCheck .4s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:.9s}.swiper-slide-active.already-animated .achievement-item .check::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23d97757" stroke-width="2.5"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-7" stroke-linecap="round" stroke-linejoin="round"/></svg>');transform:scale(1);filter:none;opacity:1}.realisation-tech-section{padding:.5rem 3rem 2.25rem 3rem;background:0 0;display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:1}.tech-stack-card{background:0 0;border:none;padding:0;border-radius:0}.tech-stack-card h4{color:rgba(255,255,255,.9);margin:0 0 1.1rem 0;padding-left:0;font-family:Poppins,sans-serif;font-size:1.05rem;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;opacity:.95}.tech-category{margin-bottom:1.1rem;display:flex;align-items:center;gap:.85rem}.tech-category:last-child{margin-bottom:0}.tech-category h5{color:var(--grey-light);font-size:.85rem;font-weight:400;margin:0;letter-spacing:1px;white-space:nowrap;text-transform:uppercase}.tech-category h5::after{content:':'}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;flex:1}.tech-tag{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:.35rem .85rem;border-radius:24px;font-size:.85rem;color:rgba(255,255,255,.75);transition:all .2s ease;font-weight:500;white-space:nowrap;position:relative;overflow:hidden}.tech-tag::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.03) 45%,rgba(255,255,255,.05) 50%,rgba(255,255,255,.03) 55%,transparent);pointer-events:none;z-index:1}.tech-tag:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.95);transform:translateX(2px)}#faq{padding:5rem 1.5rem;position:relative;background:var(--primary-beige);color:var(--primary-black)}#faq .container{max-width:800px;margin:0 auto;padding:0 2rem}#faq .section-title{color:var(--primary-black);margin-bottom:3rem}details{margin-bottom:1rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.02);overflow:hidden;transition:all .3s ease}details:hover{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.04)}details[open]{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06)}summary{padding:1.5rem;cursor:pointer;font-weight:600;color:var(--primary-black);font-size:1.1rem;line-height:1.4;transition:all .3s ease;list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary::after{content:'+';position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:300;transition:transform .3s ease}details[open] summary::after{transform:translateY(-50%) rotate(45deg)}summary:hover{color:var(--primary-black)}details p{padding:0 1.5rem 1.5rem;margin:0;color:var(--primary-black);line-height:1.6;font-size:1rem}.about-section{padding:5rem 1.5rem;background:var(--primary-beige);color:var(--primary-black)}.about-section .section-title{color:var(--primary-black);margin-bottom:1rem}.about-section .section-subtitle{color:var(--primary-black);font-size:1.2rem;margin-bottom:3rem;opacity:.7}.about-layout{display:grid;grid-template-columns:350px 1fr;gap:3rem;align-items:start;max-width:1100px;margin:0 auto}.about-image{width:100%;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.1);margin-top:1.1rem}.about-image img{width:100%;height:auto;display:block;object-fit:cover}.about-text{font-size:1.05rem;line-height:1.7;color:var(--primary-black)}.about-text p{margin-bottom:1.25rem}.about-text p:last-child{margin-bottom:0}#contact{position:relative;background:var(--primary-beige);color:var(--primary-black);padding:6rem 0}#contact .container{max-width:900px;margin:0 auto;padding:0 2rem}#contact .section-title{color:var(--primary-black);margin-bottom:1rem;white-space:nowrap;line-height:1.2}#contact .section-subtitle{color:var(--primary-black);margin-bottom:3rem}.calendar-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:all .3s ease;padding:2rem;box-sizing:border-box}.calendar-modal.active,.calendar-modal[aria-hidden=false]{opacity:1;visibility:visible;pointer-events:auto}.calendar-modal-content{background:var(--white);border-radius:12px;max-width:1000px;width:95%;height:80vh;max-height:800px;position:relative;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column}.calendar-modal-close{position:absolute;top:1rem;right:1rem;background:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.1);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#333;font-size:1.2rem;z-index:301;transition:all .3s ease}.calendar-modal-close:hover{background:rgba(0,0,0,.1);transform:scale(1.1)}.calendar-modal-close svg{stroke:#333333}.calendar-modal iframe{width:100%;height:100%;border:none;background-color:transparent}.footer-v3{background:var(--primary-black);color:#fff;padding:20px 20px 12px;margin-top:0;border-top:none;position:relative;overflow:hidden}.footer-v3 .container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:30px;align-items:center;position:relative;z-index:1}.footer-v3 .brand-side h3{font-size:1.3em;font-weight:700;margin-bottom:6px;color:#fff;letter-spacing:-.01em}.footer-v3 .brand-side h3 .light{font-weight:200}.footer-v3 .brand-side p{color:rgba(255,255,255,.4);line-height:1.3;max-width:600px;font-size:.85em;margin:0}.footer-v3 .contact-side h4{font-size:.8em;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.53);margin-bottom:8px}.footer-v3 .contact-links{display:flex;flex-direction:column;gap:6px}.footer-v3 .contact-links a{color:rgba(255,255,255,.8);text-decoration:none;font-size:.9em;transition:all .3s ease;display:flex;align-items:center;gap:6px}.footer-v3 .contact-links a:hover{color:var(--primary-orange);transform:translateX(5px)}.footer-v3 .contact-links a.cv-download-link{color:#d97757}.footer-v3 .contact-links a.cv-download-link:hover{color:#e8a47d}.footer-v3 .footer-bottom{margin-top:12px;padding-top:8px;border-top:1px solid rgba(255,255,255,.05);text-align:center;color:rgba(255,255,255,.27);font-size:.7em;position:relative;z-index:1}.footer-v3 .footer-bottom p{margin:0}.cta-row{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;position:relative;z-index:10}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.75rem 2.2rem;border-radius:12px;text-decoration:none;font-family:inherit;font-weight:500;font-size:1rem;letter-spacing:.01em;border:1px solid var(--primary-black);background:0 0;color:var(--primary-black);transition:transform .15s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;text-align:center;white-space:nowrap;min-width:200px;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;cursor:pointer;position:relative;z-index:10}.btn:focus-visible{outline:0}@media (hover:hover){.btn:hover{transform:translateY(-2px)}}.btn:active{transform:translateY(0) scale(.98);transition:transform .1s ease}.btn-primary{background:var(--primary-black);color:var(--cream-light);border-color:var(--primary-black)}@media (hover:hover){.btn-primary:hover{background:var(--grey-hover);border-color:var(--grey-hover);transform:translateY(-2px)}}.btn-primary:active{background:var(--grey-hover);transform:translateY(0) scale(.98)}.btn-secondary{background:0 0;color:var(--primary-black);border:2px solid var(--primary-black);font-weight:400;padding:calc(.75rem - 1px) 2.2rem}@media (hover:hover){.btn-secondary:hover{background:var(--primary-black);color:var(--cream-light);border-color:var(--primary-black);transform:translateY(-2px);box-shadow:0 4px 12px rgba(20,20,19,.2)}}.btn-secondary:active{background:var(--primary-black);color:var(--cream-light);transform:translateY(0) scale(.98)}@media (hover:none) and (pointer:coarse){.btn:hover{transform:none}.btn-primary:hover{background:var(--primary-black);border-color:var(--primary-black)}.btn-secondary:hover{background:0 0;color:var(--primary-black);border-color:var(--primary-black);box-shadow:none}}.hero .cta-row .btn{min-width:220px;padding:.8rem 1.8rem;font-size:1.05rem;max-width:280px}.hero .cta-row .btn-secondary{padding:calc(.8rem - 1px) 1.8rem}#contact .btn{padding:.85rem 2.5rem;font-size:1.1rem;min-width:280px}#openCalendarModal,.open-calendar-link{min-width:280px;padding:.85rem 2.5rem;font-size:1.1rem}.cta-global-content .btn{padding:.8rem 1.8rem;font-size:1.05rem;min-width:220px;max-width:280px}@media (max-width:900px){nav ul{display:none}header.nav .container{padding:.75rem 1rem;min-height:50px}.logo{font-size:1.5rem}.menu-btn{display:flex;position:relative;z-index:201;width:44px;height:44px;margin:0;padding:8px;border:none;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;transition:transform .2s cubic-bezier(.4, 0, .2, 1);touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex-shrink:0;cursor:pointer}.menu-btn:hover{transform:scale(1.08)}.menu-btn:active{transform:scale(.92)}.menu-btn:active,.menu-btn:focus,.menu-btn:focus-visible{outline:0}.menu-btn .icon-bar{display:block;width:24px;height:2.5px;background:var(--primary-black);border-radius:2px;transition:all .35s cubic-bezier(.4, 0, .2, 1)}.menu-btn[aria-expanded=true] .icon-bar:first-child{transform:translateY(7.5px) rotate(45deg)}.menu-btn[aria-expanded=true] .icon-bar:nth-child(2){opacity:0;transform:scale(.8) rotate(180deg)}.menu-btn[aria-expanded=true] .icon-bar:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.mobile-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.2);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:199;pointer-events:none}.mobile-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.mobile-panel{position:fixed;top:0;left:0;width:100%;height:100vh;background:var(--primary-beige);z-index:200;display:flex;flex-direction:column;overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease;padding-top:50px;box-shadow:0 8px 20px rgba(0,0,0,.1)}.mobile-panel.active{opacity:1;visibility:visible;pointer-events:auto}.mobile-panel ul{list-style:none;padding:.5rem 2rem 2rem 1.5rem;margin:0;display:flex;flex-direction:column;gap:0}.mobile-panel li{opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease;border-bottom:1px solid rgba(20,20,19,.15);outline:0;-webkit-tap-highlight-color:transparent}.mobile-panel li:first-child{padding-top:.75rem}.mobile-panel li:last-child{border-bottom:1px solid rgba(20,20,19,.15)}.mobile-panel.active li{opacity:1;transform:translateY(0)}.mobile-panel.active li:first-child{transition-delay:50ms}.mobile-panel.active li:nth-child(2){transition-delay:0.1s}.mobile-panel.active li:nth-child(3){transition-delay:0.15s}.mobile-panel.active li:nth-child(4){transition-delay:0.2s}.mobile-panel.active li:nth-child(5){transition-delay:0.25s}.mobile-panel a{color:var(--primary-black);text-decoration:none;font-size:1.25rem;font-weight:500;padding:1rem 0;display:block;text-align:left;transition:color .2s ease;outline:0;-webkit-tap-highlight-color:transparent}.mobile-panel a:focus,.mobile-panel a:hover{color:var(--primary-orange);outline:0}.mobile-panel a:active,.mobile-panel a:focus-visible{outline:0}.mobile-panel .menu-close-area{position:absolute;top:1rem;right:1rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.hero{padding-top:5rem;padding:5rem 1rem 3rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.hero .container{padding-top:0;justify-content:center;gap:1.5rem;max-width:100%;padding:0 1rem}.hero h1{font-size:clamp(1.75rem, 5vw, 2.5rem);line-height:1.3;margin-bottom:1rem;order:2}.tagline{font-size:1.1rem;margin-top:-.5rem;margin-bottom:1rem;order:3;line-height:.9}.tagline br{line-height:0;margin:0;padding:0}.cta-row{order:5;width:100%;display:flex;flex-direction:column;gap:1rem;align-items:center}.hero .btn{width:100%;max-width:280px;min-height:48px;font-size:1rem;text-align:center;display:flex;align-items:center;justify-content:center}.mobile-break{display:none}.mobile-newline{display:block}.hero-lottie-wrapper{max-width:120px;margin-bottom:1rem}.hero-lottie-wrapper dotlottie-player{max-width:120px}@media (hover:none) and (pointer:coarse){#heroTitle{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.hero-highlight{position:relative;-webkit-user-select:none;user-select:none}}.hero-content{flex-direction:column;gap:2rem;text-align:center}.hero-text{text-align:center;max-width:100%}.hero h1,.hero-expertises,.hero-job-title,.hero-name,.hero-tech-stack,.hero-value-proposition{text-align:center}.hero-value-proposition{white-space:normal}.hero-expertises{font-size:.8rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem .75rem;white-space:normal}.expertise-inline{display:inline-block}.hero-expertise{justify-content:center}.hero .cta-row{justify-content:center}.hero-image{width:220px;height:220px}.hero-image img{width:100%;height:100%;object-fit:cover;box-shadow:0 8px 24px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08);clip-path:circle(50%)}.hero-image:hover img{box-shadow:0 10px 30px rgba(0,0,0,.15),0 3px 10px rgba(0,0,0,.1)}.status-badge{bottom:10%;right:10%;width:16px;height:16px;border-width:2.5px;z-index:100}#services{padding:6rem 0 2rem 0}#services .container{padding:0 1rem;margin-bottom:2rem}.services-grid{display:flex;flex-direction:column;overflow-x:visible;scroll-snap-type:none;gap:2rem;padding:0 1rem;margin:0 auto 2rem auto;align-items:center}.services-grid .card{flex:1 1 auto;width:100%;max-width:100%;height:auto;min-height:auto;max-height:none;margin-bottom:1rem}.services-grid .card.centered{transform:none;box-shadow:0 4px 15px rgba(0,0,0,.1)}.card ul li{margin:.8rem 0;padding-left:1.4rem}.card ul li:first-child{margin-top:0}.service-header::after{bottom:2rem}.cta-global-content{padding:2rem 1.5rem}#realisations{padding:3rem 0;overflow-x:hidden;overflow-y:visible}#realisations .logo-selectors{display:flex;overflow-x:auto;overflow-y:visible;gap:.75rem;padding:1rem 1rem 2.5rem 1rem;margin-bottom:.5rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:auto;flex-wrap:nowrap;justify-content:flex-start;will-change:scroll-position;position:relative;z-index:10}#realisations .logo-selectors::-webkit-scrollbar{display:none}#realisations .logo-selector{flex:0 0 auto;min-width:160px;width:160px;min-height:100px;max-height:100px;padding:1rem .75rem;font-size:.8rem;border-radius:14px;font-weight:500;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:all .3s ease;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);cursor:pointer;position:relative;z-index:10}#realisations .logo-selector.active{background:rgba(217,119,87,.12);border-color:rgba(217,119,87,.25);transform:scale(1.02)}#realisations .logo-selector img{height:38px;width:auto;max-width:100%;object-fit:contain}#realisations .logo-selector img[alt=Agreenculture]{height:110px!important;transform:scale(1.2);transform-origin:center}#realisations .logo-selector .logo-label{font-size:.62rem;text-align:center;line-height:1.15;max-width:150px;color:rgba(255,255,255,.5);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#realisations .logo-selector.active .logo-label{color:rgba(255,255,255,.85)}#realisations .carousel-container{overflow:visible;width:100%;padding:0 1rem;position:relative;z-index:1}#realisations .realisations-swiper{overflow:visible;width:100%;padding:0;position:relative}#realisations .swiper-slide{width:auto}#realisations .swiper-slide.realisation-card{width:100%;max-width:calc(100vw - 2rem)}#realisations .realisation-content{min-height:650px;height:auto;margin:0;width:100%;max-width:100%;display:flex;flex-direction:column;background:rgba(26,26,28,.95);border:1px solid rgba(255,255,255,.08);border-radius:24px;overflow:hidden;box-sizing:border-box}.carousel-container .swiper-button-next,.carousel-container .swiper-button-prev{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;background:#d97757;border-radius:50%;box-shadow:0 4px 12px rgba(217,119,87,.4),0 2px 4px rgba(0,0,0,.2)}.carousel-container .swiper-button-next::after,.carousel-container .swiper-button-prev::after{font-size:16px;font-weight:700;color:var(--cream-white)}.carousel-container .swiper-button-prev{left:.5rem}.carousel-container .swiper-button-next{right:.5rem}#realisations .swiper-pagination{bottom:1.5rem!important}#realisations .swiper-pagination-bullet{width:8px;height:8px;background:rgba(255,255,255,.5)}#realisations .swiper-pagination-bullet-active{background:var(--primary-orange)}#realisations .realisation-header-minimal{padding:2rem 1.25rem 1.25rem 1.25rem;flex-direction:column;align-items:flex-start;gap:0;flex-shrink:0}#realisations .realisation-header-minimal::before{border-radius:24px 24px 0 0;height:8px}#realisations .project-title{font-size:1.35rem;line-height:1.25;font-weight:600;margin:0;text-align:center}#realisations .project-meta{text-align:center;line-height:1.2;margin-top:1rem;width:100%}#realisations .project-meta span{font-size:.75rem;opacity:.55}#realisations .project-company{font-size:.75rem;opacity:.55}#realisations .project-role{padding:0 1.25rem .75rem 1.25rem;font-size:.9rem;line-height:1.35;font-weight:500;flex-shrink:0}#realisations .realisation-description-section{padding:.25rem 1.25rem 1rem 1.25rem;flex-shrink:0}#realisations .realisation-description-section::after{left:1.25rem;right:1.25rem;height:1px}#realisations .project-description{font-size:.85rem;line-height:1.5;color:rgba(255,255,255,.75)}#realisations .realisation-achievements{padding:.75rem 1.25rem 1rem;flex-grow:0;flex-shrink:0;overflow-y:visible}#realisations .achievements-card{padding:0 0 1rem 0}#realisations .achievements-card h4{font-size:.95rem;margin-bottom:.75rem;font-weight:600;text-align:center}#realisations .achievement-item{font-size:.85rem;line-height:1.5;padding:.4rem 0;gap:.5rem;align-items:flex-start}#realisations .achievement-item .check{width:16px;height:16px;min-width:16px;margin-top:1px}#realisations .realisation-tech-section{padding:1rem 1.25rem 2.5rem;flex-shrink:0}#realisations .tech-stack-card{display:flex;flex-direction:column}#realisations .tech-stack-card h4{font-size:.95rem;font-weight:600;margin-bottom:.75rem;color:rgba(255,255,255,.9);text-transform:uppercase;letter-spacing:1.2px;display:block;width:100%;opacity:.95;text-align:center}#realisations .tech-category{margin-bottom:1rem;display:block}#realisations .tech-category h5{font-size:.75rem;font-weight:600;margin-bottom:.6rem;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.03em;display:block;width:100%}#realisations .tech-tags{display:flex;flex-wrap:wrap;gap:.35rem;width:100%;margin-top:0}#realisations .tech-tag{display:inline-block;font-size:.7rem;padding:.3rem .55rem;font-weight:500;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:rgba(255,255,255,.8);transition:all .2s ease;margin:0;flex:0 0 auto}@media (max-width:380px){#realisations .swiper-slide.realisation-card{max-width:calc(100vw - 1rem)}#realisations .logo-selector{min-width:140px;width:140px;min-height:90px;max-height:90px;padding:1rem .6rem}#realisations .logo-selector .logo-label{font-size:.6rem;max-width:130px}#realisations .logo-selector img{height:32px}#realisations .logo-selector img[alt=Agreenculture]{height:95px!important;transform:scale(1.15);transform-origin:center}#realisations .project-title{font-size:1.3rem}#realisations .realisation-content{min-height:600px}}@media (prefers-reduced-motion:no-preference){#realisations .logo-selectors{scroll-behavior:smooth}}.about-layout{grid-template-columns:1fr;gap:2rem}.about-image{max-width:280px;margin:0 auto}.motivation-title{display:block;text-align:center}#contact .container,#faq .container{padding:0 1rem}#contact .section-title{font-size:clamp(1.8rem, 6vw, 2.5rem);padding:0 1rem;text-align:center;white-space:normal}#contact .section-subtitle{font-size:clamp(1.05rem, 4vw, 1.3rem);padding:0 1rem;line-height:1.5;margin-bottom:2rem}#contact .cta-row{padding:0 1rem;width:100%;flex-direction:row;flex-wrap:wrap;gap:.75rem;justify-content:center}#contact .btn{min-width:auto;width:100%;max-width:350px;font-size:1rem;padding:1rem 2rem;margin:0 auto}.footer-v3 .container{grid-template-columns:1fr;text-align:center;flex-direction:column;padding:1rem;width:100%;max-width:100%}.footer-v3 .brand-side p{margin:0 auto}.contact-side,.footer-v3 .contact-links{align-items:center}.btn{width:auto;padding:.875rem 1.75rem;font-size:.95rem;min-height:44px;touch-action:manipulation;white-space:nowrap}.btn-secondary{padding:calc(.875rem - 1px) 1.75rem}.calendar-modal{padding:0}.calendar-modal-content{max-width:100vw;max-height:100vh;width:100vw;height:100vh;border-radius:0;border:none;margin:0;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--white)}.calendar-modal.fullscreen-mobile .calendar-modal-content{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh}.calendar-modal-close{position:fixed;top:1rem;right:1rem;background:rgba(0,0,0,.05);border:2px solid rgba(0,0,0,.1);z-index:301;width:50px;height:50px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.calendar-modal-close svg{width:24px;height:24px;stroke:#333333}.calendar-modal-close:active{background:rgba(0,0,0,.1)}.calendar-modal iframe{width:100%;height:100%;border:none}body,html{overflow-x:hidden;width:100%;max-width:100vw}header.nav{width:100%;max-width:100vw;overflow-x:hidden;position:fixed;top:0;left:0;right:0;transition:transform .3s ease,opacity .3s ease;z-index:202}header.nav.hidden{transform:translateY(-100%);opacity:0;pointer-events:none}.mobile-panel.active~header.nav,body:has(.mobile-panel.active) header.nav{transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important}#contact .container,#faq .container,.container,.hero,.hero .container,.mobile-panel,.realisations-carousel,footer .container,section{width:100%;max-width:100%}.container{padding-left:1rem;padding-right:1rem;box-sizing:border-box}.hero,section{padding-left:0;padding-right:0}.hero .container{padding:0 1rem}.realisations-carousel{padding:0;display:flex;justify-content:center;align-items:center}.swiper-slide.realisation-card{width:100%;max-width:calc(100vw - 2rem);margin:0 auto;display:flex;justify-content:center}.realisation-content{width:100%;max-width:100%;box-sizing:border-box}#contact .container,#faq .container{padding:0 1rem}footer .container{padding:1rem}@media (prefers-reduced-motion:reduce){*{animation-duration:0s;animation-iteration-count:1;transition-duration:0s}}}@media (min-width:768px) and (max-width:900px){header.nav{width:100%;max-width:100vw;overflow-x:hidden}header.nav .container{padding:1rem 1.5rem;max-width:100%}.nav .logo{font-size:1.75rem}.hero{padding:6rem 2rem 4rem}.hero .container{gap:2.5rem;padding-top:calc(15vh - 5rem)}.hero .hero-lottie-wrapper{max-width:200px!important}.hero .hero-lottie-wrapper dotlottie-player{max-width:200px!important}.hero .tagline{font-size:1.3rem;line-height:1.4;margin-top:2.5rem;margin-bottom:2rem}.hero .cta-row{flex-direction:row;justify-content:center;gap:1rem}.hero .btn{width:auto;min-width:180px}.services-grid{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.75rem;padding:0 1rem}.services-grid .card{flex:0 0 calc(50% - 0.5rem);max-width:calc(50% - .5rem);margin:0;height:clamp(500px,calc(700px - 3vw),750px);min-height:clamp(500px,calc(700px - 3vw),750px);max-height:clamp(500px,calc(700px - 3vw),750px)}.services-grid .service-header{padding:1.75rem .75rem .5rem}.services-grid .service-body{padding:2.25rem 1rem 2rem 1rem}.services-grid .service-header h3{font-size:1.5rem}.services-grid .service-tagline{font-size:.85rem}.services-grid .service-body li{font-size:.9rem;line-height:1.4}#realisations .realisation-header-minimal{align-items:center;text-align:center}#realisations .project-title{text-align:center}#realisations .project-meta{text-align:center}#realisations .project-title{font-size:1.55rem}#realisations .project-meta span{font-size:.95rem}#realisations .project-company{font-size:.95rem}#realisations .project-role span{font-size:1rem}#realisations .project-description{font-size:1.1rem;line-height:1.6}#realisations .achievements-card h4{font-size:1.1rem}#realisations .achievement-item{font-size:1.1rem;line-height:1.5}#realisations .tech-category h5{font-size:.95rem}#realisations .tech-tag{font-size:.9rem;padding:.4rem .9rem}#about .about-text p:last-child{text-align:center}}