/* MDVlab readable design layer: unified global palette and typography. */
:root{--mdv-petrol:#0B3B3C;--mdv-lime:#D7F36A;--mdv-ivory:#FAF7F0;--mdv-copper:#D97742;--mdv-slate:#132A2B;--mdv-ink:#1E2E2E;--mdv-muted:#405454;--mdv-line:#CDD7D0;--mdv-radius:18px;--mdv-shadow:0 18px 44px rgba(11,59,60,.11)}
#main{font-family:"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:subpixel-antialiased;text-rendering:optimizeLegibility;color:var(--mdv-ink)}
#main p,#main li{font-weight:500;line-height:1.7}#main h1,#main h2,#main h3{font-weight:750;line-height:1.13;letter-spacing:-.025em}#main .wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}
#main .button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3.25rem;padding:.85rem 1.3rem;border:2px solid var(--mdv-lime);border-radius:999px;background:var(--mdv-lime);color:var(--mdv-petrol);text-decoration:none;font-weight:750}
#main a:focus-visible,#main input:focus-visible,#main select:focus-visible,#main textarea:focus-visible{outline:3px solid var(--mdv-copper);outline-offset:3px}
.mdv-contact__form :is(input:not([type=checkbox]),select,textarea),.mdv-diagnostic__field :is(input,select,textarea){width:100%;min-height:3.25rem;padding:.85rem 1rem;border:1.5px solid #9BAEAA;border-radius:10px;background:#fff;color:var(--mdv-slate);font-family:inherit;font-size:1rem;font-weight:500;line-height:1.45;box-sizing:border-box}
.mdv-contact__form select,.mdv-diagnostic__field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%230B3B3C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:3rem}
.mdv-about__breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-block:1rem;color:#405454;font-size:.9rem;font-weight:600}
.mdv-about__timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.mdv-about__timeline article{display:flex;gap:1rem;padding:1.35rem;border:1px solid var(--mdv-line);border-radius:1rem;background:#fff}.mdv-about__timeline article>span{flex:none;color:var(--mdv-petrol);font-weight:800}.mdv-about__timeline h3{margin-bottom:.45rem}.mdv-about__timeline p{margin:0}
.mdv-about__profile{padding:2rem;border:1px solid #cbd7d0;border-radius:1.2rem;background:#F3EFE6;text-align:center}.mdv-about__profile p{margin-bottom:0}.mdv-about__monogram{display:grid;place-items:center;width:5rem;height:5rem;margin:0 auto 1rem;border-radius:50%;background:var(--mdv-petrol);color:var(--mdv-lime);font-size:2rem;font-weight:800}
.mdv-about__journey,.mdv-about__pillars{padding-block:clamp(3rem,6vw,5rem)}.mdv-about__cta{margin-block:2rem 4rem}.cta-panel{background:var(--mdv-petrol);color:var(--mdv-ivory)}.cta-panel :is(h2,p){color:var(--mdv-ivory)}.cta-panel .eyebrow{color:var(--mdv-lime)}
.site-footer{background:var(--mdv-petrol);color:var(--mdv-ivory)}.site-footer :is(h2,h3,p,.brand){color:var(--mdv-ivory)}.site-footer a:not(.button){color:#F3EFE6;font-weight:650}
.sticky-cta{transition:transform .24s ease,opacity .24s ease}.sticky-cta.is-hidden{transform:translateY(110%);opacity:0;pointer-events:none}
@media(max-width:760px){#main .wrap{width:min(100% - 32px,1160px)}.mdv-about__timeline{grid-template-columns:minmax(0,1fr)}.mdv-about__profile{max-width:100%}}
@media(prefers-reduced-motion:reduce){#main *,#main *:before,#main *:after,.sticky-cta{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* -------------------------------------------------------------------------
   MDVlab homepage 4.1.0 — shared rules for front-page.php/page-accueil.php
   ------------------------------------------------------------------------- */
#main{background:var(--mdv-ivory,#FAF7F0);color:var(--mdv-ink,#1E2E2E);overflow:hidden}
#main .section{padding-block:clamp(3.5rem,7vw,6.2rem)}
#main .section--warm{background:#F1EEE5}
#main .section--light{background:#fff}
#main .section--petrol{background:#0B3B3C;color:#FAF7F0}
#main .wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}
#main .hero--petrol{position:relative;isolation:isolate;overflow:hidden;padding:clamp(4rem,8vw,7.4rem) 0;background:radial-gradient(ellipse at 80% 20%,rgba(39,110,105,.4),transparent 42%),linear-gradient(128deg,#092f32,#0B3B3C 58%,#102d36);color:#fff}
#main .hero--petrol:after{position:absolute;z-index:-1;inset:0;content:"";opacity:.18;background-image:radial-gradient(rgba(215,243,106,.55) .7px,transparent .7px);background-size:26px 26px;mask-image:linear-gradient(90deg,transparent,black)}
#main .hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);gap:clamp(2rem,6vw,6rem);align-items:center}
#main .hero-copy{max-width:680px}
#main .eyebrow{display:flex;align-items:center;gap:.6rem;margin:0 0 1rem;color:#245f5d;font-size:.78rem;font-weight:800;letter-spacing:.11em;line-height:1.45;text-transform:uppercase}
#main .eyebrow--light{color:#D7F36A}
#main .eyebrow-dot{width:.55rem;height:.55rem;border-radius:50%;background:#D7F36A;box-shadow:0 0 0 5px rgba(215,243,106,.13)}
#main .eyebrow-line{width:1.6rem;height:2px;background:#D97742}
#main h1{max-width:13ch;margin:.4rem 0 1.25rem;color:#fff;font-size:clamp(2.7rem,5.3vw,5.05rem);letter-spacing:-.055em;line-height:1.02}
#main .h1-accent{color:#D7F36A;font-style:normal}
#main .lead{max-width:64ch;color:#344746;font-size:clamp(1.06rem,1.7vw,1.2rem)}
#main .lead--light{color:#E5EFEB}
#main .hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
#main .button{display:inline-flex;min-height:3.2rem;align-items:center;justify-content:center;gap:.55rem;padding:.8rem 1.25rem;border:2px solid #D7F36A;border-radius:999px;background:#D7F36A;color:#0B3B3C;text-decoration:none;font-weight:800;line-height:1.25;transition:transform .18s ease,background .18s ease}
#main .button:hover{transform:translateY(-2px);background:#e2f78d}
#main .button--signal{border-color:#D7F36A;background:#D7F36A;color:#0B3B3C}
#main .button--outline-light{border-color:#a8c0bd;background:transparent;color:#fff}
#main .button--outline-light:hover{background:rgba(255,255,255,.1)}
#main .button--dark{border-color:#0B3B3C;background:#0B3B3C;color:#fff}
#main .button--primary{border-color:#0B3B3C;background:#0B3B3C;color:#fff}
#main .hero-reassurance{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;margin-top:1.25rem;color:#E5EFEB;font-size:.88rem}
#main .reassurance-item{display:inline-flex;align-items:center;gap:.45rem}
#main .reassurance-item svg{flex:none;width:14px;height:14px;max-width:14px;max-height:14px}
#main .hero-art-wrapper{min-width:0;position:relative}
#main .mdv-photo-frame{position:relative;display:block;overflow:hidden;margin:0;border:1px solid rgba(215,243,106,.33);border-radius:1.35rem;background:linear-gradient(145deg,#173f47,#102e37);box-shadow:0 28px 80px rgba(0,0,0,.35)}
#main .mdv-photo-frame--home{min-height:340px;aspect-ratio:1.12/1}
#main .mdv-photo-frame img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover}
#main .mdv-photo-frame .hero-circuit{display:block;width:min(100%,460px);height:auto;max-width:100%;max-height:380px;margin:auto;aspect-ratio:460/380}
#main .mdv-photo-frame__caption{position:absolute;right:1rem;bottom:1rem;left:1rem;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:.7rem;background:rgba(7,34,38,.86);color:#fff;font-size:.86rem;font-weight:700;backdrop-filter:blur(10px)}
#main .mdv-photo-frame__chip,#main .mdv-hero-kpi{position:absolute;top:1rem;right:1rem;max-width:calc(100% - 2rem);padding:.5rem .75rem;border:1px solid rgba(215,243,106,.48);border-radius:999px;background:#0B3B3C;color:#D7F36A;font-size:.73rem;font-weight:800}
#main .mdv-hero-kpi{top:auto;right:auto;bottom:4rem;left:1rem}
#main .proof-strip{padding:1.1rem 0;background:#D7F36A;color:#0B3B3C}
#main .proof-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;font-size:.92rem}
#main .proof-inner strong{font-weight:850}
#main .section-heading{max-width:760px;margin:0 auto 2rem;text-align:center}
#main .section-heading .eyebrow{justify-content:center}
#main .section-heading h2,#main .method-copy h2,#main .home-cta h2{margin:.5rem 0 1rem;color:#132A2B;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.04em;line-height:1.08}
#main .section-heading .lead{margin-inline:auto}
#main .pillars-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}
#main .pillar-card{min-width:0;padding:clamp(1.3rem,2.5vw,2rem);border:1px solid #d7dfd8;border-radius:1rem;background:#fff;box-shadow:0 14px 34px rgba(11,59,60,.07);transition:transform .2s ease,box-shadow .2s ease}
#main .pillar-card:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(11,59,60,.12)}
#main .pillar-icon{display:grid;place-items:center;width:3.35rem;height:3.35rem;margin-bottom:1.2rem;border-radius:.9rem;background:#eaf3d0;color:#0B6260}
#main .pillar-icon svg,#main .card-icon svg{display:block;width:32px;height:32px;max-width:32px;max-height:32px;flex:none}
#main .pillar-card h3{margin:.15rem 0 .7rem;color:#132A2B;font-size:1.35rem}
#main .pillar-card p{color:#405454}
#main .text-link{display:inline-flex;gap:.4rem;align-items:center;margin-top:.55rem;color:#075d5b;text-decoration:none;font-weight:800}
#main .text-link:hover{text-decoration:underline;text-underline-offset:3px}
#main .method-layout{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:clamp(2rem,7vw,7rem);align-items:start}
#main .method-copy{position:sticky;top:2rem}
#main .method-copy h2{max-width:12ch}
#main .method-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:0;margin:0;list-style:none;counter-reset:method}
#main .method-steps li{position:relative;min-height:150px;padding:1.4rem;border:1px solid #d7dfd8;border-radius:1rem;background:#fff}
#main .method-steps li:before{display:block;margin-bottom:1rem;color:#0B6260;font-size:1.8rem;font-weight:850;counter-increment:method;content:"0" counter(method)}
#main .method-steps h3{margin:0 0 .45rem;color:#132A2B;font-size:1.15rem}
#main .method-steps p{margin:0;color:#405454;font-size:.96rem}
#main .home-cta{background:radial-gradient(ellipse at 85% 10%,rgba(215,243,106,.14),transparent 45%),#0B3B3C;color:#fff}
#main .home-cta h2{max-width:18ch;color:#fff}
#main .home-cta p:not(.eyebrow){max-width:62ch;color:#E5EFEB}
#main .home-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
#main .mdv-home-proof{background:#F5F2EA}
#main .mdv-home-proof__intro{max-width:760px;margin:0 auto 2.2rem;text-align:center}
#main .mdv-home-proof__intro .eyebrow{justify-content:center}
#main .mdv-home-proof__intro h2{margin:.45rem 0 .8rem;color:#132A2B;font-size:clamp(2rem,4vw,3rem)}
#main .mdv-home-proof__intro>p:last-child{color:#405454}
#main .mdv-home-proof__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;align-items:stretch}
#main .mdv-home-proof-card{min-width:0;overflow:hidden;border:1px solid #d8dfd8;border-radius:1rem;background:#fff;box-shadow:0 12px 30px rgba(11,59,60,.07)}
#main .mdv-home-proof-card h3{min-height:3.7rem;margin:0;padding:1.2rem 1.25rem .75rem;color:#132A2B;font-size:1.08rem}
#main .mdv-home-proof-card__screen{display:flex;min-height:230px;align-items:center;justify-content:center;overflow:hidden;padding:1rem;background:#f0f3ef}
#main .mdv-home-proof-card__screen>img{display:block;width:100%;max-height:260px;object-fit:cover}
#main .mdv-home-proof-card__note{margin:0;padding:1rem 1.2rem 1.25rem;color:#405454;font-size:.82rem;line-height:1.5}
#main .mdv-mock-search,#main .mdv-mock-speed,#main .mdv-mock-roadmap{width:100%;min-width:0;overflow:hidden;border:1px solid #d4ded9;border-radius:.65rem;background:#fff;color:#173537;font-size:.74rem;box-shadow:0 5px 14px rgba(11,59,60,.08)}
#main .mdv-mock-toolbar{display:flex;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border-bottom:1px solid #e1e8e4;background:#f8faf8;font-size:.67rem}
#main .mdv-mock-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:.65rem}
#main .mdv-mock-metrics span{display:grid;gap:.2rem;padding:.5rem;border-radius:.35rem;background:#edf5f2}
#main .mdv-mock-metrics small{color:#4c6260;font-size:.61rem}
#main .mdv-mock-metrics b{font-size:.95rem;color:#0B6260}
#main .mdv-mock-search table{width:100%;border-collapse:collapse;font-size:.62rem}
#main .mdv-mock-search th,#main .mdv-mock-search td{padding:.38rem .55rem;border-top:1px solid #e8eeeb;text-align:left}
#main .mdv-mock-speed{display:flex;align-items:center;gap:1rem;padding:1rem}
#main .mdv-mock-speed__score{display:grid;flex:0 0 76px;place-items:center;width:76px;height:76px;border:5px solid #4d986d;border-radius:50%;color:#256b48}
#main .mdv-mock-speed__score b{font-size:1.6rem;line-height:1}
#main .mdv-mock-speed__score span{font-size:.58rem}
#main .mdv-mock-speed__score small{font-size:.48rem;font-weight:800;letter-spacing:.08em}
#main .mdv-mock-speed__bars{flex:1;min-width:0}
#main .mdv-mock-speed__bars>b{display:flex;justify-content:space-between;gap:.3rem;margin:.4rem 0;font-size:.62rem}
#main .mdv-mock-speed__bars>i{display:block;height:7px;overflow:hidden;border-radius:99px;background:#e4ece7}
#main .mdv-mock-speed__bars>i em{display:block;height:100%;border-radius:inherit;background:#5b9e70}
#main .mdv-mock-speed__bars p{margin:.55rem 0 0;color:#405454;font-size:.58rem;line-height:1.35}
#main .mdv-mock-roadmap__top{display:flex;justify-content:space-between;gap:.5rem;padding:.75rem;background:#0B3B3C;color:#fff;font-size:.62rem;letter-spacing:.04em}
#main .mdv-mock-roadmap__top span{color:#D7F36A}
#main .mdv-mock-roadmap__row{display:grid;grid-template-columns:2rem 1fr auto;gap:.55rem;align-items:center;padding:.7rem;border-bottom:1px solid #e5ebe7}
#main .mdv-mock-roadmap__row>b{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:#eaf3d0;color:#0B6260}
#main .mdv-mock-roadmap__row span{display:grid;gap:.1rem}
#main .mdv-mock-roadmap__row small{color:#536865;font-size:.6rem}
#main .mdv-mock-roadmap__row i{color:#4e6862;font-size:.57rem;font-style:normal}
/* Hard guard: arbitrary inline SVGs can never expand to the viewport width. */
#main svg{display:block;max-width:100%;height:auto;max-height:100%;overflow:visible}
#main .pillar-icon svg,#main .card-icon svg{width:32px;height:32px;max-width:32px;max-height:32px}
#main .hero-circuit{width:min(100%,460px);height:auto;max-width:100%;max-height:380px}
#main .cockpit-svg{width:100%;height:auto;max-width:460px;max-height:380px}
#main .mdv-home-proof-card__screen svg,#main .mdv-home-proof svg{width:auto;max-width:100%;max-height:230px}
#main .grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
#main .services-grid .card{min-width:0;padding:1.5rem;border:1px solid #d7dfd8;border-radius:1rem;background:#fff;color:#132A2B;text-decoration:none;box-shadow:0 12px 30px rgba(11,59,60,.06)}
#main .services-grid .card:hover{transform:translateY(-3px)}
#main .card-top{display:flex;justify-content:space-between;gap:.6rem;margin-bottom:1rem}
#main .card-badge,#main .card-tag{color:#0B6260;font-size:.72rem;font-weight:800;letter-spacing:.05em}
#main .card-arrow{display:flex;justify-content:space-between;gap:.5rem;margin-top:1rem;color:#0B6260;font-weight:800}
#main .steps-flow{display:grid;gap:.8rem}
#main .step-card{display:flex;gap:1rem;padding:1.2rem;border:1px solid #d7dfd8;border-radius:.9rem;background:#fff}
#main .step-num{flex:none;color:#0B6260;font-size:1.55rem;font-weight:850}
#main .step-content h3{margin:0 0 .35rem;color:#132A2B}
#main .step-content p{margin:0;color:#405454}
#main .split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
#main .quote{padding:1.6rem;border-left:4px solid #D97742;background:#fff;color:#173537;font-size:1.18rem;font-weight:700}
#main .cta-panel{padding:clamp(1.5rem,4vw,3rem);border:1px solid rgba(255,255,255,.18);border-radius:1.2rem;background:#082F30;color:#fff}
#main .cta-panel h2,#main .cta-panel p{color:#fff}
#main .cta-panel .eyebrow{color:#D7F36A}
#main .mdv-faq-list{display:grid;gap:.75rem}
#main .mdv-faq-list details{padding:1rem;border:1px solid #d7dfd8;border-radius:.75rem;background:#fff}
#main :is(.pillar-card,.mdv-home-proof-card,.step-card,.card){min-width:0}
#main a:focus-visible{outline:3px solid #D97742;outline-offset:3px}
@media(max-width:900px){#main .hero-grid{grid-template-columns:1fr 1fr;gap:2rem}#main .pillars-grid,#main .mdv-home-proof__grid{grid-template-columns:repeat(2,minmax(0,1fr))}#main .method-layout{grid-template-columns:1fr;gap:2rem}#main .method-copy{position:static}#main .home-cta__inner{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){#main .wrap{width:min(100% - 32px,1160px)}#main .hero--petrol{padding-block:3.5rem}#main .hero-grid{grid-template-columns:minmax(0,1fr)}#main h1{font-size:clamp(2.55rem,12vw,3.8rem)}#main .mdv-photo-frame--home{min-height:280px}#main .mdv-photo-frame img{min-height:280px}#main .pillars-grid,#main .mdv-home-proof__grid,#main .method-steps,#main .grid-3{grid-template-columns:minmax(0,1fr)}#main .section-heading h2{font-size:2rem}#main .mdv-home-proof-card h3{min-height:0}#main .mdv-home-proof-card__screen{min-height:200px}#main .mdv-mock-speed{gap:.65rem;padding:.65rem}#main .mdv-mock-speed__score{flex-basis:66px;width:66px;height:66px}#main .proof-inner{align-items:flex-start;flex-direction:column}#main .hero-actions .button{width:100%}#main .split{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#main *,#main *:before,#main *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
