:root{
    --primary:#0F3D91;
    --dark:#102033;
    --gold:#D4AF37;
    --green:#16A34A;
    --orange:#F97316;
    --bg:#F4F8FF;
    --white:#FFFFFF;
    --text:#102033;
    --muted:#667085;
    --line:#E5EAF2;
    --shadow:0 22px 70px rgba(15,61,145,.14);
}

*{box-sizing:border-box}

body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    background:var(--bg);
    color:var(--text);
}

a{text-decoration:none}

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

.yj-header{
    position:sticky;
    top:0;
    z-index:20;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
}

.yj-header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:16px 0;
}

.yj-logo{
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--dark);
    font-weight:900;
    font-size:22px;
}

.yj-logo-icon{
    width:48px;
    height:48px;
    border-radius:17px;
    background:linear-gradient(135deg,var(--gold),var(--orange));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 12px 26px rgba(212,175,55,.28);
}

.yj-nav{
    display:flex;
    align-items:center;
    gap:18px;
}

.yj-nav a{
    color:var(--dark);
    font-weight:800;
    font-size:14px;
}

.yj-btn{
    border:0;
    cursor:pointer;
    border-radius:999px;
    padding:14px 20px;
    font-weight:900;
    color:#fff;
    background:var(--green);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    box-shadow:0 14px 34px rgba(22,163,74,.24);
}

.yj-btn.secondary{
    background:var(--primary);
    box-shadow:0 14px 34px rgba(15,61,145,.24);
}

.yj-hero{
    padding:70px 0 56px;
    background:
        radial-gradient(circle at top left, rgba(212,175,55,.22), transparent 30%),
        linear-gradient(180deg,#fff,var(--bg));
}

.yj-hero-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:44px;
}

.yj-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#FFFBEB;
    color:#B7791F;
    border:1px solid rgba(212,175,55,.28);
    padding:8px 12px;
    border-radius:999px;
    font-weight:900;
    font-size:13px;
}

.yj-hero h1{
    font-size:clamp(34px, 5vw, 64px);
    line-height:1.02;
    margin:18px 0;
    color:var(--dark);
}

.yj-hero h1 span{
    color:var(--primary);
}

.yj-hero p{
    font-size:18px;
    line-height:1.75;
    color:var(--muted);
    margin:0 0 24px;
}

.yj-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:24px;
}

.yj-trust{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:28px;
}

.yj-trust div{
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:16px;
    box-shadow:0 10px 30px rgba(15,61,145,.08);
}

.yj-trust strong{
    display:block;
    color:var(--primary);
    font-size:22px;
}

.yj-trust span{
    display:block;
    margin-top:4px;
    color:var(--muted);
    font-size:13px;
    font-weight:700;
}

.yj-hero-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:34px;
    padding:28px;
    box-shadow:var(--shadow);
}

.yj-hero-card h3{
    margin:0 0 16px;
    color:var(--primary);
    font-size:24px;
}

.yj-offer-list{
    display:grid;
    gap:12px;
}

.yj-offer-item{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:15px;
    border-radius:20px;
    background:#F8FAFC;
    border:1px solid #EEF2F7;
}

.yj-offer-icon{
    width:38px;
    height:38px;
    border-radius:14px;
    background:#EFF6FF;
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
}

.yj-offer-item strong{
    display:block;
    color:var(--dark);
}

.yj-offer-item span{
    display:block;
    color:var(--muted);
    margin-top:3px;
    font-size:14px;
    line-height:1.5;
}

.yj-section{
    padding:58px 0;
}

.yj-section-head{
    text-align:center;
    max-width:760px;
    margin:0 auto 28px;
}

.yj-section-head h2{
    margin:0 0 12px;
    font-size:clamp(28px,4vw,42px);
    color:var(--dark);
}

.yj-section-head p{
    margin:0;
    color:var(--muted);
    line-height:1.7;
    font-size:17px;
}

.yj-pricing-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.yj-price-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:24px;
    box-shadow:var(--shadow);
}

.yj-price-card h3{
    margin:0;
    color:var(--primary);
    font-size:22px;
}

.yj-price-card .sub{
    color:var(--muted);
    margin:7px 0 16px;
    line-height:1.5;
}

.yj-price{
    font-size:28px;
    font-weight:900;
    color:var(--dark);
    margin-bottom:16px;
}

.yj-price-card ul{
    list-style:none;
    padding:0;
    margin:0 0 20px;
    display:grid;
    gap:10px;
}

.yj-price-card li{
    color:var(--muted);
    line-height:1.45;
}

.yj-price-card li::before{
    content:"✓";
    color:var(--green);
    font-weight:900;
    margin-right:8px;
}

.yj-modal-open{
    overflow:hidden;
}

.yj-modal-backdrop{
    position:fixed;
    inset:0;
    z-index:100;
    background:rgba(16,32,51,.72);
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
}

.yj-modal-backdrop.open{
    display:flex;
}

.yj-modal{
    width:min(980px,100%);
    max-height:92vh;
    overflow-y:auto;
    background:#fff;
    border-radius:30px;
    padding:28px;
    position:relative;
    box-shadow:0 40px 120px rgba(0,0,0,.35);
}

.yj-modal-close{
    position:absolute;
    right:18px;
    top:18px;
    width:42px;
    height:42px;
    border:0;
    border-radius:15px;
    background:#F1F5F9;
    color:var(--dark);
    font-size:26px;
    cursor:pointer;
}

.yj-modal-head{
    padding-right:48px;
    margin-bottom:22px;
}

.yj-modal-head h2{
    margin:14px 0 8px;
    color:var(--dark);
    font-size:30px;
}

.yj-modal-head p{
    margin:0;
    color:var(--muted);
    line-height:1.7;
}

.yj-form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}

.yj-field{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-bottom:14px;
}

.yj-field label,
.yj-upload-box label{
    font-weight:900;
    color:var(--dark);
    font-size:14px;
}

.yj-field input,
.yj-field select,
.yj-field textarea,
.yj-upload-box input{
    width:100%;
    border:1px solid #D8E2F0;
    background:#F8FAFC;
    border-radius:15px;
    padding:14px;
    font-size:15px;
    outline:none;
    font-family:inherit;
}

.yj-field textarea{
    resize:vertical;
}

.yj-field input:focus,
.yj-field select:focus,
.yj-field textarea:focus{
    border-color:var(--primary);
    background:#fff;
    box-shadow:0 0 0 4px rgba(15,61,145,.11);
}

.yj-upload-box{
    border:1px dashed #B8C7DD;
    border-radius:20px;
    padding:18px;
    background:#F8FAFC;
    display:grid;
    gap:8px;
    margin:8px 0 16px;
}

.yj-upload-box small,
.yj-form-note{
    color:var(--muted);
    line-height:1.6;
}

.yj-submit-btn{
    width:100%;
    border:0;
    border-radius:18px;
    padding:16px;
    background:var(--green);
    color:#fff;
    font-weight:900;
    font-size:16px;
    cursor:pointer;
    box-shadow:0 14px 34px rgba(22,163,74,.22);
}

.yj-submit-btn:disabled{
    opacity:.7;
    cursor:not-allowed;
}

.yj-form-alert{
    display:none;
    padding:13px 15px;
    border-radius:15px;
    font-weight:800;
    margin-bottom:14px;
    line-height:1.5;
}

.yj-form-alert.show{
    display:block;
}

.yj-form-alert.info{
    background:#EFF6FF;
    color:#1D4ED8;
}

.yj-form-alert.success{
    background:#ECFDF5;
    color:#047857;
}

.yj-form-alert.error{
    background:#FEF2F2;
    color:#B91C1C;
}

.yj-footer{
    padding:34px 0;
    background:var(--dark);
    color:#fff;
    margin-top:40px;
}

.yj-footer p{
    margin:0;
    color:rgba(255,255,255,.7);
}

@media(max-width:900px){
    .yj-nav{
        display:none;
    }

    .yj-hero-grid,
    .yj-pricing-grid{
        grid-template-columns:1fr;
    }

    .yj-trust{
        grid-template-columns:1fr;
    }

    .yj-form-grid{
        grid-template-columns:1fr;
    }

    .yj-modal{
        padding:22px;
        border-radius:24px;
    }
}
.yj-nav a.active{
    color:var(--primary);
}

.yj-page-hero{
    padding:76px 0 54px;
    background:
        radial-gradient(circle at top left, rgba(212,175,55,.22), transparent 32%),
        linear-gradient(180deg,#fff,var(--bg));
    text-align:center;
}

.yj-page-hero h1{
    max-width:920px;
    margin:18px auto;
    font-size:clamp(34px,5vw,58px);
    line-height:1.05;
    color:var(--dark);
}

.yj-page-hero p{
    max-width:820px;
    margin:0 auto 24px;
    color:var(--muted);
    line-height:1.75;
    font-size:18px;
}

.yj-card-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.yj-service-card,
.yj-contact-card,
.yj-side-cta{
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:26px;
    box-shadow:var(--shadow);
}

.yj-service-card h2,
.yj-contact-card h2,
.yj-side-cta h3{
    margin:0 0 12px;
    color:var(--primary);
    font-size:24px;
}

.yj-service-card p,
.yj-contact-card p,
.yj-side-cta p{
    color:var(--muted);
    line-height:1.7;
}

.yj-service-card ul,
.yj-contact-card ul{
    list-style:none;
    padding:0;
    margin:18px 0;
    display:grid;
    gap:10px;
}

.yj-service-card li,
.yj-contact-card li{
    color:var(--muted);
    line-height:1.5;
}

.yj-service-card li::before,
.yj-contact-card li::before{
    content:"✓";
    color:var(--green);
    font-weight:900;
    margin-right:8px;
}

.yj-service-icon{
    width:54px;
    height:54px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#EFF6FF;
    color:var(--primary);
    font-size:22px;
    font-weight:900;
    margin-bottom:16px;
}

.yj-soft-section{
    background:#fff;
}

.yj-page-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    align-items:center;
}

.yj-page-grid h2{
    font-size:clamp(28px,4vw,42px);
    margin:14px 0;
    color:var(--dark);
}

.yj-page-grid p{
    color:var(--muted);
    line-height:1.75;
    font-size:17px;
}

.yj-steps-box{
    display:grid;
    gap:14px;
}

.yj-steps-box div{
    background:#F8FAFC;
    border:1px solid var(--line);
    border-radius:20px;
    padding:18px;
    display:flex;
    align-items:center;
    gap:14px;
}

.yj-steps-box strong{
    width:42px;
    height:42px;
    border-radius:15px;
    background:var(--primary);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
}

.yj-steps-box span{
    font-weight:900;
    color:var(--dark);
}

.yj-info-list,
.yj-check-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.yj-info-list div,
.yj-check-list div{
    background:#F8FAFC;
    border:1px solid var(--line);
    border-radius:16px;
    padding:15px;
    font-weight:800;
    color:var(--dark);
}

.yj-check-list div::before{
    content:"✓";
    color:var(--green);
    font-weight:900;
    margin-right:8px;
}

.yj-side-cta{
    background:linear-gradient(135deg,#0F3D91,#102033);
    color:#fff;
}

.yj-side-cta h3{
    color:#fff;
}

.yj-side-cta p{
    color:rgba(255,255,255,.78);
}

.yj-portfolio-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    overflow:hidden;
    box-shadow:var(--shadow);
}

.yj-portfolio-image{
    height:180px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#0F3D91,#102033);
    color:#fff;
    font-size:64px;
    font-weight:900;
}

.yj-portfolio-body{
    padding:24px;
}

.yj-portfolio-body h2{
    color:var(--primary);
    margin:12px 0;
    font-size:22px;
}

.yj-portfolio-body p{
    color:var(--muted);
    line-height:1.7;
}

.yj-portfolio-body small{
    display:block;
    color:var(--muted);
    margin:12px 0;
}

.yj-mini-tag{
    display:inline-flex;
    background:#FFFBEB;
    color:#B7791F;
    border-radius:999px;
    padding:7px 11px;
    font-weight:900;
    font-size:12px;
}

.yj-inline-link{
    display:inline-flex;
    color:var(--primary);
    font-weight:900;
    margin-top:10px;
}

.yj-contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}

.yj-contact-card.primary{
    background:linear-gradient(135deg,#0F3D91,#102033);
    color:#fff;
}

.yj-contact-card.primary h2{
    color:#fff;
}

.yj-contact-card.primary p{
    color:rgba(255,255,255,.78);
}

.yj-footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:30px;
}

.yj-footer h4{
    margin:0 0 12px;
    color:#fff;
}

.yj-footer a{
    display:block;
    color:rgba(255,255,255,.72);
    margin:9px 0;
}

.footer-logo{
    color:#fff;
    margin-bottom:14px;
}

.yj-footer-bottom{
    border-top:1px solid rgba(255,255,255,.12);
    margin-top:24px;
    padding-top:18px;
    display:flex;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
}

@media(max-width:900px){
    .yj-card-grid,
    .yj-page-grid,
    .yj-contact-grid,
    .yj-footer-grid{
        grid-template-columns:1fr;
    }

    .yj-info-list,
    .yj-check-list{
        grid-template-columns:1fr;
    }
}
.yj-blog-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.yj-blog-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    overflow:hidden;
    box-shadow:var(--shadow);
}

.yj-blog-cover{
    height:190px;
    background:linear-gradient(135deg,#0F3D91,#102033);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:58px;
    font-weight:900;
}

.yj-blog-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.yj-blog-body{
    padding:24px;
}

.yj-blog-body small,
.yj-article-meta{
    color:var(--muted);
    font-weight:700;
}

.yj-blog-body h2{
    margin:12px 0;
    color:var(--primary);
    font-size:23px;
}

.yj-blog-body p{
    color:var(--muted);
    line-height:1.7;
}

.yj-article-layout{
    display:grid;
    grid-template-columns:2fr .8fr;
    gap:24px;
    align-items:start;
}

.yj-article-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:30px;
    padding:30px;
    box-shadow:var(--shadow);
}

.yj-article-cover{
    width:100%;
    border-radius:24px;
    margin-bottom:24px;
}

.yj-article-content{
    margin-top:24px;
    color:var(--text);
    line-height:1.9;
    font-size:18px;
}

@media(max-width:900px){
    .yj-blog-grid,
    .yj-article-layout{
        grid-template-columns:1fr;
    }
}
/* Patch YesodJob — actions cartes services */
.yj-card-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

.yj-card-actions .yj-btn{
    flex:1;
    min-width:150px;
}

/* Patch YesodJob — footer 4 colonnes */
.yj-footer-grid{
    grid-template-columns:2fr 1fr 1fr 1fr;
}

@media(max-width:900px){
    .yj-footer-grid{
        grid-template-columns:1fr;
    }
}

/* Patch YesodJob — positionnement 100% sur mesure */
.yj-custom-notice{
    margin:22px 0;
    background:#fff;
    border:1px solid rgba(212,175,55,.35);
    border-left:6px solid var(--gold);
    border-radius:20px;
    padding:18px 20px;
    box-shadow:0 16px 40px rgba(15,61,145,.10);
}

.yj-custom-notice strong{
    display:block;
    color:var(--primary);
    font-size:18px;
    margin-bottom:6px;
}

.yj-custom-notice span{
    display:block;
    color:var(--muted);
    line-height:1.65;
}

.yj-custom-notice.service{
    width:min(680px,100%);
    margin:26px auto 0;
    text-align:left;
}

.yj-page-note{
    max-width:760px;
    margin:18px auto 0;
    color:var(--muted);
    line-height:1.7;
    font-weight:700;
}

/* Patch YesodJob — pages légales & confiance */
.yj-legal-layout{
    display:grid;
    grid-template-columns:2fr .75fr;
    gap:24px;
    align-items:start;
}

.yj-legal-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:30px;
    padding:32px;
    box-shadow:var(--shadow);
}

.yj-legal-card h2{
    color:var(--primary);
    margin:30px 0 12px;
    font-size:24px;
}

.yj-legal-card p,
.yj-legal-card li{
    color:var(--muted);
    line-height:1.8;
    font-size:16px;
}

.yj-legal-card a{
    color:var(--primary);
    font-weight:900;
}

.yj-legal-update{
    background:#F8FAFC;
    border:1px solid var(--line);
    border-radius:14px;
    padding:12px 14px;
    font-weight:800;
    color:var(--dark) !important;
}

.yj-legal-info{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin:18px 0;
}

.yj-legal-info div{
    background:#F8FAFC;
    border:1px solid var(--line);
    border-radius:16px;
    padding:14px;
}

.yj-legal-info strong{
    display:block;
    color:var(--dark);
    margin-bottom:5px;
}

.yj-legal-info span{
    display:block;
    color:var(--muted);
    line-height:1.5;
}

.yj-legal-side{
    background:linear-gradient(135deg,#0F3D91,#102033);
    border-radius:28px;
    padding:24px;
    box-shadow:var(--shadow);
    position:sticky;
    top:96px;
}

.yj-legal-side h3{
    margin:0 0 14px;
    color:#fff;
    font-size:22px;
}

.yj-legal-side a{
    display:block;
    color:rgba(255,255,255,.86);
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    border-radius:14px;
    padding:12px 13px;
    margin:9px 0;
    font-weight:800;
}

.yj-trust-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.yj-trust-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:24px;
    box-shadow:var(--shadow);
}

.yj-trust-card strong{
    width:48px;
    height:48px;
    border-radius:17px;
    background:#EFF6FF;
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    margin-bottom:16px;
}

.yj-trust-card h2{
    margin:0 0 10px;
    color:var(--primary);
    font-size:22px;
}

.yj-trust-card p{
    margin:0;
    color:var(--muted);
    line-height:1.7;
}

@media(max-width:900px){
    .yj-legal-layout,
    .yj-legal-info,
    .yj-trust-grid{
        grid-template-columns:1fr;
    }

    .yj-legal-side{
        position:static;
    }

    .yj-legal-card{
        padding:22px;
    }
}
/* Patch pages pays YesodJob */
.yj-hero-actions.center{
    justify-content:center;
}

.yj-final-cta{
    text-align:center;
    background:
        radial-gradient(circle at top left, rgba(212,175,55,.22), transparent 30%),
        linear-gradient(135deg,#0F3D91,#102033);
    color:#fff;
    border-radius:34px;
    padding:42px 24px;
    box-shadow:0 30px 90px rgba(15,61,145,.22);
}

.yj-final-cta h2{
    margin:16px auto 12px;
    max-width:820px;
    font-size:clamp(30px,4vw,48px);
    line-height:1.08;
    color:#fff;
}

.yj-final-cta p{
    max-width:760px;
    margin:0 auto 24px;
    color:rgba(255,255,255,.78);
    line-height:1.75;
    font-size:17px;
}

.yj-final-cta .yj-kicker{
    background:rgba(255,255,255,.12);
    color:#fff;
    border-color:rgba(255,255,255,.2);
}

/* Patch YesodJob — vrai portfolio */
.yj-portfolio-filters{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
    margin-bottom:28px;
}

.yj-portfolio-filters a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#fff;
    color:var(--primary);
    border:1px solid var(--line);
    border-radius:999px;
    padding:11px 16px;
    font-weight:900;
    box-shadow:0 10px 26px rgba(15,61,145,.08);
}

.yj-portfolio-filters a.active{
    background:var(--primary);
    color:#fff;
}

.yj-portfolio-filters span{
    background:rgba(15,61,145,.10);
    padding:3px 8px;
    border-radius:999px;
}

.yj-portfolio-filters a.active span{
    background:rgba(255,255,255,.18);
}

.yj-portfolio-grid-real{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.yj-case-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:30px;
    overflow:hidden;
    box-shadow:var(--shadow);
    display:flex;
    flex-direction:column;
}

.yj-case-cover{
    height:220px;
    background:linear-gradient(135deg,#0F3D91,#102033);
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:72px;
    font-weight:900;
}

.yj-case-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.yj-case-cover em{
    position:absolute;
    left:14px;
    top:14px;
    background:rgba(255,255,255,.94);
    color:var(--primary);
    font-style:normal;
    font-size:12px;
    font-weight:900;
    padding:8px 11px;
    border-radius:999px;
}

.yj-case-body{
    padding:24px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.yj-case-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:12px;
}

.yj-case-meta span{
    background:#EFF6FF;
    color:var(--primary);
    border-radius:999px;
    padding:7px 10px;
    font-size:12px;
    font-weight:900;
}

.yj-case-body h2{
    margin:0 0 12px;
    color:var(--dark);
    font-size:23px;
    line-height:1.22;
}

.yj-case-body p{
    color:var(--muted);
    line-height:1.7;
}

.yj-case-info{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:16px 0;
}

.yj-case-info div{
    background:#F8FAFC;
    border:1px solid var(--line);
    border-radius:16px;
    padding:12px;
}

.yj-case-info strong{
    display:block;
    color:var(--dark);
    font-size:13px;
    margin-bottom:4px;
}

.yj-case-info span{
    color:var(--muted);
    font-size:13px;
    line-height:1.4;
}

.yj-tech-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:10px 0 18px;
}

.yj-tech-tags span{
    background:#FFFBEB;
    color:#B7791F;
    border:1px solid rgba(212,175,55,.25);
    border-radius:999px;
    padding:7px 10px;
    font-size:12px;
    font-weight:900;
}

.yj-tech-tags.large span{
    font-size:14px;
    padding:9px 12px;
}

.yj-case-layout{
    display:grid;
    grid-template-columns:2fr .85fr;
    gap:24px;
    align-items:start;
}

.yj-case-detail{
    background:#fff;
    border:1px solid var(--line);
    border-radius:30px;
    padding:32px;
    box-shadow:var(--shadow);
}

.yj-case-main-image{
    width:100%;
    border-radius:24px;
    margin-bottom:24px;
}

.yj-case-detail h2{
    color:var(--primary);
    font-size:28px;
    margin:28px 0 12px;
}

.yj-case-detail p{
    color:var(--muted);
    line-height:1.85;
    font-size:17px;
}

.yj-result-list{
    display:grid;
    gap:12px;
    padding:0;
    margin:16px 0;
    list-style:none;
}

.yj-result-list li{
    background:#ECFDF5;
    color:#047857;
    border:1px solid rgba(22,163,74,.18);
    border-radius:16px;
    padding:14px 16px;
    font-weight:800;
    line-height:1.5;
}

.yj-result-list li::before{
    content:"✓";
    margin-right:8px;
    font-weight:900;
}

.yj-case-sidebar{
    background:linear-gradient(135deg,#0F3D91,#102033);
    color:#fff;
    border-radius:28px;
    padding:24px;
    box-shadow:var(--shadow);
    position:sticky;
    top:96px;
}

.yj-case-sidebar h3{
    margin:0 0 18px;
    font-size:24px;
}

.yj-case-side-row{
    border-bottom:1px solid rgba(255,255,255,.14);
    padding:13px 0;
}

.yj-case-side-row strong{
    display:block;
    color:rgba(255,255,255,.70);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:5px;
}

.yj-case-side-row span{
    display:block;
    color:#fff;
    font-weight:800;
    line-height:1.5;
}

.yj-case-sidebar .yj-btn{
    width:100%;
    margin-top:14px;
}

@media(max-width:1100px){
    .yj-portfolio-grid-real{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:900px){
    .yj-portfolio-grid-real,
    .yj-case-layout{
        grid-template-columns:1fr;
    }

    .yj-case-sidebar{
        position:static;
    }

    .yj-case-info{
        grid-template-columns:1fr;
    }
}
/* Patch YesodJob — Money SEO Pages */
.yj-money-hero{
    padding:82px 0 62px;
    background:
        radial-gradient(circle at top left, rgba(212,175,55,.24), transparent 32%),
        radial-gradient(circle at bottom right, rgba(15,61,145,.12), transparent 34%),
        linear-gradient(180deg,#fff,var(--bg));
}

.yj-money-hero-grid{
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:34px;
    align-items:center;
}

.yj-money-hero h1{
    margin:18px 0;
    font-size:clamp(36px,5vw,64px);
    line-height:1.02;
    color:var(--dark);
    letter-spacing:-.03em;
}

.yj-money-hero p{
    color:var(--muted);
    line-height:1.75;
    font-size:18px;
    max-width:760px;
}

.yj-money-proof{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin:26px 0;
}

.yj-money-proof div{
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:16px;
    box-shadow:0 12px 34px rgba(15,61,145,.09);
}

.yj-money-proof strong{
    display:block;
    color:var(--primary);
    font-size:25px;
    font-weight:900;
}

.yj-money-proof span{
    color:var(--muted);
    font-size:13px;
    font-weight:800;
}

.yj-money-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:34px;
    padding:28px;
    box-shadow:var(--shadow);
}

.yj-money-card h2{
    margin:0 0 12px;
    color:var(--primary);
    font-size:28px;
}

.yj-money-card p{
    color:var(--muted);
    line-height:1.7;
}

.yj-money-card-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:20px 0;
}

.yj-money-card-list div{
    background:#F8FAFC;
    border:1px solid var(--line);
    border-radius:16px;
    padding:13px;
    font-weight:900;
    color:var(--dark);
}

.yj-money-card-list div::before{
    content:"✓";
    color:var(--green);
    margin-right:8px;
}

.yj-money-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.yj-money-box{
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:24px;
    box-shadow:var(--shadow);
}

.yj-money-box strong{
    display:inline-flex;
    background:#FFFBEB;
    color:#B7791F;
    border:1px solid rgba(212,175,55,.28);
    border-radius:999px;
    padding:7px 10px;
    font-size:12px;
    margin-bottom:14px;
}

.yj-money-box h3{
    color:var(--primary);
    margin:0 0 10px;
    font-size:23px;
}

.yj-money-box p{
    color:var(--muted);
    line-height:1.7;
}

.yj-money-compare{
    background:#fff;
    border:1px solid var(--line);
    border-radius:30px;
    padding:26px;
    box-shadow:var(--shadow);
}

.yj-money-compare h2{
    margin:0 0 18px;
    color:var(--primary);
    font-size:30px;
}

.yj-compare-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    border-top:1px solid var(--line);
    padding:14px 0;
}

.yj-compare-row span{
    color:var(--muted);
    line-height:1.5;
    font-weight:700;
}

.yj-compare-row span:last-child{
    color:var(--dark);
    font-weight:900;
}

.yj-compare-row.head{
    border-top:0;
    background:#F8FAFC;
    border-radius:16px;
    padding:14px;
}

.yj-compare-row.head span{
    color:var(--primary);
    font-weight:900;
}

@media(max-width:1000px){
    .yj-money-hero-grid,
    .yj-money-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:720px){
    .yj-money-proof,
    .yj-money-card-list,
    .yj-compare-row{
        grid-template-columns:1fr;
    }

    .yj-money-hero{
        padding:58px 0 42px;
    }
}

/* YESODWEB_POWER_SEO_CSS */
.yj-power-seo-links{
    position:relative;
}

.yj-power-link-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
}

.yj-power-link-grid a{
    display:flex;
    align-items:center;
    min-height:76px;
    padding:18px;
    border-radius:22px;
    background:#fff;
    border:1px solid var(--line);
    color:var(--primary);
    font-weight:950;
    text-decoration:none;
    box-shadow:0 14px 36px rgba(15,23,42,.055);
    line-height:1.25;
}

.yj-power-link-grid a:hover{
    transform:translateY(-2px);
    box-shadow:0 20px 45px rgba(15,23,42,.09);
}

@media(max-width:1100px){
    .yj-power-link-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:720px){
    .yj-power-link-grid{
        grid-template-columns:1fr;
    }

    .yj-power-link-grid a{
        min-height:64px;
        font-size:16px;
    }
}
/* YESODWEB_SEO_SVG_DETAILS_CSS */
.yj-seo-visual{
    margin:0 0 22px;
    padding:0;
}

.yj-seo-visual img{
    display:block;
    width:100%;
    height:auto;
    border-radius:26px;
    border:1px solid rgba(219,234,254,.95);
    box-shadow:0 22px 60px rgba(15,23,42,.12);
    background:#0F3D91;
}

.yj-seo-visual figcaption{
    margin-top:10px;
    color:#64748b;
    font-size:13px;
    line-height:1.55;
    font-weight:750;
}

.yj-seo-detail-section{
    background:
        radial-gradient(circle at top left, rgba(15,61,145,.08), transparent 30%),
        linear-gradient(180deg,#ffffff,#f8fbff);
}

.yj-seo-detail-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}

.yj-seo-detail-card{
    background:#ffffff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:24px;
    box-shadow:var(--shadow);
}

.yj-seo-detail-icon{
    width:48px;
    height:48px;
    border-radius:17px;
    background:#ECFDF5;
    color:#16A34A;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:950;
    margin-bottom:15px;
}

.yj-seo-detail-card h3{
    margin:0 0 10px;
    color:var(--primary);
    font-size:22px;
    line-height:1.25;
}

.yj-seo-detail-card p{
    margin:0;
    color:var(--muted);
    line-height:1.75;
    font-weight:650;
}

@media(max-width:1000px){
    .yj-seo-detail-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:720px){
    .yj-seo-visual img{
        border-radius:22px;
    }

    .yj-seo-detail-card{
        padding:20px;
        border-radius:24px;
    }
}
/* YESODWEB_RESPONSIVE_SEO_LAYOUT_V3 */
/* Correction globale mobile + tablette + PC pour pages SEO YesodWeb Studio */

html,
body{
    max-width:100%;
    overflow-x:hidden;
}

body{
    -webkit-text-size-adjust:100%;
}

.yj-container{
    width:min(100% - 32px, 1180px);
    margin-left:auto;
    margin-right:auto;
}

.yj-header{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(226,232,240,.9);
}

.yj-header-inner{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.yj-logo{
    min-width:0;
    display:flex;
    align-items:center;
    gap:12px;
}

.yj-logo span:last-child{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.yj-money-hero{
    padding:clamp(44px,6vw,88px) 0 clamp(34px,5vw,66px);
    overflow:hidden;
}

.yj-money-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
    gap:clamp(24px,4vw,44px);
    align-items:start;
}

.yj-money-hero-grid > *{
    min-width:0;
}

.yj-money-hero h1{
    max-width:880px;
    font-size:clamp(36px,5vw,64px);
    line-height:1.04;
    letter-spacing:-.045em;
}

.yj-money-hero p{
    max-width:760px;
    font-size:clamp(16px,1.35vw,19px);
    line-height:1.78;
}

.yj-money-proof{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:26px 0;
}

.yj-money-proof div{
    min-width:0;
}

.yj-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
}

.yj-hero-actions .yj-btn{
    min-height:46px;
}

.yj-money-card{
    width:100%;
    max-width:100%;
    border-radius:32px;
    padding:clamp(20px,3vw,30px);
}

.yj-seo-visual{
    margin:0 0 22px;
}

.yj-seo-visual img{
    width:100%;
    height:auto;
    aspect-ratio:1200 / 675;
    object-fit:cover;
    border-radius:26px;
}

.yj-seo-visual figcaption{
    font-size:13px;
    line-height:1.55;
}

.yj-money-card h2{
    font-size:clamp(24px,2.6vw,32px);
    line-height:1.18;
}

.yj-money-card p{
    font-size:16px;
    line-height:1.75;
}

.yj-money-card-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.yj-money-card-list div{
    min-width:0;
    overflow-wrap:anywhere;
}

.yj-section{
    padding:clamp(52px,6vw,86px) 0;
}

.yj-section-head{
    max-width:840px;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:32px;
    text-align:center;
}

.yj-section-head h2{
    font-size:clamp(30px,4vw,48px);
    line-height:1.1;
    letter-spacing:-.035em;
}

.yj-section-head p{
    font-size:clamp(16px,1.4vw,19px);
    line-height:1.75;
}

.yj-page-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(310px,390px);
    gap:clamp(22px,4vw,38px);
    align-items:start;
}

.yj-page-grid > *{
    min-width:0;
}

.yj-check-list{
    display:grid;
    gap:10px;
    margin-top:20px;
}

.yj-check-list div{
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:14px 16px;
    font-weight:850;
    color:var(--dark);
    box-shadow:0 10px 26px rgba(15,23,42,.04);
}

.yj-side-cta{
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:24px;
    box-shadow:var(--shadow);
    position:sticky;
    top:110px;
}

.yj-money-grid,
.yj-seo-detail-grid,
.yj-faq-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}

.yj-money-box,
.yj-seo-detail-card,
.yj-faq-item{
    min-width:0;
    overflow-wrap:anywhere;
}

.yj-money-compare{
    min-width:0;
}

.yj-compare-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.yj-steps-box{
    display:grid;
    gap:12px;
}

.yj-steps-box div{
    display:flex;
    gap:12px;
    align-items:flex-start;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:14px;
}

.yj-steps-box strong{
    flex:0 0 34px;
    width:34px;
    height:34px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eff6ff;
    color:var(--primary);
}

/* Tablette */
@media(max-width:1100px){
    .yj-money-hero-grid{
        grid-template-columns:1fr;
    }

    .yj-money-card{
        max-width:820px;
        margin-left:auto;
        margin-right:auto;
    }

    .yj-page-grid{
        grid-template-columns:1fr;
    }

    .yj-side-cta{
        position:static;
    }

    .yj-money-grid,
    .yj-seo-detail-grid,
    .yj-faq-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

/* Mobile */
@media(max-width:760px){
    .yj-container{
        width:min(100% - 26px, 1180px);
    }

    .yj-header-inner{
        min-height:70px;
        gap:10px;
    }

    .yj-logo{
        gap:9px;
    }

    .yj-logo-icon{
        width:44px !important;
        height:44px !important;
        min-width:44px !important;
        border-radius:15px !important;
        font-size:15px !important;
    }

    .yj-logo span:last-child{
        max-width:150px;
        font-size:17px !important;
        line-height:1.1;
    }

    .yj-header .yj-btn{
        padding:10px 13px !important;
        min-height:42px;
        border-radius:999px !important;
        font-size:12px !important;
        line-height:1.1;
        white-space:normal;
        max-width:132px;
        text-align:center;
    }

    .yj-money-hero{
        padding:28px 0 34px;
        background:
            radial-gradient(circle at top left, rgba(212,175,55,.18), transparent 34%),
            linear-gradient(180deg,#fff,#f7fbff);
    }

    .yj-money-hero-grid{
        display:flex !important;
        flex-direction:column !important;
        gap:20px !important;
    }

    .yj-money-hero-grid > div{
        width:100% !important;
        max-width:100% !important;
    }

    .yj-kicker{
        max-width:100%;
        white-space:normal;
        line-height:1.35;
        font-size:12px;
        padding:7px 11px;
    }

    .yj-money-hero h1{
        font-size:29px !important;
        line-height:1.13 !important;
        letter-spacing:-.035em;
        margin:16px 0 12px;
        max-width:100%;
    }

    .yj-money-hero p{
        max-width:100%;
        font-size:15px !important;
        line-height:1.68 !important;
    }

    .yj-money-proof{
        grid-template-columns:1fr !important;
        gap:10px;
        margin:18px 0;
    }

    .yj-money-proof div{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:14px;
        padding:13px 15px;
        border-radius:17px;
    }

    .yj-money-proof strong{
        font-size:20px;
        white-space:nowrap;
    }

    .yj-money-proof span{
        text-align:right;
        font-size:12px;
    }

    .yj-hero-actions{
        display:grid;
        grid-template-columns:1fr;
        gap:10px;
        width:100%;
    }

    .yj-hero-actions .yj-btn,
    .yj-money-card .yj-btn,
    .yj-side-cta .yj-btn,
    .yj-final-cta .yj-btn{
        width:100%;
        justify-content:center;
        text-align:center;
    }

    .yj-money-card{
        padding:15px;
        border-radius:24px;
        box-shadow:0 14px 34px rgba(15,23,42,.08);
    }

    .yj-seo-visual{
        margin-bottom:14px;
    }

    .yj-seo-visual img{
        border-radius:19px;
        box-shadow:0 14px 34px rgba(15,23,42,.12);
    }

    .yj-seo-visual figcaption{
        font-size:11px;
        line-height:1.45;
        padding:0 2px;
    }

    .yj-money-card h2{
        font-size:22px !important;
        line-height:1.2;
    }

    .yj-money-card p{
        font-size:14px;
        line-height:1.65;
    }

    .yj-money-card-list{
        grid-template-columns:1fr !important;
        gap:8px;
    }

    .yj-money-card-list div{
        padding:12px;
        border-radius:14px;
        font-size:13px;
    }

    .yj-section{
        padding:42px 0;
    }

    .yj-section-head{
        text-align:left;
        margin-bottom:22px;
    }

    .yj-section-head h2{
        font-size:26px !important;
        line-height:1.15;
    }

    .yj-section-head p{
        font-size:14.5px;
        line-height:1.65;
    }

    .yj-page-grid{
        display:flex !important;
        flex-direction:column !important;
        gap:18px !important;
    }

    .yj-page-grid h2{
        font-size:24px;
        line-height:1.18;
    }

    .yj-page-grid p{
        font-size:14.5px;
        line-height:1.65;
    }

    .yj-check-list div{
        padding:12px 13px;
        border-radius:14px;
        font-size:13px;
    }

    .yj-side-cta{
        border-radius:22px;
        padding:18px;
    }

    .yj-side-cta h3{
        font-size:21px;
        line-height:1.2;
    }

    .yj-money-grid,
    .yj-seo-detail-grid,
    .yj-faq-grid{
        grid-template-columns:1fr !important;
        gap:14px;
    }

    .yj-money-box,
    .yj-seo-detail-card,
    .yj-faq-item{
        border-radius:21px;
        padding:18px;
    }

    .yj-money-box h3,
    .yj-seo-detail-card h3,
    .yj-faq-item h3{
        font-size:20px;
        line-height:1.22;
    }

    .yj-money-box p,
    .yj-seo-detail-card p,
    .yj-faq-item p{
        font-size:14px;
        line-height:1.65;
    }

    .yj-money-compare{
        border-radius:22px;
        padding:18px;
    }

    .yj-money-compare h2{
        font-size:24px;
        line-height:1.15;
    }

    .yj-compare-row{
        grid-template-columns:1fr !important;
        gap:8px;
        padding:12px 0;
    }

    .yj-compare-row.head{
        display:none;
    }

    .yj-steps-box div{
        border-radius:15px;
        padding:12px;
    }

    .yj-final-cta{
        border-radius:26px;
        padding:28px 18px;
        text-align:left;
    }

    .yj-final-cta h2{
        font-size:26px !important;
        line-height:1.15;
    }
}

/* Très petit téléphone */
@media(max-width:390px){
    .yj-logo span:last-child{
        max-width:118px;
        font-size:15px !important;
    }

    .yj-header .yj-btn{
        max-width:118px;
        padding-left:10px !important;
        padding-right:10px !important;
        font-size:11px !important;
    }

    .yj-money-hero h1{
        font-size:26px !important;
    }
}

/* Grand écran PC */
@media(min-width:1280px){
    .yj-container{
        width:min(100% - 56px, 1240px);
    }

    .yj-money-hero-grid{
        gap:54px;
    }

    .yj-money-card{
        align-self:start;
    }
}
/* YESODWEB_SALES_SEO_COPY_ICONS_CSS */
.yj-sales-seo-section{
    background:
        radial-gradient(circle at top left, rgba(15,61,145,.08), transparent 34%),
        linear-gradient(180deg,#ffffff,#f7fbff);
}

.yj-sales-seo-head{
    max-width:920px;
    margin:0 auto 34px;
    text-align:center;
}

.yj-sales-seo-head h2{
    margin:16px auto 14px;
    color:var(--dark);
    font-size:clamp(34px,4vw,54px);
    line-height:1.06;
    letter-spacing:-.045em;
}

.yj-sales-seo-head p{
    max-width:820px;
    margin:0 auto;
    color:var(--muted);
    font-size:18px;
    line-height:1.75;
    font-weight:700;
}

.yj-sales-seo-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.yj-sales-seo-card{
    display:flex;
    gap:18px;
    align-items:flex-start;
    background:#fff;
    border:1px solid var(--line);
    border-radius:30px;
    padding:26px;
    box-shadow:0 18px 48px rgba(15,23,42,.075);
    min-width:0;
}

.yj-sales-seo-icon{
    flex:0 0 62px;
    width:62px;
    height:62px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#EFF6FF,#ECFDF5);
    font-size:30px;
    box-shadow:inset 0 0 0 1px rgba(15,61,145,.08);
}

.yj-sales-seo-card h3{
    margin:0 0 10px;
    color:var(--primary);
    font-size:25px;
    line-height:1.18;
    letter-spacing:-.02em;
}

.yj-sales-seo-card p{
    margin:0;
    color:#5f6b7d;
    line-height:1.75;
    font-weight:720;
    font-size:16px;
}

.yj-sales-seo-cta{
    margin-top:26px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    background:
        radial-gradient(circle at top left, rgba(212,175,55,.25), transparent 34%),
        linear-gradient(135deg,#0F3D91,#102033);
    color:#fff;
    border-radius:30px;
    padding:26px;
    box-shadow:0 25px 70px rgba(15,61,145,.22);
}

.yj-sales-seo-cta strong{
    display:block;
    font-size:25px;
    line-height:1.2;
    margin-bottom:6px;
}

.yj-sales-seo-cta span{
    display:block;
    color:rgba(255,255,255,.78);
    line-height:1.65;
    font-weight:700;
}

.yj-sales-seo-cta .yj-btn{
    white-space:nowrap;
    background:#16A34A;
    color:#fff;
}

@media(max-width:900px){
    .yj-sales-seo-head{
        text-align:left;
        margin-bottom:24px;
    }

    .yj-sales-seo-head h2{
        font-size:30px;
        line-height:1.12;
    }

    .yj-sales-seo-head p{
        font-size:15.5px;
        line-height:1.68;
    }

    .yj-sales-seo-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .yj-sales-seo-card{
        border-radius:24px;
        padding:20px;
        gap:14px;
    }

    .yj-sales-seo-icon{
        flex-basis:54px;
        width:54px;
        height:54px;
        border-radius:19px;
        font-size:26px;
    }

    .yj-sales-seo-card h3{
        font-size:21px;
        line-height:1.2;
    }

    .yj-sales-seo-card p{
        font-size:14.5px;
        line-height:1.65;
    }

    .yj-sales-seo-cta{
        flex-direction:column;
        align-items:stretch;
        border-radius:24px;
        padding:22px;
    }

    .yj-sales-seo-cta strong{
        font-size:22px;
    }

    .yj-sales-seo-cta .yj-btn{
        width:100%;
        justify-content:center;
        text-align:center;
    }
}

@media(max-width:430px){
    .yj-sales-seo-card{
        flex-direction:column;
    }

    .yj-sales-seo-icon{
        flex-basis:auto;
    }
}
/* YESODWEB_QUOTE_FORM_LIVING_CSS */
.yj-quote-live-ready{
    --quote-blue:#0F3D91;
    --quote-dark:#102033;
    --quote-green:#16A34A;
    --quote-gold:#D4AF37;
    --quote-soft:#F4F8FF;
}

/* Fond modal plus premium */
.yj-quote-live-ready,
.yj-quote-live-ready body{
    overflow-x:hidden;
}

.yj-quote-live-card{
    position:relative;
    overflow:hidden;
    border-radius:34px !important;
    background:
        radial-gradient(circle at top left, rgba(22,163,74,.18), transparent 30%),
        radial-gradient(circle at top right, rgba(212,175,55,.22), transparent 30%),
        linear-gradient(180deg,#ffffff,#f8fbff) !important;
    box-shadow:0 30px 90px rgba(15,23,42,.22) !important;
    border:1px solid rgba(219,234,254,.95) !important;
}

/* Header injecté */
.yj-quote-live-top{
    position:relative;
    margin:-6px -6px 24px;
    padding:24px;
    border-radius:28px;
    color:#fff;
    background:
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.20), transparent 28%),
        linear-gradient(135deg,#0F3D91,#102033 65%,#0B5FFF);
    overflow:hidden;
}

.yj-quote-live-top::before{
    content:"";
    position:absolute;
    width:210px;
    height:210px;
    border-radius:999px;
    right:-78px;
    top:-90px;
    background:rgba(255,255,255,.12);
}

.yj-quote-live-top::after{
    content:"";
    position:absolute;
    width:160px;
    height:160px;
    border-radius:999px;
    left:-70px;
    bottom:-90px;
    background:rgba(212,175,55,.22);
}

.yj-quote-live-badge{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.22);
    color:#fff;
    font-size:12px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.yj-quote-live-badge span{
    width:9px;
    height:9px;
    border-radius:999px;
    background:#22C55E;
    box-shadow:0 0 0 6px rgba(34,197,94,.18);
}

.yj-quote-live-title{
    position:relative;
    z-index:1;
    margin:16px 0 10px;
    font-size:clamp(28px,4vw,42px);
    line-height:1.08;
    letter-spacing:-.045em;
    font-weight:950;
    color:#fff;
}

.yj-quote-live-text{
    position:relative;
    z-index:1;
    max-width:720px;
    margin:0;
    color:rgba(255,255,255,.82);
    font-size:15.5px;
    line-height:1.65;
    font-weight:700;
}

.yj-quote-live-stats{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:18px;
}

.yj-quote-live-stat{
    min-width:0;
    padding:12px;
    border-radius:18px;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.17);
}

.yj-quote-live-stat strong{
    display:block;
    color:#fff;
    font-size:18px;
    line-height:1.1;
    font-weight:950;
}

.yj-quote-live-stat span{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.72);
    font-size:11.5px;
    font-weight:800;
}

/* Ancien titre caché pour éviter doublon visuel, mais gardé dans le DOM */
.yj-quote-live-card .yj-quote-original-title{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
}

/* Texte intro ancien plus doux si présent */
.yj-quote-live-card > p:first-of-type,
.yj-quote-live-card .quote-intro,
.yj-quote-live-card .yj-quote-intro{
    font-size:15px !important;
    line-height:1.65 !important;
    color:#64748B !important;
    background:#F8FAFC;
    padding:14px 16px;
    border-radius:18px;
    border:1px solid #E2E8F0;
}

/* Progression */
.yj-quote-live-progress{
    margin:6px 0 20px;
    padding:14px;
    border-radius:22px;
    background:#fff;
    border:1px solid #E2E8F0;
    box-shadow:0 10px 28px rgba(15,23,42,.055);
}

.yj-quote-live-progress-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
    color:#102033;
    font-size:13px;
    font-weight:950;
}

.yj-quote-live-progress-head span:last-child{
    color:#0F3D91;
}

.yj-quote-live-bar{
    height:10px;
    border-radius:999px;
    background:#EEF2F7;
    overflow:hidden;
}

.yj-quote-live-bar i{
    display:block;
    width:38%;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#16A34A,#0F3D91);
    transition:width .25s ease;
}

/* Labels avec icônes */
.yj-quote-live-card label{
    display:flex !important;
    align-items:center;
    gap:8px;
    margin:18px 0 8px !important;
    color:#334155 !important;
    font-size:12.5px !important;
    font-weight:950 !important;
    text-transform:uppercase;
    letter-spacing:.045em;
}

.yj-quote-label-icon{
    width:28px;
    height:28px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#EFF6FF;
    color:#0F3D91;
    font-size:15px;
    flex:0 0 28px;
}

/* Champs premium */
.yj-quote-live-card input,
.yj-quote-live-card select,
.yj-quote-live-card textarea{
    width:100% !important;
    min-height:58px;
    border-radius:20px !important;
    border:1.5px solid #E2E8F0 !important;
    background:#F8FAFC !important;
    color:#102033 !important;
    font-size:16px !important;
    font-weight:800 !important;
    padding:15px 18px !important;
    outline:none !important;
    box-shadow:none !important;
    transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.yj-quote-live-card textarea{
    min-height:150px;
    line-height:1.55;
    resize:vertical;
}

.yj-quote-live-card input:focus,
.yj-quote-live-card select:focus,
.yj-quote-live-card textarea:focus{
    background:#fff !important;
    border-color:#0F3D91 !important;
    box-shadow:0 0 0 5px rgba(15,61,145,.12) !important;
    transform:translateY(-1px);
}

.yj-quote-live-card input::placeholder,
.yj-quote-live-card textarea::placeholder{
    color:#94A3B8 !important;
    font-weight:750 !important;
}

/* Aides sous champs */
.yj-quote-field-hint{
    margin-top:7px;
    color:#64748B;
    font-size:12.5px;
    line-height:1.45;
    font-weight:750;
}

/* Bouton submit */
.yj-quote-live-card button[type="submit"],
.yj-quote-live-card input[type="submit"]{
    width:100% !important;
    min-height:60px;
    margin-top:22px !important;
    border:0 !important;
    border-radius:22px !important;
    background:linear-gradient(135deg,#16A34A,#0F9F5A) !important;
    color:#fff !important;
    font-size:16px !important;
    font-weight:950 !important;
    box-shadow:0 18px 45px rgba(22,163,74,.25) !important;
    cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease;
}

.yj-quote-live-card button[type="submit"]:hover,
.yj-quote-live-card input[type="submit"]:hover{
    transform:translateY(-2px);
    box-shadow:0 24px 55px rgba(22,163,74,.32) !important;
}

/* Bloc confiance bas */
.yj-quote-live-trust{
    margin-top:18px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.yj-quote-live-trust div{
    padding:12px;
    border-radius:17px;
    background:#F8FAFC;
    border:1px solid #E2E8F0;
    color:#475569;
    font-size:12px;
    line-height:1.35;
    font-weight:850;
    text-align:center;
}

.yj-quote-live-trust strong{
    display:block;
    margin-bottom:3px;
    color:#0F3D91;
    font-size:16px;
}

/* Mobile */
@media(max-width:760px){
    .yj-quote-live-card{
        border-radius:28px 28px 0 0 !important;
        padding:18px !important;
    }

    .yj-quote-live-top{
        margin:-4px -4px 20px;
        padding:20px;
        border-radius:24px;
    }

    .yj-quote-live-title{
        font-size:28px;
    }

    .yj-quote-live-text{
        font-size:14.5px;
    }

    .yj-quote-live-stats{
        grid-template-columns:1fr;
        gap:8px;
    }

    .yj-quote-live-stat{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:11px 12px;
    }

    .yj-quote-live-stat span{
        text-align:right;
    }

    .yj-quote-live-card input,
    .yj-quote-live-card select,
    .yj-quote-live-card textarea{
        min-height:56px;
        border-radius:18px !important;
        font-size:15px !important;
        padding:14px 16px !important;
    }

    .yj-quote-live-card textarea{
        min-height:138px;
    }

    .yj-quote-live-trust{
        grid-template-columns:1fr;
    }
}

/* Très petit écran */
@media(max-width:390px){
    .yj-quote-live-title{
        font-size:25px;
    }

    .yj-quote-live-top{
        padding:17px;
    }
}
/* YESODWEB_LOCAL_SEO_FINAL_CSS */
.yj-local-hero{
    padding:clamp(48px,7vw,92px) 0 clamp(40px,6vw,72px);
    background:
        radial-gradient(circle at top left, rgba(212,175,55,.20), transparent 30%),
        radial-gradient(circle at bottom right, rgba(15,61,145,.13), transparent 34%),
        linear-gradient(180deg,#ffffff,#f7fbff);
    overflow:hidden;
}

.yj-local-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
    gap:clamp(24px,4vw,48px);
    align-items:center;
}

.yj-local-hero h1{
    max-width:880px;
    margin:18px 0 16px;
    color:var(--dark);
    font-size:clamp(36px,5vw,64px);
    line-height:1.04;
    letter-spacing:-.045em;
}

.yj-local-hero p{
    max-width:780px;
    color:var(--muted);
    font-size:clamp(16px,1.4vw,19px);
    line-height:1.75;
    font-weight:650;
}

.yj-local-action-box{
    margin:24px 0;
    padding:18px 20px;
    border-radius:24px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 14px 36px rgba(15,23,42,.06);
}

.yj-local-action-box strong{
    display:block;
    color:var(--primary);
    font-size:18px;
    margin-bottom:7px;
}

.yj-local-action-box span{
    color:var(--muted);
    line-height:1.65;
    font-weight:700;
}

.yj-local-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:34px;
    padding:30px;
    box-shadow:var(--shadow);
}

.yj-local-card-icon{
    width:70px;
    height:70px;
    border-radius:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#EFF6FF,#ECFDF5);
    font-size:34px;
    margin-bottom:18px;
}

.yj-local-card h2{
    margin:0 0 12px;
    color:var(--primary);
    font-size:30px;
    line-height:1.15;
}

.yj-local-tags{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin:20px 0;
}

.yj-local-tags span{
    display:inline-flex;
    padding:9px 12px;
    border-radius:999px;
    background:#F8FAFC;
    border:1px solid var(--line);
    color:var(--dark);
    font-size:12px;
    font-weight:900;
}

.yj-local-services-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.yj-local-service-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:22px;
    box-shadow:var(--shadow);
}

.yj-local-service-icon{
    width:56px;
    height:56px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F8FAFC;
    font-size:27px;
    margin-bottom:15px;
}

.yj-local-service-card h3{
    margin:0 0 10px;
    color:var(--primary);
    font-size:22px;
    line-height:1.2;
}

.yj-local-service-card p{
    margin:0;
    color:var(--muted);
    line-height:1.65;
    font-weight:650;
}

.yj-local-sector-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:20px;
}

.yj-local-sector-grid div{
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:13px 15px;
    color:var(--dark);
    font-weight:900;
}

.yj-local-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}

.yj-local-links a{
    display:inline-flex;
    padding:11px 14px;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--line);
    color:var(--primary);
    font-weight:900;
    text-decoration:none;
    box-shadow:0 10px 24px rgba(15,23,42,.045);
}

.yj-zone-local-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    margin-bottom:48px;
}

.yj-zone-local-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:24px;
    box-shadow:var(--shadow);
}

.yj-zone-local-card span{
    display:inline-flex;
    padding:7px 10px;
    border-radius:999px;
    background:#FFFBEB;
    color:#B7791F;
    font-size:12px;
    font-weight:900;
    margin-bottom:12px;
}

.yj-zone-local-card h3{
    margin:0 0 10px;
    color:var(--primary);
    font-size:25px;
}

.yj-zone-local-card p{
    color:var(--muted);
    line-height:1.65;
    font-weight:650;
}

@media(max-width:1100px){
    .yj-local-hero-grid,
    .yj-local-services-grid,
    .yj-zone-local-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:760px){
    .yj-local-hero{
        padding:34px 0 42px;
    }

    .yj-local-hero-grid,
    .yj-local-services-grid,
    .yj-zone-local-grid,
    .yj-local-sector-grid{
        grid-template-columns:1fr;
    }

    .yj-local-hero h1{
        font-size:31px;
        line-height:1.12;
    }

    .yj-local-card{
        padding:20px;
        border-radius:26px;
    }

    .yj-local-card h2{
        font-size:24px;
    }

    .yj-local-service-card,
    .yj-zone-local-card{
        border-radius:22px;
        padding:19px;
    }

    .yj-local-links{
        justify-content:flex-start;
    }
}
/* YESODWEB_INTERNAL_LINKING_CSS */
.yj-internal-linking-section{
    background:
        radial-gradient(circle at top left, rgba(15,61,145,.08), transparent 34%),
        radial-gradient(circle at bottom right, rgba(22,163,74,.08), transparent 34%),
        linear-gradient(180deg,#ffffff,#f7fbff);
}

.yj-internal-link-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.yj-internal-link-card{
    display:flex;
    flex-direction:column;
    min-height:190px;
    padding:22px;
    border-radius:28px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 18px 48px rgba(15,23,42,.065);
    text-decoration:none;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.yj-internal-link-card:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 60px rgba(15,61,145,.12);
    border-color:rgba(15,61,145,.24);
}

.yj-internal-link-card strong{
    display:block;
    color:var(--primary);
    font-size:22px;
    line-height:1.2;
    letter-spacing:-.02em;
    margin-bottom:10px;
}

.yj-internal-link-card span{
    display:block;
    color:var(--muted);
    font-weight:700;
    line-height:1.65;
    flex:1;
}

.yj-internal-link-card em{
    display:inline-flex;
    margin-top:16px;
    color:#16A34A;
    font-style:normal;
    font-weight:950;
}

.yj-internal-link-cta{
    margin-top:26px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    background:
        radial-gradient(circle at top left, rgba(212,175,55,.22), transparent 32%),
        linear-gradient(135deg,#0F3D91,#102033);
    color:#fff;
    border-radius:30px;
    padding:25px;
    box-shadow:0 24px 70px rgba(15,61,145,.20);
}

.yj-internal-link-cta strong{
    display:block;
    font-size:24px;
    line-height:1.2;
    margin-bottom:6px;
}

.yj-internal-link-cta span{
    color:rgba(255,255,255,.78);
    font-weight:700;
    line-height:1.6;
}

.yj-internal-link-cta .yj-btn{
    white-space:nowrap;
    background:#16A34A;
    color:#fff;
}

@media(max-width:1000px){
    .yj-internal-link-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:720px){
    .yj-internal-link-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .yj-internal-link-card{
        min-height:auto;
        border-radius:23px;
        padding:19px;
    }

    .yj-internal-link-card strong{
        font-size:20px;
    }

    .yj-internal-link-card span{
        font-size:14.5px;
    }

    .yj-internal-link-cta{
        flex-direction:column;
        align-items:stretch;
        border-radius:24px;
        padding:22px;
    }

    .yj-internal-link-cta .yj-btn{
        width:100%;
        justify-content:center;
        text-align:center;
    }
}
/* YESODWEB_HOME_MAILLAGE_SAFE_CSS */
.yj-internal-linking-section{
    background:
        radial-gradient(circle at top left, rgba(15,61,145,.08), transparent 34%),
        radial-gradient(circle at bottom right, rgba(22,163,74,.08), transparent 34%),
        linear-gradient(180deg,#ffffff,#f7fbff);
}

.yj-internal-link-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.yj-internal-link-card{
    display:flex;
    flex-direction:column;
    min-height:190px;
    padding:22px;
    border-radius:28px;
    background:#fff;
    border:1px solid var(--line, #E2E8F0);
    box-shadow:0 18px 48px rgba(15,23,42,.065);
    text-decoration:none;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.yj-internal-link-card:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 60px rgba(15,61,145,.12);
    border-color:rgba(15,61,145,.24);
}

.yj-internal-link-card strong{
    display:block;
    color:var(--primary, #0F3D91);
    font-size:21px;
    line-height:1.2;
    letter-spacing:-.02em;
    margin-bottom:10px;
}

.yj-internal-link-card span{
    display:block;
    color:var(--muted, #64748B);
    font-weight:700;
    line-height:1.65;
    flex:1;
}

.yj-internal-link-card em{
    display:inline-flex;
    margin-top:16px;
    color:#16A34A;
    font-style:normal;
    font-weight:950;
}

@media(max-width:1100px){
    .yj-internal-link-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:720px){
    .yj-internal-link-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .yj-internal-link-card{
        min-height:auto;
        border-radius:23px;
        padding:19px;
    }

    .yj-internal-link-card strong{
        font-size:20px;
    }

    .yj-internal-link-card span{
        font-size:14.5px;
    }
}