@font-face{font-family: 'Geist';font-style: normal;font-weight: 100 900;font-display: swap;src: url('/assets/fonts/geist-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family: 'Geist';font-style: normal;font-weight: 100 900;font-display: swap;src: url('/assets/fonts/geist-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family: 'Geist Mono';font-style: normal;font-weight: 100 900;font-display: swap;src: url('/assets/fonts/geistmono-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family: 'Geist Mono';font-style: normal;font-weight: 100 900;font-display: swap;src: url('/assets/fonts/geistmono-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
*,*::before,*::after{box-sizing: border-box;margin: 0;padding: 0}
:root{--brand-ink: #16233f;--brand-ink-deep: #101c33;--brand-ink-hover: #1f2d52;--brand-ink-rgb: 22 35 63;--brand-cream: #faf7f2;--brand-cream-alt: #f3eee4;--brand-cream-raised: #ffffff;--brand-gold: #e0b25a;--brand-gold-rgb: 224 178 90;--brand-gold-light: #e0b25a;--brand-gold-light-rgb: 224 178 90;--surface: var(--brand-cream);--surface-alt: var(--brand-cream-alt);--surface-raised: var(--brand-cream-raised);--text-strong: var(--brand-ink);--text: #5b5f6b;--text-soft: #3c404a;--text-muted: #8b8e98;--border: #e7e0d2;--border-strong: #d8d0bf;--accent: var(--brand-gold);--accent-hover: #d0a049;--accent-wash: rgb(var(--brand-gold-rgb) / .06);--accent-surface: rgb(var(--brand-gold-rgb) / .10);--accent-surface-hi: rgb(var(--brand-gold-rgb) / .16);--accent-border: rgb(var(--brand-gold-rgb) / .28);--accent-border-hi: rgb(var(--brand-gold-rgb) / .45);--accent-rule: rgb(var(--brand-gold-rgb) / .35);--accent-surface-solid: #eee7d9;--accent-wash-solid: #f5f1e6;--accent-on-ink: var(--brand-gold-light);--on-ink: #f5f2ec;--on-ink-muted: rgb(245 242 236 / .65);--on-ink-faint: rgb(245 242 236 / .35);--star: #e8a713;--danger: #b3423a;--danger-surface: #f9e8e6;--ext-whatsapp: #25d366;--black: var(--brand-ink);--dark: var(--brand-ink-deep);--green: var(--brand-ink);--green-mid: var(--accent);--green-light: var(--accent);--green-pale: var(--accent-surface-solid);--green-xpale: var(--accent-wash-solid);--white: var(--brand-cream-raised);--off: var(--brand-cream-alt);--cream: var(--brand-cream);--gray-100: #f6f3ec;--gray-200: var(--border);--gray-400: var(--text-muted);--gray-600: var(--text);--gray-700: var(--text-soft);--font: 'Geist',system-ui,sans-serif;--font-display:'Geist',system-ui,sans-serif;--font-mono: 'Geist Mono',ui-monospace,monospace;--nav-h: 96px}
html{scroll-behavior: smooth}
body{font-family: var(--font);color: var(--black);background: var(--white);line-height: 1.65;overflow-x: hidden;-webkit-font-smoothing: antialiased}
.container{max-width: 1160px;margin: 0 auto;padding: 0 48px}
@media (max-width:768px){.container{padding: 0 20px}
}
.reveal{opacity: 0;transform: translateY(28px);transition: opacity .6s ease,transform .6s ease}
.reveal.in{opacity: 1;transform: none}
.reveal-left{opacity:0;transform:translateX(-32px);transition: opacity .6s ease,transform .6s ease}
.reveal-right{opacity:0;transform:translateX(32px);transition: opacity .6s ease,transform .6s ease}
.reveal-left.in,.reveal-right.in{opacity:1;transform:none}
.section-h2{font-family: var(--font-display);font-size: clamp(1.9rem,3.8vw,2.8rem);font-weight: 650;letter-spacing: -.03em;line-height: 1.15}
.section-h2.light{color: var(--white)}
.section-sub{font-size: 1rem;color: var(--gray-600);line-height: 1.8;max-width: 560px}
.section-sub.light{color: rgba(255,255,255,.55)}
.btn{display: inline-flex;align-items: center;gap: 8px;font-family: var(--font);font-weight: 700;font-size: .9rem;letter-spacing: -.01em;border: none;border-radius: 8px;cursor: pointer;text-decoration: none;transition: all .2s;white-space: nowrap}
.btn-lg{padding: 17px 30px;font-size: .95rem}
.btn-md{padding: 13px 22px}
.btn-green{background: var(--green-light);color:var(--brand-ink-deep)}
.btn-green:hover{background: var(--green-mid);color:var(--brand-ink-deep);transform: translateY(-1px);}
nav{position: fixed;top: 0;left: 0;right: 0;z-index: 200;height: var(--nav-h);background: rgba(35,38,45,.82);backdrop-filter: blur(20px) saturate(1.4);-webkit-backdrop-filter: blur(20px) saturate(1.4);border-bottom: 1px solid rgb(var(--brand-gold-rgb) / .12);display: flex;align-items: center;justify-content: space-between;padding: 0 48px;transition: background .3s,border-color .3s,box-shadow .3s}
nav.s{background: rgba(35,38,45,.96);border-color: rgb(var(--brand-gold-rgb) / .18);}
.nav-logo{display: flex;align-items: center;text-decoration: none}
.nav-logo img{height: 112px;width: auto;display: block}
.nav-cta{background: var(--green-light)!important;color: var(--brand-ink-deep)!important;padding: 10px 20px!important;border-radius: 8px;font-weight: 700!important;font-size: .82rem!important;letter-spacing: -.01em!important;box-shadow: 0 1px 2px rgb(var(--brand-ink-rgb) / .05);transition: background .2s,box-shadow .2s,transform .15s!important}
.nav-cta:hover{background: var(--green-mid)!important;transform: translateY(-1px);color: var(--brand-ink-deep)!important}
.burger{display: none;position: relative;z-index: 260;width: 44px;height: 44px;padding: 0;cursor: pointer;background: rgba(255,255,255,.04);border: 1px solid rgb(var(--brand-gold-rgb) / .22);border-radius: 11px;align-items: center;justify-content: center;transition: background .2s,border-color .2s}
.burger:hover{background: rgb(var(--brand-gold-rgb) / .1);border-color: rgb(var(--brand-gold-rgb) / .4)}
.burger .burger-lines{position: relative;width: 20px;height: 14px}
.burger span{position: absolute;left: 0;width: 100%;height: 2px;border-radius: 2px;background: var(--green-light);transition: transform .28s cubic-bezier(.4,0,.2,1),opacity .2s}
.burger span:nth-child(1){top: 0}
.burger span:nth-child(2){top: 6px}
.burger span:nth-child(3){top: 12px}
.burger.active{background: rgb(var(--brand-gold-rgb) / .14);border-color: rgb(var(--brand-gold-rgb) / .5)}
.burger.active span:nth-child(1){transform: translateY(6px) rotate(45deg)}
.burger.active span:nth-child(2){opacity: 0}
.burger.active span:nth-child(3){transform: translateY(-6px) rotate(-45deg)}
.mmenu-backdrop{display: none;position: fixed;inset: var(--nav-h) 0 0 0;z-index: 254;background: rgba(35,38,45,.55);-webkit-backdrop-filter: blur(2px);backdrop-filter: blur(2px);animation: backdropIn .25s ease}
.mmenu-backdrop.open{display: block}
@keyframes backdropIn{from{opacity: 0}
to{opacity: 1}
}
.mmenu{display: none;position: fixed;top: var(--nav-h);left: 0;right: 0;max-height: calc(100dvh - var(--nav-h) - 12px);overflow-y: auto;background: var(--brand-ink-deep);z-index: 255;flex-direction: column;gap: 2px;padding: 20px 18px calc(24px + env(safe-area-inset-bottom));border-bottom: 1px solid rgb(var(--brand-gold-rgb) / .22);border-radius: 0 0 20px 20px;animation: mmenuIn .26s cubic-bezier(.22,1,.36,1)}
@keyframes mmenuIn{from{opacity: 0;transform: translateY(-10px)}
to{opacity: 1;transform: none}
}
.mmenu.open{display: flex}
.mmenu-label{font-size: .66rem;font-weight: 700;letter-spacing: .01em;color: rgb(var(--brand-gold-rgb) / .6);padding: 0 6px 12px;margin-bottom: 4px;border-bottom: 1px solid rgba(255,255,255,.06)}
.mmenu a{display: flex;align-items: center;justify-content: space-between;text-decoration: none;color: rgba(255,255,255,.82);font-weight: 500;font-size: 1.12rem;padding: 17px 16px;border-radius: 11px;transition: background .15s,color .15s;border: 1px solid transparent}
.mmenu a:not(.nav-cta):not(.mmenu-tel)::after{content: '›';color: rgb(var(--brand-gold-rgb) / .5);font-size: 1.3rem;font-weight: 400}
.mmenu a:hover,.mmenu a:active{background: rgba(255,255,255,.05);color: var(--white)}
.mmenu .nav-cta{justify-content: center;text-align: center;display: flex;padding: 17px!important;border-radius: 12px!important;margin-top: 16px;font-size: 1rem!important;background: var(--green-light)!important;color: var(--brand-ink-deep)!important}
.mmenu .nav-cta::after{content: none!important}
.mmenu-tel{justify-content: center;gap: 10px;margin-top: 12px;color: rgba(255,255,255,.9)!important;font-size: .98rem!important;background: rgba(255,255,255,.04);border: 1px solid rgba(255,255,255,.1)!important}
.mmenu-tel svg{width: 16px;height: 16px;color: var(--green-light)}
body.menu-open{overflow: hidden}
body.menu-open .ticker-wrap{visibility: hidden}
@media (max-width:860px){.burger{display: flex}
nav{padding: 0 20px}
}
.hero{background: var(--dark);color: var(--white);padding: calc(var(--nav-h) + 40px + 110px) 0 120px;position: relative;overflow: hidden;text-align: center}
.hero::before{content:'';position:absolute;top:-15%;left:50%;transform:translateX(-50%);width:1100px;height:900px;background: radial-gradient(ellipse,rgba(35,38,45,.65) 0%,transparent 65%);pointer-events: none}
.hero::after{content:'';position:absolute;bottom:-5%;right:-8%;width:520px;height:520px;background: radial-gradient(circle,rgb(var(--brand-gold-rgb) / .07) 0%,transparent 72%);pointer-events: none}
.hero-inner{max-width: 920px;margin: 0 auto;position: relative;z-index: 1}
.hero-h1{font-family: var(--font-display);font-size: clamp(2.6rem,4.6vw,4.2rem);font-weight: 700;letter-spacing: -.03em;line-height: 1.1;margin-bottom: 24px;color: var(--white)}
.hero-h1 em{font-style: normal;color: var(--green-light);font-weight: 800}
.hero-actions{display: flex;gap: 14px;flex-wrap: wrap;align-items: center;justify-content: center;margin-bottom: 32px}
.btn-personal{gap: 10px!important;padding-left: 10px!important;padding-top: 17px!important;padding-bottom: 17px!important}
.btn-avatar{width: 40px;height: 40px;border-radius: 50%;object-fit: cover;object-position: top center;border: 2px solid rgba(255,255,255,.4);flex-shrink: 0}
.btn-secondary{background: rgba(255,255,255,.07)!important;color: rgba(255,255,255,.8)!important;border: 1px solid rgba(255,255,255,.18)!important;backdrop-filter: blur(8px)}
.btn-secondary:hover{background: rgba(255,255,255,.12)!important;color: #fff!important;border-color: rgba(255,255,255,.3)!important;transform: translateY(-1px)}
.hero-tags{display: flex;flex-wrap: wrap;gap: 10px;justify-content: center;margin-top: 4px}
.hero-tag{display: inline-flex;align-items: center;gap: 8px;font-size: .8rem;font-weight: 600;letter-spacing: .01em;color: rgba(255,255,255,.75);padding: 9px 18px;border: 1px solid rgba(255,255,255,.15);border-radius: 100px;background: rgba(255,255,255,.06);user-select: none;transition: background .2s,border-color .2s}
.hero-tag:hover{background: rgba(255,255,255,.1);border-color: rgba(255,255,255,.25)}
.hero-tag svg{width: 14px;height: 14px;flex-shrink: 0;color: var(--green-light)}
@media (max-width:960px){.hero{padding-top: calc(var(--nav-h) + 40px + 80px)}
}
@media (max-width:560px){.hero{padding-top: calc(var(--nav-h) + 40px + 60px);padding-bottom: 80px}
.hero-h1{font-size: clamp(2.2rem,10vw,3.5rem)}
}
.section-expertise{padding: 120px 0 100px;position: relative;overflow: hidden}
.exp-header{text-align:center;margin-bottom: 80px}
.exp-title{font-family:var(--font-display);font-size: clamp(2.8rem,6vw,4.8rem);font-weight:650;letter-spacing:-.04em;line-height:1.0;color:var(--black);margin-bottom:16px}
.exp-title em{font-style:normal;color:var(--green-light)}
.exp-sub{font-size:1rem;color:var(--gray-600);max-width:540px;margin:0 auto;line-height:1.8}
.exp-cards-grid .exp-card:nth-child(2):not(.in){transition-delay:.1s}
.exp-cards-grid .exp-card:nth-child(3):not(.in){transition-delay:.2s}
.exp-more.open{display:flex}
.exp-cta-row{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}
.btn-expand.open svg{transform:rotate(180deg)}
@media (max-width:640px){.exp-title{font-size:clamp(2.2rem,10vw,3.5rem)}
}
.section-dupont{padding: clamp(80px,9vw,110px) 0 110px;background: var(--white)}
.dupont-header{text-align: center;margin-bottom: 56px}
.dupont-header .section-sub{margin: 14px auto 0}
.dupont-card{background: var(--off);border: 1px solid var(--gray-200);border-radius: 20px;overflow: hidden;box-shadow: 0 8px 48px rgba(0,0,0,.07)}
.browser-chrome{background: var(--dark);padding: 12px 18px;display: flex;align-items: center;gap: 14px}
.bc-dots{display: flex;gap: 6px}
.bc-dot{width: 10px;height: 10px;border-radius: 50%}
.bc-dot.r{background: #e5a17a}
.bc-dot.y{background: #e5c97a}
.bc-dot.g{background: #8ab88a}
.bc-url{flex: 1;background: rgba(255,255,255,.08);border-radius: 6px;padding: 5px 14px;font-size: .75rem;color: rgba(255,255,255,.45);font-family: monospace;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}
.browser-embed{background: var(--gray-100);height: 460px;position: relative;overflow: hidden}
.browser-embed iframe{width: 100%;height: 100%;border: none;transform-origin: top left}
.dupont-body{display: grid;grid-template-columns: 1.5fr 1fr}
.dupont-screens{}
.dupont-info{padding: 40px 36px;display: flex;flex-direction: column;gap: 28px;background: var(--white);border-left: 1px solid var(--gray-200)}
.di-label{font-size: .68rem;font-weight: 700;letter-spacing: .01em;color: var(--green-mid)}
.di-title{font-size: 1.3rem;font-weight: 800;letter-spacing: -.03em;line-height: 1.25;color: var(--black)}
.di-metrics{display: grid;grid-template-columns: 1fr 1fr;gap: 10px}
.dim{background: var(--green-xpale);border: 1px solid var(--green-pale);border-radius: 12px;padding: 18px 10px 15px;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 4px;text-align: center}
.dim-value{font-family: var(--font-display);font-weight: 650;font-size: 1.85rem;color: var(--green-mid);line-height: 1;letter-spacing: -.01em}
.dim-label{font-size: .73rem;font-weight: 500;color: var(--gray-600);line-height: 1.35;max-width: 15ch}
@media (max-width:860px){.dupont-body{grid-template-columns: 1fr}
.dupont-info{border-left: none;border-top: 1px solid var(--gray-200)}
.browser-embed{height: 300px}
}
.section-avis{padding: 110px 0;background: var(--dark)}
.avis-header{text-align: center;margin-bottom: 64px}
.avis-header .section-sub{margin: 16px auto 0}
.avis-grid{display: grid;grid-template-columns: repeat(2,1fr);gap: 22px;max-width: 900px;margin: 0 auto;align-items: start}
.avis-card{background: rgba(255,255,255,.04);border: 1px solid rgba(255,255,255,.09);border-radius: 16px;padding: 26px 24px;display: flex;flex-direction: column;gap: 16px;transition: background .2s,border-color .2s}
.avis-shot-bare{border-radius: 14px;overflow: hidden;line-height: 0;}
.avis-shot-bare img{width: 100%;height: auto;display: block}
.avis-card:hover{background: rgba(255,255,255,.07);border-color: rgb(var(--brand-gold-rgb) / .25)}
.avis-stars{display: flex;gap: 3px}
.star{font-size: 1rem;color: var(--star)}
.avis-text{font-size: .92rem;color: rgba(255,255,255,.7);line-height: 1.8;font-style: normal;flex: 1}
.avis-text::before{content: '"';color: var(--green-light);font-size: 1.4rem;font-style: normal;display: block;margin-bottom: 4px}
.avis-author{display: flex;align-items: center;gap: 12px;padding-top: 8px;border-top: 1px solid rgba(255,255,255,.07)}
.avis-avatar{width: 40px;height: 40px;border-radius: 50%;background: var(--green);display: flex;align-items: center;justify-content: center;font-size: .8rem;font-weight: 800;color: var(--green-light);flex-shrink: 0}
.avis-name{font-size: .88rem;font-weight: 700;color: var(--white);line-height: 1.2}
@media (max-width:600px){.avis-grid{grid-template-columns: 1fr}
}
.section-process{padding: 110px 0;background: var(--white)}
.process-header{text-align: center;margin-bottom: 80px}
.process-header .section-sub{margin: 16px auto 0}
@media (max-width:760px){.timeline-line{display: none}
.timeline-steps{grid-template-columns: 1fr;gap: 0}
.ts-step{flex-direction: row;text-align: left;align-items: flex-start;gap: 24px;padding: 0 0 40px;position: relative}
.ts-step::before{content:'';position:absolute;left: 35px;top: 72px;bottom: 0;width: 2px;background: var(--gray-200)}
.ts-step:last-child::before{display: none}
.ts-step:last-child{padding-bottom: 0}
.ts-circle{margin-bottom: 0;flex-shrink: 0}
.ts-content{flex: 1}
}
.section-faq{padding: 110px 0;background: var(--off)}
.faq-header{text-align: center;margin-bottom: 64px}
.faq-header .section-sub{margin: 16px auto 0}
.faq-cols{display: grid;grid-template-columns: 1fr 1fr;gap: 40px 60px;max-width: 1000px;margin: 0 auto}
.faq-item{border-bottom: 1px solid var(--gray-200)}
.faq-btn{width: 100%;background: none;border: none;cursor: pointer;display: flex;align-items: center;justify-content: space-between;gap: 14px;padding: 22px 0;text-align: left}
.faq-q{font-size: .95rem;font-weight: 700;color: var(--black);letter-spacing: -.02em;line-height: 1.4}
.faq-ico{flex-shrink: 0;width: 20px;height: 20px;color: var(--gray-400);transition: transform .25s}
.faq-item.open .faq-ico{transform: rotate(180deg);color: var(--green-mid)}
.faq-body{max-height: 0;overflow: hidden;transition: max-height .3s ease,padding .3s}
.faq-body.open{max-height: 600px;padding-bottom: 20px}
.faq-body p{font-size: .88rem;color: var(--gray-600);line-height: 1.8}
@media (max-width:760px){.faq-cols{grid-template-columns: 1fr;gap: 0}
}
.section-cta{padding: 110px 0;background: var(--dark);text-align: center}
footer{background: var(--brand-ink-deep);padding: 56px 0 28px;border-top: 1px solid rgba(255,255,255,.05)}
.footer-inner{display: grid;grid-template-columns: 1fr 1fr 1fr;gap: 40px;margin-bottom: 40px}
.ft-logo{font-size: 1rem;font-weight: 650;letter-spacing: -.04em;color: var(--white);margin-bottom: 12px}
.ft-logo span{color: var(--green-light)}
.ft-tagline{font-size: .82rem;color: rgba(255,255,255,.62);line-height: 1.6}
.ft-group-title{font-size: .68rem;font-weight: 700;letter-spacing: .01em;color: rgba(255,255,255,.58);margin-bottom: 14px}
.ft-links{list-style: none;display: flex;flex-direction: column;gap: 10px}
.ft-links a{text-decoration: none;color: rgba(255,255,255,.68);font-size: .85rem;transition: color .2s}
.ft-links a:hover{color: var(--white)}
.footer-bottom{max-width: 1160px;margin: 0 auto;padding: 24px 48px 0;border-top: 1px solid rgba(255,255,255,.06);display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;gap: 10px}
.footer-bottom p{font-size: .76rem;color: rgba(255,255,255,.55)}
@media (max-width:760px){.footer-inner{grid-template-columns: 1fr 1fr}
.footer-bottom{padding: 24px 20px 0}
}
@media (max-width:480px){.footer-inner{grid-template-columns: 1fr}
}
@keyframes fadeUp{from{opacity: 0;transform: translateY(22px)}
to{opacity: 1;transform: translateY(0)}
}
@keyframes scaleUp{from{opacity: 0;transform: scale(0.94) translateY(10px)}
to{opacity: 1;transform: scale(1) translateY(0)}
}
@keyframes slideRight{from{opacity: 0;transform: translateX(-14px)}
to{opacity: 1;transform: translateX(0)}
}
.sticky-cta-mobile{display: none}
@media (max-width: 768px){.sticky-cta-mobile{display: block;position: fixed;bottom: 0;left: 0;right: 0;z-index: 999;transform: translateY(110%);transition: transform .35s cubic-bezier(.22,1,.36,1);padding: 10px 16px calc(10px + env(safe-area-inset-bottom));background: rgba(35,38,45,.96);backdrop-filter: blur(20px);border-top: 1px solid rgb(var(--brand-gold-rgb) / .15)}
.sticky-cta-inner{display: flex;flex-direction: column;align-items: center;gap: 4px}
.sticky-cta-mobile a{width: 100%;display: flex;align-items: center;justify-content: center;gap: 8px;background: var(--green-light);color: var(--brand-ink-deep);font-family: var(--font);font-weight: 700;font-size: .92rem;padding: 14px 20px;border-radius: 10px;text-decoration: none;}
.sticky-cta-mobile img{width: 28px;height: 28px;border-radius: 50%;object-fit: cover;object-position: top center;border: 2px solid rgba(255,255,255,.4);flex-shrink: 0}
.sticky-cta-sub{font-size: .7rem;color: rgba(255,255,255,.38);font-weight: 500;letter-spacing: .01em;text-align: center;margin: 0}
.hero{padding-bottom: 110px}
}
@media (max-width: 768px){.hero{min-height: auto;padding-top: calc(var(--nav-h) + 32px + 60px)}
.hero-inner{padding: 0 4px}
.hero-h1{font-size: clamp(2rem,9vw,2.8rem);letter-spacing: -0.025em;line-height: 1.15;text-wrap: balance}
.hero-actions{flex-direction: column;gap: 12px;width: 100%}
.hero-actions .btn{width: 100%;justify-content: center}
.hero-tags{flex-direction: column;gap: 8px;align-items: flex-start}
.hero-reviews{gap: 10px;justify-content: center}
.nav-logo img{height: 72px}
}
.hero-h1{animation: fadeUp 0.65s cubic-bezier(0.22,1,0.36,1) both}
.hero-actions{opacity: 0;animation: scaleUp 0.6s cubic-bezier(0.34,1.56,0.64,1) 0.55s forwards}
.hero-reviews{opacity: 0;animation: fadeUp 0.55s cubic-bezier(0.22,1,0.36,1) 0.1s forwards}
.hero-tags .hero-tag:nth-child(1){opacity: 0;animation: slideRight 0.5s cubic-bezier(0.22,1,0.36,1) 0.82s forwards}
.hero-tags .hero-tag:nth-child(2){opacity: 0;animation: slideRight 0.5s cubic-bezier(0.22,1,0.36,1) 0.92s forwards}
.hero-tags .hero-tag:nth-child(3){opacity: 0;animation: slideRight 0.5s cubic-bezier(0.22,1,0.36,1) 1.02s forwards}
@media (prefers-reduced-motion: reduce){.hero-specialty,.hero-h1,.hero-p,.hero-actions,.hero-reviews,.hero-tags .hero-tag{opacity: 1!important;animation: none!important}
.reveal,.reveal-left,.reveal-right{opacity:1!important;transform:none!important;transition:none!important}
}
.std-grid .std-card:nth-child(1){transition-delay: .04s}
.std-grid .std-card:nth-child(2){transition-delay: .14s}
.std-grid .std-card:nth-child(3){transition-delay: .24s}
.std-grid .std-card:nth-child(4){transition-delay: .34s}
.std-grid .std-card:nth-child(5){transition-delay: .44s}
.std-grid .std-card:nth-child(6){transition-delay: .54s}
.std-imgwrap::after{content: '';position: absolute;top: -10%;bottom: -10%;left: -80%;width: 45%;background: linear-gradient(105deg,transparent,rgba(255,255,255,.3),transparent);transform: skewX(-18deg);pointer-events: none;transition: left .7s ease}
.std-card:hover .std-imgwrap::after{left: 135%}
.di-metrics .dim{opacity: 0;transform: translateY(16px) scale(.95)}
.di-metrics.in .dim{animation: dimPop .55s cubic-bezier(.34,1.56,.64,1) forwards}
.di-metrics.in .dim:nth-child(1){animation-delay: .05s}
.di-metrics.in .dim:nth-child(2){animation-delay: .15s}
.di-metrics.in .dim:nth-child(3){animation-delay: .25s}
.di-metrics.in .dim:nth-child(4){animation-delay: .35s}
.di-metrics.in .dim:nth-child(5){animation-delay: .45s}
.di-metrics.in .dim:nth-child(6){animation-delay: .55s}
@keyframes dimPop{to{opacity: 1;transform: none}
}
@media (prefers-reduced-motion: reduce){.std-grid .std-card{transition-delay: 0s!important}
.std-imgwrap::after{display: none}
.di-metrics .dim{opacity: 1!important;transform: none!important;animation: none!important}
}
.side-cta{opacity: 0;pointer-events: none;transition: opacity .3s ease;position: fixed;right: 0;top: 50%;transform: translateY(-50%);z-index: 150;writing-mode: vertical-rl;display: inline-flex;align-items: center;gap: 8px;background: var(--gold-grad,linear-gradient(180deg,var(--accent),var(--accent)));background: linear-gradient(180deg,var(--accent),var(--accent));color: var(--brand-ink-deep);text-decoration: none;font-family: var(--font);font-weight: 700;font-size: .85rem;letter-spacing: .01em;padding: 20px 13px;border-radius: 10px 0 0 10px;transition: padding .2s ease,box-shadow .2s ease,filter .2s ease}
.side-cta.visible{opacity: 1;pointer-events: auto}
.side-cta:hover{padding-right: 19px;filter: brightness(1.05);}
.side-cta svg{width: 15px;height: 15px;transform: rotate(90deg);flex-shrink: 0}
@media (max-width: 1023px){.side-cta{display: none}
}
@media (prefers-reduced-motion: reduce){.side-cta{transition: none}
}
.section-video{background: var(--off);padding: 100px 0 110px;position: relative;border-bottom: 1px solid var(--gray-200)}
.video-header{text-align: center;margin-bottom: 44px}
.video-header .section-sub{margin: 14px auto 0}
.video-frame{max-width: 400px;margin: 0 auto;aspect-ratio: 1080/1530;border-radius: 18px;overflow: hidden;background: radial-gradient(ellipse 600px 400px at 50% 0%,rgb(var(--brand-gold-rgb) / .12),transparent 65%),linear-gradient(160deg,var(--brand-ink-deep) 0%,var(--brand-ink-deep) 100%);border: 1px solid rgb(var(--brand-gold-rgb) / .22);display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 18px;position: relative}
.video-frame iframe{position: absolute;inset: 0;width: 100%;height: 100%;border: none}
.video-frame:hover .video-play{transform: scale(1.08);background: rgb(var(--brand-gold-rgb) / .22)}
.bento{display: grid;grid-template-columns: repeat(3,1fr);margin-bottom: 56px}
.bx{padding: clamp(26px,3vw,38px) clamp(20px,2.4vw,32px);display: flex;flex-direction: column;gap: 11px;position: relative;border-bottom: 1px solid rgb(var(--brand-gold-rgb) / .18);transition: background .3s ease}
.bx:not(:nth-child(3n)){border-right: 1px solid rgb(var(--brand-gold-rgb) / .18)}
.bx:nth-child(n+7){border-bottom: none}
.bx:hover{background: rgb(var(--brand-gold-rgb) / .06)}
.bx-title{font-family: var(--font-display);font-weight: 650;font-size: clamp(1.25rem,1.8vw,1.55rem);letter-spacing: -.01em;color: var(--black);line-height: 1.12}
.bx-line{font-size: .85rem;color: var(--gray-600);line-height: 1.6}
.bx .xp-chips{margin-top: auto;padding-top: 8px}
.bx.in .xp-chip{animation: chipPop .4s cubic-bezier(.34,1.56,.64,1) forwards}
.bx.in .xp-chip:nth-child(1){animation-delay: .12s}
.bx.in .xp-chip:nth-child(2){animation-delay: .19s}
.bx.in .xp-chip:nth-child(3){animation-delay: .26s}
.bx.in .xp-chip:nth-child(4){animation-delay: .33s}
.bx.in .xp-chip:nth-child(5){animation-delay: .40s}
.bx.in .xp-chip:nth-child(6){animation-delay: .47s}
@media (max-width: 1024px){.bento{grid-template-columns: 1fr 1fr}
.bx{border-right: none!important}
.bx:nth-child(odd){border-right: 1px solid rgb(var(--brand-gold-rgb) / .18)!important}
.bx:nth-child(7){border-bottom: 1px solid rgb(var(--brand-gold-rgb) / .18)}
}
@media (max-width: 640px){.bento{grid-template-columns: 1fr}
.bx{border-right: none!important;border-bottom: 1px solid rgb(var(--brand-gold-rgb) / .18)!important;padding-left: 4px;padding-right: 4px}
.bx:last-child{border-bottom: none!important}
}
.section-expertise{background: radial-gradient(ellipse 900px 520px at 85% 4%,rgb(var(--brand-gold-rgb) / .05),transparent 58%),var(--accent-wash-solid)}
.section-expertise .exp-title{color: var(--black)}
.section-expertise .exp-sub{color: var(--gray-600)}
.xp-chips{display: flex;flex-wrap: wrap;gap: 7px}
.xp-chip{font-size: .73rem;font-weight: 600;color: var(--gray-700);background: var(--gray-100);border: 1px solid var(--gray-200);padding: 5px 11px;border-radius: 14px;white-space: nowrap;opacity: 0;transform: scale(.85) translateY(6px);position: relative}
.xp-chip.hot{background: var(--green-xpale);border-color: var(--green-pale);color: var(--green-mid)}
.xp-row.in .xp-chip{animation: chipPop .4s cubic-bezier(.34,1.56,.64,1) forwards}
.xp-row.in .xp-chip:nth-child(1){animation-delay: .12s}
.xp-row.in .xp-chip:nth-child(2){animation-delay: .19s}
.xp-row.in .xp-chip:nth-child(3){animation-delay: .26s}
.xp-row.in .xp-chip:nth-child(4){animation-delay: .33s}
.xp-row.in .xp-chip:nth-child(5){animation-delay: .40s}
.xp-row.in .xp-chip:nth-child(6){animation-delay: .47s}
@media (hover: hover){.xp-chip{cursor: help}
.xp-chip::after{content: attr(data-tip);position: absolute;bottom: calc(100% + 9px);left: 50%;transform: translateX(-50%) translateY(4px);background: #fff;color: var(--navy,var(--brand-ink-deep));font-size: .73rem;font-weight: 500;line-height: 1.45;padding: 8px 13px;border-radius: 9px;width: max-content;max-width: 230px;white-space: normal;text-align: center;opacity: 0;pointer-events: none;transition: opacity .2s ease,transform .2s ease;z-index: 20;box-shadow: 0 8px 20px -8px rgb(var(--brand-ink-rgb) / .22)}
.xp-chip:hover::after{opacity: 1;transform: translateX(-50%) translateY(0)}
}
@media (prefers-reduced-motion: reduce){.xp-chip{opacity: 1!important;transform: none!important;animation: none!important}
}
.section-expertise .proof-band{background: #fff;border: 1px solid var(--gray-200);box-shadow: 0 12px 28px -18px rgb(var(--brand-ink-rgb) / .18);color: var(--text)}
.section-expertise .proof-label{color: var(--green-mid)}
.section-expertise .proof-title{color: var(--black)}
.section-expertise .proof-title em{color: var(--green-mid)}
.section-expertise .proof-text{color: var(--gray-600)}
.section-expertise .gauge-bg{stroke: hsl(220,16%,86%)}
.section-expertise .gauge-val{color: var(--black)}
.section-expertise .gauge-cap{color: var(--gray-700)}
.section-expertise .gauge-sub{color: var(--gray-400)}
.tech-card.in .tech-chip{animation: chipPop .4s cubic-bezier(.34,1.56,.64,1) forwards}
.tech-card.in .tech-chip:nth-child(1){animation-delay: .15s}
.tech-card.in .tech-chip:nth-child(2){animation-delay: .23s}
.tech-card.in .tech-chip:nth-child(3){animation-delay: .31s}
.tech-card.in .tech-chip:nth-child(4){animation-delay: .39s}
.tech-card.in .tech-chip:nth-child(5){animation-delay: .47s}
.tech-card.in .tech-chip:nth-child(6){animation-delay: .55s}
.tech-card.in .tech-chip:nth-child(7){animation-delay: .63s}
@keyframes chipPop{to{opacity: 1;transform: none}
}
.tech-grid .tech-card:nth-child(2):not(.in){transition-delay: .08s}
.tech-grid .tech-card:nth-child(3):not(.in){transition-delay: .16s}
.tech-grid .tech-card:nth-child(5):not(.in){transition-delay: .08s}
.tech-grid .tech-card:nth-child(6):not(.in){transition-delay: .16s}
.path-wrap{position: relative;max-width: 960px;margin: 0 auto;padding: 24px 0 12px}
.path-svg{position: absolute;inset: 0;width: 100%;height: 100%;pointer-events: none;z-index: 0}
.path-line-bg{fill: none;stroke: var(--border);stroke-width: 1.1}
.path-line{fill: none;stroke: url(#pathGrad);stroke-width: 1.4;stroke-linecap: round;stroke-dasharray: 1000;stroke-dashoffset: 1000}
.pstep{position: relative;z-index: 1;width: calc(50% - 132px);margin-bottom: clamp(40px,5vw,60px);background: #fff;border: 1px solid var(--border);border-radius: 18px;padding: 26px 28px;box-shadow: 0 1px 2px rgba(28,24,10,.04),0 18px 40px -26px rgba(28,24,10,.35);transition: opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1),box-shadow .5s ease,border-color .5s ease}
.pstep:last-child{margin-bottom: 0}
.pstep-r{margin-left: auto}
.pstep.lit{border-color: var(--border);}
.pstep::after{content: '';position: absolute;top: 34px;width: 22px;height: 2px;background: var(--border);transition: background .5s ease}
.pstep-l::after{right: -22px}
.pstep-r::after{left: -22px}
.pstep.lit::after{background: var(--green-light)}
.pnum{font-family: var(--font-display);font-style: normal;font-weight: 600;font-size: 2.1rem;line-height: 1;color: var(--border);margin-bottom: 10px;display: inline-flex;align-items: center;gap: 14px;transition: color .5s ease}
.pnum::after{content: '';width: 40px;height: 1.5px;background: var(--border);transition: background .5s ease}
.pstep.lit .pnum{color: var(--green-mid)}
.pstep.lit .pnum::after{background: var(--green-light)}
.pstep-title{font-family: var(--font-display);font-weight: 650;font-size: clamp(1.3rem,2vw,1.65rem);letter-spacing: -.01em;color: var(--black);margin-bottom: 8px}
.pstep-text{font-size: .9rem;color: var(--gray-600);line-height: 1.75}
.pstep-badge{display: inline-block;margin-top: 12px;font-size: .72rem;font-weight: 700;color: var(--green-mid);background: var(--green-xpale);border: 1px solid var(--green-pale);padding: 4px 12px;border-radius: 14px}
@media (max-width: 860px){.path-wrap{max-width: 560px;padding-left: 40px}
.path-svg{left: 10px;width: 18px}
.pstep,.pstep-r{width: 100%;margin-left: 0}
.pstep::after{display: none}
}
@media (prefers-reduced-motion: reduce){.path-line{stroke-dashoffset: 0!important}
.pstep .pnum{color: var(--green-mid)}
}
.proof-band{background: radial-gradient(ellipse 560px 300px at 12% 0%,rgb(var(--brand-gold-rgb) / .13),transparent 60%),var(--dark);border-radius: 22px;padding: clamp(32px,5vw,52px);color: #fff;display: grid;grid-template-columns: .95fr 1.05fr;gap: clamp(28px,5vw,60px);align-items: center;margin-bottom: 52px}
.proof-title{font-family: var(--font-display);font-weight: 650;font-size: clamp(1.5rem,2.6vw,2rem);line-height: 1.2;margin: 12px 0 14px}
.proof-title em{font-style: normal;color: var(--accent)}
.proof-text{color: rgba(255,255,255,.62);font-size: .92rem;line-height: 1.75}
.gauges{display: flex;gap: clamp(16px,3vw,36px);justify-content: space-between}
.gauge{text-align: center;flex: 1}
.gauge-ring{position: relative;width: 108px;height: 108px;margin: 0 auto 12px}
.gauge-ring svg{width: 108px;height: 108px;transform: rotate(-90deg)}
.gauge-bg{fill: none;stroke: rgba(255,255,255,.1);stroke-width: 7}
.gauge-fg{fill: none;stroke: url(#gaugeGrad);stroke-width: 7;stroke-linecap: round;stroke-dasharray: 264;stroke-dashoffset: 264;transition: stroke-dashoffset 1.6s cubic-bezier(.22,1,.36,1) .3s}
.proof-band.in .gauge-fg{stroke-dashoffset: var(--off)}
.gauge-val{position: absolute;inset: 0;display: flex;align-items: center;justify-content: center;font-family: var(--font-display);font-size: 1.45rem;color: #fff;letter-spacing: -.01em}
.gauge-cap{font-size: .78rem;font-weight: 600;color: rgba(255,255,255,.75);line-height: 1.35}
.gauge-sub{font-size: .68rem;color: rgba(255,255,255,.42);margin-top: 3px;line-height: 1.35}
@media (max-width: 960px){.proof-band{grid-template-columns: 1fr}
}
@media (max-width: 480px){.gauges{flex-direction: column;gap: 22px}
}
@media (prefers-reduced-motion: reduce){.gauge-fg{transition: none;stroke-dashoffset: var(--off)!important}
}
.pillar.in .pchecks li{opacity: 1;transform: none}
.pillar.in .pchecks li:nth-child(1){transition-delay: .25s}
.pillar.in .pchecks li:nth-child(2){transition-delay: .45s}
.pillar.in .pchecks li:nth-child(3){transition-delay: .65s}
.pillar.in .pchecks li:nth-child(1) .pcheck-box path{animation: tickDraw .4s ease .45s forwards}
.pillar.in .pchecks li:nth-child(2) .pcheck-box path{animation: tickDraw .4s ease .65s forwards}
.pillar.in .pchecks li:nth-child(3) .pcheck-box path{animation: tickDraw .4s ease .85s forwards}
@keyframes tickDraw{to{stroke-dashoffset: 0}
}
.pillar.in .mo-h,.pillar.in .mo-p{animation: barGrow .6s cubic-bezier(.22,1,.36,1) forwards}
.pillar.in .mo-h{animation-delay: .2s}
.pillar.in .mo-h2{animation-delay: .32s}
.pillar.in .mo-p{animation-delay: .48s}
.pillar.in .mo-p2{animation-delay: .58s}
@keyframes barGrow{to{transform: scaleX(1)}
}
.pillar.in .mo-cta{animation: ctaPop .5s cubic-bezier(.34,1.56,.64,1) .75s forwards}
@keyframes ctaPop{to{opacity: 1;transform: scale(1)}
}
.pillar.in .mp-badge{animation: badgeUp .45s ease forwards}
.pillar.in .mp-badge:nth-child(1){animation-delay: .7s}
.pillar.in .mp-badge:nth-child(2){animation-delay: .82s}
.pillar.in .mp-badge:nth-child(3){animation-delay: .94s}
@keyframes badgeUp{to{opacity: 1;transform: none}
}
.pillar.in .mc-btn{animation: ctaPop .5s cubic-bezier(.34,1.56,.64,1) .6s forwards}
.pillar.in .mc-tel-dot::after{animation: telPing 2s ease-out infinite .9s}
@keyframes telPing{0%{transform: scale(.5);opacity: .8}
70%,100%{transform: scale(1.6);opacity: 0}
}
.socle.in .socle-list li{opacity: 1;transform: none}
.socle.in .socle-list li:nth-child(1){transition-delay: .15s}
.socle.in .socle-list li:nth-child(2){transition-delay: .3s}
.socle.in .socle-list li:nth-child(3){transition-delay: .45s}
.socle.in .socle-list li:nth-child(4){transition-delay: .6s}
.socle.in .socle-list li:nth-child(5){transition-delay: .75s}
.browser-embed{position: relative;overflow: hidden}
.de-scroll{position: absolute;top: 0;left: 0;width: 100%;height: auto;transform: translateY(0);transition: transform 9s cubic-bezier(.25,.1,.25,1);will-change: transform;display: block}
.dupont-card:hover .de-scroll{transform: translateY(calc(-100% + 460px))}
.de-hint{position: absolute;left: 50%;bottom: 12px;transform: translateX(-50%);background: rgba(35,38,45,.82);color: rgba(255,255,255,.85);font-size: .7rem;font-weight: 600;letter-spacing: .01em;padding: 6px 14px;border-radius: 16px;pointer-events: none;transition: opacity .4s ease;backdrop-filter: blur(6px)}
.dupont-card:hover .de-hint{opacity: 0}
.dupont-header .section-h2{font-size: clamp(2.4rem,4.5vw,3.4rem)}
.dupont-header .section-h2 em{font-style: normal;color: var(--green-mid)}
.real-cta-row{display: flex;flex-direction: column;align-items: center;text-align: center;margin-top: 44px}
.real-cta-sub{font-size: .8rem;color: var(--gray-400);margin-top: 12px}
@media (max-width:860px){.dupont-card:hover .de-scroll{transform: translateY(calc(-100% + 300px))}
.browser-embed{height: 300px}
}
@media (hover: none){.de-hint{display: none}
}
@media (prefers-reduced-motion: reduce){.de-scroll{transition: none;animation: none!important}
.dupont-card:hover .de-scroll{transform: none}
}
.std-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 18px}
.std-card{border-top: 3px solid var(--sector,var(--green-light))}
.std-card .browser-chrome{background: var(--sector-dark,var(--dark))}
.std-card .di-label{color: var(--sector-deep,var(--green-mid))}
.std-card:hover{border-color: var(--sector,var(--green-light))}
.std-imgwrap img{transition: transform .6s cubic-bezier(.22,1,.36,1)}
.std-card:hover .std-imgwrap img{transform: scale(1.035)}
.std-clim{--sector: #4a90c2;--sector-dark: #0d1e2c;--sector-deep: #3a739c}
.std-lafar{--sector: #7d92c4;--sector-dark: #151a28;--sector-deep: #5c6f9e}
.std-facade{--sector: #3f6ea8;--sector-dark: #0e1a28;--sector-deep: #33587f}
.std-graph{--sector: #e08a2e;--sector-dark: #241505;--sector-deep: #a86315}
.std-garden{--sector: #4e7d34;--sector-dark: #131c0c;--sector-deep: #3f6529}
.std-piscine{--sector: #2f7fa8;--sector-dark: #0c2230;--sector-deep: #256684}
@media (max-width: 1024px){.std-grid{grid-template-columns: 1fr 1fr}
}
@media (prefers-reduced-motion: reduce){.std-imgwrap img{transition: none}
.std-card:hover .std-imgwrap img{transform: none}
}
.std-card{background: var(--off);border: 1px solid var(--gray-200);border-radius: 20px;overflow: hidden;box-shadow: 0 8px 48px rgba(0,0,0,.07);transition: transform .25s ease,box-shadow .25s ease}
.std-card:hover{transform: translateY(-4px);}
.std-imgwrap{position: relative;overflow: hidden;aspect-ratio: 16/9;background: var(--gray-100)}
.std-imgwrap img{width: 100%;height: 100%;object-fit: cover;object-position: top}
.std-info{padding: 16px 22px 18px;background: var(--white);border-top: 1px solid var(--gray-200)}
@media (max-width:860px){.std-grid{grid-template-columns: 1fr}
}
.std-dotnav{display: none}
@media (max-width: 700px){.std-grid{display: flex;overflow-x: auto;scroll-snap-type: x mandatory;gap: 14px;margin-left: -20px;margin-right: -20px;padding: 4px 20px 8px;scrollbar-width: none;-webkit-overflow-scrolling: touch}
.std-grid::-webkit-scrollbar{display: none}
.std-grid .std-card{flex: 0 0 86%;scroll-snap-align: center;transition-delay: 0s!important}
.std-dotnav{display: flex;justify-content: center;gap: 8px;margin-top: 18px}
.std-dot-i{width: 7px;height: 7px;border-radius: 50%;background: var(--gray-200);transition: background .25s,transform .25s}
.std-dot-i.on{background: var(--green-mid);transform: scale(1.35)}
}
.ba-header .section-sub{margin: 14px auto 0}
.ba-chrome .bc-url{background: rgba(0,0,0,.08);color: #777}
.ba-chrome.new .bc-url{background: rgba(255,255,255,.08);color: rgba(255,255,255,.45)}
.tarif-header .section-sub{margin: 14px auto 0}
.contact-grid{display: grid;grid-template-columns: .9fr 1.1fr;gap: clamp(36px,6vw,64px);align-items: start;text-align: left}
.contact-points{list-style: none;margin: 24px 0;display: flex;flex-direction: column;gap: 15px}
.contact-points li{display: flex;gap: 12px;font-size: .93rem;color: rgba(255,255,255,.6);line-height: 1.55}
.contact-points li svg{width: 18px;height: 18px;color: var(--green-light);flex-shrink: 0;margin-top: 3px}
.contact-points li strong{color: #fff}
.contact-direct{border-top: 1px solid rgba(255,255,255,.1);padding-top: 20px;font-size: .9rem;color: rgba(255,255,255,.5)}
.contact-direct a{color: var(--green-light);font-weight: 600;text-decoration: none}
.cform{background: var(--white);border-radius: 20px;padding: clamp(26px,4vw,40px);}
.cform-note{text-align: center;font-size: .78rem;color: var(--gray-400);margin-top: 12px}
.cform-cal{padding: 20px clamp(16px,2.4vw,24px) 22px}
.cal-head{display: flex;align-items: center;gap: 9px;justify-content: center;font-size: .82rem;font-weight: 600;color: var(--black);margin-bottom: 14px}
.cal-dot{width: 8px;height: 8px;border-radius: 50%;background: #2ec16b;box-shadow: 0 0 0 4px rgba(46,193,107,.16);flex-shrink: 0}
.cform-cal .calendly-inline-widget{border-radius: 14px;overflow: hidden;background: #fff}
.embed-gate{position: absolute;inset: 0;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 14px;text-align: center;padding: 24px}
.embed-gate svg{width: 40px;height: 40px;color: var(--green-light);opacity: .85}
.embed-gate p{font-size: .82rem;color: rgba(255,255,255,.7);max-width: 300px;line-height: 1.5;margin: 0}
.embed-gate-btn{background: var(--green-light);color: var(--brand-ink-deep);border: none;border-radius: 9px;font-family: var(--font);font-weight: 700;font-size: .82rem;padding: 11px 18px;cursor: pointer;transition: background .2s,transform .15s}
.embed-gate-btn:hover{background: var(--green-mid);transform: translateY(-1px)}
.embed-gate-cal{position: relative;inset: auto;background: #fff;border: 1px solid var(--gray-200);border-radius: 14px}
.embed-gate-cal svg{color: var(--green-mid)}
.embed-gate-cal p{color: var(--gray-600)}
@media (max-width:860px){.contact-grid{grid-template-columns: 1fr}
}
.hero-sub2{font-size: 1.02rem;color: rgba(255,255,255,.66);line-height: 1.7;max-width: 560px;margin: 0 auto 30px;opacity: 0;animation: fadeUp .6s cubic-bezier(.22,1,.36,1) .45s forwards}
@media (max-width: 560px){.hero-sub2{font-size: .95rem}
}
@media (prefers-reduced-motion: reduce){.hero-sub2{opacity: 1!important;animation: none!important}
}
.btn-personal{position: relative;overflow: hidden}
.btn-personal::after{content: '';position: absolute;inset: 0;border-radius: inherit;background: radial-gradient(circle 90px at var(--mx,50%) var(--my,50%),rgba(255,255,255,.35),transparent 70%);opacity: 0;transition: opacity .25s ease;pointer-events: none}
.btn-personal:hover::after{opacity: 1}
@media (prefers-reduced-motion: reduce){.btn-personal::after{display: none}
}
.hr-stars svg{opacity: 0;transform: scale(.4);animation: starPop .32s cubic-bezier(.34,1.56,.64,1) forwards}
.hr-stars svg:nth-child(1){animation-delay: .55s}
.hr-stars svg:nth-child(2){animation-delay: .67s}
.hr-stars svg:nth-child(3){animation-delay: .79s}
.hr-stars svg:nth-child(4){animation-delay: .91s}
.hr-stars svg:nth-child(5){animation-delay: 1.03s}
@keyframes starPop{to{opacity: 1;transform: scale(1)}
}
@media (prefers-reduced-motion: reduce){.hr-stars svg{opacity: 1!important;transform: none!important;animation: none!important}
}
.hero-h1,.section-h2,.exp-title,.exp-card-title,.cta-inner h2,.offer-name,.std-title,.founder-quote,.founder-name,.cform-success h3,.ft-logo,.nav-logo,.ba-tag{font-weight: 650!important}
.hero-h1{font-size: clamp(2.9rem,5.2vw,4.7rem);letter-spacing: -.01em}
.hero-h1 em{font-style: normal;font-weight: 400}
.section-h2{letter-spacing: -.015em;font-size: clamp(2.1rem,4vw,3rem)}
.exp-title{letter-spacing: -.02em}
.cookie-fab{position: fixed;right: 20px;bottom: 20px;z-index: 900;width: 50px;height: 50px;border-radius: 50%;cursor: pointer;display: flex;align-items: center;justify-content: center;background: var(--brand-ink-deep);border: 1px solid rgb(var(--brand-gold-rgb) / .4);color: var(--green-light);transition: transform .2s ease,box-shadow .2s ease,background .2s ease}
.cookie-fab:hover{transform: translateY(-3px) scale(1.04);}
.cookie-fab svg{width: 24px;height: 24px}
.cookie-overlay{display: none;position: fixed;inset: 0;z-index: 950;background: rgba(35,38,45,.62);-webkit-backdrop-filter: blur(3px);backdrop-filter: blur(3px);align-items: center;justify-content: center;padding: 20px;animation: backdropIn .25s ease}
.cookie-overlay.open{display: flex}
.cookie-modal{background: #fff;width: 100%;max-width: 540px;max-height: 88vh;overflow-y: auto;border-radius: 20px;padding: 30px clamp(22px,4vw,34px) 26px;box-shadow: 0 18px 40px -20px rgb(var(--brand-ink-rgb) / .28);animation: mmenuIn .3s cubic-bezier(.22,1,.36,1)}
.cookie-modal h3{font-family: var(--font-display);font-weight: 650;font-size: 1.4rem;color: var(--black);margin-bottom: 12px}
.cookie-intro{font-size: .88rem;color: var(--gray-600);line-height: 1.7;margin-bottom: 8px}
.cookie-intro a{color: var(--green-mid);text-decoration: underline}
.cookie-cat{border-top: 1px solid var(--gray-200);padding: 16px 0}
.cookie-cat:first-of-type{border-top: none}
.cookie-cat-head{display: flex;align-items: center;justify-content: space-between;gap: 14px}
.cookie-cat-title{font-size: .95rem;font-weight: 700;color: var(--black)}
.cookie-cat-desc{font-size: .82rem;color: var(--gray-600);line-height: 1.65;margin-top: 8px}
.cookie-always{font-size: .78rem;font-weight: 600;color: var(--green-mid);white-space: nowrap}
.cookie-switch{position: relative;width: 44px;height: 25px;flex-shrink: 0}
.cookie-switch input{opacity: 0;width: 0;height: 0;position: absolute}
.cookie-slider{position: absolute;inset: 0;border-radius: 25px;cursor: pointer;background: var(--gray-200);transition: background .25s ease}
.cookie-slider::before{content: '';position: absolute;height: 19px;width: 19px;left: 3px;top: 3px;background: #fff;border-radius: 50%;transition: transform .25s ease;box-shadow: 0 1px 3px rgba(0,0,0,.3)}
.cookie-switch input:checked + .cookie-slider{background: var(--green-light)}
.cookie-switch input:checked + .cookie-slider::before{transform: translateX(19px)}
.cookie-switch input:disabled + .cookie-slider{background: var(--green-light);opacity: .5;cursor: not-allowed}
.cookie-actions{display: flex;flex-wrap: wrap;gap: 10px;margin-top: 22px}
.cookie-actions button{flex: 1 1 140px;padding: 13px 16px;border-radius: 10px;font-family: var(--font);font-weight: 650;font-size: .85rem;cursor: pointer;transition: background .2s,border-color .2s,transform .15s;border: 1px solid transparent}
.cookie-actions button:hover{transform: translateY(-1px)}
.ck-refuse{background: #fff;border: 1px solid var(--gray-200)!important;color: var(--gray-700)}
.ck-refuse:hover{border-color: var(--gray-400)!important}
.ck-save{background: #fff;border: 1px solid var(--green-mid)!important;color: var(--green-mid)}
.ck-accept{background: var(--green-light);color: var(--brand-ink-deep)}
.ck-accept:hover{background: var(--green-mid)}
@media (max-width: 480px){.cookie-actions button{flex: 1 1 100%}
}
.word-line{display: inline}
.word-wrap{display: inline-block;overflow: hidden;vertical-align: top}
.word-rise{display: inline-block}
.word-anim .word-rise{transform: translateY(115%);opacity: 0;transition: transform .8s cubic-bezier(.19,1,.22,1),opacity .8s ease}
.word-anim .word-wrap.in .word-rise{transform: translateY(0);opacity: 1}
.reveal,.reveal-left,.reveal-right{filter: blur(6px);transition: opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1),filter .7s ease}
.reveal.in,.reveal-left.in,.reveal-right.in{filter: blur(0)}
.btn-lg{will-change: transform;transition: transform .25s cubic-bezier(.22,1,.36,1),background .2s,box-shadow .2s}
@media (prefers-reduced-motion: reduce){.word-anim .word-rise{transform: none!important;opacity: 1!important;transition: none!important}
.reveal,.reveal-left,.reveal-right{filter: none!important}
}
body{background: var(--brand-cream);color: var(--black);font-size: 16px;line-height: 1.6}
nav{background: rgb(250 247 242 / .93);border-bottom: 1px solid var(--border);box-shadow: none}
nav.s{background: rgb(250 247 242 / .98);border-color: var(--border);box-shadow: 0 1px 2px rgb(var(--brand-ink-rgb) / .05)}
.nav-cta,.mmenu .nav-cta{background: var(--brand-ink)!important;color: var(--brand-cream)!important;border-radius: 999px!important;box-shadow: none}
.nav-cta:hover{background: var(--brand-ink-hover)!important;color: var(--brand-cream)!important;box-shadow: none!important}
.burger{background: #ffffff;border: 1px solid var(--border)}
.burger:hover{background: var(--brand-cream-alt);border-color: var(--border-strong)}
.burger span{background: var(--brand-ink)}
.burger.active{background: var(--brand-cream-alt);border-color: var(--border-strong)}
.mmenu{background: #ffffff;border-bottom: 1px solid var(--border);box-shadow: 0 18px 34px -22px rgb(var(--brand-ink-rgb) / .18)}
.mmenu-label{color: #5b5f6b;border-bottom: 1px solid var(--border-strong);letter-spacing: .01em}
.mmenu a{color: var(--brand-ink)}
.mmenu a:not(.nav-cta):not(.mmenu-tel)::after{color: var(--accent)}
.mmenu a:hover,.mmenu a:active{background: #f6f3ec;color: var(--brand-ink)}
.mmenu-tel{color: var(--brand-ink)!important;background: #ffffff;border: 1px solid var(--border)!important}
.mmenu-tel svg{color: var(--accent)}
.mmenu-backdrop{background: rgb(var(--brand-ink-rgb) / .28)}
.hero{background: var(--brand-cream);color: var(--brand-ink)}
.hero::before,.hero::after{display: none}
.hero-h1{color: var(--brand-ink)}
.hero-h1 em{color: var(--accent);font-style: normal;text-shadow: none}
.hero-p,.hero-sub2{color: #5b5f6b}
.hero-tag{color: #3c404a;border: 1px solid var(--border);background: #ffffff}
.hero-tag:hover{background: #f6f3ec;border-color: var(--border-strong)}
.hero-tag svg{color: var(--accent)}
.hero-h1 em.bright{color: var(--accent)}
.pillnav-wrap{position: sticky;top: 14px;z-index: 200;padding: 0 24px;margin-top: 14px}
.pillnav{position: static;top: auto;left: auto;right: auto;height: auto;-webkit-backdrop-filter: none;backdrop-filter: none;border-bottom: none;display: flex;align-items: center;justify-content: space-between;gap: 18px;max-width: 1120px;margin: 0 auto;padding: 8px 14px 8px 18px;background: #ffffff;border: 1px solid var(--accent-wash-solid);border-radius: 999px;box-shadow: 0 10px 32px rgb(var(--brand-ink-rgb) / .10),0 2px 8px rgb(var(--brand-ink-rgb) / .05);transition: box-shadow .25s}
.pillnav.s{box-shadow: 0 10px 28px -12px rgb(var(--brand-ink-rgb) / .18),0 2px 8px rgb(var(--brand-ink-rgb) / .06)}
.pillnav-brand{display: flex;align-items: center;text-decoration: none;flex-shrink: 0}
.pillnav-brand img{height: 40px;width: auto;object-fit: contain;display: block}
.pillnav-links{list-style: none;display: flex;align-items: center;gap: 24px}
.pillnav-links a{font-size: .85rem;font-weight: 500;color: var(--brand-ink);opacity: .72;text-decoration: none;transition: opacity .15s}
.pillnav-links a:hover{opacity: 1}
.pillnav-tel{display: flex;align-items: center;gap: 6px;font-weight: 700;font-size: .82rem;color: var(--brand-ink);text-decoration: none;white-space: nowrap}
.pillnav-tel svg{width: 13px;height: 13px;color: var(--accent)}
.pillnav .nav-cta{text-decoration: none}
@media (max-width: 860px){.pillnav-links,.pillnav-tel{display: none}
.pillnav .nav-cta{display: none!important}
.pillnav{padding: 6px 8px 6px 14px}
.pillnav-wrap{padding: 0 14px;margin-top: 10px}
}
.hero-reviews{display: inline-flex;align-items: center;gap: 14px;margin-bottom: 4px}
.hr-avatars{display: flex}
.hr-avatars img,.hr-av-init{width: 34px;height: 34px;border-radius: 50%;border: 2px solid var(--brand-cream);object-fit: cover;object-position: top center;margin-left: -13px;flex-shrink: 0;filter: blur(1.5px) saturate(.8)}
.hr-avatars img:first-child{margin-left: 0}
.hr-av-init{position: relative;z-index: 2;filter: none;background: linear-gradient(135deg,var(--accent),var(--accent));display: flex;align-items: center;justify-content: center;font-size: .68rem;font-weight: 800;color: #fff;letter-spacing: 0}
.hr-right{display: flex;flex-direction: column;align-items: flex-start;gap: 3px}
.hr-stars{display: flex;align-items: center;gap: 6px}
.hr-stars svg.star{width: 13px;height: 13px;fill: var(--star)}
.hr-stars .hr-google{display: flex;align-items: center;gap: 4px;margin-left: 2px}
.hr-text{font-size: .84rem;color: #3c404a;font-weight: 500;line-height: 1.2}
.hr-text strong{color: var(--brand-ink);font-weight: 800}
.hero-marquee-wrap{position: relative;overflow: hidden;padding: 8px 0 0}
.hero-marquee-wrap::before,.hero-marquee-wrap::after{content: '';position: absolute;top: 0;bottom: 0;width: 90px;z-index: 2;pointer-events: none}
.hero-marquee-wrap::before{left: 0;background: linear-gradient(to right,var(--brand-cream),transparent)}
.hero-marquee-wrap::after{right: 0;background: linear-gradient(to left,var(--brand-cream),transparent)}
.hero-marquee-track{display: flex;gap: 18px;width: max-content;padding: 0 24px;animation: heroMarquee 42s linear infinite}
.hero-marquee-wrap:hover .hero-marquee-track{animation-play-state: paused}
@keyframes heroMarquee{from{transform: translateX(0)}
to{transform: translateX(-50%)}
}
@media (prefers-reduced-motion: reduce){.hero-marquee-track{animation: none}
}
.mqcard{flex-shrink: 0;width: 260px;border: 1px solid var(--border);border-radius: 14px;overflow: hidden;background: #fff;text-align: left}
.mqcard-bar{display: flex;align-items: center;gap: 6px;padding: 9px 12px;border-bottom: 1px solid var(--border)}
.mqcard-bar .dot{width: 8px;height: 8px;border-radius: 50%;background: var(--accent-surface-solid)}
.mqcard-bar .url{font-family: var(--font-mono);font-size: .68rem;color: #8b8e98;margin-left: 6px}
.mqcard img{display: block;width: 100%;height: 150px;object-fit: cover;object-position: top}
.mqcard-tag{padding: 10px 14px;font-size: .72rem;color: var(--accent);font-weight: 700;background: var(--accent-wash-solid)}
.btn{border-radius: 999px}
.btn-green{background: var(--brand-ink);color: var(--brand-cream)}
.btn-green:hover{background: var(--brand-ink-hover);color: var(--brand-cream);transform: translateY(-1px);box-shadow: 0 1px 2px rgb(var(--brand-ink-rgb) / .08)}
.btn-secondary,.btn-outline{background: #ffffff!important;color: var(--brand-ink)!important;border: 1px solid var(--border-strong)!important;backdrop-filter: none}
.btn-secondary:hover,.btn-outline:hover{background: #f6f3ec!important;color: var(--brand-ink)!important;border-color: var(--border-strong)!important}
.btn-avatar{border-color: var(--brand-cream)}
.btn-personal::after{display: none}
.side-cta{background: var(--brand-ink);color: var(--brand-cream);box-shadow: 0 1px 2px rgb(var(--brand-ink-rgb) / .1)}
.side-cta:hover{filter: none;background: var(--brand-ink-hover);box-shadow: 0 1px 2px rgb(var(--brand-ink-rgb) / .1)}
.section-h2.light{color: var(--brand-ink)}
.section-sub.light{color: #5b5f6b}
.section-h2 em{color: var(--accent)!important;font-style: normal!important}
.section-dupont,.section-process,.section-tarif{background: var(--brand-cream)}
.section-video,.section-faq,.section-ba{background: var(--brand-cream-alt);border-color: var(--border)}
.section-expertise{background: var(--brand-cream)}
.video-frame{background: #ffffff;border: 1px solid var(--border);box-shadow: 0 1px 2px rgb(var(--brand-ink-rgb) / .05)}
.video-frame:hover .video-play{background: var(--accent-surface-solid)}
.video-frame .embed-gate p{color: #5b5f6b}
.video-frame .embed-gate svg{color: var(--accent)}
.embed-gate-btn{background: var(--brand-ink);color: var(--brand-cream);border-radius: 999px}
.embed-gate-btn:hover{background: var(--brand-ink-hover)}
.section-avis{background: var(--brand-cream-alt)}
.avis-card{background: #ffffff;border: 1px solid var(--border);box-shadow: 0 1px 2px rgb(var(--brand-ink-rgb) / .05)}
.avis-card:hover{background: #ffffff;border-color: var(--border-strong)}
.avis-shot-bare{box-shadow: 0 1px 2px rgb(var(--brand-ink-rgb) / .05)}
.avis-text{color: #5b5f6b;font-style: normal}
.avis-text::before{color: var(--accent)}
.avis-author{border-top: 1px solid var(--border-strong)}
.avis-avatar{background: var(--accent-wash-solid);color: var(--accent);border: 1px solid var(--border-strong)}
.avis-name{color: var(--brand-ink)}
.proof-band,.socle{background: #ffffff;color: var(--brand-ink);border: 1px solid var(--border);border-radius: 16px;box-shadow: 0 1px 2px rgb(var(--brand-ink-rgb) / .05)}
.proof-title,.socle-title{color: var(--brand-ink)}
.proof-title em,.socle-title em{color: var(--accent);font-style: normal}
.proof-text,.socle-text{color: #5b5f6b}
.gauge-bg{stroke: var(--border)}
.gauge-val{color: var(--brand-ink);font-family: var(--font-mono);font-weight: 600}
.gauge-cap{color: #3c404a}
.gauge-sub{color: #8b8e98}
.dim-value,.sst-v,.gauge-val,.offer-price{font-family: var(--font-mono);font-weight: 600}
.dim-value{color: var(--accent)}
.browser-chrome,.std-card .browser-chrome,.ba-chrome.new{background: var(--accent-surface-solid)}
.bc-url,.ba-chrome.new .bc-url{background: rgb(var(--brand-ink-rgb) / .06);color: #5b5f6b}
.dupont-card,.std-card{box-shadow: 0 1px 2px rgb(var(--brand-ink-rgb) / .05);border: 1px solid var(--border)}
.dupont-card{background: #ffffff}
.std-card{background: #ffffff;border-top-width: 3px}
.std-card:hover{box-shadow: 0 6px 18px rgb(var(--brand-ink-rgb) / .08)}
.std-info{border-top: 1px solid var(--border-strong)}
.di-label{letter-spacing: .01em;text-transform: none;color: #5b5f6b;font-size: .78rem}
.exp-more-item::before,.exp-card::after,.tech-card::before{display: none}
.exp-card,.tech-card,.pstep,.pv-card{border: 1px solid var(--border);border-radius: 16px;box-shadow: 0 1px 2px rgb(var(--brand-ink-rgb) / .05)}
.pstep.lit{border-color: var(--border-strong);box-shadow: 0 6px 18px rgb(var(--brand-ink-rgb) / .07)}
.exp-cat,.exp-more-label,.mo-chip,.case-label,.real-eyebrow,.mmenu-label,.sst-l,.ft-group-title{letter-spacing: .01em;text-transform: none}
.de-hint{background: rgb(var(--brand-ink-rgb) / .8);color: var(--brand-cream);letter-spacing: .01em}
.cform{box-shadow: 0 1px 2px rgb(var(--brand-ink-rgb) / .08);border: 1px solid var(--border)}
.cookie-switch input:checked + .cookie-slider{background: var(--accent)}
.cookie-switch input:disabled + .cookie-slider{background: var(--accent)}
.ck-accept{background: var(--brand-ink);color: var(--brand-cream)}
.ck-accept:hover{background: var(--brand-ink-hover)}
.ck-save{border-color: var(--accent)!important;color: var(--accent)}
.cookie-fab{background: var(--brand-ink);border: 1px solid var(--border);color: var(--brand-cream);box-shadow: 0 4px 14px rgb(var(--brand-ink-rgb) / .18)}
.cookie-fab:hover{box-shadow: 0 6px 18px rgb(var(--brand-ink-rgb) / .22)}
.cookie-overlay{background: rgb(var(--brand-ink-rgb) / .35)}
@media (max-width: 768px){.sticky-cta-mobile{background: rgba(250,247,242,.96);border-top: 1px solid var(--border)}
.sticky-cta-mobile a{background: var(--brand-ink);color: var(--brand-cream);border-radius: 999px;box-shadow: none}
.sticky-cta-mobile img{border-color: var(--brand-cream)}
.sticky-cta-sub{color: #5b5f6b;letter-spacing: .01em}
.hero-p{color: #5b5f6b}
}
.section-cta{background: var(--brand-ink-deep)}
.section-cta .section-h2.light{color: var(--on-ink)}
.section-cta .section-h2 em,.section-cta .cta-inner h2 em{color: var(--accent-on-ink)!important}
.section-cta .section-sub.light,.cta-inner p{color: rgba(245,242,236,.68)}
.contact-points li{color: rgba(245,242,236,.72)}
.contact-points li strong{color: var(--on-ink)}
.contact-points li svg{color: var(--accent-on-ink)}
.contact-direct{color: rgba(245,242,236,.6);border-top: 1px solid rgba(245,242,236,.14)}
.contact-direct a{color: var(--accent-on-ink)}
.section-cta .btn-green,footer .btn-green{background: var(--brand-cream);color: var(--brand-ink)}
.section-cta .btn-green:hover,footer .btn-green:hover{background: #ffffff;color: var(--brand-ink)}
footer{background: var(--brand-ink-deep);border-top: 1px solid rgba(245,242,236,.08)}
.ft-logo{color: var(--on-ink)}
.ft-logo span{color: var(--accent-on-ink)}
.ft-tagline,.footer-bottom p{color: rgba(245,242,236,.6)}
.ft-group-title{color: rgba(245,242,236,.55)}
.ft-links a{color: rgba(245,242,236,.68)}
.ft-links a:hover{color: var(--on-ink)}
html,body{max-width: 100%;overflow-x: hidden}
.pnum{color: #b3a88e}
.pnum::after{background: var(--border-strong)}
.pstep.lit .pnum{color: var(--accent)}
.section-expertise .proof-band{background: var(--brand-ink);border: none;border-radius: 20px}
.section-expertise .proof-title{color: var(--brand-cream)}
.section-expertise .proof-title em{color: var(--accent)}
.section-expertise .proof-text{color: rgba(245,242,236,.75)}
.section-expertise .proof-label{color: var(--accent)}
.section-expertise .gauge-val{color: var(--brand-cream)}
.section-expertise .gauge-cap{color: var(--accent-wash-solid)}
.section-expertise .gauge-sub{color: rgba(245,242,236,.6)}
.section-expertise .gauge-bg{stroke: rgba(245,242,236,.15)}
.hero-tag svg{color: var(--accent)}
a{color: var(--brand-ink)}
#nav{transition: background .25s ease,box-shadow .25s ease,padding .25s ease;background: rgba(250,247,242,.85);backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px)}
#nav.s{background: rgba(255,255,255,.92);box-shadow: 0 1px 0 var(--border),0 8px 24px -18px rgb(var(--brand-ink-rgb) / .25)}
#nav.s .nav-logo img{height: 36px}
.nav-logo img{transition: height .25s ease}
.nav-links a:not(.nav-cta):not(.nav-tel){position: relative}
.nav-links a:not(.nav-cta):not(.nav-tel)::after{content: "";position: absolute;left: 0;right: 0;bottom: -6px;height: 2px;background: var(--accent);border-radius: 2px;transform: scaleX(0);transform-origin: left;transition: transform .22s cubic-bezier(.22,1,.36,1)}
.nav-links a:not(.nav-cta):not(.nav-tel):hover::after{transform: scaleX(1)}
.btn{transition: transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease,background .18s ease}
.btn:hover{transform: translateY(-2px);box-shadow: 0 10px 24px -12px rgb(var(--brand-ink-rgb) / .26)}
.btn:active{transform: translateY(0) scale(.985);box-shadow: 0 4px 12px -8px rgb(var(--brand-ink-rgb) / .24)}
.bx,.std-card,.prob-card,.avis-card,.founder-pill,.dupont-card{transition: transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease,border-color .25s ease}
.bx:hover,.std-card:hover,.prob-card:hover,.avis-card:hover{transform: translateY(-4px);box-shadow: 0 14px 34px -18px rgb(var(--brand-ink-rgb) / .28);border-color: var(--border-strong)}
.std-imgwrap{overflow: hidden}
.std-imgwrap img{transition: transform .45s cubic-bezier(.22,1,.36,1)}
.std-card:hover .std-imgwrap img{transform: scale(1.035)}
.bento .bx:nth-child(2),.std-grid .std-card:nth-child(2),.prob-grid .prob-card:nth-child(2){transition-delay: .08s}
.bento .bx:nth-child(3),.std-grid .std-card:nth-child(3),.prob-grid .prob-card:nth-child(3){transition-delay: .16s}
.bento .bx:nth-child(4),.std-grid .std-card:nth-child(4){transition-delay: .24s}
.bento .bx:nth-child(5),.std-grid .std-card:nth-child(5){transition-delay: .08s}
.bento .bx:nth-child(6),.std-grid .std-card:nth-child(6){transition-delay: .16s}
.bento .bx:nth-child(7),.std-grid .std-card:nth-child(7){transition-delay: .24s}
.bento .bx:nth-child(8){transition-delay: .08s}
.bento .bx:nth-child(9){transition-delay: .16s}
.faq-ico{transition: transform .25s cubic-bezier(.22,1,.36,1)}
.faq-btn[aria-expanded="true"] .faq-ico,.faq-item.open .faq-ico{transform: rotate(180deg)}
.pstep .pnum{transition: color .3s ease,transform .3s cubic-bezier(.22,1,.36,1)}
.pstep.in .pnum{color: var(--accent);transform: scale(1.06)}
@media (prefers-reduced-motion: reduce){#nav,.btn,.bx,.std-card,.prob-card,.avis-card,.std-imgwrap img,.faq-ico,.reveal{transition: none!important}
.btn:hover,.bx:hover,.std-card:hover,.prob-card:hover,.avis-card:hover{transform: none}
.ticker-track{animation: none!important}
}
.pillnav-wrap{position: fixed;top: 14px;left: 0;right: 0;z-index: 300;padding: 0 24px;margin-top: 0}
.pillnav{padding: 10px 12px 10px 20px;align-items: center}
.pillnav-brand{align-items: center}
.pillnav-brand img{height: 34px;width: auto;display: block}
@media (max-width: 860px){.pillnav-wrap{padding: 0 14px}
.pillnav{padding: 9px 9px 9px 16px}
.pillnav-brand img{height: 30px}
}
.hero{padding: 124px 0 44px;min-height: 0}
@media (max-width: 960px){.hero{padding: 112px 0 36px}
}
@media (max-width: 768px){.hero{padding: 104px 0 30px;min-height: 0}
}
@media (max-width: 560px){.hero{padding: 96px 0 26px}
}
.hero-marquee-wrap{padding-top: 0;margin-top: 4px}
.hero-h1 em.bright{position: relative;display: inline-block;color: var(--accent);padding: 0 .12em}
.hero-h1 em.bright::before{content: '';position: absolute;inset: -.02em -.04em .04em;border: 2px solid var(--accent);border-radius: 16px;opacity: 0;transform: scale(.94);animation: keyBoxIn .6s cubic-bezier(.22,1,.36,1) 1s forwards,keyBoxBreathe 5.5s ease-in-out 1.8s infinite}
@keyframes keyBoxIn{to{opacity: 1;transform: scale(1)}
}
@keyframes keyBoxBreathe{0%,100%{transform: scale(1);border-color: var(--accent)}
50%{transform: scale(1.035);border-color: var(--accent)}
}
@media (prefers-reduced-motion: reduce){.hero-h1 em.bright::before{opacity: 1;transform: none;animation: none}
}
.btn-green,.nav-cta,.side-cta{position: relative;overflow: hidden;transition: transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1),background .24s ease}
.btn-green::before,.nav-cta::before,.side-cta::before{content: '';position: absolute;top: -20%;bottom: -20%;left: 0;width: 45%;background: linear-gradient(100deg,transparent,rgb(255 255 255 / .22),transparent);transform: translateX(-240%) skewX(-16deg);will-change: transform;pointer-events: none;transition: transform .24s cubic-bezier(.4,0,.6,1)}
.btn-green:hover::before,.nav-cta:hover::before,.side-cta:hover::before,.btn-green:focus-visible::before,.nav-cta:focus-visible::before{transform: translateX(340%) skewX(-16deg);transition-duration: .38s;transition-timing-function: cubic-bezier(.22,1,.36,1)}
.btn-green:hover,.nav-cta:hover,.side-cta:hover{transform: translateY(-2px);box-shadow: 0 10px 24px -6px rgb(var(--brand-ink-rgb) / .28)!important}
.btn-green:active,.nav-cta:active,.side-cta:active{transform: translateY(0);transition-duration: .08s}
.btn-secondary,.btn-outline{position: relative;overflow: hidden;z-index: 0;transition: transform .24s cubic-bezier(.22,1,.36,1),border-color .24s ease,box-shadow .24s ease}
.btn-secondary::before,.btn-outline::before{content: '';position: absolute;inset: 0;z-index: -1;background: var(--accent-wash-solid);transform: scaleX(0);transform-origin: left;will-change: transform;transition: transform .24s cubic-bezier(.4,0,.6,1)}
.btn-secondary:hover::before,.btn-outline:hover::before,.btn-secondary:focus-visible::before,.btn-outline:focus-visible::before{transform: scaleX(1);transition-duration: .38s;transition-timing-function: cubic-bezier(.22,1,.36,1)}
.btn-secondary:hover,.btn-outline:hover{transform: translateY(-2px);border-color: var(--accent-border-hi)!important;box-shadow: 0 8px 20px -8px rgb(var(--brand-ink-rgb) / .16)}
.btn-secondary:active,.btn-outline:active{transform: translateY(0);transition-duration: .08s}
.btn-secondary::before,.btn-outline::before{transform-origin: left}
.btn-secondary:not(:hover)::before,.btn-outline:not(:hover)::before{transform-origin: right}
@media (prefers-reduced-motion: reduce){.btn-green::before,.nav-cta::before,.side-cta::before,.btn-secondary::before,.btn-outline::before{display: none}
.btn-green:hover,.nav-cta:hover,.side-cta:hover,.btn-secondary:hover,.btn-outline:hover,.btn-green:active,.nav-cta:active,.side-cta:active,.btn-secondary:active,.btn-outline:active{transform: none}
}
.hero-marquee-track{animation-duration: 24s}
.hero-marquee-wrap:hover .hero-marquee-track{animation-play-state: running}
.mqcard{transition: transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;box-shadow: 0 1px 3px rgb(var(--brand-ink-rgb) / .05)}
.mqcard:hover{transform: translateY(-4px);box-shadow: 0 14px 30px rgb(var(--brand-ink-rgb) / .14)}
.mqcard-bar .dot.r{background: #e5a17a}
.mqcard-bar .dot.y{background: #e5c97a}
.mqcard-bar .dot.g{background: #8ab88a}
.mqcard-cta{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 6px;height: 150px;background: var(--accent-wash-solid);text-align: center;padding: 18px}
.mqcard-cta strong{color: var(--brand-ink);font-size: 1.05rem;font-weight: 700}
.mqcard-cta span{color: var(--accent);font-weight: 600;font-size: .88rem}
a.mqcard{text-decoration: none}
.prob-card{transition: transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s}
.prob-grid .prob-card.reveal{transition-delay: 0s}
.prob-grid .prob-card:nth-child(1).reveal{transition-delay: .05s}
.prob-grid .prob-card:nth-child(2).reveal{transition-delay: .16s}
.prob-grid .prob-card:nth-child(3).reveal{transition-delay: .27s}
.prob-card:hover{transform: translateY(-6px);box-shadow: 0 16px 34px rgb(var(--brand-ink-rgb) / .12);border-color: var(--border-strong)}
.prob-card .prob-x{transition: transform .35s cubic-bezier(.34,1.56,.64,1),background .3s}
.prob-card:hover .prob-x{transform: rotate(90deg) scale(1.08);background: #f6dedb}
@media (prefers-reduced-motion: reduce){.prob-card,.prob-card .prob-x,.mqcard{transition: none!important}
.prob-card:hover,.prob-card:hover .prob-x,.mqcard:hover{transform: none}
}
.lock-badge{display: inline-flex;align-items: center;justify-content: center;width: 42px;height: 42px;border-radius: 13px;background: linear-gradient(145deg,var(--accent-wash-solid),var(--accent-wash-solid));border: 1px solid var(--border);box-shadow: 0 2px 6px rgb(var(--brand-ink-rgb) / .06),inset 0 1px 0 #fff;flex-shrink: 0}
.lock-badge svg{width: 21px;height: 21px;color: var(--accent)}
.de-scroll{transform: translateY(-460px)}
@media (max-width: 860px){.de-scroll{transform: translateY(-300px)}
}
@media (prefers-reduced-motion: reduce){.de-scroll{transform: translateY(-460px)!important}
}
.dupont-actions{display: flex;flex-wrap: wrap;gap: 12px;align-items: center;margin-top: 18px}
.hero-h1 em.bright::before{animation-delay: 1.55s,2.35s}
.std-grid{margin-top: 120px}
@media (max-width: 860px){.std-grid{margin-top: 72px}
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,details:focus-visible,[tabindex]:focus-visible{outline: 3px solid var(--accent);outline-offset: 3px;border-radius: 6px}
.cta a:focus-visible,.section-cta a:focus-visible,footer a:focus-visible,.nav-cta:focus-visible,.side-cta:focus-visible,.sticky-cta-mobile a:focus-visible{outline-color: #e8d9a8}
.skip-link{position: absolute;left: 12px;top: -100px;z-index: 400;background: var(--brand-ink);color: var(--brand-cream);font-weight: 600;font-size: .9rem;padding: 12px 20px;border-radius: 0 0 12px 12px;text-decoration: none;transition: top .18s ease}
.skip-link:focus{top: 0}
.avis-google{display: flex;align-items: center;justify-content: center;flex-wrap: wrap;gap: 12px;max-width: 900px;margin: 30px auto 0;padding: 16px 24px;background: var(--surface-raised);border: 1px solid var(--border);border-radius: 999px}
.avis-google .ag-logo{display: flex}
.avis-google .ag-logo svg{width: 20px;height: 20px;display: block}
.avis-google .ag-stars{display: flex;gap: 3px}
.avis-google .ag-stars svg{width: 16px;height: 16px;fill: var(--star)}
.avis-google .ag-score{font-size: .92rem;color: var(--text);font-weight: 500}
.avis-google .ag-score strong{color: var(--text-strong);font-weight: 700}
@media (max-width: 560px){.avis-google{border-radius: 18px;padding: 16px 20px}
}
.de-scroll{transform: translateY(-980px);transition-duration: 7s}
@media (max-width: 860px){.de-scroll{transform: translateY(-620px)}
}
@media (prefers-reduced-motion: reduce){.de-scroll{transform: translateY(-980px)!important}
}
#pathGrad stop:first-child{stop-color: var(--accent-on-ink)}
#pathGrad stop:last-child{stop-color: var(--accent)}
#gaugeGrad stop:first-child{stop-color: var(--accent-hover)}
#gaugeGrad stop:last-child{stop-color: var(--accent)}
.gauge-val{word-spacing: -.28em}
.avis-grid{display: block;max-width: none;columns: 3;column-gap: 20px}
.avis-grid>*{break-inside: avoid;-webkit-column-break-inside: avoid;margin-bottom: 20px;display: block}
@media (max-width: 1023px){.avis-grid{columns: 2}
}
@media (max-width: 639px){.avis-grid{columns: 1}
}
.avis-grid .avis-card{display: flex;flex-direction: column;gap: 16px}
.hero-reviews{display:inline-flex;align-items:center;gap:14px}
.hero-reviews .hr-av-init{position:static;width:46px;height:46px;border-radius:50%;margin:0;flex-shrink:0;background:var(--brand-ink);color:var(--brand-cream);display:flex;align-items:center;justify-content:center;font-size:.92rem;font-weight:700;letter-spacing:-.01em;border:none;filter:none}
.hr-stars .hr-google{margin-left:6px;font-size:.82rem;font-weight:600;color:var(--text)}

/* Couleurs officielles de la marque Google, appliquées lettre par lettre.
   Le jaune #FBBC05 tombe à 1,7:1 sur le fond crème : c'est la lettre la plus
   pâle du mot, assumée pour rester fidèle à la marque. */
.g-mot{letter-spacing:.005em}
.hr-google .g-b{color:#4285F4}
.hr-google .g-r{color:#EA4335}
.hr-google .g-j{color:#FBBC05}
.hr-google .g-v{color:#34A853}

/* Liens contextuels dans le corps rédactionnel. Le style global a{color:var(--brand-ink)}
   ne distingue pas un lien du texte : sans soulignement il est invisible au lecteur.
   L'or de marque ne passe pas en couleur de texte sur fond clair (contraste ~1.9:1),
   il ne sert donc qu'au trait au survol. */
.inline-link{color:inherit;text-decoration:underline;text-decoration-color:rgba(22,35,63,.3);text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color .18s ease,text-decoration-thickness .18s ease}
.inline-link:hover{text-decoration-color:var(--accent);text-decoration-thickness:2px}
.inline-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}
