:root{
--bg:#515055;
--bg-deep:#454449;
--charcoal:#515055;
--charcoal-deep:#3f3e43;
--charcoal-soft:#65646b;
--lime:#B9D037;
--lime-soft:#d6ea71;
--text:#f7f8fb;
--muted:rgba(247,248,251,.84);
--panel:rgba(255,255,255,.08);
--panel-border:rgba(255,255,255,.12);
--surface:#ffffff;
--surface-alt:#f2f4f7;
--surface-text:#11151c;
--border:#e7eaef;
--shadow:0 22px 70px rgba(8,12,18,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
margin:0;
font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
background:var(--surface);
color:var(--surface-text);
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.container{width:min(1180px, calc(100% - 48px));margin:0 auto}
.narrow{width:min(860px, calc(100% - 48px));margin:0 auto}

.site-header{
position:fixed;
inset:0 0 auto 0;
z-index:30;
backdrop-filter:blur(18px) saturate(115%);
-webkit-backdrop-filter:blur(18px) saturate(115%);
background:linear-gradient(to bottom, rgba(81,80,85,.92), rgba(81,80,85,.72));
border-bottom:1px solid rgba(255,255,255,.07);
box-shadow:0 10px 34px rgba(40,40,45,.18);
}

.nav{
display:flex;
align-items:center;
justify-content:space-between;
min-height:84px;
gap:20px;
padding:0 2px;
}
.nav-right{
display:flex;
flex-direction:row;
align-items:center;
gap:24px;
}
.nav-ctas{
display:flex;
align-items:center;
gap:10px;
}
.btn-nav{
display:inline-block;
padding:9px 18px;
border-radius:50px;
font-weight:700;
font-size:.88rem;
white-space:nowrap;
line-height:1;
text-decoration:none;
transition:background .22s,color .22s,border-color .22s,transform .18s ease;
}
.btn-nav-outline{
background:transparent;
border:2px solid rgba(255,255,255,.55);
color:rgba(255,255,255,.9);
}
.btn-nav-outline:hover{
background:rgba(255,255,255,.1);
border-color:rgba(255,255,255,.85);
color:#fff;
}
.variant-a .btn-nav-outline{
border-color:rgba(81,80,85,.35);
color:#3d3c41;
}
.variant-a .btn-nav-outline:hover{
background:rgba(81,80,85,.06);
border-color:rgba(81,80,85,.6);
color:#1a1a20;
}
.btn-nav-filled{
background:var(--lime);
border:2px solid transparent;
color:#1a1a20;
}
.btn-nav-filled:hover{
background:var(--lime-soft);
transform:translateY(-1px);
}

.brand{
display:inline-flex;
align-items:center;
transition:transform .22s ease, opacity .22s ease;
}

.brand:hover{transform:translateY(-1px);opacity:.95}
.brand-logo{width:118px;height:auto;display:block}

.nav-links{
display:flex;
align-items:center;
gap:36px;
}

.nav-links a{
position:relative;
color:rgba(255,255,255,.96);
font-weight:700;
font-size:1.04rem;
letter-spacing:-0.01em;
transition:color .28s ease, transform .28s ease, opacity .28s ease;
white-space:nowrap !important;
}

.nav-links a::after{
content:"";
position:absolute;
left:0;
bottom:-8px;
width:100%;
height:2px;
background:var(--lime);
transform:scaleX(0);
transform-origin:left center;
transition:transform .22s ease;
}

.nav-links a:hover{color:var(--lime)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-links a.nav-active{color:#B9D037!important;}
.nav-links a.nav-active::after{transform:scaleX(1)!important;}
.variant-a .nav-links a.nav-active{color:#B9D037!important;}

/* ── FAQ floating bubble ── */
.faq-bubble{position:fixed;bottom:28px;right:28px;width:52px;height:52px;border-radius:50%;background:#B9D037;color:#3a4210;font-size:1.5rem;font-weight:900;display:flex;align-items:center;justify-content:center;text-decoration:none;z-index:9998;box-shadow:0 4px 18px rgba(185,208,55,.45);transition:transform .22s,box-shadow .22s;}
.faq-bubble:hover{transform:scale(1.12);box-shadow:0 6px 26px rgba(185,208,55,.6);}
.faq-bubble::after{content:'FAQ - Questions fréquentes';position:absolute;right:62px;top:50%;transform:translateY(-50%);background:#3a4210;color:#fff;font-size:.72rem;font-weight:600;white-space:nowrap;padding:6px 12px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s;}
.faq-bubble:hover::after{opacity:1;}

.hero{
position:relative;
height:100vh;
height:100svh;
min-height:600px;
max-height:880px;
overflow:hidden;
}
.hero-bg-img{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
object-position:center 55%;
z-index:0;
display:block;
}

.hero-overlay{
position:absolute;
inset:0;
z-index:2;
display:none;
}

.hero-grid{
position:relative;
z-index:3;
min-height:inherit;
height:100%;
display:grid;
grid-template-columns:minmax(0,1fr);
justify-items:center;
align-content:center;
text-align:center;
padding:clamp(100px,14vh,160px) 0 clamp(60px,8vh,100px);
}

.hero-content{max-width:1140px}
#hero .hero-content{max-width:none;width:100%}
#hero .headline-wrap{padding-top:0;padding-bottom:0;margin-top:-3.2vw;overflow:visible;border-radius:0;border:none;box-shadow:none;max-width:none}
#hero .headline-wrap::before{display:none}

.headline-wrap{
padding:48px 64px 38px;
max-width:1070px;
margin:0 auto;
border-radius:36px;
background:none;
border:none;
box-shadow:none;
backdrop-filter:none;
}

.hero-title-main{
margin:0;
font-size:clamp(14rem, 38vw, 56rem);
line-height:.98;
letter-spacing:-0.055em;
font-weight:800;
color:#B9D037;
text-shadow:0 2px 14px rgba(0,0,0,.5), 0 0 30px rgba(0,0,0,.3);
}

.hero-title-main span{display:block}
.hero-title-main .line-2{white-space:nowrap}

.hero-sublead{
max-width:790px;
margin:34px auto 0;
color:#ffffff;
font-size:clamp(1.06rem, 1.36vw, 1.22rem);
line-height:1.7;
text-shadow:0 1px 4px rgba(0,0,0,1), 0 2px 16px rgba(0,0,0,.85);
text-align:center;
}

.hero-proof,
.hero-actions,
.contact-actions{
display:flex;
gap:14px;
flex-wrap:wrap;
}

.hero-targets{
justify-content:center;
margin-top:30px;
}

.hero-targets span{
display:inline-flex;
align-items:center;
gap:10px;
padding:12px 18px;
border-radius:999px;
background:rgba(81,80,85,.06);
border:1px solid rgba(81,80,85,.15);
color:#3d3c41;
font-size:.94rem;
font-weight:700;
transition:transform .28s cubic-bezier(.22,1,.36,1), background .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.hero-targets span:hover{
transform:translateY(-2px);
background:rgba(81,80,85,.10);
border-color:rgba(81,80,85,.25);
}

.target-icon{
width: 18px;
height: 18px;
display: inline-block;
flex: 0 0 auto;
object-fit: contain;
}

.hero-actions{
justify-content:center;
margin-top:26px;
}

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:14px 22px;
border-radius:16px;
font-weight:800;
transition:transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s cubic-bezier(.22,1,.36,1), opacity .28s ease, background .28s ease, color .28s ease, border-color .28s ease;
}

.btn:hover{transform:translateY(-3px)}

.btn-primary{
color:var(--charcoal);
background:linear-gradient(135deg, var(--lime), #d4eb5c);
box-shadow:0 16px 36px rgba(185,208,55,.24);
}

.btn-secondary{
color:#3d3c41;
background:rgba(81,80,85,.06);
border:1px solid rgba(81,80,85,.18);
backdrop-filter:none;
}

.btn-on-light{
color:var(--surface-text);
border-color:rgba(17,21,28,.10);
background:#fff;
}

.hero-side{
margin-top:30px;
width:100%;
display:flex;
justify-content:center;
}

.hero-service-pills{
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
width:100%;
}

.service-pill{
display:inline-flex;
align-items:center;
justify-content:center;
width:320px;
min-width:320px;
min-height:62px;
padding:0 20px;
border-radius:999px;
background:rgba(20,20,20,.78);
border:1.15px solid rgba(185,208,55,.72);
color:var(--lime);
font-size:.96rem;
font-weight:800;
letter-spacing:.03em;
text-align:center;
white-space:nowrap;
box-shadow:0 2px 10px rgba(0,0,0,.05);
backdrop-filter:blur(3px);
position:relative;
overflow:hidden;
transition:background .32s cubic-bezier(.22,1,.36,1), color .32s cubic-bezier(.22,1,.36,1), border-color .32s cubic-bezier(.22,1,.36,1), transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s cubic-bezier(.22,1,.36,1);
}

.service-pill:hover{
background:rgba(185,208,55,.98);
color:var(--charcoal);
border-color:var(--lime);
box-shadow:0 14px 28px rgba(0,0,0,.16), 0 0 18px rgba(185,208,55,.16);
transform:translateY(-3px);
}

.service-pill::before{
content:"";
position:absolute;
inset:0;
border-radius:inherit;
background:linear-gradient(120deg, rgba(255,255,255,.05), rgba(255,255,255,0));
opacity:.55;
pointer-events:none;
}

.hero-targets span{
box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
}

.hero-targets span:hover .target-icon{
transform:scale(1.08);
}

.target-icon{
transition:transform .22s ease;
}

.btn-primary:hover{
box-shadow:0 18px 38px rgba(185,208,55,.30), 0 0 16px rgba(185,208,55,.20);
}

.btn-secondary:hover{
box-shadow:0 16px 30px rgba(0,0,0,.10);
background:rgba(81,80,85,.12);
}

.section{
padding:100px 0;
background:var(--surface);
color:var(--surface-text);
}
.section-alt{background:var(--surface-alt)}

.section-label{
margin:0 0 10px;
color:#545c6b;
text-transform:uppercase;
letter-spacing:.16em;
font-size:.74rem;
font-weight:800;
}

.section h2,
.contact-box h2{
margin:0;
max-width:900px;
font-size:clamp(2rem, 4vw, 3.55rem);
line-height:1.05;
letter-spacing:-.04em;
}

.section-intro,
.lead{
margin:18px 0 0;
max-width:760px;
color:#424850;
font-size:1.06rem;
line-height:1.75;
}

.lead.secondary{margin-top:12px}

.services-grid,
.insights-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0,1fr));
gap:24px;
margin-top:34px;
}

.service-card,
.insight-card,
.approach-panel,
.contact-box{
border-radius:26px;
box-shadow:var(--shadow);
}

.service-card{
position:relative;
padding:28px 26px 26px;
background:#fff;
border:1px solid var(--border);
transition:transform .22s ease, box-shadow .22s ease;
}

.service-card:hover{
transform:translateY(-4px);
box-shadow:0 26px 70px rgba(8,12,18,.14);
}

.accent-lime{border-top:4px solid var(--lime)}
.accent-charcoal{border-top:4px solid var(--charcoal)}
.accent-lime-soft{border-top:4px solid var(--lime-soft)}

.service-icon{
width:40px;
height:40px;
display:grid;
place-items:center;
border-radius:999px;
margin-bottom:16px;
font-size:.84rem;
font-weight:800;
background:rgba(185,208,55,.18);
color:var(--charcoal);
}

.service-card h3,
.insight-card h3{
margin:0 0 10px;
font-size:1.22rem;
letter-spacing:-.02em;
}

.service-card p,
.insight-card p,
.approach-item span{
color:#5f6774;
line-height:1.72;
}

.service-card ul{
margin:18px 0 0;
padding-left:20px;
color:#4f5967;
line-height:1.8;
}

.approach-grid{
display:grid;
grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
gap:34px;
align-items:start;
}

.approach-panel{
padding:16px;
background:#fff;
border:1px solid var(--border);
}

.approach-item{
padding:18px 16px;
border-radius:18px;
}
.approach-item + .approach-item{margin-top:8px}
.approach-item strong{display:block;margin-bottom:8px;font-size:1rem}

.insight-card{
padding:24px;
background:#fff;
border:1px solid var(--border);
}

.contact-section{padding-top:40px}

.contact-box{
padding:34px 34px 38px;
text-align:center;
background:#fff;
border:1px solid var(--border);
}

.contact-box h2{margin-left:auto;margin-right:auto}
.contact-box .lead{margin-left:auto;margin-right:auto}
.contact-actions{justify-content:center;margin-top:22px}

.reveal-up{
opacity:0;
transform:translateY(24px);
transition:opacity .7s ease, transform .7s ease;
}
.reveal-up.is-visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}

@media (max-width: 1100px){
.headline-wrap{padding:38px 34px 32px}
.hero-title-main{font-size:clamp(2.8rem, 6.2vw, 4.8rem)}
.hero-title-main .line-2{white-space:normal}
.service-pill{width:320px;min-width:320px;font-size:.88rem}
.nav-right{gap:16px}
.btn-nav{padding:8px 14px;font-size:.84rem}
.nav-links{gap:16px;font-size:.88rem}
}
@media (max-width: 860px){
.btn-nav{padding:7px 11px;font-size:.8rem}
.nav-ctas{gap:7px}
}
@media (max-width: 680px){
.nav-ctas{display:none}
.nav-links{gap:10px;font-size:.82rem}
}

@media (max-width: 900px){
.nav-links{gap:20px}
.services-grid,
.insights-grid,
.approach-grid{grid-template-columns:1fr}
.hero-grid{padding-top:118px}
}

@media (max-height: 820px){
.hero-grid{padding-top:clamp(48px,7vh,110px);padding-bottom:clamp(22px,3.5vh,65px)}
}

@media (max-height: 700px){
.hero-grid{padding-top:44px;padding-bottom:16px}
.headline-wrap{padding:26px 48px 22px}
.hero-sublead{margin-top:14px}
.hero-targets{margin-top:12px}
.hero-actions{margin-top:12px}
.hero-side{display:none}
}

@media (max-width: 680px){
.container,.narrow{width:min(100% - 28px, 1000px)}
.nav{min-height:76px}
.brand-logo{width:94px}
.nav-links a:first-child{display:none}
.headline-wrap{padding:28px 20px 24px;border-radius:24px}
.hero-title-main{font-size:clamp(2.2rem, 10vw, 3.2rem);line-height:1.02}
.hero-sublead{font-size:1rem;margin-top:18px}
.hero-targets span{font-size:.88rem;padding:10px 14px}
.hero-actions{flex-direction:column;align-items:stretch}
.btn{width:100%}
.hero-service-pills{gap:12px}
.service-pill{width:100%;min-width:0;min-height:56px;font-size:.9rem;padding:0 14px;white-space:normal;line-height:1.15}
.section{padding:72px 0}
.contact-box{padding:26px 20px 30px}
}

@media (prefers-reduced-motion: reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
.reveal-up{opacity:1;transform:none}
}

body.preload .hero-title-main .line,
body.preload .reveal-item{
opacity:0;
}

.hero-title-main .line{
opacity:0;
transform:translateY(42px) scale(.98);
filter:blur(10px);
}

body.is-loaded .hero-title-main .line-1{animation:heroLineIn .95s cubic-bezier(.22,1,.36,1) .10s forwards;}
body.is-loaded .hero-title-main .line-2{animation:heroLineIn .95s cubic-bezier(.22,1,.36,1) .24s forwards;}
body.is-loaded .hero-title-main .line-3{animation:heroLineIn .95s cubic-bezier(.22,1,.36,1) .38s forwards;}
body.is-loaded .reveal-item{
animation:fadeLift .9s cubic-bezier(.22,1,.36,1) forwards;
animation-delay:var(--delay,.45s);
}

.site-header{
backdrop-filter: blur(16px);
}

.site-header::after{
content:"";
position:absolute;
left:0; right:0; bottom:0;
height:1px;
background:linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
}

.nav-links a{
position:relative;
}

.nav-links a::after{
content:"";
position:absolute;
left:0; right:0; bottom:-7px;
height:2px;
border-radius:999px;
background:linear-gradient(90deg, rgba(185,208,55,.2), rgba(185,208,55,.95), rgba(185,208,55,.2));
transform:scaleX(0);
transform-origin:center;
transition:transform .28s ease, opacity .28s ease;
opacity:.85;
}

.nav-links a:hover::after,
.nav-links a:focus-visible::after{
transform:scaleX(1);
}

.brand-logo{
transition:transform .35s ease, filter .35s ease;
}

.brand:hover .brand-logo{
transform:translateY(-1px) scale(1.02);
filter:drop-shadow(0 0 18px rgba(185,208,55,.24));
}

.headline-wrap{
position:relative;
overflow:hidden;
}

.headline-wrap::before{
content:"";
position:absolute;
inset:-2px;
background:linear-gradient(120deg, transparent 18%, rgba(255,255,255,.04) 38%, rgba(255,255,255,.10) 50%, rgba(255,255,255,.03) 62%, transparent 80%);
transform:translateX(-120%);
animation:panelSweep 12s ease-in-out infinite;
pointer-events:none;
}

.hero-targets span{
box-shadow:0 2px 8px rgba(0,0,0,.04), 0 0 0 rgba(185,208,55,0);
}

.hero-targets span:hover{
box-shadow:0 4px 14px rgba(0,0,0,.07), 0 0 22px rgba(185,208,55,.10);
}

.target-icon{
animation:heartPulse 2.8s ease-in-out infinite;
transform-origin:center;
}

.btn-primary{
position:relative;
overflow:hidden;
animation:ctaPulse 3.2s ease-in-out infinite;
}

.btn-primary::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.05) 35%, rgba(255,255,255,.28) 50%, rgba(255,255,255,.05) 65%, transparent 100%);
transform:translateX(-140%);
pointer-events:none;
}

.btn-primary:hover::after{
animation:shineSweep .9s ease forwards;
}

.service-pill{
position:relative;
overflow:hidden;
background:#fff !important;
box-shadow:0 2px 10px rgba(0,0,0,.05);
transition:transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.service-pill:hover{
transform:translateY(-3px) scale(1.01);
box-shadow:0 12px 22px rgba(185,208,55,.12), inset 0 1px 0 rgba(255,255,255,.03);
}

.service-card,
.insight-card,
.approach-item,
.contact-box{
transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.service-card:hover,
.insight-card:hover,
.approach-item:hover,
.contact-box:hover{
transform:translateY(-6px);
}

.service-card:hover{
box-shadow:0 24px 52px rgba(17,21,28,.12);
}

.insight-card:hover,
.approach-item:hover{
box-shadow:0 18px 40px rgba(17,21,28,.08);
}

@keyframes heroLineIn {
0% { opacity:0; transform:translateY(42px) scale(.98); filter:blur(10px); }
100% { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
}

@keyframes fadeLift {
0% { opacity:0; transform:translateY(22px); }
100% { opacity:1; transform:translateY(0); }
}

@keyframes panelSweep {
0%, 75%, 100% { transform:translateX(-120%); opacity:0; }
12%, 45% { opacity:1; }
55% { transform:translateX(120%); opacity:0; }
}

@keyframes shineSweep {
from { transform:translateX(-140%); }
to { transform:translateX(140%); }
}

@keyframes ctaPulse {
0%, 100% { box-shadow:0 16px 36px rgba(185,208,55,.24); }
50% { box-shadow:0 18px 44px rgba(185,208,55,.34); }
}

@keyframes heartPulse {
0%, 100% { transform:scale(1); filter:drop-shadow(0 0 8px rgba(185,208,55,.16)); }
50% { transform:scale(1.08); filter:drop-shadow(0 0 12px rgba(185,208,55,.30)); }
}

@media (prefers-reduced-motion: reduce) {
.hero-title-main .line,
.reveal-item,
.site-header .nav,
.target-icon,
.btn-primary,
.headline-wrap::before,
.btn-primary::after { animation:none !important; }
.hero-content,
.service-pill,
.service-card,
.insight-card,
.approach-item,
.contact-box,
.brand-logo { transition:none !important; }
}

.hero{isolation:isolate}
.hero::before{
content:"";
position:absolute;
inset:-12%;
z-index:1;
pointer-events:none;
background:
radial-gradient(circle at 18% 30%, rgba(185,208,55,.10), transparent 26%),
radial-gradient(circle at 78% 22%, rgba(255,255,255,.05), transparent 20%),
radial-gradient(circle at 60% 82%, rgba(185,208,55,.08), transparent 24%);
}
.hero::after{
content:"";
position:absolute;
inset:0;
z-index:2;
pointer-events:none;
background:radial-gradient(circle at var(--spot-x,72%) var(--spot-y,28%), rgba(185,208,55,.12), transparent 22%);
opacity:.9;
}
.hero-targets span,
.hero-actions .btn,
.service-pill,
.nav-links a,
.brand{
will-change:transform;
}
.hero-targets span:nth-child(2){animation-delay:.2s}
.hero-targets span:nth-child(3){animation-delay:.4s}
.hero-targets span:nth-child(4){animation-delay:.6s}
@keyframes chipFloat {
0%,100% { transform:translateY(0px); }
50% { transform:translateY(-4px); }
}
@keyframes ambientDrift {
0%,100% { transform:translate3d(0,0,0) scale(1); }
50% { transform:translate3d(1.2%, -1.6%, 0) scale(1.04); }
}
@keyframes subtleGlow {
0%,100% { box-shadow:0 0 0 rgba(185,208,55,0); }
50% { box-shadow:0 0 24px rgba(185,208,55,.14); }
}
.variant-a .hero-targets span,
.variant-b .hero-targets span{
animation:chipFloat 6s ease-in-out infinite;
}
.variant-a .hero::before,
.variant-b .hero::before{
animation:ambientDrift 18s ease-in-out infinite;
}
.variant-a .service-pill,
.variant-b .service-pill{
background:#fff !important;
}
.variant-a .service-pill:hover,
.variant-b .service-pill:hover{
animation:subtleGlow 1.4s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce){
.variant-a .hero::before,
.variant-b .hero::before,
.variant-a .hero-targets span,
.variant-b .hero-targets span{animation:none !important;}
}

.variant-a .hero::before{opacity:.6;filter:blur(12px)}
.variant-a .hero::after{opacity:.55;transition:opacity .35s ease}

.variant-a .site-header{
background:rgba(255,255,255,.96);
border-bottom:1px solid rgba(0,0,0,.08);
box-shadow:0 2px 18px rgba(0,0,0,.07);
backdrop-filter:blur(14px) saturate(110%);
-webkit-backdrop-filter:blur(14px) saturate(110%);
}
.variant-a .nav-links a{color:#3d3c41}
.variant-a .nav-link .caret{
border-right-color:rgba(61,60,65,.45);
border-bottom-color:rgba(61,60,65,.45);
}

.variant-a .headline-wrap{
background:none;
border:none;
box-shadow:none;
}
.variant-a .headline-wrap::before{animation-duration:13s;opacity:.7}
.variant-a .btn-primary{animation:ctaPulse 4.6s ease-in-out infinite}

.variant-a .hero-targets span{
background:#fff;
border:1px solid rgba(61,60,65,.18);
color:#2e2d32;
box-shadow:
0 1px 0 rgba(0,0,0,.06),
0 3px 8px rgba(0,0,0,.10),
0 8px 20px rgba(0,0,0,.07),
inset 0 1px 0 #fff;
}
.variant-a .hero-targets span:hover{
transform:translateY(-3px) scale(1.01);
border-color:rgba(61,60,65,.26);
box-shadow:
0 2px 0 rgba(0,0,0,.05),
0 6px 16px rgba(0,0,0,.13),
0 14px 32px rgba(0,0,0,.08),
inset 0 1px 0 #fff;
}
/* ── Mode ligne plate (sans encadrés) ── */
.hero-targets--flat{gap:6px 10px;align-items:center;}
.hero-targets--flat span{
background:none!important;
border:none!important;
box-shadow:none!important;
padding:2px 0!important;
animation:none!important;
color:rgba(255,255,255,.82)!important;
font-size:.86rem;
font-weight:600;
}
.hero-targets--flat span:hover{
background:none!important;
transform:none!important;
box-shadow:none!important;
color:#fff!important;
}
.tgt-sep{color:rgba(185,208,55,.7)!important;font-size:1.1rem;font-weight:400!important;padding:0!important;pointer-events:none;}

.variant-a .btn-secondary{
background:#fff;
border:1.5px solid rgba(61,60,65,.22);
color:#2e2d32;
box-shadow:
0 1px 0 rgba(0,0,0,.06),
0 4px 10px rgba(0,0,0,.10),
0 12px 28px rgba(0,0,0,.07),
inset 0 1px 0 #fff;
}
.variant-a .btn-secondary:hover{
background:#fff;
border-color:rgba(61,60,65,.32);
box-shadow:
0 2px 0 rgba(0,0,0,.06),
0 8px 20px rgba(0,0,0,.14),
0 20px 44px rgba(0,0,0,.08),
inset 0 1px 0 #fff;
}

.variant-a .service-pill{
background:var(--lime) !important;
border:1.5px solid var(--lime) !important;
color:#fff !important;
box-shadow:0 2px 12px rgba(0,0,0,.15);
transition:background .26s ease, color .26s ease, border-color .26s ease, transform .26s ease, box-shadow .26s ease;
}
.variant-a .service-pill:hover{
background:#fff !important;
color:var(--lime) !important;
border-color:var(--lime) !important;
transform:translateY(-3px);
box-shadow:0 8px 22px rgba(0,0,0,.18);
}
.variant-a .nav-links a:hover{color:var(--lime);transform:translateY(-1px);opacity:1}


.nav-links{
gap: 28px;
}
.nav-item{
position: relative;
display: inline-flex;
align-items: center;
padding-bottom: 18px;
margin-bottom: -18px;
}
.nav-item::after{
content:"";
position:absolute;
left:0; right:0;
top:100%;
height:18px;
}
.nav-link{
position: relative;
display:inline-flex;
align-items:center;
gap:8px;
}
.nav-link .caret{
width: 9px;
height: 9px;
border-right: 2px solid rgba(255,255,255,.72);
border-bottom: 2px solid rgba(255,255,255,.72);
transform: rotate(45deg) translateY(-1px);
transition: transform .25s ease, border-color .25s ease;
}
.nav-item:hover .nav-link .caret,
.nav-item:focus-within .nav-link .caret{
transform: rotate(225deg) translateY(-1px);
border-color: var(--lime);
}
.dropdown-menu{
position:absolute;
top: calc(100% - 2px);
left: 50%;
transform: translateX(-50%) translateY(6px);
min-width: 320px;
padding: 12px;
display:grid;
gap: 8px;
border-radius: 18px;
background: rgba(64,63,68,.97);
border: 1px solid rgba(255,255,255,.1);
backdrop-filter: blur(22px);
-webkit-backdrop-filter: blur(18px);
box-shadow: 0 28px 68px rgba(0,0,0,.28);
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nav-item:hover .dropdown-menu,
.nav-item:focus-within .dropdown-menu{
opacity: 1;
visibility: visible;
pointer-events: auto;
transform: translateX(-50%) translateY(0);
}
.dropdown-menu a{
padding: 13px 14px;
border-radius: 12px;
color: rgba(255,255,255,.96);
font-weight: 700;
font-size: .98rem;
background: rgba(255,255,255,.045);
transition: background .22s ease, color .22s ease, transform .22s ease;
}
.dropdown-menu a::after{display:none}
.dropdown-menu a:hover,
.dropdown-menu a:focus-visible{
color: var(--lime);
background: rgba(185,208,55,.08);
transform: translateX(2px);
}
.page-shell{
min-height: 100vh;
padding-top: 120px;
background:
radial-gradient(circle at 16% 14%, rgba(185,208,55,.10), transparent 24%),
radial-gradient(circle at 86% 18%, rgba(255,255,255,.10), transparent 20%),
radial-gradient(circle at 80% 82%, rgba(185,208,55,.08), transparent 22%),
linear-gradient(115deg, #454449 0%, #515055 42%, #5e5d63 100%);
}
.page-hero{
position: relative;
padding: 56px 0 24px;
color: #fff;
}
.page-hero-card{
max-width: 920px;
margin: 0 auto;
padding: 42px 44px;
text-align: center;
border-radius: 32px;
background: linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.04));
border: 1px solid rgba(255,255,255,.13);
box-shadow: 0 28px 84px rgba(0,0,0,.20);
backdrop-filter: blur(14px);
}
.page-hero-card h1{
margin: 0 0 16px;
font-size: clamp(2.4rem, 5vw, 4.2rem);
line-height: .98;
letter-spacing: -.045em;
color: #fff;
}
.page-hero-card p{
margin: 0 auto;
max-width: 700px;
font-size: 1.08rem;
line-height: 1.7;
color: rgba(255,255,255,.9);
}
.page-section{
padding: 48px 0 88px;
}
.page-grid{
display:grid;
grid-template-columns: 1.15fr .85fr;
gap: 28px;
align-items: start;
}
.page-card,
.page-card-soft{
border-radius: 26px;
padding: 28px;
background: #fff;
box-shadow: var(--shadow);
}
.page-card-soft{
background: rgba(255,255,255,.08);
color: #fff;
border: 1px solid rgba(255,255,255,.10);
backdrop-filter: blur(14px);
}
.page-card h2,
.page-card-soft h2,
.page-card-soft h3,
.page-card h3{
margin: 0 0 14px;
letter-spacing: -.03em;
}
.page-card p,
.page-card-soft p,
.page-card li,
.page-card-soft li{
line-height: 1.7;
}
.page-card ul,
.page-card-soft ul{
margin: 18px 0 0;
padding-left: 18px;
}
.simple-cta{
display:flex;
gap:14px;
flex-wrap:wrap;
margin-top: 18px;
}
.footer{
background:linear-gradient(135deg,#434248,#515055 60%,#454449);
color:rgba(255,255,255,.9);
padding:34px 0 34px;
border-top:1px solid rgba(255,255,255,.08);
}
.footer-grid{
display:grid;
grid-template-columns:.95fr 1.25fr 1fr 1fr;
gap:28px;
align-items:start;
}
.footer-brand{
display:flex;
flex-direction:column;
gap:14px;
grid-row:1/3;
}
.footer-nav-block{
grid-row:1/3;
display:grid;
gap:12px;
}
.footer-nav-columns{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:18px 28px;
}
.footer-links div+div{margin-top:6px}
.footer-links a{
position:relative;
display:inline-flex;
align-items:center;
gap:10px;
}
.footer-nav-columns .footer-links a::before{
content:"›";
color:var(--lime);
font-size:1rem;
line-height:1;
font-weight:800;
}
.footer-logo{width:128px;height:auto}
.footer-text,.footer-contact,.footer-links{font-size:.98rem;line-height:1.7}
.footer-heading{
margin:0 0 10px;
font-size:.95rem;
text-transform:uppercase;
letter-spacing:.08em;
color:rgba(255,255,255,.85);
}
.footer-social{display:flex!important;gap:12px;margin-top:8px;visibility:visible!important;opacity:1!important;}
.ft-icon{
width:42px!important;height:42px!important;
display:inline-flex!important;
align-items:center;justify-content:center;
border-radius:999px;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.22);
transition:transform .25s ease,background .25s ease,border-color .25s ease;
visibility:visible!important;opacity:1!important;flex-shrink:0;
}
.ft-icon:hover transform:translateY(-2px);background:rgba(185,208,55,.10);border-color:rgba(185,208,55,.35)}
.ft-icon svg{width:18px!important;height:18px!important;fill:var(--lime)!important;display:block!important;}
.footer a{transition:color .22s ease,opacity .22s ease}
.footer a:hover{color:var(--lime)}
.footer-legal-inline{
grid-column:3/5;
grid-row:2;
padding-top:0;
margin-top:-4px;
}
.footer-legal-inline p strong{color:rgba(255,255,255,.62);font-weight:600}
.footer-legal-inline p{font-size:.72rem;color:rgba(255,255,255,.42);line-height:1.6;margin:0}
.footer-legal-inline p.fli-tagline{color:rgba(255,255,255,.55);font-style:italic;letter-spacing:.04em}
.footer-mini{
margin-top:12px;
padding-top:14px;
border-top:1px solid rgba(255,255,255,.07);
display:flex;
justify-content:space-between;
gap:16px;
flex-wrap:wrap;
font-size:.92rem;
color:rgba(255,255,255,.72);
}
.footer-policy{display:flex;gap:16px;flex-wrap:wrap}
@media(max-width:1040px){
.footer-grid{grid-template-columns:1fr 1fr}
.footer-brand{grid-column:1/-1;grid-row:auto}
.footer-nav-block{grid-row:auto}
.footer-legal-inline{grid-column:1/-1;grid-row:auto;margin-top:0}
}
@media(max-width:660px){
.footer-grid{grid-template-columns:1fr}
.footer-nav-columns{grid-template-columns:1fr}
}
.hero-spacer{height: 0}
@media (max-width: 980px){
.nav-links{gap:20px; font-size:.96rem}
.page-grid{grid-template-columns:1fr}
.dropdown-menu{left: auto; right: 0; transform: translateY(8px)}
.nav-item:hover .dropdown-menu,
.nav-item:focus-within .dropdown-menu{transform: translateY(0)}
}
@media (max-width: 760px){
.nav{min-height:72px}
.brand-logo{width:94px}
.nav-links{gap:14px; flex-wrap:nowrap; justify-content:flex-end}
.nav-links a{font-size:.95rem}
.nav-link .caret{display:none}
.dropdown-menu{position: static; opacity:1; visibility:visible; pointer-events:auto; transform:none; min-width:100%; margin-top:8px; display:none; background:rgba(11,18,26,.98)}
.nav-item:hover .dropdown-menu,
.nav-item:focus-within .dropdown-menu{display:grid}
.page-shell{padding-top:100px}
.page-hero-card{padding:30px 22px}
.footer-mini{flex-direction:column}
}

.footer-contact > div {
display: inline-flex;
align-items: center;
gap: 10px;
}

.footer-icon {
width: 18px;
height: 18px;
display: inline-flex;
align-items: center;
justify-content: center;
color: #b9d037;
flex: 0 0 18px;
}

.footer-icon svg {
width: 18px;
height: 18px;
fill: currentColor;
}

.about-page-shell{
background: linear-gradient(180deg,
#0c1620 0%,
#16222c 8%,
#33424f 18%,
#71808e 28%,
#dbe2e8 38%,
#ffffff 50%,
#dbe2e8 62%,
#71808e 78%,
#33424f 90%,
#0c1620 100%);
}

.about-hero{
position:relative;
overflow:hidden;
padding:154px 0 72px;
}

.about-hero::before{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(circle at 25% 28%, rgba(185,208,55,.14), transparent 18%),
radial-gradient(circle at 78% 20%, rgba(255,255,255,.07), transparent 20%);
pointer-events:none;
}

.about-hero-grid{
position:relative;
z-index:1;
display:grid;
grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
align-items:center;
gap:52px;
}

.about-copy{color:#111820}
.eyebrow,
.section-kicker{
display:inline-flex;
align-items:center;
gap:8px;
font-size:.78rem;
text-transform:uppercase;
letter-spacing:.2em;
font-weight:800;
color:var(--lime);
}

.about-title{
margin:18px 0 20px;
font-size:clamp(3rem,5.2vw,5.4rem);
line-height:.94;
letter-spacing:-.055em;
font-weight:900;
color:#111820;
}
.about-title span{color:var(--lime)}

.about-subtitle{
max-width:720px;
margin:0;
font-size:1.18rem;
line-height:1.7;
color:rgba(247,248,251,.88);
}

.about-targets{
display:flex;
flex-wrap:wrap;
gap:14px;
margin-top:28px;
}
.about-targets span{
display:inline-flex;
align-items:center;
padding:11px 16px;
border-radius:999px;
border:1px solid rgba(185,208,55,.28);
background:rgba(255,255,255,.04);
color:#fff;
font-weight:700;
box-shadow:0 12px 28px rgba(0,0,0,.14);
backdrop-filter:blur(10px);
transition:transform .28s ease, border-color .28s ease, background .28s ease;
}
.about-targets span:hover{transform:translateY(-3px);border-color:rgba(185,208,55,.52);background:rgba(255,255,255,.08)}

.about-portrait-wrap{
position:relative;
display:grid;
place-items:center;
min-height:540px;
}

.about-portrait-card{
position:relative;
z-index:2;
width:min(100%, 520px);
background:#fff;
border-radius:40px;
padding:22px;
box-shadow:0 28px 80px rgba(0,0,0,.22);
transform:translateZ(0);
}

.about-portrait{
width:100%;
aspect-ratio:1 / 1;
object-fit:cover;
object-position:center top;
border-radius:30px;
background:#fff;
}

.portrait-orbit{
position:absolute;
border-radius:50%;
pointer-events:none;
filter:blur(.2px);
}
.orbit-a{
width:520px;
height:520px;
border:2px solid rgba(185,208,55,.24);
animation:spinSlow 18s linear infinite;
}
.orbit-b{
width:610px;
height:610px;
border:1px dashed rgba(100,110,120,.18);
animation:spinReverse 26s linear infinite;
}

.page-section{padding:88px 0}
.section-tinted{background:linear-gradient(180deg, #eef2f6 0%, #e9edf2 100%)}
.section-dark{background:linear-gradient(135deg, #111a22, #17232e)}
.section-kicker-light{color:var(--lime-soft)}
.section-head{max-width:740px;margin:0 auto 34px;text-align:center}
.section-head h2{margin:14px 0 12px;font-size:clamp(2rem,4vw,3.25rem);line-height:1.02;letter-spacing:-.04em}
.section-head p{margin:0 auto;color:#5c6570;line-height:1.75;font-size:1.05rem}
.section-dark .section-head p,.section-dark .about-cta-card p{color:rgba(247,248,251,.82)}
.section-dark .about-cta-card h2{color:#fff}

.about-intro-grid{
display:grid;
grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
gap:34px;
align-items:start;
}
.about-bio,
.about-highlights,
.foundation-card,
.resource-card,
.about-cta-card{
border-radius:30px;
box-shadow:var(--shadow);
}
.about-bio{
background:#fff;
padding:36px 38px;
}
.about-bio h2{margin:14px 0 18px;font-size:clamp(2rem,3.2vw,3rem);line-height:1;letter-spacing:-.04em}
.about-bio p{margin:0 0 18px;color:#4c5661;line-height:1.8;font-size:1.03rem}
.about-signature-line{
display:flex;
align-items:center;
gap:12px;
margin-top:12px;
color:#2f3944;
font-weight:700;
}
.signature-dot{
width:12px;height:12px;border-radius:50%;
background:linear-gradient(135deg, var(--lime), #d9ef74);
box-shadow:0 0 0 6px rgba(185,208,55,.14);
}

.about-highlights{
background:linear-gradient(180deg, #fff, #f7f9fb);
padding:26px;
display:grid;
gap:16px;
}
.highlight-card{
padding:20px 22px;
border-radius:22px;
background:#fff;
border:1px solid rgba(17,21,28,.06);
transition:transform .28s ease, box-shadow .28s ease;
}
.highlight-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(17,21,28,.08)}
.highlight-card strong{display:block;margin-bottom:8px;font-size:1.03rem}
.highlight-card p{margin:0;color:#55606c;line-height:1.65}

.foundations-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:24px;
}
.foundation-card{
background:#fff;
padding:28px;
position:relative;
overflow:hidden;
}
.foundation-card::after{
content:"";
position:absolute;inset:auto -20% -35% auto;
width:180px;height:180px;border-radius:50%;
background:radial-gradient(circle, rgba(185,208,55,.14), rgba(185,208,55,0));
}
.foundation-label{
display:flex;
align-items:center;
justify-content:center;
width:118px;
margin:0 auto;
padding:8px 12px;
border-radius:999px;
background:rgba(185,208,55,.14);
color:#4b560f;
font-size:.82rem;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
text-align:center;
}
.foundation-card p{position:relative;z-index:1;margin:18px 0 0;color:#4c5661;line-height:1.8}
.foundation-card ul{position:relative;z-index:1;margin:18px 0 0;padding-left:18px;color:#4c5661;line-height:1.9}

.resources-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:24px;
}
.resource-card{
display:flex;
flex-direction:column;
justify-content:space-between;
gap:28px;
min-height:280px;
background:#fff;
padding:30px;
position:relative;
overflow:hidden;
}
.resource-card::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(135deg, rgba(185,208,55,.08), rgba(185,208,55,0) 46%);
pointer-events:none;
}
.resource-tag{
display:flex;
align-items:center;
justify-content:center;
width:92px;
padding:8px 12px;
border-radius:999px;
border:1px solid rgba(185,208,55,.35);
color:#566116;
font-weight:800;
font-size:.8rem;
text-transform:uppercase;
letter-spacing:.08em;
text-align:center;
}
.resource-card h3{margin:18px 0 12px;font-size:1.65rem;letter-spacing:-.03em}
.resource-card p{margin:0;color:#59626d;line-height:1.8;max-width:47ch}

.about-cta-card{
text-align:center;
background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
border:1px solid rgba(255,255,255,.12);
backdrop-filter:blur(12px);
padding:44px 34px;
box-shadow:0 24px 64px rgba(0,0,0,.18);
}
.about-cta-card h2{margin:16px 0 14px;font-size:clamp(2rem,3.6vw,3rem);line-height:1.02;letter-spacing:-.04em}
.about-cta-card p{margin:0 auto;max-width:58ch;line-height:1.8}
.center-cta{justify-content:center;margin-top:26px}

@keyframes spinSlow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes spinReverse{from{transform:rotate(360deg)}to{transform:rotate(0deg)}}

@media (max-width: 1040px){
.about-hero-grid,
.about-intro-grid,
.foundations-grid,
.resources-grid{
grid-template-columns:1fr;
}
.about-portrait-wrap{min-height:0}
.about-copy{text-align:center}
.about-targets{justify-content:center}
.about-hero{padding-top:136px}
.about-subtitle{margin-left:auto;margin-right:auto}
}

@media (max-width: 720px){
.about-title{font-size:clamp(2.4rem, 12vw, 4rem)}
.about-subtitle{font-size:1.02rem}
.about-portrait-card{padding:14px;border-radius:26px}
.about-portrait{border-radius:20px}
.orbit-a{width:340px;height:340px}
.orbit-b{width:400px;height:400px}
.about-bio,.about-highlights,.foundation-card,.resource-card,.about-cta-card{padding:24px}
.page-section{padding:68px 0}
}

.about-page-shell{
background: #ffffff;
}
.about-hero{
position:relative;
overflow:hidden;
padding:154px 0 96px;
}
.about-hero::after{
display: none;
}
.about-copy{
position:relative;
max-width:670px;
}
.about-title{max-width:760px}
.about-subtitle{
max-width:690px;
color:#4c5661;
font-size:1.16rem;
line-height:1.78;
}
.about-intro-band{
background:linear-gradient(180deg, rgba(255,255,255,.78) 0%, #ffffff 45%, #eef2f5 100%);
}
.about-bio-full{
max-width:1120px;
margin:0 auto;
padding:52px 54px;
border:1px solid rgba(17,21,28,.06);
box-shadow:0 24px 72px rgba(14,20,28,.08);
}
.about-bio-full h2{
font-size:clamp(2.3rem, 3.6vw, 3.6rem);
}
.about-bio-full p{max-width:none}
.bio-focus{
margin:26px 0 24px;
padding:22px 24px 22px 28px;
border-radius:16px;
background:linear-gradient(135deg, rgba(185,208,55,.16), rgba(185,208,55,.06));
border:1px solid rgba(185,208,55,.45);
border-left:4px solid #B9D037;
}
.bio-focus p{
margin:0 0 14px;
color:#1e2830;
font-weight:800;
}
.bio-focus ul{
margin:0;
padding-left:20px;
color:#2c3640;
line-height:1.85;
font-weight:500;
}
.about-note{
font-weight:700;
color:#2e3a46;
}
.section-tinted{
background:linear-gradient(180deg, #eef2f5 0%, #e7edf2 100%);
}
.section-head{max-width:820px}
.resource-card .is-disabled{
opacity:.72;
cursor:not-allowed;
pointer-events:none;
}
@media (max-width: 1040px){
.about-copy{text-align:center;margin:0 auto}
.about-subtitle{margin:0 auto}
}
@media (max-width: 720px){
.about-bio-full{padding:28px 22px}
}

.about-portrait-card{
animation: portraitFloat 7.5s ease-in-out infinite;
}
.foundation-card,
.resource-card,
.about-bio{
transition: transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s cubic-bezier(.22,1,.36,1);
}
.foundation-card:hover,
.resource-card:hover,
.about-bio:hover{
transform: translateY(-6px);
box-shadow: 0 30px 76px rgba(14,20,28,.14);
}
@keyframes portraitFloat{
0%,100%{transform:translateY(0)}
50%{transform:translateY(-8px)}
}

.about-resources .section-kicker{font-size:.92rem;}
.btn-on-light{background:#d8dce2;color:#24303a;border-color:rgba(17,21,28,.18);}
.btn-on-light:hover{background:#c8cdd5;color:#17212b;}
.about-mid-cta{padding-top:8px;padding-bottom:24px;background:transparent;}
.about-mid-cta-card{max-width:980px;margin:0 auto;text-align:center;padding:38px 42px;border-radius:32px;background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));border:1px solid rgba(255,255,255,.6);box-shadow:0 22px 64px rgba(14,20,28,.12);backdrop-filter:blur(12px);}
.about-mid-cta-card h2{margin:16px auto 12px;max-width:820px;font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.04;letter-spacing:-.04em;color:#111820;}
.about-mid-cta-card p{margin:0 auto;max-width:58ch;color:#4b5662;line-height:1.8;font-size:1.04rem;}
.about-mid-cta-card .btn-secondary{background:rgba(17,21,28,.04);color:#24303a;border-color:rgba(17,21,28,.10);}
.about-mid-cta-card .btn-secondary:hover{background:rgba(17,21,28,.08);color:#121922;}

.about-page-shell{
position:relative;
background:
radial-gradient(circle at 14% 12%, rgba(185,208,55,.16), transparent 0 18%),
radial-gradient(circle at 86% 14%, rgba(185,208,55,.10), transparent 0 15%),
linear-gradient(180deg,
#0b131c 0%,
#1d2b37 11%,
#596672 23%,
#aeb8bf 34%,
#edf2ee 45%,
#d9e1dc 54%,
#edf2ee 63%,
#aeb8bf 76%,
#596672 88%,
#1b2834 100%);
}
.about-page-shell::before{
content:"";
position:fixed;
inset:0;
pointer-events:none;
background:linear-gradient(90deg, rgba(255,255,255,.02), rgba(255,255,255,0) 26%, rgba(255,255,255,.03) 50%, rgba(255,255,255,0) 74%, rgba(255,255,255,.02));
mix-blend-mode:soft-light;
}
.about-copy{overflow:hidden}
.about-copy-glow{
position:absolute;
inset:auto auto 8% -6%;
width:240px;
height:240px;
border-radius:50%;
background:radial-gradient(circle, rgba(185,208,55,.24), rgba(185,208,55,0) 72%);
filter:blur(2px);
animation:softPulse 6s ease-in-out infinite;
pointer-events:none;
}
.uniform-section-kicker{
font-size:1.02rem;
letter-spacing:.18em;
min-height:1.4em;
}
.about-hero .eyebrow,
.uniform-section-kicker{
position:relative;
}
.about-hero .eyebrow::after,
.uniform-section-kicker::after{
content:"";
position:absolute;
left:0;
right:auto;
bottom:-10px;
width:68px;
height:2px;
border-radius:999px;
background:linear-gradient(90deg, rgba(185,208,55,0), rgba(185,208,55,.95), rgba(185,208,55,0));
animation:kickerSweep 3.8s ease-in-out infinite;
}
.about-title, .section-head h2, .about-mid-cta-card h2{
text-wrap:balance;
}
.about-subtitle,
.about-bio-full p,
.about-mid-cta-card p{
text-wrap:pretty;
}
.about-bio-full,
.about-mid-cta-card,
.foundation-card,
.resource-card{
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
}
.about-mid-cta-card{
position:relative;
overflow:hidden;
}
.about-mid-cta-card::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(120deg, rgba(185,208,55,.10), rgba(255,255,255,0) 34%, rgba(255,255,255,.14) 52%, rgba(255,255,255,0) 68%);
transform:translateX(-110%);
animation:panelSweep 11s ease-in-out infinite;
pointer-events:none;
}
.about-mid-cta-card .hero-actions .btn,
.resource-card .btn{
position:relative;
z-index:1;
}
.bubble-label{
border:none !important;
box-shadow:0 2px 8px rgba(132,158,0,.25);
background:#B9D037;
color:#1a2708 !important;
text-shadow:none;
white-space:nowrap;
}
.foundation-label.bubble-label,
.resource-tag.bubble-label{
font-size:.9rem;
width:max-content !important;
max-width:none;
align-self:center;
}
.foundation-card{
border:1px solid rgba(185,208,55,.18);
}
.foundation-card p,
.foundation-card ul{
font-size:1.02rem;
}
.resource-card{
border:1px solid rgba(185,208,55,.14);
}
.resources-intro{
display:inline-block;
padding:14px 18px;
margin-top:14px !important;
border-radius:18px;
background:linear-gradient(180deg, rgba(17,24,32,.86), rgba(27,38,47,.72));
color:rgba(255,255,255,.96) !important;
box-shadow:0 16px 36px rgba(11,17,24,.16);
}
.about-resources .section-head p:not(.resources-intro){
color:#46505b;
}
.about-resources{
position:relative;
}
.about-resources::before{
content:"";
position:absolute;
inset:0;
background:none;
pointer-events:none;
}
.about-resources .section-head,
.about-resources .resources-grid{
position:relative;
z-index:1;
}
.about-portrait-wrap.reveal-up.is-visible .orbit-a{
animation:spinSlow 18s linear infinite, orbitAppear .9s cubic-bezier(.22,1,.36,1) both;
}
.about-portrait-wrap.reveal-up.is-visible .orbit-b{
animation:spinReverse 26s linear infinite, orbitAppear 1.1s cubic-bezier(.22,1,.36,1) both;
}
.about-copy.reveal-up.is-visible .about-title span{
animation:limeGlowText 2.8s ease-in-out infinite;
}
@keyframes softPulse{
0%,100%{transform:scale(1);opacity:.8}
50%{transform:scale(1.08);opacity:1}
}
@keyframes kickerSweep{
0%,100%{transform:scaleX(.72);opacity:.7;transform-origin:left center}
50%{transform:scaleX(1.12);opacity:1;transform-origin:left center}
}
@keyframes orbitAppear{
0%{opacity:0;transform:scale(.92)}
100%{opacity:1;transform:scale(1)}
}
@keyframes limeGlowText{
0%,100%{text-shadow:0 0 0 rgba(185,208,55,0)}
50%{text-shadow:0 0 22px rgba(185,208,55,.22)}
}
@media (max-width: 720px){
.uniform-section-kicker{font-size:.92rem;letter-spacing:.14em}
.resources-intro{padding:12px 14px;border-radius:16px}
.about-copy-glow{width:170px;height:170px;left:auto;right:6%;bottom:0}
}
@media (prefers-reduced-motion: reduce){
.about-copy-glow,
.about-copy.reveal-up.is-visible .about-title span,
.about-hero .eyebrow::after,
.uniform-section-kicker::after,
.about-mid-cta-card::before,
.about-portrait-wrap.reveal-up.is-visible .orbit-a,
.about-portrait-wrap.reveal-up.is-visible .orbit-b{
animation:none !important;
}
}

.about-page-shell{
background:
radial-gradient(circle at 14% 12%, rgba(185,208,55,.18), transparent 18%),
radial-gradient(circle at 86% 14%, rgba(185,208,55,.12), transparent 15%),
linear-gradient(180deg,
#0b131c 0%,
#1d2b37 10%,
#596672 22%,
#a6b3bb 32%,
#d2dbd4 42%,
#bfcac1 52%,
#d2dbd4 62%,
#a6b3bb 74%,
#596672 87%,
#1b2834 100%);
}

.uniform-section-kicker{
font-size:1.18rem;
letter-spacing:.15em;
font-weight:900;
}
@media (max-width: 720px){
.uniform-section-kicker{font-size:1.02rem;letter-spacing:.13em}
}

@keyframes aboutTextIn{
0%  { opacity:0; transform:translateY(20px); filter:blur(4px) }
100%{ opacity:1; transform:translateY(0);    filter:blur(0)   }
}

.about-copy.reveal-up.is-visible .about-title{
animation: aboutTextIn .82s cubic-bezier(.22,1,.36,1) both .04s;
}
.about-copy.reveal-up.is-visible .about-subtitle{
animation: aboutTextIn .82s cubic-bezier(.22,1,.36,1) both .18s;
}

.about-bio-full.reveal-up.is-visible h2{
animation: aboutTextIn .74s cubic-bezier(.22,1,.36,1) both .08s;
}
.about-bio-full.reveal-up.is-visible p,
.about-bio-full.reveal-up.is-visible .bio-focus{
animation: aboutTextIn .74s cubic-bezier(.22,1,.36,1) both .2s;
}

.about-mid-cta-card.reveal-up.is-visible h2{
animation: aboutTextIn .72s cubic-bezier(.22,1,.36,1) both .1s;
}
.about-mid-cta-card.reveal-up.is-visible p{
animation: aboutTextIn .72s cubic-bezier(.22,1,.36,1) both .22s;
}

.section-head.reveal-up.is-visible h2{
animation: aboutTextIn .72s cubic-bezier(.22,1,.36,1) both .1s;
}
.section-head.reveal-up.is-visible p{
animation: aboutTextIn .72s cubic-bezier(.22,1,.36,1) both .22s;
}

.foundation-card.reveal-up.is-visible .foundation-label{
animation: aboutTextIn .62s cubic-bezier(.22,1,.36,1) both .14s;
}
.foundation-card.reveal-up.is-visible p,
.foundation-card.reveal-up.is-visible ul{
animation: aboutTextIn .62s cubic-bezier(.22,1,.36,1) both .28s;
}

.resource-card.reveal-up.is-visible .resource-tag{
animation: aboutTextIn .62s cubic-bezier(.22,1,.36,1) both .1s;
}
.resource-card.reveal-up.is-visible h3{
animation: aboutTextIn .62s cubic-bezier(.22,1,.36,1) both .2s;
}
.resource-card.reveal-up.is-visible p{
animation: aboutTextIn .62s cubic-bezier(.22,1,.36,1) both .3s;
}

.bubble-label{
border: none !important;
box-shadow: 0 2px 8px rgba(132,158,0,.25) !important;
background: #B9D037 !important;
color: #1a2708 !important;
font-weight: 900 !important;
letter-spacing: .06em !important;
text-shadow: none !important;
white-space: nowrap !important;
}
.foundation-label.bubble-label{
font-size: .9rem !important;
width: max-content !important;
max-width: none !important;
align-self: center !important;
}
.resource-tag.bubble-label{
font-size: .88rem !important;
width: max-content !important;
max-width: none !important;
align-self: center !important;
}

.resources-intro{
background: linear-gradient(160deg, rgba(10,18,28,.93) 0%, rgba(18,30,42,.85) 100%) !important;
color: rgba(255,255,255,.98) !important;
padding: 16px 22px !important;
border: 1px solid rgba(185,208,55,.18) !important;
box-shadow:
0 4px 16px rgba(0,0,0,.22),
0 16px 40px rgba(10,17,24,.2) !important;
font-weight: 500 !important;
}

@media (prefers-reduced-motion: reduce){
.about-copy.reveal-up.is-visible .about-title,
.about-copy.reveal-up.is-visible .about-subtitle,
.about-bio-full.reveal-up.is-visible h2,
.about-bio-full.reveal-up.is-visible p,
.about-bio-full.reveal-up.is-visible .bio-focus,
.about-mid-cta-card.reveal-up.is-visible h2,
.about-mid-cta-card.reveal-up.is-visible p,
.section-head.reveal-up.is-visible h2,
.section-head.reveal-up.is-visible p,
.foundation-card.reveal-up.is-visible .foundation-label,
.foundation-card.reveal-up.is-visible p,
.foundation-card.reveal-up.is-visible ul,
.resource-card.reveal-up.is-visible .resource-tag,
.resource-card.reveal-up.is-visible h3,
.resource-card.reveal-up.is-visible p{
animation: none !important;
}
}

.about-page-shell{
background:
radial-gradient(circle at 10% 5%,  rgba(185,208,55,.16), transparent 20%),
radial-gradient(circle at 88% 4%,  rgba(185,208,55,.09), transparent 16%),
radial-gradient(circle at 50% 50%, rgba(185,208,55,.05), transparent 28%),
linear-gradient(180deg,
#141417 0%,
#1e1e21 7%,
#2c2c30 14%,
#3c3c40 22%,
#515055 30%,
#797979 38%,
#a6a6a8 43%,
#cbcbcd 46%,
#cbcbcd 57%,
#a6a6a8 62%,
#797979 68%,
#515055 76%,
#3c3c40 84%,
#2c2c30 91%,
#1e1e21 96%,
#141417 100%);
}

.about-intro-band{
background: transparent !important;
isolation: auto;
}

.about-bubbles-grid{
counter-reset: mvv-card;
gap: 28px;
}

.foundation-card{
border-left: 4px solid var(--lime);
border-top: none;
border-radius: 24px;
padding: 36px 32px 32px;
display: flex;
flex-direction: column;
gap: 0;
counter-increment: mvv-card;
background: linear-gradient(160deg, #ffffff 60%, rgba(185,208,55,.05) 100%);
}

.foundation-card::before{
content: "0" counter(mvv-card);
position: absolute;
top: 14px;
right: 20px;
font-size: 4.8rem;
font-weight: 900;
line-height: 1;
letter-spacing: -.06em;
color: rgba(185,208,55,.10);
pointer-events: none;
user-select: none;
z-index: 0;
}

.foundation-card::after{
display: none;
}

.foundation-label{
margin: 0 !important;
align-self: flex-start !important;
width: auto !important;
min-width: 110px;
margin-bottom: 20px !important;
}

.foundation-label + p,
.foundation-label + ul{
margin-top: 20px;
padding-top: 18px;
border-top: 1px solid rgba(185,208,55,.20);
}

.foundation-card p,
.foundation-card ul{
position: relative;
z-index: 1;
margin: 0;
font-size: 1.04rem;
line-height: 1.85;
color: #3f4d58;
}

.foundation-card ul{
padding-left: 0;
list-style: none;
}

.foundation-card ul li{
position: relative;
padding-left: 18px;
margin-bottom: 8px;
}

.foundation-card ul li::before{
content: "›";
position: absolute;
left: 0;
color: var(--lime);
font-weight: 900;
font-size: 1.1rem;
line-height: 1.6;
}

.about-bubbles-grid .foundation-card:nth-child(1) p,
.about-bubbles-grid .foundation-card:nth-child(2) p{
position: relative;
padding-left: 18px;
}
.about-bubbles-grid .foundation-card:nth-child(1) p::before,
.about-bubbles-grid .foundation-card:nth-child(2) p::before{
content: "›";
position: absolute;
left: 0;
color: var(--lime);
font-weight: 900;
font-size: 1.1rem;
line-height: 1.65;
}

.about-bubbles-grid .foundation-card{
justify-content: flex-start;
}

@keyframes cardPop{
0%  { opacity:0; transform:translateY(28px) scale(.97) rotate(-.4deg); }
100%{ opacity:1; transform:translateY(0)    scale(1)   rotate(0deg);    }
}

@keyframes cardShine{
0%,100%{ transform:translateX(-140%) skewX(-12deg); opacity:0 }
10%     { opacity:1 }
50%     { opacity:.6 }
60%     { transform:translateX(140%) skewX(-12deg); opacity:0 }
}

@keyframes heroTitleReveal{
0%  { clip-path:inset(0 100% 0 0 round 4px); opacity:0; }
8%  { opacity:1; }
100%{ clip-path:inset(0 0%   0 0 round 4px); }
}

@keyframes heroDrift{
0%,100%{ transform:translate3d(0, 0, 0) }
50%    { transform:translate3d(0, -6px, 0) }
}

.about-hero-grid{
animation: heroDrift 12s ease-in-out infinite;
}

.about-copy.reveal-up.is-visible .about-title{
animation: heroTitleReveal .9s cubic-bezier(.36,1,.22,1) both .06s;
}

.about-bubbles-grid .foundation-card.reveal-up.is-visible{
animation: cardPop .7s cubic-bezier(.22,1,.36,1) both;
}
.about-bubbles-grid .foundation-card.reveal-up.reveal-delay-1.is-visible{
animation-delay: .12s;
}
.about-bubbles-grid .foundation-card.reveal-up.reveal-delay-2.is-visible{
animation-delay: .24s;
}

.resource-card{
overflow: hidden;
}
.resource-card::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(105deg, transparent 38%, rgba(255,255,255,.36) 50%, transparent 62%);
transform:translateX(-140%) skewX(-12deg);
pointer-events:none;
z-index:2;
}
.resource-card:hover::after{
animation: cardShine .6s ease both;
}

.uniform-section-kicker::after{
width: 80px;
}

@keyframes labelGlow{
0%,100%{ box-shadow: 0 0 0 0 rgba(185,208,55,.0) }
50%    { box-shadow: 0 0 16px 4px rgba(185,208,55,.22) }
}
.about-hero .eyebrow{
animation: labelGlow 4s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce){
.about-hero-grid{ animation: none !important; }
.about-copy.reveal-up.is-visible .about-title{ animation: none !important; }
.about-bubbles-grid .foundation-card.reveal-up.is-visible{ animation: none !important; }
.resource-card:hover::after{ animation: none !important; }
.about-hero .eyebrow{ animation: none !important; }
}

@media (max-width: 720px){
.foundation-card{ padding: 26px 22px; }
.foundation-card::before{ font-size: 3.5rem; top: 10px; right: 14px; }
}

.about-page-shell .page-section{
background: transparent !important;
}
.about-mid-cta{
background: transparent !important;
}

.about-resources .section-head h2{
color: #111820;
text-shadow: none;
}
.about-resources .section-head p:not(.resources-intro){
color: #4c5661;
}

.about-page-shell .section-tinted .section-head h2{
color: #1a1a1e;
}
.about-page-shell .section-tinted .section-head p{
color: #4a4a50;
}

.portrait-flip-scene{
position: relative;
z-index: 2;
perspective: 1400px;
width: min(100%, 520px);
margin: 0 auto;
animation: portraitFloat 7.5s ease-in-out infinite;
cursor: pointer;
}

.portrait-flip-card{
position: relative;
width: 100%;
aspect-ratio: 1 / 1;
transform-style: preserve-3d;
transition: transform .9s cubic-bezier(.4,.2,.2,1);
}

.portrait-flip-scene:hover .portrait-flip-card,
.portrait-flip-scene:focus-within .portrait-flip-card{
transform: rotateY(180deg);
}

.portrait-face{
position: absolute;
inset: 0;
background: #fff;
border-radius: 40px;
padding: 22px;
box-shadow: 0 28px 80px rgba(0,0,0,.22);
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
overflow: hidden;
}
.portrait-face .about-portrait{
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
border-radius: 30px;
background: #fff;
}
.portrait-face-back{
transform: rotateY(180deg);
}

.about-portrait-card{
animation: none !important;
}

.portrait-flip-scene::after{
content: "";
position: absolute;
bottom: -16px;
left: 50%;
transform: translateX(-50%);
width: 55%;
height: 16px;
background: radial-gradient(ellipse, rgba(185,208,55,.20), transparent 70%);
pointer-events: none;
}

.foundation-card::before{
display: none !important;
}
.foundation-card{
background: #ffffff !important;
}
.foundation-label + p,
.foundation-label + ul{
border-top: none !important;
padding-top: 14px;
margin-top: 14px;
}

.resources-intro{
background: transparent !important;
color: #4c5661 !important;
border-color: transparent !important;
}

@media (max-width: 720px){
.portrait-flip-scene{ animation: none; }
.portrait-flip-scene:active .portrait-flip-card{ transform: rotateY(180deg); }
}

.about-page-shell .section-head h2,
.about-mid-cta-card h2{
position: relative;
}
.about-page-shell .section-head h2::after,
.about-mid-cta-card h2::after{
content: "";
position: absolute;
bottom: -10px;
left: 50%;
width: 54px;
height: 3px;
border-radius: 3px;
background: linear-gradient(90deg, rgba(185,208,55,.35), var(--lime), rgba(185,208,55,.35));
transform: translateX(-50%) scaleX(0);
transform-origin: center;
}
.section-head.reveal-up.is-visible h2::after,
.about-mid-cta-card.reveal-up.is-visible h2::after{
animation: h2UnderlineCenter .65s cubic-bezier(.22,1,.36,1) both .42s;
}
@keyframes h2UnderlineCenter{
from{ transform: translateX(-50%) scaleX(0); }
to  { transform: translateX(-50%) scaleX(1); }
}

.about-bio-full h2{
position: relative;
}
.about-bio-full h2::after{
content: "";
position: absolute;
bottom: -8px;
left: 0;
width: 54px;
height: 3px;
border-radius: 3px;
background: linear-gradient(90deg, var(--lime), rgba(185,208,55,.3));
transform: scaleX(0);
transform-origin: left;
}
.about-bio-full.reveal-up.is-visible h2::after{
animation: h2UnderlineLeft .65s cubic-bezier(.22,1,.36,1) both .32s;
}
@keyframes h2UnderlineLeft{
from{ transform: scaleX(0); }
to  { transform: scaleX(1); }
}

.bio-focus ul li{
opacity: 0;
transform: translateX(-16px);
}
.about-bio-full.reveal-up.is-visible .bio-focus ul li{
opacity: 1;
transform: translateX(0);
transition: opacity .5s ease, transform .5s cubic-bezier(.22,1,.36,1);
}
.about-bio-full.reveal-up.is-visible .bio-focus ul li:nth-child(1){ transition-delay: .98s; }
.about-bio-full.reveal-up.is-visible .bio-focus ul li:nth-child(2){ transition-delay: 1.14s; }
.about-bio-full.reveal-up.is-visible .bio-focus ul li:nth-child(3){ transition-delay: 1.30s; }

@media (prefers-reduced-motion: reduce){
.about-page-shell .section-head h2::after,
.about-mid-cta-card h2::after,
.about-bio-full h2::after,
.section-head.reveal-up.is-visible h2::after,
.about-mid-cta-card.reveal-up.is-visible h2::after,
.about-bio-full.reveal-up.is-visible h2::after{ animation: none !important; }
.bio-focus ul li{ opacity: 1 !important; transform: none !important; transition: none !important; }
}

.page-shell{
background: #ffffff !important;
}

.page-hero{
color: #515055 !important;
}
.page-hero h1,
.page-hero-card h1{
color: #515055 !important;
}
.page-hero p,
.page-hero .lead{
color: #5f6774 !important;
}
.page-hero .section-label{
color: #8a9aab !important;
}

.page-hero-card{
background: linear-gradient(180deg, #f7f8fa, #ffffff) !important;
border-color: #e0e4ea !important;
box-shadow: 0 8px 32px rgba(81,80,85,.10) !important;
}

.page-card-soft{
background: #f2f4f7 !important;
color: #515055 !important;
border: 1px solid #e0e4ea !important;
backdrop-filter: none !important;
}
.page-card-soft h2,
.page-card-soft h3{
color: #515055 !important;
}
.page-card-soft p,
.page-card-soft li{
color: #5f6774 !important;
}

#scroll-progress-bar{
position:fixed;
top:0; left:0;
width:0%;
height:3px;
background:linear-gradient(90deg,#B9D037 0%,#d5ec4c 100%);
z-index:9999;
pointer-events:none;
transform-origin:left;
transition:width .08s linear;
}

.marquee-band{
overflow:hidden;
background:#0b1520;
padding:13px 0;
border-top:1px solid rgba(185,208,55,.18);
border-bottom:1px solid rgba(185,208,55,.18);
}
.marquee-track{
display:flex;
align-items:center;
gap:36px;
white-space:nowrap;
will-change:transform;
cursor:grab;
user-select:none;
animation:marquee-scroll 32s linear infinite;
}
.marquee-track.is-dragging{ cursor:grabbing; }
.marquee-track span{
font-size:.7rem;
font-weight:800;
letter-spacing:.22em;
text-transform:uppercase;
color:rgba(255,255,255,.85);
flex-shrink:0;
}
.marquee-dot{ color:#B9D037 !important; font-size:.65rem; }
@keyframes marquee-scroll{
from{ transform:translateX(0) }
to  { transform:translateX(-50%) }
}
@media(prefers-reduced-motion:reduce){
.marquee-track{ animation:none; cursor:default; }
}

.stats-band{
background:#515055;
padding:80px 0 88px;
margin-bottom:0;
}
.stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:32px;
text-align:center;
}
.stat-counter{ padding:8px 0; }
.stat-numwrap{
display:flex;
align-items:baseline;
justify-content:center;
gap:3px;
line-height:1;
margin-bottom:8px;
}
.stat-num{
font-size:clamp(2.4rem,5vw,3.6rem);
font-weight:900;
color:#B9D037;
letter-spacing:-.04em;
font-variant-numeric:tabular-nums;
}
.stat-suffix,.stat-unit{
font-size:clamp(1rem,2vw,1.4rem);
font-weight:700;
color:#B9D037;
opacity:.8;
}
.stat-desc{
font-size:.82rem;
font-weight:500;
color:rgba(247,248,251,.82);
text-transform:uppercase;
letter-spacing:.14em;
margin-top:4px;
}
.stats-kicker{
text-align:center;
font-size:clamp(2.8rem,7vw,5.5rem);
font-weight:900;
letter-spacing:-.04em;
color:#B9D037;
margin-bottom:52px;
line-height:1;
}
@media(max-width:860px){
.stats-grid{ grid-template-columns:repeat(2,1fr); gap:24px; }
}
@media(max-width:480px){
.stats-grid{ grid-template-columns:1fr 1fr; gap:16px; }
.stat-num{ font-size:2.2rem; }
}

.faq-item{
opacity:0;
transform:translateY(10px);
transition:opacity .38s ease, transform .38s ease, border-color .25s ease, box-shadow .25s ease;
}
.faq-theme.is-visible .faq-item:nth-child(1){ opacity:1; transform:none; transition-delay:.04s }
.faq-theme.is-visible .faq-item:nth-child(2){ opacity:1; transform:none; transition-delay:.10s }
.faq-theme.is-visible .faq-item:nth-child(3){ opacity:1; transform:none; transition-delay:.16s }
.faq-theme.is-visible .faq-item:nth-child(4){ opacity:1; transform:none; transition-delay:.22s }
.faq-theme.is-visible .faq-item:nth-child(5){ opacity:1; transform:none; transition-delay:.28s }
.faq-theme.is-visible .faq-item:nth-child(6){ opacity:1; transform:none; transition-delay:.34s }

.page-hero{
will-change:transform;
}

.service-pill:hover,
.variant-a .service-pill:hover,
.variant-b .service-pill:hover{
background: #BBD631 !important;
color: #ffffff !important;
border-color: #BBD631 !important;
}

.testi-section { background:#f9f9f7; padding:88px 0 96px; }
.testi-head { margin-bottom:48px; text-align:center; }
.testi-kicker { font-size:.64rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--lime); margin-bottom:10px; display:flex; align-items:center; justify-content:center; gap:8px; }
.testi-kicker::before,.testi-kicker::after { content:''; display:block; width:20px; height:2px; background:var(--lime); }
.testi-head h2 { font-size:clamp(1.5rem,2.8vw,2.2rem); font-weight:900; color:#515055; letter-spacing:-.03em; margin:0; }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:52px; }
@media(max-width:800px){.testi-grid{grid-template-columns:1fr;}}
.testi-card { background:#fff; border-radius:18px; border:1px solid rgba(81,80,85,.08); padding:28px; display:flex; flex-direction:column; gap:14px; opacity:0; transform:translateY(22px); transition:opacity .55s ease, transform .55s cubic-bezier(0.215,.61,.355,1); }
.testi-card.is-in { opacity:1; transform:none; }
.testi-card:nth-child(2){transition-delay:.1s;} .testi-card:nth-child(3){transition-delay:.2s;}
.testi-stars { color:var(--lime); font-size:1rem; letter-spacing:2px; }
.testi-text { font-size:.92rem; color:rgba(81,80,85,.84); line-height:1.72; font-style:italic; margin:0; flex:1; }
.testi-author { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:14px; border-top:1px solid rgba(81,80,85,.07); }
.testi-avatar { width:40px; height:40px; border-radius:50%; background:var(--lime); color:#3a4210; font-size:.72rem; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden; }
.testi-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.testi-name { font-size:.86rem; font-weight:700; color:#515055; }
.testi-role { font-size:.74rem; color:rgba(81,80,85,.72); }
.testi-logos-wrap { text-align:center; }
.testi-logos-label { font-size:.64rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#B6CF33; margin-bottom:22px; }
.testi-logos-grid { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px 28px; }
.testi-logo-item { background:#fff; border:1px solid rgba(81,80,85,.1); border-radius:10px; padding:12px 22px; font-size:.78rem; font-weight:700; color:rgba(81,80,85,.3); letter-spacing:.06em; text-transform:uppercase; min-width:100px; text-align:center; }

.trust-section { background:#fff; padding:88px 0 96px; }
.trust-head { text-align:center; margin-bottom:40px; }
.trust-kicker { font-size:.64rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--lime); margin-bottom:10px; display:flex; align-items:center; justify-content:center; gap:8px; }
.trust-kicker::before,.trust-kicker::after { content:''; display:block; width:20px; height:2px; background:var(--lime); }
.trust-head h2 { font-size:clamp(1.5rem,2.8vw,2.2rem); font-weight:900; color:#B6CF33; letter-spacing:-.03em; margin:0; }

.trust-logos-track-wrap { overflow:hidden; margin-bottom:52px; mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.trust-logos-track { display:flex; gap:32px; width:max-content; will-change:transform; cursor:grab; }
.trust-logos-track:active { cursor:grabbing; }
@keyframes trustScroll { from{transform:translateX(-50%)} to{transform:translateX(0)} }
.trust-logo-pill { background:#fff; border:1px solid rgba(81,80,85,.12); border-radius:14px; padding:14px 24px; display:flex; align-items:center; justify-content:center; flex-shrink:0; height:90px; min-width:120px; transition:box-shadow .2s; }
.trust-logo-pill:hover { box-shadow:0 4px 18px rgba(0,0,0,.08); }
.trust-logo-pill img { height:54px; width:auto; max-width:160px; object-fit:contain; display:block; pointer-events:none; }

.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:800px){.trust-grid{grid-template-columns:1fr;}}
.trust-card { background:#f9f9f7; border:1px solid rgba(81,80,85,.08); border-radius:18px; padding:28px; display:flex; flex-direction:column; gap:14px; }
.trust-stars { color:var(--lime); font-size:.95rem; letter-spacing:2px; }
.trust-quote { font-size:.92rem; color:rgba(81,80,85,.84); line-height:1.72; font-style:italic; margin:0; flex:1; }
.trust-author { display:flex; align-items:center; gap:12px; padding-top:14px; border-top:1px solid rgba(81,80,85,.07); margin-top:auto; }
.trust-avatar { width:40px; height:40px; border-radius:50%; background:var(--lime); color:#3a4210; font-size:.72rem; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden; }
.trust-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.trust-name { font-size:.86rem; font-weight:700; color:#515055; }
.trust-role { font-size:.74rem; color:rgba(81,80,85,.72); }

.cs-carousel-wrap { position:relative; padding:0 58px; }
.cs-carousel-viewport { overflow:hidden; width:100%; }
.cs-carousel-track { display:flex; gap:18px; will-change:transform; transition:transform .7s cubic-bezier(0.22,1,.36,1); }

.cs-carousel-track > * { flex-shrink:0; }

.cs-carousel-controls { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:26px; }
.cs-arrow { width:48px; height:48px; border-radius:50%; border:none; background:transparent; color:rgba(81,80,85,.45); cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:color .2s; box-shadow:none; }
.cs-arrow:hover { background:transparent; color:#515055; border-color:transparent; transform:none; }
.cs-arrow:disabled { opacity:.2; cursor:default; pointer-events:none; }
.cs-arrow svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; filter:drop-shadow(0 1px 3px rgba(0,0,0,.15)); }
/* Arrows fixed left/right of the track — transform conservé au hover pour éviter le saut */
.cs-arrow--prev, .cs-arrow--next { position:absolute; top:50%; transform:translateY(calc(-50% - 20px)); z-index:2; }
.cs-arrow--prev { left:0; }
.cs-arrow--next { right:0; }
.cs-arrow--prev:hover, .cs-arrow--next:hover { transform:translateY(calc(-50% - 20px)); }
@media(max-width:540px){ .cs-carousel-wrap { padding:0 44px; } }

.cs-dots { display:flex; gap:6px; align-items:center; }
.cs-dot { width:7px; height:7px; border-radius:50%; background:rgba(81,80,85,.2); border:none; padding:0; cursor:pointer; transition:background .22s, transform .22s; }
.cs-dot.active { background:var(--lime); transform:scale(1.3); }

.cs-carousel-track .testi-card { opacity:1 !important; transform:none !important; }
.cs-carousel-track .trust-card { opacity:1; }

.ot-trust { background:#f9f9f7; padding:52px 0; }
.ot-trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media(max-width:720px){.ot-trust-grid{grid-template-columns:1fr;}}
.ot-trust-quote { background:#fff; border:1px solid rgba(81,80,85,.08); border-radius:14px; padding:20px 22px; display:flex; flex-direction:column; gap:8px; }
.ot-trust-stars { color:var(--lime); font-size:.85rem; letter-spacing:2px; }
.ot-trust-quote p { font-size:.88rem; color:rgba(81,80,85,.84); line-height:1.65; font-style:italic; margin:0; }
.ot-trust-from { font-size:.74rem; font-weight:600; color:rgba(81,80,85,.82); }

.srv-prix-strip { display:flex; align-items:center; justify-content:space-between; background:#B6D033; color:#3a4210; border-radius:14px; padding:15px 22px; text-decoration:none; font-size:.88rem; font-weight:700; letter-spacing:.01em; transition:background .2s, transform .18s; margin-top:8px; }
.srv-prix-strip:hover { background:#cfe83d; transform:translateX(3px); }
.srv-prix-strip-arrow { font-size:1.1rem; transition:transform .2s; }
.srv-prix-strip:hover .srv-prix-strip-arrow { transform:translateX(5px); }

.about-page-shell .about-hero .about-title{ color: #515055; }
.about-page-shell .about-copy{ color: #111820; text-shadow: none; }
.about-page-shell .about-subtitle{ color: #4c5661; }

.about-page-shell .about-foundations.section-tinted{
background: linear-gradient(180deg, #f2f4f7 0%, #edf0f4 100%) !important;
}

.about-bio-full{
box-shadow:
0 1px 0 rgba(255,255,255,.9) inset,
0 4px 16px rgba(14,20,28,.06),
0 16px 48px rgba(14,20,28,.10),
0 32px 72px rgba(14,20,28,.07);
}

.about-page-shell .foundation-card{
box-shadow:
0 1px 0 rgba(255,255,255,.95) inset,
0 2px 8px rgba(14,20,28,.05),
0 8px 28px rgba(14,20,28,.09),
0 20px 48px rgba(14,20,28,.06) !important;
border: 1px solid rgba(14,20,28,.07) !important;
}

.about-page-shell .resource-card{
box-shadow:
0 1px 0 rgba(255,255,255,.95) inset,
0 2px 8px rgba(14,20,28,.05),
0 10px 32px rgba(14,20,28,.09),
0 24px 56px rgba(14,20,28,.06) !important;
border: 1px solid rgba(14,20,28,.07) !important;
}

.about-page-shell .about-mid-cta-card{
box-shadow:
0 1px 0 rgba(255,255,255,.9) inset,
0 4px 16px rgba(14,20,28,.07),
0 24px 64px rgba(14,20,28,.12),
0 48px 96px rgba(14,20,28,.07) !important;
border: 1px solid rgba(14,20,28,.08) !important;
}

.about-page-shell{
background: #ffffff !important;
}

.about-page-shell::before{
display: none !important;
}

.about-page-shell .about-foundations{
background: #f4f6f8 !important;
}

.stats-band{ background: #515055 !important; }
.stat-desc{ color: rgba(240,242,246,.82); }

.about-page-shell .about-mid-cta,
.about-page-shell .about-resources{
background: #ffffff !important;
}

.about-page-shell .about-title{ color: #515055; }
.about-page-shell .about-title span{ color: var(--lime); }
.about-page-shell .about-bio-full h2{ color: #515055; }
.about-page-shell .about-mid-cta-card h2{ color: #515055; }
.about-page-shell .about-foundations .section-head h2{ color: #515055; }
.about-page-shell .about-resources .section-head h2{ color: #515055; }
.about-page-shell .resource-card h3{ color: #515055; }

.variant-a .approach-grid h2,
.variant-a .insights-section h2,
.variant-a .contact-section h2 { color: #515055; }

.about-page-shell .stats-band{
padding: 0px 0 80px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.about-page-shell .stats-kicker{
font-size: clamp(3.4rem, 8.5vw, 7rem);
margin-bottom: 64px;
}

/* ══ Focus clavier global (accessibilité) ══ */
*:focus { outline: none; }
*:focus-visible {
  outline: 2px solid #515055;
  outline-offset: 3px;
  border-radius: 4px;
}
/* Boutons — anneau plus visible sur fond foncé */
.btn:focus-visible,
button:focus-visible {
  outline: 2px solid #c8f53f;
  outline-offset: 3px;
}
/* Champs de formulaire */
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #515055;
  outline-offset: 0;
  box-shadow: 0 0 0 4px rgba(81,80,85,.12);
}
/* Logos client carousel — pas d'anneau intrusif */
.trust-logo-pill:focus-visible {
  outline: 2px solid #515055;
  outline-offset: 2px;
}
/* Skip-to-content (bonne pratique a11y) */
.skip-link {
  position: absolute;
  top: -999px; left: 16px;
  background: #515055; color: #fff;
  padding: 8px 16px; border-radius: 0 0 8px 8px;
  font-size: .85rem; font-weight: 600;
  z-index: 10000; text-decoration: none;
}
.skip-link:focus { top: 0; }

/* ══ Blog card ══ */
.blog-card { border-radius: 20px; overflow: hidden; border: 1px solid rgba(81,80,85,.12); transition: box-shadow .3s, transform .3s; margin-bottom: 16px; }
.blog-card:hover { box-shadow: 0 20px 60px rgba(0,0,0,.1); transform: translateY(-4px); }
.blog-card-link { display: flex; text-decoration: none; color: inherit; }
.blog-card-visual { width: 240px; flex-shrink: 0; background: #1a1a1f; display: flex; align-items: center; justify-content: center; padding: 0; overflow: hidden; }
.blog-card-body { padding: 40px 40px 40px 36px; display: flex; flex-direction: column; gap: 12px; }
.blog-card-meta { display: flex; align-items: center; gap: 12px; }
.blog-tag { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: rgba(81,80,85,.08); color: #515055; padding: 4px 10px; border-radius: 100px; }
.blog-date { font-size: .78rem; color: rgba(81,80,85,.72); }
.blog-card-title { font-size: 1.5rem; font-weight: 800; color: #1a1a1f; letter-spacing: -.02em; margin: 0; }
.blog-card-excerpt { font-size: .92rem; color: rgba(81,80,85,.82); line-height: 1.7; margin: 0; }
.blog-card-cta { font-size: .85rem; font-weight: 700; color: #515055; margin-top: auto; }
.blog-card:hover .blog-card-cta { color: #1a1a1f; }
@media (max-width: 600px) {
  .blog-card-link { flex-direction: column; }
  .blog-card-visual { width: 100%; height: 120px; }
  .blog-card-body { padding: 24px; }
}

/* ════════════════════════════════════════
   BURGER MENU MOBILE (≤ 640px)
════════════════════════════════════════ */
.burger-btn{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;flex-shrink:0;}
.burger-btn span{display:block;width:22px;height:2px;border-radius:2px;background:rgba(255,255,255,.9);transition:transform .25s ease,opacity .25s ease;}
.variant-a .burger-btn span{background:#3d3c41;}
.burger-btn.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger-btn.is-open span:nth-child(2){opacity:0;transform:scaleX(0);}
.burger-btn.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media(max-width:640px){
  .burger-btn{display:flex;}
  .nav-right{display:none!important;}

  /* ══ MOBILE OPTIMISATION GLOBALE ══════════════════════════ */

  /* — Désactivation TOTALE de toutes les animations (performances) — */
  *,*::before,*::after{animation:none!important;animation-duration:0.01ms!important;animation-iteration-count:1!important;}

  /* — Remise en état visible des éléments initialement masqués — */
  .reveal-up{opacity:1!important;transform:none!important;transition:none!important;}
  .reveal-item{opacity:1!important;transform:none!important;}
  .hero-title-main .line{opacity:1!important;transform:none!important;filter:none!important;}
  body.preload .reveal-item,body.preload .hero-title-main .line{opacity:1!important;}
  .lc-hero-kicker,.lc-hero h1,.lc-hero-sub,.lc-card{opacity:1!important;transform:none!important;transition:none!important;}
  .ot-hero-kicker,.ot-hero h1,.ot-hero-sub,.ot-steps-bar{opacity:1!important;transform:none!important;transition:none!important;}
  .oselacom{opacity:1!important;}
  /* Orbes décoratifs — inutiles sur mobile */
  .methode-hero-orb,.lc-hero-orb{display:none!important;}
  /* Gradient lime sur h1 em (service pages) */
  .svc-hero h1 em{-webkit-text-fill-color:var(--lime)!important;}

  /* — Conteneur — */
  .container,.narrow{padding-left:20px;padding-right:20px;}

  /* — Typographie générale — */
  h1{word-break:break-word;}
  .section-label{font-size:.58rem;}

  /* ══ HERO PRINCIPAL (accueil) ══ */
  .hero{min-height:auto;}
  .hero-comm-label{display:none;}
  .hero-grid{padding-top:120px;padding-bottom:60px;gap:28px;}
  .hero-title-main .line{font-size:clamp(2.2rem,8.5vw,3rem);}
  /* Masque les pills de service — redondantes avec le menu burger */
  .hero-side{display:none!important;}
  /* Cibles masquées sur mobile */
  .hero-proof.hero-targets{display:none!important;}
  /* Cibles : keep, mais compacte */
  .hero-proof{margin-top:16px;gap:6px;}
  .hero-targets span{font-size:.78rem;gap:5px;}
  /* CTAs pleine largeur */
  .hero-actions{flex-direction:column;gap:10px;margin-top:22px;}
  .hero-actions .btn{width:100%;text-align:center;justify-content:center;padding:14px 20px;}
  /* Flèche de scroll — déjà hors viewport, on cache */
  .hero-scroll-btn{display:none;}

  /* ══ HERO — ligne verte en bas de photo ══ */
  .hero{border-bottom:3px solid var(--lime);}

  /* ══ SECTION SERVICES (accueil) ══ */
  .srv-section{padding:52px 0;}
  .srv-svc{min-height:auto;padding:40px 0;}
  .srv-svc::after{display:none!important;}
  .srv-svc-logo-img{display:none!important;}
  /* CTAs mobile inter-sections */
  .srv-mobile-ctas{display:flex!important;flex-direction:column;gap:10px;padding:20px 20px 0;background:#ffffff;}
  .srv-mobile-ctas-label{margin:0 0 4px;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#515055;text-align:center;white-space:nowrap;}
  .srv-mobile-ctas .btn{width:100%;text-align:center;justify-content:center;padding:10px 18px!important;font-size:.84rem!important;}
  .srv-mobile-ctas .btn-primary{box-shadow:none!important;}
  /* Modération : label + tags avant le texte sur mobile */
  #srv-moderation .srv-svc-num-col{order:-1;}
  .srv-svc-content{padding:24px 0 0;}
  .srv-svc-num{font-size:3.5rem;}
  .srv-svc-title{font-size:clamp(1.5rem,5.5vw,2rem);}
  .srv-svc-ctas{flex-direction:column;align-items:stretch;gap:10px;}
  .srv-svc-ctas .btn,.srv-svc-ctas a[class*="btn"]{text-align:center;justify-content:center;}

  /* ══ STATS — déjà 2×2 à 860px, on renforce l'espacement ══ */
  .stats-section{padding:44px 0;}
  .stats-grid{gap:16px;}
  .stat-value{font-size:clamp(1.8rem,7vw,2.6rem);}

  /* ══ TÉMOIGNAGES ══ */
  .testi-section{padding:52px 0;}
  .testi-card{padding:22px 18px;}

  /* ══ PAGES SERVICE (workshop, modération, formation) ══ */
  .svc-back,.svc-eyebrow,.svc-hero h1,.svc-hero-sub,.svc-hero-cta,.svc-info-item{opacity:1!important;transform:none!important;transition:none!important;}
  .svc-section::before{display:none!important;}
  .testi-card{opacity:1!important;transform:none!important;transition:none!important;}
  .svc-hero{padding:92px 0 44px;}
  .svc-hero-orb{display:none;}  /* orbe décoratif — inutile sur mobile */
  .svc-hero::before{opacity:.4;}
  .svc-hero h1{margin-bottom:12px;}
  .svc-hero-sub{font-size:.91rem;max-width:100%;}
  .svc-hero-cta{margin-top:18px;}
  .svc-hero-cta .btn{width:100%;text-align:center;justify-content:center;}
  .svc-back{margin-bottom:20px;}

  /* Info band : 2×2 sur téléphone */
  .svc-info-item{padding:16px 14px;}
  .svc-info-label{font-size:.56rem;}
  .svc-info-value{font-size:.86rem;}
  .svc-info-value small{font-size:.74rem;}

  /* Corps de la page : sidebar en dessous */
  .svc-body{padding:44px 0 52px;}
  .svc-body-grid{gap:28px;}
  .svc-sidebar{order:2;gap:12px;}
  .svc-card{padding:18px;}
  .svc-section{margin-bottom:32px;}
  .svc-section h2{font-size:clamp(1.2rem,4.5vw,1.6rem);}

  /* CTA de bas de page */
  .svc-cta-section{padding:52px 0;}
  .svc-cta-section h2{font-size:clamp(1.5rem,5.5vw,2rem);}
  .svc-cta-btns{flex-direction:column;gap:10px;}
  .svc-cta-btns .btn{width:100%;text-align:center;justify-content:center;}

  /* ══ PAGE FORMAT ══ */
  .ot-hero{padding:92px 0 36px;}
  .ot-hero-orb{display:none;}
  .ot-hero h1{font-size:clamp(1.6rem,6.2vw,2.4rem);}
  .ot-hero-sub{font-size:.88rem;margin-top:10px;}
  /* Indicateurs d'étapes : on cache les libellés, on garde les numéros */
  .ot-steps-bar{margin-bottom:36px;}
  .ot-step-item>span:last-child{display:none;}
  .ot-step-sep{margin:0 10px;}
  .ot-main{padding:36px 0 56px;}
  .ot-panel-title{font-size:1rem;margin-bottom:18px;}
  .ot-how{margin-bottom:20px;gap:6px;}
  /* Choix de service : déjà 1 col à 640px, on améliore l'espacement */
  .ot-choices{gap:10px;}
  .ot-choice{padding:18px 16px;}
  .ot-choice-name{font-size:.9rem;}
  .ot-choice-icon{font-size:1.3rem;margin-bottom:7px;}
  .ot-choice-tag{color:var(--charcoal)!important;}

  /* ══ PAGE CONTACT ══ */
  .ct-hero{padding:92px 0 44px;min-height:auto;}
  /* Réduction du titre éditorial géant */
  .ct-t-outline,.ct-t-accent{font-size:clamp(2.6rem,10.5vw,4.5rem);}
  .ct-t-light{font-size:clamp(1.5rem,6vw,2.8rem);}
  .ct-hero-bar{margin:16px 0 14px;}
  .ct-subtitle{font-size:.9rem;}
  .ct-main{padding:44px 0 52px;}
  .ct-form-col{padding:24px 18px;}
  .ct-next-grid{gap:14px;}
  .ct-next-step{padding:18px 16px;gap:14px;}
  .ct-reassure-grid{gap:20px;}

  /* ══ PAGE FAQ ══ */
  .page-hero{padding:92px 0 32px;}
  .page-hero-card{padding:22px 18px;}
  .page-hero-card h1{font-size:2rem;}
  .page-hero-card .lead{font-size:.9rem;}
  .faq-search-wrap{margin-bottom:24px;margin-top:36px;}
  .faq-cta{padding:28px 18px;}
  .faq-cta h2{font-size:1.2rem;}

  /* ══ PAGE BLOG ══ */
  .page-section{padding-top:24px;}
  .blog-card-thumb{height:180px;}

  /* ══ SECTION MÉTHODOLOGIE (accueil) ══ */
  .approach-panel{display:none;}

  /* ══ PAGES À PROPOS & MÉTHODE ══ */
  .about-hero{padding:92px 0 44px;}
  .uniform-section{padding:52px 0;}
  .foundation-card{padding:22px 18px;}

  /* ══ FORMATRICES ══ */
  .formatrices-hero{padding:92px 0 44px;}

  /* ══ FOOTER ══ */
  .footer{padding:44px 0 24px;}
  .footer-grid{gap:24px;}
  .footer-nav-columns{flex-direction:column;gap:6px;}
  .footer-links>div{padding:3px 0;}
  .footer-mini{margin-top:20px;padding-top:14px;font-size:.77rem;}
  .footer-legal-inline{font-size:.75rem;line-height:1.75;}

  /* ══ FAQ BUBBLE ══ */
  .faq-bubble{bottom:18px;right:14px;width:38px;height:38px;font-size:1rem;}

}

/* CTAs mobile inter-sections — masqués sur desktop */
.srv-mobile-ctas{display:none;}

.mobile-menu{position:fixed;top:0;left:0;right:0;background:#1a1a1f;z-index:10000;padding:72px 28px 40px;transform:translateY(-110%);transition:transform .38s cubic-bezier(0.77,0,0.175,1);display:flex;flex-direction:column;gap:8px;box-shadow:0 8px 40px rgba(0,0,0,.35);}
.mobile-menu.is-open{transform:translateY(0);}
.mobile-menu-close{position:absolute;top:18px;right:20px;background:none;border:none;color:rgba(255,255,255,.5);font-size:1.6rem;line-height:1;cursor:pointer;padding:6px 10px;border-radius:6px;transition:color .2s;}
.mobile-menu-close:hover{color:#fff;}
.mobile-menu nav{display:flex;flex-direction:column;}
.mobile-menu nav a{color:rgba(255,255,255,.8);font-size:1.05rem;font-weight:700;padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.07);text-decoration:none;letter-spacing:-.01em;transition:color .2s;}
.mobile-menu nav a:last-child{border-bottom:none;}
.mobile-menu nav a:hover,.mobile-menu nav a.nav-active{color:#B9D037;}
.mobile-menu-ctas{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);}
.mobile-menu-ctas .btn-nav{text-align:center;display:block;padding:13px 20px;}
.mobile-menu-ctas .btn-nav-outline{color:#fff!important;border-color:rgba(255,255,255,.55)!important;}

.mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9999;opacity:0;pointer-events:none;transition:opacity .3s;}
.mobile-overlay.is-open{opacity:1;pointer-events:all;}

