/* Fichier genere par _outils/zipper.py -- NE PAS EDITER.
   Sources, dans l'ordre de la cascade : style.css, scroll-effects.css, animations.css, responsive.css */
/* style.css */
:root{--color-primary:#093b30;--color-primary-dark:#052921;--color-primary-light:#1a6b5a;--color-primary-lighter:#2d8a76;--color-accent:#d4a574;--color-accent-light:#e8c39e;--color-white:#feffff;--color-off-white:#f5f7f5;--color-gray-light:#e0e6e3;--color-gray:#65736f;--color-accent-fonce:#a06f33;--color-gray-dark:#3a4a45;--font-primary:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-display:'Playfair Display','Georgia',serif;--font-mono:'JetBrains Mono','Courier New',monospace;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:6rem;--spacing-xxl:10rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(9,59,48,0.08);--shadow-md:0 4px 16px rgba(9,59,48,0.12);--shadow-lg:0 12px 40px rgba(9,59,48,0.18);--shadow-xl:0 24px 80px rgba(9,59,48,0.25);--transition-fast:0.2s cubic-bezier(0.4,0,0.2,1);--transition-base:0.4s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.8s cubic-bezier(0.4,0,0.2,1);--transition-bounce:0.6s cubic-bezier(0.68,-0.55,0.265,1.55);--container-max:1280px;--container-padding:clamp(1.5rem,5vw,3rem);--header-height:80px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1.5rem);-webkit-text-size-adjust:100%}body{font-family:var(--font-primary);font-size:1rem;line-height:1.6;color:var(--color-primary-dark);background-color:var(--color-white);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,svg,video{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--color-primary);letter-spacing:-0.02em}h1{font-size:clamp(2.5rem,6vw,4.5rem)}h2{font-size:clamp(2rem,4.5vw,3.5rem)}h3{font-size:clamp(1.5rem,3vw,2.25rem)}h4{font-size:clamp(1.25rem,2vw,1.5rem)}p{margin-bottom:1rem}.text-accent{color:var(--color-accent)}.text-light{color:var(--color-off-white)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}section{padding:var(--spacing-xl) 0}.section-title{text-align:center;margin-bottom:var(--spacing-lg);position:relative}.section-title::after{content:'';display:block;width:60px;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));margin:1rem auto 0;border-radius:var(--radius-full)}.section-subtitle{text-align:center;font-size:1.1rem;color:var(--color-gray);max-width:600px;margin:0 auto var(--spacing-lg)}.eyebrow{display:inline-block;font-family:var(--font-mono);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.2em;color:var(--color-primary-light);margin-bottom:var(--spacing-sm);position:relative;padding-left:2.5rem}.eyebrow::before{content:'';position:absolute;left:0;top:50%;width:2rem;height:1px;background:var(--color-primary-light)}@media (hover:hover) and (pointer:fine) and (min-width:1025px){html.curseur-custom,html.curseur-custom *,html.curseur-custom *::before,html.curseur-custom *::after{cursor:none !important}}.cursor-dot,.cursor-outline{pointer-events:none;position:fixed;top:0;left:0;transform:translate(-50%,-50%);z-index:9999;border-radius:50%;mix-blend-mode:difference;opacity:0;transition:opacity 0.25s ease}.cursor-dot.ready,.cursor-outline.ready{opacity:1}.cursor-dot.au-systeme,.cursor-outline.au-systeme{display:none !important}.cursor-dot{width:8px;height:8px;background-color:var(--color-white);transition:transform 0.1s ease}.cursor-outline{width:40px;height:40px;border:2px solid var(--color-white);transition:transform 0.2s ease,width 0.3s ease,height 0.3s ease,border-color 0.3s ease}.cursor-outline.hover{width:60px;height:60px;border-color:var(--color-accent)}@media (max-width:1024px){.cursor-dot,.cursor-outline{display:none}}.scroll-progress{position:fixed;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));z-index:10000;transition:width 0.1s linear}.loader{position:fixed;inset:0;background-color:var(--color-primary);display:flex;justify-content:center;align-items:center;z-index:10001;transition:opacity 0.6s ease,visibility 0.6s ease}.loader.loaded{opacity:0;visibility:hidden}.loader-logo{font-family:var(--font-display);font-size:clamp(1.6rem,6.5vw,3rem);white-space:nowrap;color:var(--color-white);position:relative;overflow:hidden}.loader-logo span{display:inline-block;opacity:0;transform:translateY(100%);animation:letterReveal 0.6s forwards}.loader-bar{position:absolute;bottom:30%;left:50%;transform:translateX(-50%);width:200px;height:2px;background:rgba(255,255,255,0.2);overflow:hidden;border-radius:var(--radius-full)}.loader-bar::after{content:'';position:absolute;inset:0;background:var(--color-accent);transform:translateX(-100%);animation:loadProgress 1.5s ease-in-out forwards}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:rgba(254,255,255,0.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:1000;transition:background var(--transition-base),box-shadow var(--transition-base)}.header.scrolled{background:rgba(254,255,255,0.95);box-shadow:var(--shadow-sm),inset 0 -1px 0 var(--color-gray-light)}.nav{display:flex;justify-content:space-between;align-items:center;height:100%}.logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-primary);position:relative;z-index:1001;display:flex;align-items:center;gap:0.5rem}.logo-mark{width:36px;height:36px;background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:1rem;font-weight:700;transition:transform var(--transition-base),background var(--transition-base)}.logo:hover .logo-mark{transform:rotate(-12deg) scale(1.05);background:var(--color-accent)}.nav-list{display:flex;gap:var(--spacing-md);align-items:center}.nav-link{position:relative;font-weight:500;font-size:0.95rem;padding:0.5rem 0;color:var(--color-primary-dark)}.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-accent);transition:width var(--transition-base)}.nav-link:hover::after,.nav-link.active::after{width:100%}.nav-link:hover{color:var(--color-primary)}.nav-cta{background:var(--color-primary);color:var(--color-white);padding:0.8rem 1.8rem;border-radius:var(--radius-full);transition:all var(--transition-base)}.nav-cta:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.nav-cta::after{display:none}.menu-toggle{display:none;width:30px;height:30px;position:relative;z-index:1001}.menu-toggle span{display:block;position:absolute;height:2px;width:100%;background:var(--color-primary);border-radius:var(--radius-full);left:0;transition:all var(--transition-base)}.menu-toggle span:nth-child(1){top:6px}.menu-toggle span:nth-child(2){top:14px;width:70%}.menu-toggle span:nth-child(3){top:22px}.menu-toggle.open span:nth-child(1){top:14px;transform:rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0;width:0}.menu-toggle.open span:nth-child(3){top:14px;transform:rotate(-45deg)}.btn{display:inline-flex;align-items:center;gap:0.6rem;padding:1rem 2rem;font-weight:500;font-size:0.95rem;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;letter-spacing:0.02em}.btn-primary{background:var(--color-primary);color:var(--color-white)}.btn-primary::before{content:'';position:absolute;inset:0;background:var(--color-primary-dark);transform:translateY(100%);transition:transform var(--transition-base);z-index:0}.btn-primary span{position:relative;z-index:1}.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.btn-primary:hover::before{transform:translateY(0)}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:var(--color-white);transform:translateY(-3px)}.btn-accent{background:var(--color-accent);color:var(--color-primary-dark)}.btn-accent:hover{background:var(--color-accent-light);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.btn .arrow{transition:transform var(--transition-base)}.btn:hover .arrow{transform:translateX(4px)}.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding-top:calc(var(--header-height) + var(--spacing-md));padding-bottom:var(--spacing-lg)}.hero-bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 20% 30%,rgba(26,107,90,0.08) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(212,165,116,0.06) 0%,transparent 50%),var(--color-off-white)}.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:0.5}.hero-content{position:relative;z-index:1;max-width:900px}.hero-title{font-size:clamp(2.8rem,7vw,5.5rem);margin-bottom:var(--spacing-md);line-height:1.05}.hero-title .line{display:block;overflow:hidden}.hero-title .word{display:inline-block;animation:wordReveal 0.9s cubic-bezier(0.5,0,0.1,1) backwards}.hero-title .word:nth-child(1){animation-delay:0.2s}.hero-title .word:nth-child(2){animation-delay:0.3s}.hero-title .word:nth-child(3){animation-delay:0.4s}.hero-title .word:nth-child(4){animation-delay:0.5s}.hero-title .word:nth-child(5){animation-delay:0.6s}.hero-title em{font-style:italic;font-weight:400;background:linear-gradient(135deg,var(--color-primary-light),var(--color-accent));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-description{font-size:clamp(1.1rem,1.5vw,1.3rem);color:var(--color-gray-dark);max-width:560px;margin-bottom:var(--spacing-md);animation:fadeUp 0.8s 0.25s ease backwards}.hero-typewriter{font-family:var(--font-mono);font-size:1.05rem;color:var(--color-primary-light);margin-bottom:var(--spacing-md);min-height:1.6em;animation:fadeUp 0.8s 0.35s ease backwards}.hero-typewriter::before{content:'> ';color:var(--color-accent)}.hero-cursor{display:inline-block;width:8px;height:1.2em;background:var(--color-primary-light);margin-left:4px;vertical-align:text-bottom;animation:blink 1s infinite}.hero-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;animation:fadeUp 0.8s 0.45s ease backwards}.hero-scroll{position:absolute;bottom:var(--spacing-md);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:var(--color-gray);font-size:0.8rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.2em;opacity:0;animation:fadeIn 1s 1.8s ease forwards}.hero-scroll-line{width:1px;height:50px;background:var(--color-gray);position:relative;overflow:hidden}.hero-scroll-line::after{content:'';position:absolute;top:0;left:0;width:100%;height:50%;background:var(--color-primary);animation:scrollDown 2s ease-in-out infinite}.section-dark{background:var(--color-primary);color:var(--color-white)}.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:var(--color-white)}.section-dark .section-title::after{background:linear-gradient(90deg,var(--color-accent),var(--color-white))}.section-dark .eyebrow{color:var(--color-accent)}.section-dark .eyebrow::before{background:var(--color-accent)}.skills-marquee{background:var(--color-primary);color:var(--color-white);padding:var(--spacing-md) 0;overflow:hidden;border-top:1px solid var(--color-primary-light);border-bottom:1px solid var(--color-primary-light)}.marquee-track{display:flex;animation:marquee 30s linear infinite;width:max-content}.marquee-item{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.5rem);font-style:italic;display:flex;align-items:center;gap:var(--spacing-lg);white-space:nowrap;margin-right:var(--spacing-lg)}.marquee-item::after{content:'✦';color:var(--color-accent);font-size:0.7em;font-style:normal}.services{background:var(--color-off-white)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.service-card{background:var(--color-white);padding:var(--spacing-md);border-radius:var(--radius-lg);position:relative;overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base);border:1px solid var(--color-gray-light);cursor:pointer}.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.service-card:hover::before{transform:scaleX(1)}.service-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:var(--color-white);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-sm);transition:transform var(--transition-bounce)}.service-card:hover .service-icon{transform:rotate(-8deg) scale(1.1)}.service-icon svg{width:28px;height:28px}.service-card h3{margin-bottom:0.5rem;font-size:1.4rem}.service-card p{color:var(--color-gray);font-size:0.95rem;margin-bottom:var(--spacing-sm)}.service-link{color:var(--color-primary);font-weight:500;font-size:0.9rem;display:inline-flex;align-items:center;gap:0.4rem;transition:gap var(--transition-base)}.service-link:hover{gap:0.8rem;color:var(--color-accent)}.process{position:relative}.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg);position:relative}.process-step{text-align:center;position:relative;padding:var(--spacing-sm)}.process-number{width:70px;height:70px;border:2px solid var(--color-primary);color:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.5rem;margin:0 auto var(--spacing-sm);position:relative;transition:all var(--transition-base);background:var(--color-white)}.process-step:hover .process-number{background:var(--color-primary);color:var(--color-white);transform:scale(1.1) rotate(360deg)}.process-step h4{margin-bottom:0.5rem}.process-step p{color:var(--color-gray);font-size:0.95rem}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.project-card{position:relative;overflow:hidden;border-radius:var(--radius-lg);aspect-ratio:4 / 3;cursor:pointer;transform-style:preserve-3d;transition:transform var(--transition-base)}.project-card-inner{position:relative;width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));overflow:hidden}.project-visual{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:clamp(4rem,9vw,7rem);color:rgba(254,255,255,0.18);font-weight:700;letter-spacing:-0.05em;line-height:1;text-align:center;padding:var(--spacing-md);transition:transform var(--transition-slow),color var(--transition-slow);white-space:nowrap}.project-card:hover .project-visual{transform:scale(1.15) rotate(-3deg);color:rgba(212,165,116,0.25)}.project-overlay{position:absolute;inset:0;padding:var(--spacing-md);display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,rgba(5,41,33,0.92) 0%,rgba(5,41,33,0.55) 45%,transparent 100%);transition:background var(--transition-base)}.project-card:hover .project-overlay{background:linear-gradient(to top,rgba(5,41,33,0.96) 0%,rgba(5,41,33,0.75) 60%,rgba(5,41,33,0.4) 100%)}.project-tags{display:flex;gap:0.5rem;margin-bottom:0.6rem;flex-wrap:wrap}.project-tag{background:rgba(254,255,255,0.15);color:var(--color-white);padding:0.25rem 0.75rem;border-radius:var(--radius-full);font-size:0.75rem;font-family:var(--font-mono);backdrop-filter:blur(10px)}.project-overlay h3{color:var(--color-white);margin-bottom:0;font-size:1.4rem;line-height:1.2}.project-overlay p{color:var(--color-off-white);font-size:0.92rem;max-height:0;overflow:hidden;opacity:0;margin-top:0;margin-bottom:0;transition:max-height var(--transition-base),opacity var(--transition-base) 0.1s,margin-top var(--transition-base)}.project-card:hover .project-overlay p{max-height:120px;opacity:1;margin-top:0.6rem}.project-demo-link{display:inline-flex;align-items:center;gap:0.4rem;margin-top:0.8rem;padding:0.45rem 0.95rem;background:var(--color-accent);color:var(--color-primary-dark);border-radius:var(--radius-full);font-size:0.8rem;font-weight:600;letter-spacing:0.02em;opacity:0;transform:translateY(8px);transition:opacity var(--transition-base) 0.15s,transform var(--transition-base) 0.15s,background var(--transition-base);width:max-content}.project-card:hover .project-demo-link{opacity:1;transform:translateY(0)}.project-demo-link:hover{background:var(--color-white)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.stat{text-align:center;padding:var(--spacing-md)}.stat-value{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:var(--color-primary);line-height:1;display:inline-flex;align-items:baseline;gap:0.05em;margin-bottom:0.5rem}.stat-suffix{font-size:0.7em;color:var(--color-accent)}.section-dark .stat-value{color:var(--color-accent)}.stat-label{color:var(--color-gray);font-size:0.95rem;text-transform:uppercase;letter-spacing:0.1em}.section-dark .stat-label{color:var(--color-off-white)}.cta-section{background:var(--color-primary);color:var(--color-white);text-align:center;position:relative;overflow:hidden}.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(212,165,116,0.15) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(26,107,90,0.3) 0%,transparent 50%);z-index:0}.cta-content{position:relative;z-index:1;max-width:700px;margin:0 auto}.cta-content h2{margin-bottom:var(--spacing-sm);color:var(--color-white)}.cta-content p{font-size:1.15rem;color:var(--color-off-white);margin-bottom:var(--spacing-md)}.footer{background:var(--color-primary-dark);color:var(--color-off-white);padding:var(--spacing-lg) 0 var(--spacing-md)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.footer-brand h3{color:var(--color-white);font-family:var(--font-display);margin-bottom:var(--spacing-sm)}.footer-brand p{color:rgba(254,255,255,0.6);font-size:0.95rem;max-width:320px}.footer-col h4{color:var(--color-white);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.15em;margin-bottom:var(--spacing-sm);font-family:var(--font-primary);font-weight:600}.footer-col ul li{margin-bottom:0.6rem}.footer-col ul li a{color:rgba(254,255,255,0.6);font-size:0.95rem;transition:color var(--transition-fast),padding-left var(--transition-fast)}.footer-col ul li a:hover{color:var(--color-accent);padding-left:0.3rem}.footer-bottom{border-top:1px solid rgba(254,255,255,0.1);padding-top:var(--spacing-md);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);color:rgba(254,255,255,0.5);font-size:0.9rem}.footer-socials{display:flex;gap:0.75rem}.social-link{width:38px;height:38px;border-radius:50%;background:rgba(254,255,255,0.05);display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-base);color:var(--color-off-white)}.social-link:hover{background:var(--color-accent);color:var(--color-primary-dark);transform:translateY(-3px)}.social-link svg{width:18px;height:18px}.page-header{padding-top:calc(var(--header-height) + var(--spacing-xl));padding-bottom:var(--spacing-lg);background:linear-gradient(180deg,var(--color-off-white) 0%,var(--color-white) 100%);text-align:center;position:relative}.page-header::before{content:'';position:absolute;top:0;left:0;right:0;height:100%;background:radial-gradient(circle at 30% 50%,rgba(9,59,48,0.04) 0%,transparent 60%),radial-gradient(circle at 70% 50%,rgba(212,165,116,0.04) 0%,transparent 60%)}.page-header-content{position:relative;z-index:1;max-width:800px;margin:0 auto}.page-header h1{margin-bottom:var(--spacing-sm)}.page-header p{font-size:1.2rem;color:var(--color-gray-dark);max-width:600px;margin:0 auto}.breadcrumb{display:flex;justify-content:center;gap:0.5rem;font-size:0.85rem;color:var(--color-gray);margin-bottom:var(--spacing-sm);font-family:var(--font-mono)}.breadcrumb a:hover{color:var(--color-primary)}.breadcrumb .separator{color:var(--color-accent)}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:center;margin-bottom:var(--spacing-xl)}.service-detail:nth-child(even) .service-detail-visual{order:-1}.service-detail-content h3{margin-bottom:var(--spacing-sm)}.service-detail-content ul{margin-top:var(--spacing-sm)}.service-detail-content ul li{padding-left:1.5rem;position:relative;margin-bottom:0.6rem;color:var(--color-gray-dark)}.service-detail-content ul li::before{content:'→';position:absolute;left:0;color:var(--color-accent);font-weight:bold}.service-detail-visual{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-xl);aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:var(--shadow-xl)}.service-detail-visual::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(254,255,255,0.03) 20px,rgba(254,255,255,0.03) 40px)}.service-detail-visual svg{width:50%;height:50%;color:rgba(254,255,255,0.9);position:relative;z-index:1;animation:floatBob 6s ease-in-out infinite}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.pricing-card{background:var(--color-white);border:1px solid var(--color-gray-light);border-radius:var(--radius-lg);padding:var(--spacing-md);text-align:center;position:relative;transition:all var(--transition-base)}.pricing-card.featured{border-color:var(--color-primary);transform:scale(1.05);box-shadow:var(--shadow-lg)}.pricing-card.featured::before{content:'POPULAIRE';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--color-accent);color:var(--color-primary-dark);padding:0.3rem 1rem;border-radius:var(--radius-full);font-size:0.7rem;font-weight:700;letter-spacing:0.1em;white-space:nowrap}.form-rappel{margin-bottom:var(--spacing-sm);padding:0.7rem 1rem;background:rgba(9,59,48,0.06);border-left:3px solid var(--color-accent-fonce);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:0.92rem;color:var(--color-gray-dark)}.pricing-cta{display:inline-flex;align-items:center;gap:0.5rem;margin-top:var(--spacing-sm);font-weight:600;color:var(--color-primary);font-size:0.95rem;transition:gap var(--transition-base)}.pricing-cta::after{content:'';position:absolute;inset:0;border-radius:inherit}.pricing-card:hover .pricing-cta{gap:0.9rem}.pricing-card:focus-within{border-color:var(--color-primary)}.pricing-card:hover{border-color:var(--color-primary);transform:translateY(-8px);box-shadow:var(--shadow-lg)}.pricing-card.featured:hover{transform:scale(1.05) translateY(-8px)}.pricing-card h3{margin-bottom:var(--spacing-sm)}.pricing-price{font-family:var(--font-display);font-size:clamp(1.7rem,2.4vw,2.3rem);font-weight:700;color:var(--color-primary);line-height:1.15;white-space:nowrap}.pricing-prefixe{display:block;font-family:var(--font-primary);font-size:0.8rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--color-gray);margin-bottom:0.3rem;white-space:nowrap}.pricing-card ul{margin:var(--spacing-md) 0;text-align:left}.pricing-card ul li{padding:0.6rem 0;border-bottom:1px solid var(--color-gray-light);display:flex;align-items:center;gap:0.5rem;color:var(--color-gray-dark)}.pricing-card ul li::before{content:'✓';color:var(--color-primary-light);font-weight:bold;flex-shrink:0}.pricing-card ul li.disabled{color:var(--color-gray);opacity:0.5}.pricing-card ul li.disabled::before{content:'✗';color:var(--color-gray)}.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:center}.about-image{position:relative;border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:4 / 5;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xl)}.about-image picture,.about-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.about-image-text{font-family:var(--font-display);font-size:8rem;color:rgba(254,255,255,0.15);font-weight:700}.about-image::before{content:'';position:absolute;top:-20px;right:-20px;width:120px;height:120px;background:var(--color-accent);border-radius:50%;z-index:0;opacity:0.4;filter:blur(40px)}.about-content .eyebrow{margin-bottom:var(--spacing-sm)}.about-content h2{margin-bottom:var(--spacing-sm)}.about-content p{color:var(--color-gray-dark);margin-bottom:var(--spacing-sm);line-height:1.7}.signature{font-family:var(--font-display);font-style:italic;font-size:1.8rem;color:var(--color-primary);margin-top:var(--spacing-md)}.timeline{position:relative;max-width:800px;margin:var(--spacing-lg) auto 0;padding-left:var(--spacing-md)}.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--color-primary),var(--color-accent))}.timeline-item{position:relative;padding-left:var(--spacing-md);padding-bottom:var(--spacing-md)}.timeline-item::before{content:'';position:absolute;left:calc(var(--spacing-md) * -1 - 7px);top:5px;width:16px;height:16px;border-radius:50%;background:var(--color-white);border:3px solid var(--color-primary);z-index:1;transition:all var(--transition-base)}.timeline-item:hover::before{background:var(--color-accent);border-color:var(--color-accent);transform:scale(1.3)}.timeline-date{font-family:var(--font-mono);font-size:0.85rem;color:var(--color-primary-light);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.3rem}.timeline-item h4{margin-bottom:0.5rem}.timeline-item p{color:var(--color-gray-dark);font-size:0.95rem}.tech-stack{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:var(--spacing-md);justify-content:center}.tech-badge{padding:0.5rem 1.2rem;background:var(--color-white);border:1px solid var(--color-gray-light);border-radius:var(--radius-full);font-size:0.9rem;font-family:var(--font-mono);color:var(--color-primary-dark);transition:all var(--transition-base);cursor:default}.tech-badge:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary);transform:translateY(-3px);box-shadow:var(--shadow-md)}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--spacing-lg);align-items:start}.contact-info h3{margin-bottom:var(--spacing-sm)}.contact-info > p{color:var(--color-gray-dark);margin-bottom:var(--spacing-md);line-height:1.7}.contact-methods{display:flex;flex-direction:column;gap:var(--spacing-sm)}.contact-method{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-md);transition:all var(--transition-base);background:var(--color-off-white)}.contact-method:hover{background:var(--color-white);box-shadow:var(--shadow-md);transform:translateX(5px)}.contact-method-icon{width:48px;height:48px;background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-method-icon svg{width:22px;height:22px}.contact-method-label{font-size:0.85rem;color:var(--color-gray);text-transform:uppercase;letter-spacing:0.1em}.contact-method-value{font-weight:500;color:var(--color-primary-dark)}.contact-form{background:var(--color-white);padding:var(--spacing-md);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-gray-light)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.form-group{margin-bottom:var(--spacing-sm);position:relative}.form-group.full{grid-column:1 / -1}.form-group label{display:block;font-size:0.85rem;font-weight:500;color:var(--color-primary-dark);margin-bottom:0.4rem;text-transform:uppercase;letter-spacing:0.05em}.form-control{width:100%;padding:0.9rem 1rem;border:1.5px solid var(--color-gray-light);border-radius:var(--radius-md);background:var(--color-white);font-size:1rem;color:var(--color-primary-dark);transition:all var(--transition-base);font-family:inherit}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(9,59,48,0.1)}textarea.form-control{resize:vertical;min-height:140px;font-family:inherit}.form-submit{width:100%;justify-content:center}.form-status{text-align:center;margin-top:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-md);font-size:0.9rem;display:none}.form-status.success{display:block;background:rgba(26,107,90,0.1);color:var(--color-primary-light);border:1px solid var(--color-primary-light)}.form-status.error{display:block;background:rgba(212,100,100,0.1);color:#c44;border:1px solid #c44}.faq{max-width:800px;margin:var(--spacing-lg) auto 0}.faq-item{border-bottom:1px solid var(--color-gray-light)}.faq-question{width:100%;padding:var(--spacing-sm) 0;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:1.2rem;color:var(--color-primary);text-align:left;transition:color var(--transition-base)}.faq-question:hover{color:var(--color-accent)}.faq-icon{width:24px;height:24px;position:relative;flex-shrink:0;transition:transform var(--transition-base)}.faq-icon::before,.faq-icon::after{content:'';position:absolute;background:currentColor;border-radius:var(--radius-full);left:50%;top:50%;transform:translate(-50%,-50%);transition:transform var(--transition-base)}.faq-icon::before{width:16px;height:2px}.faq-icon::after{width:2px;height:16px}.faq-item.open .faq-icon::after{transform:translate(-50%,-50%) rotate(90deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-base)}.faq-answer p{padding-bottom:var(--spacing-sm);color:var(--color-gray-dark);line-height:1.7}::selection{background:var(--color-primary);color:var(--color-white)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-off-white)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--radius-full);border:2px solid var(--color-off-white)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}.back-to-top{position:fixed;bottom:var(--spacing-md);right:var(--spacing-md);width:48px;height:48px;background:var(--color-primary);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;visibility:hidden;transform:translateY(20px);transition:all var(--transition-base);box-shadow:var(--shadow-md)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--color-accent);color:var(--color-primary-dark);transform:translateY(-3px)}.text-center{text-align:center}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;border-radius:2px}.footer :focus-visible,.section-dark :focus-visible,.cta-section :focus-visible,.process-simple :focus-visible{outline-color:var(--color-accent);box-shadow:0 0 0 6px rgba(9,59,48,0.55)}html.nav-clavier .cursor-dot,html.nav-clavier .cursor-outline{opacity:0 !important}html.nav-clavier,html.nav-clavier *,html.nav-clavier *::before,html.nav-clavier *::after{cursor:auto !important}html.nav-clavier a,html.nav-clavier button,html.nav-clavier summary,html.nav-clavier label,html.nav-clavier select,html.nav-clavier [role="button"],html.nav-clavier input[type="checkbox"],html.nav-clavier input[type="radio"],html.nav-clavier input[type="submit"],html.nav-clavier input[type="button"]{cursor:pointer !important}.cursor-dot.saisie{width:2px;height:24px;border-radius:1px}.cursor-outline.ready.saisie{opacity:0}.skip-link{position:fixed;top:0;left:0;z-index:10002;background:var(--color-primary);color:var(--color-white);padding:0.8rem 1.4rem;border-radius:0 0 var(--radius-md) 0;font-weight:600;transform:translateY(-110%);transition:transform var(--transition-fast)}.skip-link:focus{transform:translateY(0);outline:2px solid var(--color-accent);outline-offset:2px}.legal{max-width:820px;margin:0 auto}.legal h2{font-size:clamp(1.3rem,2.2vw,1.85rem);margin:2.8rem 0 1rem;padding-top:1.7rem;border-top:1px solid var(--color-gray-light)}.legal h2:first-of-type{border-top:none;padding-top:0;margin-top:1rem}.legal p{color:var(--color-gray-dark);line-height:1.75;margin-bottom:1rem}.legal ul{margin:0 0 1.3rem}.legal ul li{position:relative;padding-left:1.4rem;margin-bottom:0.6rem;color:var(--color-gray-dark);line-height:1.7}.legal ul li::before{content:'';position:absolute;left:0;top:0.68em;width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.legal a{color:var(--color-primary);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:3px}.legal a:hover{color:var(--color-primary-light)}.legal-maj{font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-gray)}.legal-callout{background:var(--color-off-white);border-left:3px solid var(--color-accent);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:1.4rem 1.6rem;margin:1.6rem 0 2.4rem}.legal-callout p:last-child{margin-bottom:0}.legal-tag{display:inline-block;vertical-align:middle;margin-left:0.6rem;padding:0.28rem 0.75rem;background:var(--color-accent);color:var(--color-primary-dark);border-radius:var(--radius-full);font-family:var(--font-primary);font-size:0.66rem;font-weight:700;letter-spacing:0.09em;text-transform:uppercase}.legal-todo{background:rgba(212,165,116,0.16);border:1px dashed var(--color-accent);border-radius:var(--radius-md);padding:1.1rem 1.3rem;margin:1.2rem 0}.legal-todo p{margin-bottom:0;color:var(--color-primary-dark)}.footer-legal{display:flex;gap:1.4rem;flex-wrap:wrap}.footer-legal a{color:rgba(254,255,255,0.5);font-size:0.88rem}.footer-legal a:hover{color:var(--color-accent)}@media (max-width:768px){.footer-legal{justify-content:center}}.project-card.hidden{display:none}.project-card.filtre-entree{animation:carteEntree 0.45s cubic-bezier(0.4,0,0.2,1) both}@keyframes carteEntree{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.mot-ancre{font-family:var(--font-display);font-style:italic;font-weight:600;color:var(--color-primary);white-space:nowrap;position:relative}.mot-ancre::after{content:'';position:absolute;left:0;right:0;bottom:-0.12em;height:2px;border-radius:2px;background:var(--color-accent)}.service-detail-note{margin-top:var(--spacing-sm);padding:1rem 1.25rem;border-left:3px solid var(--color-accent);background:rgba(9,59,48,0.04);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:0.95rem;color:var(--color-gray)}.reperes-section{padding:var(--spacing-lg) 0;border-top:1px solid rgba(9,59,48,0.1);border-bottom:1px solid rgba(9,59,48,0.1)}.reperes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);text-align:center}.repere + .repere{border-left:1px solid rgba(9,59,48,0.1)}.repere-valeur{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--color-primary);line-height:1.1;margin-bottom:0.5rem}.repere-label{font-size:0.95rem;color:var(--color-gray);max-width:22ch;margin:0 auto}@media (max-width:700px){.reperes{grid-template-columns:1fr;gap:var(--spacing-sm)}.repere + .repere{border-left:0;border-top:1px solid rgba(9,59,48,0.1);padding-top:var(--spacing-sm)}}.footer-version{display:inline-block;-webkit-user-select:none;user-select:none;margin-left:0.6rem;padding:0.1rem 0.55rem;font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.04em;color:rgba(254,255,255,0.55);border:1px solid rgba(254,255,255,0.18);border-radius:var(--radius-full);white-space:nowrap;vertical-align:middle}
/* scroll-effects.css */
.manifesto-section{position:relative;min-height:140vh;background:var(--color-off-white)}.manifesto-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}.manifesto-eye{font-family:var(--font-mono);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.2em;color:var(--color-primary-light);margin-bottom:var(--spacing-md);opacity:0;transform:translateY(20px);transition:opacity 0.8s ease,transform 0.8s ease}.manifesto-eye[data-visible]{opacity:1;transform:translateY(0)}.manifesto-text{font-family:var(--font-display);font-size:clamp(2.8rem,8vw,7rem);font-weight:600;line-height:1.05;letter-spacing:-0.03em;color:var(--color-primary);margin-bottom:var(--spacing-md);max-width:14ch}.m-word{display:inline-block;opacity:0.12;transition:opacity 0.45s cubic-bezier(0.5,0,0.1,1),transform 0.45s cubic-bezier(0.5,0,0.1,1);transform:translateY(8px);margin-right:0.15em}.m-word.lit{opacity:1;transform:translateY(0)}.m-italic{font-style:italic;color:var(--color-accent-fonce)}.manifesto-sub{font-family:var(--font-primary);font-size:clamp(1rem,1.4vw,1.2rem);color:var(--color-gray);max-width:480px;opacity:0;transform:translateY(20px);transition:opacity 0.8s ease 0.2s,transform 0.8s ease 0.2s}.manifesto-sub[data-visible]{opacity:1;transform:translateY(0)}.services-stack{background:var(--color-off-white);padding:var(--spacing-xl) 0 0;position:relative}.stack-intro{text-align:center;margin-bottom:var(--spacing-xl)}.stack-intro h2{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:600;line-height:1.05;letter-spacing:-0.03em;color:var(--color-primary)}.stack-cards-container{position:relative;padding-bottom:var(--spacing-xl)}.stack-card{position:sticky;top:calc(80px + var(--i) * 30px);margin:0 auto var(--spacing-md);width:min(1100px,92vw);height:auto;min-height:520px;transition:transform 0.5s cubic-bezier(0.4,0,0.2,1),opacity 0.5s ease;transform-origin:center top;z-index:calc(10 + var(--i));will-change:transform}.stack-card-inner{position:relative;height:100%;background:var(--color-white);border-radius:var(--radius-xl);padding:clamp(2rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;box-shadow:0 30px 80px -30px rgba(9,59,48,0.25);border:1px solid var(--color-gray-light)}.stack-card:nth-child(1) .stack-card-inner{background:linear-gradient(135deg,var(--color-white) 0%,#f8f9f7 100%)}.stack-card:nth-child(2) .stack-card-inner{background:linear-gradient(135deg,#f1f6f3 0%,#e8f0eb 100%)}.stack-card:nth-child(3) .stack-card-inner{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:var(--color-white);border-color:transparent}.stack-card:nth-child(4) .stack-card-inner{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);color:var(--color-white);border-color:transparent}.stack-card:nth-child(3) h3,.stack-card:nth-child(4) h3{color:var(--color-white)}.stack-card-num{font-family:var(--font-mono);font-size:0.85rem;letter-spacing:0.15em;color:var(--color-primary-light);text-transform:uppercase}.stack-card:nth-child(3) .stack-card-num,.stack-card:nth-child(4) .stack-card-num{color:var(--color-accent)}.stack-card-content{max-width:620px;flex:1 1 auto;display:flex;flex-direction:column}.stack-card-icon{width:64px;height:64px;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;margin-top:var(--spacing-sm);margin-bottom:var(--spacing-md);transition:transform var(--transition-bounce)}.stack-card:nth-child(3) .stack-card-icon,.stack-card:nth-child(4) .stack-card-icon{background:var(--color-accent);color:var(--color-primary-dark)}.stack-card-icon svg{width:32px;height:32px}.stack-card h3{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);font-weight:600;line-height:1.05;margin-bottom:var(--spacing-sm);letter-spacing:-0.02em;color:var(--color-primary)}.stack-card p{font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.6;color:var(--color-gray-dark);margin-bottom:var(--spacing-md);max-width:56ch}.stack-card:nth-child(3) p,.stack-card:nth-child(4) p{color:rgba(254,255,255,0.82)}.stack-card-tags{display:flex;flex-wrap:wrap;gap:0.6rem;margin-bottom:var(--spacing-md)}.stack-card-tags li{padding:0.4rem 0.95rem;background:rgba(9,59,48,0.08);color:var(--color-primary);border-radius:var(--radius-full);font-size:0.82rem;font-weight:500}.stack-card:nth-child(3) .stack-card-tags li,.stack-card:nth-child(4) .stack-card-tags li{background:rgba(254,255,255,0.12);color:var(--color-white)}.stack-card-cta{display:inline-flex;align-items:center;margin-top:auto;align-self:flex-start;gap:0.5rem;font-weight:600;color:var(--color-primary);font-size:0.95rem;transition:gap var(--transition-base)}.stack-card:nth-child(3) .stack-card-cta,.stack-card:nth-child(4) .stack-card-cta{color:var(--color-accent)}.stack-card-cta:hover{gap:0.9rem}.process-simple{background:var(--color-primary-dark);color:var(--color-white);padding:var(--spacing-xl) 0}.process-head{max-width:720px;margin:0 auto var(--spacing-lg);text-align:center}.process-head .eyebrow{color:var(--color-accent);padding-left:0}.process-head .eyebrow::before{display:none}.process-head h2{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:500;line-height:1.05;letter-spacing:-0.03em;color:var(--color-white);margin-bottom:var(--spacing-sm)}.process-head h2 em{font-style:italic;color:var(--color-accent)}.process-head > p{color:rgba(254,255,255,0.7);font-size:1.05rem;max-width:540px;margin:0 auto}.process-rows{max-width:980px;margin:0 auto}.process-row{display:grid;grid-template-columns:140px 1fr;gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(2rem,4vw,3rem) 0;border-top:1px solid rgba(254,255,255,0.15);align-items:start;transition:padding-left 0.4s var(--transition-base)}.process-row:last-child{border-bottom:1px solid rgba(254,255,255,0.15)}.process-row:hover{padding-left:1rem}.process-row-num{font-family:var(--font-display);font-size:clamp(3rem,6vw,5rem);font-style:italic;font-weight:500;color:var(--color-accent);line-height:1;letter-spacing:-0.04em}.process-row-tag{font-family:var(--font-mono);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.15em;color:var(--color-accent);margin-bottom:0.8rem}.process-row h3{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:500;line-height:1.15;color:var(--color-white);letter-spacing:-0.02em;margin-bottom:var(--spacing-sm)}.process-row-content p{font-size:1rem;line-height:1.6;color:rgba(254,255,255,0.78);max-width:60ch}.demos-teaser{background:var(--color-off-white);padding:var(--spacing-xl) 0}.demos-teaser .eyebrow{display:block;margin-bottom:var(--spacing-sm)}.demos-teaser h2{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:600;line-height:1.05;letter-spacing:-0.03em;color:var(--color-primary);margin-bottom:var(--spacing-lg)}.demos-teaser h2 em{font-style:italic;color:var(--color-primary-light)}.demos-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.demos-grid-3col{grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.demos-grid-3col .demo-tile{aspect-ratio:1 / 1;padding:1.5rem}.demos-grid-3col .demo-tile-name{font-size:clamp(1.4rem,2.5vw,2rem)}.demos-grid-3col .demo-tile-badge{font-size:0.72rem;padding:0.35rem 0.75rem}.demos-grid-3col .demo-tile-desc{font-size:0.85rem}.demo-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:4 / 3;padding:clamp(2rem,4vw,3rem);background:linear-gradient(135deg,var(--c1) 0%,var(--c2) 100%);color:var(--color-white);border-radius:var(--radius-xl);overflow:hidden;transition:transform var(--transition-base);isolation:isolate}.demo-tile::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0,transparent 24px,rgba(255,255,255,0.04) 24px,rgba(255,255,255,0.04) 48px);z-index:-1}.demo-tile::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.3) 32%,transparent 62%);z-index:-1;opacity:1;transition:opacity var(--transition-base)}.demo-tile:hover{transform:translateY(-8px)}.demo-tile:hover::after{background:linear-gradient(to top,rgba(0,0,0,0.62) 0%,rgba(0,0,0,0.4) 38%,transparent 70%)}.demo-tile-badge{font-family:var(--font-mono);font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.45rem 0.95rem;background:rgba(254,255,255,0.15);border-radius:var(--radius-full);backdrop-filter:blur(10px);width:max-content}.demo-tile-name{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);font-weight:600;line-height:1;letter-spacing:-0.03em;margin-top:auto}.demo-tile-desc{font-size:0.95rem;opacity:0.85;margin-top:0.6rem}@media (max-width:1024px){.manifesto-section{min-height:120vh}.stack-card{width:94vw;height:auto;min-height:460px;top:calc(80px + var(--i) * 24px)}.stack-card-inner{padding:2.5rem}.process-row{grid-template-columns:100px 1fr;gap:1.5rem}}@media (max-width:768px){.manifesto-section{min-height:auto;padding:var(--spacing-xl) 0}.manifesto-sticky{position:relative;height:auto;top:auto}.stack-card{position:relative;top:auto !important;height:auto;min-height:0;margin-bottom:var(--spacing-sm)}.stack-card-inner{padding:1.8rem}.process-row{grid-template-columns:1fr;gap:0.5rem;padding:2rem 0}.process-row:hover{padding-left:0}.demos-grid,.demos-grid-3col{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--container-padding));padding-inline:var(--container-padding);padding-bottom:0.5rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.demos-grid::-webkit-scrollbar,.demos-grid-3col::-webkit-scrollbar{display:none}.demos-grid .demo-tile,.demos-grid-3col .demo-tile{flex:0 0 78%;scroll-snap-align:center}.demos-grid-3col .demo-tile{aspect-ratio:4 / 3}}@media (prefers-reduced-motion:reduce) and (min-width:99999px){.m-word{opacity:1;transform:none}.manifesto-eye,.manifesto-sub{opacity:1;transform:none}}@supports (animation-timeline:view()){@media all{.demos-grid .demo-tile{opacity:1;transform:none;filter:none;transition-property:transform;animation:tileScrollIn linear both;animation-timeline:view();animation-range:entry 0% entry 70%}.demos-grid-3col .demo-tile:nth-child(3n + 2){animation-range:entry 5% entry 75%}.demos-grid-3col .demo-tile:nth-child(3n){animation-range:entry 10% entry 80%}.process-rows .process-row{opacity:1;transform:none;filter:none;transition-property:padding-left;animation:rowScrollIn linear both;animation-timeline:view();animation-range:entry 0% entry 50%}}}@keyframes tileScrollIn{from{opacity:0;translate:0 70px;scale:0.94}to{opacity:1;translate:0 0;scale:1}}@keyframes rowScrollIn{from{opacity:0;translate:-40px 0}to{opacity:1;translate:0 0}}@media (max-width:768px){.process-onglets{display:flex;gap:4px;margin:0 0 -2px;padding-inline:0;position:relative;z-index:2}.process-onglet{flex:1 1 auto;font-family:var(--font-mono);font-size:0.88rem;letter-spacing:0.06em;padding:0.6rem 0.4rem 0.75rem;background:rgba(254,255,255,0.04);color:rgba(254,255,255,0.5);border:2px solid rgba(254,255,255,0.18);border-bottom:0;border-radius:10px 10px 0 0;cursor:pointer;transition:background 0.2s ease,color 0.2s ease,transform 0.2s ease,border-color 0.2s ease}.process-onglet:hover{color:rgba(254,255,255,0.85)}.process-onglet[aria-selected="true"]{background:rgba(254,255,255,0.1);border-color:var(--color-accent);color:var(--color-accent);margin-top:-5px;padding-top:calc(0.6rem + 5px)}.process-rows.en-onglets{background:rgba(254,255,255,0.1);border:2px solid rgba(254,255,255,0.18);border-radius:3px 0 12px 12px;padding:var(--spacing-sm);position:relative;z-index:1;box-shadow:0 12px 32px -14px rgba(0,0,0,0.5);display:grid}.process-rows.en-onglets .process-row{grid-area:1 / 1;display:block;visibility:hidden;opacity:0;border:0;padding:0}.process-rows.en-onglets .process-row.actif{visibility:visible;opacity:1;animation:etapeEntrante 0.26s ease}@keyframes etapeEntrante{from{transform:translateY(6px)}to{transform:none}}.process-rows.en-onglets .process-row-num{display:none}}
/* animations.css */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeLeft{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeRight{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes wordReveal{from{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes letterReveal{to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}@keyframes scrollDown{0%,100%{transform:translateY(-100%)}50%{transform:translateY(100%)}}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes floatBob{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:0.8}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-1000px 0}100%{background-position:1000px 0}}@keyframes loadProgress{to{transform:translateX(0)}}@keyframes glow{0%,100%{box-shadow:0 0 20px rgba(212,165,116,0.4)}50%{box-shadow:0 0 40px rgba(212,165,116,0.7)}}@keyframes wave{0%{transform:translateX(0) translateY(0)}25%{transform:translateX(-10px) translateY(5px)}50%{transform:translateX(0) translateY(10px)}75%{transform:translateX(10px) translateY(5px)}100%{transform:translateX(0) translateY(0)}}@keyframes morph{0%,100%{border-radius:30% 70% 70% 30% / 30% 30% 70% 70%}25%{border-radius:58% 42% 75% 25% / 76% 46% 54% 24%}50%{border-radius:50% 50% 33% 67% / 55% 27% 73% 45%}75%{border-radius:33% 67% 58% 42% / 63% 68% 32% 37%}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}@keyframes typing{from{width:0}to{width:100%}}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn 1s ease forwards}.animate-fade-up{animation:fadeUp 0.8s ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:floatBob 6s ease-in-out infinite}.animate-glow{animation:glow 3s ease-in-out infinite}.animate-spin-slow{animation:spin 20s linear infinite}.reveal{opacity:0;transform:translateY(40px);filter:blur(6px);transition:opacity 0.8s cubic-bezier(0.5,0,0.1,1),transform 0.8s cubic-bezier(0.5,0,0.1,1),filter 0.8s cubic-bezier(0.5,0,0.1,1)}.reveal.visible{opacity:1;transform:translateY(0);filter:blur(0)}.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity 0.8s cubic-bezier(0.5,0,0.1,1),transform 0.8s cubic-bezier(0.5,0,0.1,1)}.reveal-left.visible{opacity:1;transform:translateX(0)}.reveal-right{opacity:0;transform:translateX(40px);transition:opacity 0.8s cubic-bezier(0.5,0,0.1,1),transform 0.8s cubic-bezier(0.5,0,0.1,1)}.reveal-right.visible{opacity:1;transform:translateX(0)}.reveal-scale{opacity:0;transform:scale(0.85);transition:opacity 0.8s cubic-bezier(0.5,0,0.1,1),transform 0.8s cubic-bezier(0.5,0,0.1,1)}.reveal-scale.visible{opacity:1;transform:scale(1)}.reveal-delay-1{transition-delay:0.1s}.reveal-delay-2{transition-delay:0.2s}.reveal-delay-3{transition-delay:0.3s}.reveal-delay-4{transition-delay:0.4s}.reveal-delay-5{transition-delay:0.5s}.reveal-delay-6{transition-delay:0.6s}.split-text{display:inline-block;overflow:hidden}.split-text .char{display:inline-block;opacity:0;transform:translateY(100%);transition:opacity 0.6s ease,transform 0.6s cubic-bezier(0.5,0,0.1,1)}.split-text.revealed .char{opacity:1;transform:translateY(0)}.magnetic{transition:transform 0.3s cubic-bezier(0.4,0,0.2,1)}.particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.particle{position:absolute;width:4px;height:4px;background:var(--color-primary-light);border-radius:50%;opacity:0.3;animation:wave 8s ease-in-out infinite}.blob{position:absolute;width:300px;height:300px;background:linear-gradient(135deg,var(--color-primary-light),var(--color-accent));filter:blur(80px);opacity:0.3;animation:morph 12s ease-in-out infinite;z-index:-1}.tilt-card{transform-style:preserve-3d;transition:transform 0.2s ease-out}.tilt-card-content{transform:translateZ(40px);transition:transform 0.2s ease-out}.shimmer{background:linear-gradient( 90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.1) 50%,rgba(255,255,255,0) 100% );background-size:1000px 100%;animation:shimmer 2s infinite}.link-underline{position:relative;display:inline-block}.link-underline::after{content:'';position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform 0.4s cubic-bezier(0.5,0,0.1,1)}.link-underline:hover::after{transform:scaleX(1);transform-origin:left}@media (prefers-reduced-motion:reduce) and (min-width:99999px){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none;filter:none}}.onde-clic{position:fixed;width:40px;height:40px;margin:0;border:2px solid var(--color-accent);border-radius:50%;transform:translate(-50%,-50%) scale(1);pointer-events:none;z-index:9998;animation:ondeClic 0.5s cubic-bezier(0.2,0.7,0.3,1) forwards}@keyframes ondeClic{from{transform:translate(-50%,-50%) scale(1);opacity:0.85;border-width:2px}to{transform:translate(-50%,-50%) scale(2.6);opacity:0;border-width:0.5px}}@media (prefers-reduced-motion:reduce){.onde-clic{display:none}}
/* responsive.css */
@media (min-width:1280px){:root{--container-padding:4rem}}@media (max-width:1024px){:root{--spacing-xl:5rem;--spacing-xxl:7rem}.about-intro,.service-detail,.contact-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.service-detail:nth-child(even) .service-detail-visual{order:0}.footer-grid{grid-template-columns:1fr 1fr}.about-image{width:100%;max-width:500px;margin:0 auto}.pricing-card.featured{transform:scale(1)}.pricing-card.featured:hover{transform:translateY(-8px)}}@media (max-width:768px){:root{--spacing-xl:4rem;--header-height:70px}section{padding:var(--spacing-lg) 0}.hero{min-height:100vh;min-height:100dvh;background:var(--color-off-white);padding-top:calc(var(--header-height) + var(--spacing-md));padding-bottom:var(--spacing-md)}@media (max-height:740px){.hero{padding-top:calc(var(--header-height) + var(--spacing-sm));padding-bottom:var(--spacing-sm)}.hero h1{font-size:clamp(2rem,8vw,2.6rem)}.hero-subtitle,.hero p{font-size:0.95rem}}.hero-buttons{flex-direction:column;align-items:stretch}.hero-buttons .btn{justify-content:center}.hero-scroll{display:none}.form-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;text-align:center}.footer-brand p{margin:0 auto}.footer-bottom{flex-direction:column;text-align:center}.stats{grid-template-columns:repeat(2,1fr)}.process-steps{grid-template-columns:1fr}.header{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(254,255,255,0.97)}.menu-toggle{display:block}.menu-toggle.open span{background:var(--color-white)}.nav-list{position:fixed;top:0;right:0;left:0;width:100%;height:100vh;height:100dvh;min-height:100lvh;background:var(--color-primary);flex-direction:column;justify-content:center;padding:var(--spacing-lg);padding-bottom:calc(var(--spacing-lg) + (100lvh - 100dvh));gap:var(--spacing-md);z-index:1000;transform:translateX(100%);overflow-y:auto;overscroll-behavior:contain;visibility:hidden;transition:transform var(--transition-base),visibility 0s linear 0.4s}.nav-list.open{transform:translateX(0);visibility:visible;box-shadow:var(--shadow-xl);transition:transform var(--transition-base),visibility 0s}body::after{content:'';position:fixed;top:0;right:0;bottom:0;left:0;height:100vh;height:100lvh;background:rgba(5,41,33,0.55);opacity:0;pointer-events:none;z-index:999;transition:opacity var(--transition-base)}body.menu-open::after{opacity:1;pointer-events:auto}body.menu-open{overflow:hidden}.nav-list li{opacity:0;transform:translateX(30px);transition:opacity 0.4s ease,transform 0.4s ease}.nav-list.open li{opacity:1;transform:translateX(0)}.nav-list.open li:nth-child(1){transition-delay:0.1s}.nav-list.open li:nth-child(2){transition-delay:0.15s}.nav-list.open li:nth-child(3){transition-delay:0.2s}.nav-list.open li:nth-child(4){transition-delay:0.25s}.nav-list.open li:nth-child(5){transition-delay:0.3s}.nav-list.open li:nth-child(6){transition-delay:0.35s}.nav-list .nav-link{color:var(--color-white);font-size:1.5rem;font-family:var(--font-display)}.nav-list .nav-link::after{background:var(--color-accent)}.nav-list .nav-cta{background:var(--color-accent);color:var(--color-primary-dark)}}@media (min-width:769px) and (max-width:1366px){html{font-size:19px}}@media (min-width:769px) and (max-width:1366px) and (pointer:coarse){html{font-size:20px}}@media (min-width:769px) and (max-height:720px){.hero-scroll{display:none}.hero{padding-top:calc(var(--header-height) + var(--spacing-md));padding-bottom:var(--spacing-md)}}@media (max-width:768px){.stack-cards-container{display:flex;gap:var(--spacing-sm);overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:var(--container-padding);scroll-padding-inline-start:var(--container-padding);padding-bottom:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.stack-cards-container::-webkit-scrollbar{display:none}.stack-card{position:static;flex:0 0 82%;width:auto;height:auto;min-height:0;margin:0;scroll-snap-align:start;transform:none !important;will-change:auto}.stack-cards-container{background:var(--color-off-white)}.services-stack{padding-bottom:52px}.services-stack + .section-dark{margin-top:-24px;border-radius:var(--radius-xl) var(--radius-xl) 0 0;position:relative;z-index:1}.stack-card-tags{display:none}.stack-card-inner{justify-content:flex-start;box-shadow:0 6px 20px -8px rgba(9,59,48,0.18)}.stack-card-icon{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.stack-card-cta{margin-top:auto;padding-top:var(--spacing-sm)}.services-stack .stack-intro{margin-bottom:var(--spacing-sm)}.stack-card:nth-child(1) .stack-card-inner{background:linear-gradient(135deg,#ffffff 0%,#f7f9f8 100%)}.stack-card:nth-child(2) .stack-card-inner{background:linear-gradient(135deg,#f5f9f7 0%,#ecf3ef 100%)}.stack-card:nth-child(3) .stack-card-inner{background:linear-gradient(135deg,#eff5f2 0%,#e4ede8 100%);border-color:var(--color-gray-light)}.stack-card:nth-child(4) .stack-card-inner{background:linear-gradient(135deg,#e9f1ed 0%,#dde8e3 100%);border-color:var(--color-gray-light)}.stack-card:nth-child(3) h3,.stack-card:nth-child(4) h3,.stack-card:nth-child(3) .stack-card-cta,.stack-card:nth-child(4) .stack-card-cta{color:var(--color-primary)}.stack-card:nth-child(3) p,.stack-card:nth-child(4) p,.stack-card:nth-child(3) .stack-card-num,.stack-card:nth-child(4) .stack-card-num{color:var(--color-gray)}.stack-card:nth-child(3) .stack-card-icon,.stack-card:nth-child(4) .stack-card-icon{background:var(--color-primary);color:var(--color-white)}.stats{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.stat{padding:var(--spacing-xs) 0}.stat-value{font-size:2rem}.stat-label{display:block;font-size:0.8rem;letter-spacing:0.06em;margin-top:0.35rem}.section-dark{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.footer-grid{grid-template-columns:1fr 1fr;text-align:center;gap:var(--spacing-md) var(--spacing-sm)}.footer-brand{grid-column:1 / -1}.footer-grid > *:nth-child(2),.footer-brand p,.footer-col ul{display:none}.footer-col h4{margin-bottom:0}.footer-col h4 a{display:block;padding:0.6rem 0;color:inherit}.footer-col{grid-column:auto}.footer-col h4{margin-bottom:0.6rem}.footer-brand{margin-bottom:var(--spacing-xs)}.footer-bottom{padding-top:var(--spacing-sm);gap:0.5rem;padding-bottom:1rem}.footer-col ul,.footer-col li,.footer-brand p{text-align:center;margin-inline:auto}.footer-socials,.footer-legal,.footer-bottom{justify-content:center}.footer-legal{flex-wrap:wrap;max-width:17rem;margin-inline:auto}}@media (max-width:768px){.page-header{padding-top:calc(var(--header-height) + var(--spacing-md));padding-bottom:var(--spacing-md)}.page-header p{font-size:1.05rem}.service-detail-visual{display:none}.pricing-grid{display:flex;grid-template-columns:none;gap:var(--spacing-sm);overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--container-padding));padding-inline:var(--container-padding);scroll-padding-inline-start:var(--container-padding);padding-bottom:12px;padding-top:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.pricing-grid::-webkit-scrollbar{display:none}.pricing-card{flex:0 0 82%;scroll-snap-align:start}.services-grid{display:flex;grid-template-columns:none;gap:var(--spacing-sm);overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--container-padding));padding-inline:var(--container-padding);scroll-padding-inline-start:var(--container-padding);padding-bottom:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.services-grid::-webkit-scrollbar{display:none}.services-grid > *{flex:0 0 78%;scroll-snap-align:start}.portfolio-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-xs)}.project-card{aspect-ratio:1 / 1}.project-overlay{padding:0.85rem}.project-overlay h3{font-size:1rem}.project-tags{display:none}.project-badge{font-size:0.65rem;padding:0.25rem 0.55rem}}@media (hover:none){.project-demo-link{opacity:1;transform:none}}@media (max-width:768px){.reveal-left,.reveal-right{transform:translateY(30px)}.reveal-left.visible,.reveal-right.visible{transform:translateY(0)}.pricing-grid > .reveal,.services-grid > .reveal,.pricing-grid > .reveal-left,.pricing-grid > .reveal-right,.services-grid > .reveal-left,.services-grid > .reveal-right{transform:none}}@media (max-width:768px){.service-detail-content ul{margin-top:var(--spacing-xs)}.service-detail-content ul li{font-size:0.94rem;line-height:1.45;padding-left:1.2rem;margin-bottom:0.3rem}}@media (max-width:768px){.contact-form{order:-1}}@media (max-width:768px){.service-detail-content h3{margin-bottom:0}.offre-bouton{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%;padding:0.7rem 0;background:none;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.offre-bouton::after{content:'';flex:0 0 auto;width:0.6em;height:0.6em;margin-right:0.2em;border-right:2px solid var(--color-accent-fonce);border-bottom:2px solid var(--color-accent-fonce);transform:rotate(45deg) translate(-0.15em,-0.15em);transition:transform 0.25s ease}.offre-ouverte .offre-bouton::after{transform:rotate(-135deg) translate(-0.2em,-0.2em)}.offre-corps{display:none}.offre-ouverte .offre-corps{display:block}.service-detail{border-top:1px solid var(--color-gray-light);padding-top:var(--spacing-xs)}.service-detail:last-of-type{border-bottom:1px solid var(--color-gray-light);padding-bottom:var(--spacing-xs)}}@media (max-width:768px){.header,.header.scrolled{background:var(--color-white)}}@media (min-width:769px) and (max-width:1024px){.pricing-grid,.services-grid,.portfolio-grid{grid-template-columns:1fr 1fr}}@media (min-width:769px) and (max-width:1024px){.manifesto-section{min-height:100vh}.manifesto-sub{max-width:620px;font-size:1.15rem}}@media (min-width:769px) and (max-width:1024px){.manifesto-text{font-size:min(10vw,12vh)}.manifesto-sub{font-size:1.25rem}.page-header h1{font-size:min(7vw,8vh)}}@media (max-width:480px){:root{--spacing-lg:3rem;--spacing-md:1.5rem;--container-padding:1.25rem}.btn{padding:0.85rem 1.5rem;font-size:0.9rem}.stats{grid-template-columns:repeat(2,1fr)}.services-grid,.pricing-grid{grid-template-columns:1fr}.contact-form{padding:var(--spacing-sm)}.pricing-card.featured{transform:scale(1)}.footer-socials{justify-content:center;width:100%}.about-image-text{font-size:5rem}}@media (max-width:360px){h1{font-size:2.2rem}h2{font-size:1.8rem}}@media print{.header,.footer,.back-to-top,.cursor-dot,.cursor-outline,.scroll-progress,.loader,.hero-canvas,.menu-toggle{display:none !important}body{color:#000;background:#fff}a{text-decoration:underline;color:#000}section{padding:2rem 0;page-break-inside:avoid}}@media (prefers-color-scheme:dark){}
