CSS Page

/*================================================== AFRICAGRC PREMIUM CSS V2 PARTIE 1 — RESET • VARIABLES • HERO ==================================================*/ /*====================== ROOT =======================*/ :root{ –primary:#0B5ED7; –secondary:#22C55E; –accent:#F97316; –dark:#07111F; –dark-2:#0D1B2A; –dark-3:#15263D; –white:#FFFFFF; –text:#DCE6F1; –muted:#A9BACD; –radius:26px; –shadow: 0 20px 50px rgba(0,0,0,.28); –transition: all .35s cubic-bezier(.4,0,.2,1); } /*====================== RESET =======================*/ *{ margin:0; padding:0; box-sizing:border-box; } html{ scroll-behavior:smooth; } body{ font-family: « Manrope », « Inter », sans-serif; background:var(–dark); color:var(–white); line-height:1.75; font-size:18px; overflow-x:hidden; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; } /*====================== CONTAINER =======================*/ .container{ max-width:1240px; margin:auto; padding:0 40px; } /*====================== BACKGROUND =======================*/ body:before{ content: » »; position:fixed; inset:0; background-image: linear-gradient( rgba(34,197,94,.035) 1px, transparent 1px), linear-gradient( 90deg, rgba(34,197,94,.035) 1px, transparent 1px); background-size:60px 60px; z-index:-2; } body:after{ content: » »; position:fixed; width:850px; height:850px; border-radius:50%; background: radial-gradient( circle, rgba(34,197,94,.08), transparent 70% ); top:-220px; right:-220px; animation:drift 14s ease-in-out infinite alternate; z-index:-1; } @keyframes drift{ from{ transform:translateY(0); } to{ transform:translateY(70px); } } /*====================== HERO =======================*/ .hero{ position:relative; min-height:100vh; display:flex; align-items:center; padding:170px 0 140px; overflow:hidden; background: radial-gradient( circle at 82% 30%, rgba(34,197,94,.03), transparent 28% ), radial-gradient( circle at 68% 55%, rgba(59,130,246,.05), transparent 38% ), linear-gradient( 135deg, #07111F, #10223A ); } /*====================== HERO IMAGE =======================*/ .hero:before{ content: » »; position:absolute; top:7%; right:-3%; width:58%; height:82%; background: url(‘https://africagrc.sil2.net/wp-content/uploads/2025/12/cropped-cropped-cropped-IMAGE-DIRIGREANTS-11-1.jpg’) center center / cover no-repeat; opacity:.18; filter: brightness(.95) contrast(1.05); pointer-events:none; mask-image: linear-gradient( to left, rgba(0,0,0,1), rgba(0,0,0,.35), transparent ); -webkit-mask-image: linear-gradient( to left, rgba(0,0,0,1), rgba(0,0,0,.35), transparent ); } /*====================== TYPOGRAPHY =======================*/ .hero h1, .hero h2{ color:#fff; font-weight:800; letter-spacing:-2px; } .hero h2{ font-size:64px; line-height:1.08; max-width:920px; margin-bottom:28px; } .hero-tagline{ display:inline-flex; align-items:center; gap:10px; padding:10px 18px; margin-bottom:28px; border-radius:40px; font-size:15px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); color:var(–secondary); backdrop-filter:blur(8px); } .hero p{ max-width:760px; font-size:22px; line-height:1.9; color:var(–text); margin-bottom:55px; } /*====================== CTA =======================*/ .cta-wrap{ display:flex; gap:18px; flex-wrap:wrap; align-items:center; } .btn{ display:inline-flex; align-items:center; justify-content:center; padding:16px 32px; border-radius:999px; font-size:17px; font-weight:700; text-decoration:none; cursor:pointer; transition:var(–transition); } /*====================== PRIMARY BUTTON =======================*/ .btn-primary{ background:var(–accent); color:#fff; border:none; box-shadow: 0 12px 35px rgba(249,115,22,.35); } .btn-primary:hover{ background:#EA580C; transform: translateY(-4px); box-shadow: 0 20px 45px rgba(249,115,22,.45); } /*====================== SECONDARY BUTTON =======================*/ .btn-secondary{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.16); color:#fff; backdrop-filter:blur(14px); box-shadow: 0 10px 30px rgba(0,0,0,.25); } .btn-secondary:hover{ background:rgba(255,255,255,.10); border-color:var(–secondary); transform:translateY(-4px); } /*====================== RESPONSIVE =======================*/ @media(max-width:992px){ .container{ padding:0 28px; } .hero{ padding:140px 0 110px; } .hero:before{ display:none; } .hero h2{ font-size:48px; } .hero p{ font-size:20px; } } @media(max-width:768px){ .hero{ padding:120px 0 90px; } .hero h2{ font-size:38px; line-height:1.15; } .hero p{ font-size:18px; line-height:1.8; } .cta-wrap{ flex-direction:column; align-items:stretch; } .btn{ width:100%; } } /*================================================== PARTIE 2 SECTIONS • CARDS • GRIDS • QUOTES ==================================================*/ /*====================== SECTIONS =======================*/ .statement{ padding:160px 0; position:relative; } .statement h2{ font-size:56px; font-weight:800; line-height:1.15; letter-spacing:-1.5px; max-width:980px; margin:auto; text-align:center; color:#fff; } .statement p{ margin-top:28px; font-size:21px; line-height:1.8; color:var(–muted); text-align:center; max-width:850px; margin-left:auto; margin-right:auto; } /*====================== GRID =======================*/ .grid{ display:grid; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); gap:34px; margin-top:80px; } /*====================== CARD =======================*/ .card{ position:relative; padding:42px; border-radius:var(–radius); overflow:hidden; background: linear-gradient( 180deg, rgba(255,255,255,.06), rgba(255,255,255,.03) ); border: 1px solid rgba(255,255,255,.08); box-shadow: 0 18px 45px rgba(0,0,0,.18); backdrop-filter:blur(14px); transition:var(–transition); } /*====================== LIGHT EFFECT =======================*/ .card:before{ content: » »; position:absolute; top:0; left:0; right:0; height:4px; background: linear-gradient( 90deg, var(–secondary), var(–primary) ); opacity:0; transition:.35s; } /*====================== CARD HOVER =======================*/ .card:hover{ transform: translateY(-10px); border-color: rgba(34,197,94,.30); box-shadow: 0 35px 70px rgba(0,0,0,.35); } .card:hover:before{ opacity:1; } /*====================== CARD TITLE =======================*/ .card h3{ font-size:30px; font-weight:800; margin-bottom:20px; color:#fff; letter-spacing:-.5px; } /*====================== CARD TEXT =======================*/ .card p{ font-size:18px; line-height:1.85; color:var(–text); } /*====================== FOCUS =======================*/ .focus{ padding:140px 0; } .focus h2{ font-size:54px; font-weight:800; line-height:1.15; text-align:center; margin-bottom:60px; color:#fff; } /*====================== SPECIAL GRID =======================*/ .focus .grid{ display:grid; grid-template-columns: repeat(2,1fr); gap:34px; } .focus .card{ display:flex; flex-direction:column; justify-content:center; min-height:280px; } /*====================== BIG QUOTE =======================*/ .big-quote{ padding:180px 0; text-align:center; position:relative; } .big-quote:before{ content: » »; position:absolute; left:50%; top:50%; width:520px; height:520px; background: radial-gradient( circle, rgba(34,197,94,.05), transparent 70% ); transform: translate(-50%,-50%); z-index:-1; } .big-quote h2{ font-size:82px; line-height:1.05; font-weight:800; letter-spacing:-2px; max-width:1000px; margin:auto; color:#fff; } /*====================== SECTION SPACING =======================*/ .statement+.statement{ padding-top:60px; } /*====================== RESPONSIVE =======================*/ @media(max-width:992px){ .statement{ padding:120px 0; } .statement h2{ font-size:44px; } .focus h2{ font-size:44px; } .big-quote h2{ font-size:56px; } .focus .grid{ grid-template-columns:1fr; } } @media(max-width:768px){ .statement{ padding:90px 0; } .statement h2{ font-size:34px; } .statement p{ font-size:18px; } .grid{ grid-template-columns:1fr; gap:24px; } .card{ padding:30px; } .card h3{ font-size:24px; } .big-quote{ padding:120px 0; } .big-quote h2{ font-size:42px; } } /*================================================== PARTIE 3 FINAL CTA • FOOTER • EFFECTS • RESPONSIVE ==================================================*/ /*====================== LINKS =======================*/ a{ text-decoration:none; transition:var(–transition); } a:hover{ text-decoration:none; } /*====================== FINAL CTA =======================*/ .final-cta{ position:relative; overflow:hidden; margin:140px auto; padding:110px 70px; border-radius:36px; background: linear-gradient( 145deg, #0b1628, #152842 ); border: 1px solid rgba(255,255,255,.08); box-shadow: 0 40px 80px rgba(0,0,0,.35); text-align:center; } /* Halo */ .final-cta:before{ content: » »; position:absolute; width:650px; height:650px; border-radius:50%; background: radial-gradient( circle, rgba(34,197,94,.08), transparent 70% ); top:-250px; right:-250px; pointer-events:none; } /*====================== CTA TITLE =======================*/ .final-cta h2{ font-size:60px; line-height:1.08; font-weight:800; letter-spacing:-2px; margin-bottom:24px; color:#fff; position:relative; z-index:2; } /*====================== CTA TAGLINE =======================*/ .final-cta .hero-tagline{ margin:0 auto 24px; display:inline-flex; } /*====================== CTA TEXT =======================*/ .final-cta p{ font-size:22px; line-height:1.8; max-width:760px; margin:0 auto 40px; color:var(–text); position:relative; z-index:2; } /*====================== BUTTON INSIDE CTA =======================*/ .final-cta .btn{ position:relative; z-index:2; } /*====================== SECTION DIVIDER =======================*/ section{ position:relative; } section:after{ content: » »; position:absolute; left:50%; bottom:0; width:120px; height:1px; background: linear-gradient( 90deg, transparent, rgba(255,255,255,.08), transparent ); transform:translateX(-50%); } /*====================== TEXT SELECTION =======================*/ ::selection{ background:var(–secondary); color:#fff; } /*====================== SCROLLBAR =======================*/ ::-webkit-scrollbar{ width:10px; } ::-webkit-scrollbar-track{ background:#08111d; } ::-webkit-scrollbar-thumb{ background:#1f3a57; border-radius:20px; } ::-webkit-scrollbar-thumb:hover{ background:var(–secondary); } /*====================== SMOOTH APPEAR =======================*/ .card, .hero, .statement, .focus, .final-cta{ animation: fadeUp .9s ease both; } @keyframes fadeUp{ from{ opacity:0; transform: translateY(30px); } to{ opacity:1; transform: translateY(0); } } /*====================== HOVER IMAGE =======================*/ .hero:before{ transition:8s ease; } .hero:hover:before{ transform:scale(1.04); } /*====================== BUTTON RIPPLE =======================*/ .btn{ position:relative; overflow:hidden; } .btn:before{ content: » »; position:absolute; left:50%; top:50%; width:0; height:0; background: rgba(255,255,255,.10); border-radius:50%; transform: translate(-50%,-50%); transition:.6s; } .btn:hover:before{ width:320px; height:320px; } /*====================== FOCUS CARD =======================*/ .focus .card:hover{ transform: translateY(-12px) scale(1.02); } /*====================== RESPONSIVE =======================*/ @media(max-width:992px){ .final-cta{ padding:80px 40px; } .final-cta h2{ font-size:46px; } .final-cta p{ font-size:20px; } } @media(max-width:768px){ .final-cta{ margin:80px auto; padding:60px 25px; border-radius:24px; } .final-cta h2{ font-size:34px; } .final-cta p{ font-size:18px; } .hero-tagline{ font-size:13px; padding:8px 14px; } } /*====================== PERFORMANCE =======================*/ img{ max-width:100%; height:auto; display:block; } button{ font-family:inherit; } input, textarea, select{ font-family:inherit; } /*================================================== END AFRICAGRC PREMIUM V2 ==================================================*/
Retour en haut