
/*
Theme Name: Grezitech
Author: Grezitech
Description: Full-width premium ICT consultancy theme for Grezitech.
Version: 1.5
*/
:root{
 --blue:#2457D6; --blue-dark:#173EA5; --navy:#0B1730; --navy2:#101F3E;
 --warm:#F7F4EC; --warm2:#FBFAF6; --ink:#151A24; --muted:#667085;
 --line:#E4E0D6; --gold:#B9862D; --white:#fff;
 --container:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:"Source Sans 3",Arial,sans-serif;line-height:1.55}
body,button,input,textarea,select{font-size:16px}
h1,h2,h3,h4{font-family:"Manrope",Arial,sans-serif;line-height:1.04;letter-spacing:-.045em}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
.container{width:calc(100% - 64px);max-width:var(--container);margin-inline:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(20,30,50,.08);backdrop-filter:blur(12px)}
.header-inner{min-height:82px;display:grid;grid-template-columns:260px 1fr 190px;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:42px;height:42px;border-radius:9px;background:var(--blue);color:#fff;display:grid;place-items:center;font:800 22px Manrope;position:relative}
.brand-mark:after{content:"";position:absolute;width:15px;height:4px;background:#78B8FF;right:-3px;top:8px;transform:rotate(-8deg);border-radius:3px}
.brand-name{font:800 20px Manrope;display:block;line-height:1}
.brand-sub{font:700 8px/1.4 "IBM Plex Mono",monospace;letter-spacing:.06em;color:#98A2B3;display:block;margin-top:6px;max-width:125px}
.nav{display:flex;align-items:center;justify-content:center;gap:30px}
.nav a{font:700 14px Manrope;color:#202938;white-space:nowrap}
.nav a:hover{color:var(--blue)}
.header-cta{justify-self:end}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 21px;border-radius:8px;font:800 14px Manrope;border:1px solid transparent;transition:transform .2s,background .2s,box-shadow .2s}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(36,87,214,.16)}
.btn-primary:hover{background:var(--blue-dark);color:#fff;transform:translateY(-2px)}
.btn-light{background:#fff;border-color:#D5D9E1;color:var(--ink)}
.btn-light:hover{border-color:var(--blue);color:var(--blue)}
.menu-toggle{display:none;background:none;border:0;font-size:28px}
.hero{background:var(--warm);min-height:680px;display:flex;align-items:center;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:55px;align-items:center;padding:78px 0 70px}
.kicker{font:800 11px "IBM Plex Mono",monospace;letter-spacing:.09em;color:#856C3E;text-transform:uppercase;display:flex;align-items:center;gap:11px}
.kicker:before{content:"";width:27px;height:2px;background:var(--gold)}
.hero h1{font-size:clamp(54px,6.1vw,88px);max-width:760px;margin:22px 0 26px;color:#5C5D60}
.hero h1 strong{color:#20252D;font-weight:800}
.hero-copy{max-width:650px;font-size:19px;color:#5E6878;margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 22px}
.hero-note{font:600 12px "IBM Plex Mono",monospace;color:#7C8797}
.hero-visual{height:500px;border:1px solid #DCE1EC;border-radius:24px;background:linear-gradient(145deg,#F0F3FA 0%,#FAF7EF 100%);position:relative;overflow:hidden}
.hero-visual:before{content:"";position:absolute;inset:20px;background-image:radial-gradient(#B8C5E2 1px,transparent 1px);background-size:17px 17px;opacity:.5}
.hero-visual:after{content:"AFRICA NETWORK / 01";position:absolute;left:25px;top:24px;font:700 10px "IBM Plex Mono",monospace;letter-spacing:.08em;color:#8994A8}
.network-svg{position:absolute;inset:55px 25px 45px;width:calc(100% - 50px);height:calc(100% - 100px)}
.network-svg path,.network-svg line{stroke:var(--blue);fill:none;stroke-width:1.15;opacity:.72}
.network-svg .fine{stroke:#A9B6D2;stroke-width:.7;opacity:.65}
.network-svg circle{fill:#142B5A}
.network-svg .gold{fill:var(--gold)}
.center-node{position:absolute;left:53%;top:50%;transform:translate(-50%,-50%);width:102px;height:102px;border-radius:50%;background:#fff;border:2px solid var(--blue);display:grid;place-items:center;color:var(--blue);font:800 30px Manrope;box-shadow:0 15px 40px rgba(31,73,168,.18)}
.center-node:before,.center-node:after{content:"";position:absolute;border:1px solid rgba(185,134,45,.55);border-radius:50%}
.center-node:before{inset:-15px}.center-node:after{inset:-30px}
.lagos-tag{position:absolute;left:14%;bottom:18%;font:800 10px "IBM Plex Mono",monospace;color:var(--blue)}
.lagos-tag:before{content:"";display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%;margin-right:7px}
.visual-caption{position:absolute;bottom:18px;right:24px;font:600 9px/1.35 "IBM Plex Mono",monospace;color:#8B95A6;text-align:right;max-width:170px}
.partners{background:#fff;border-bottom:1px solid var(--line);padding:27px 0}
.partner-grid{display:grid;grid-template-columns:240px repeat(4,1fr);align-items:center}
.partner-intro{padding-right:35px}.partner-intro strong{font:800 10px "IBM Plex Mono";letter-spacing:.08em;color:var(--blue)}.partner-intro span{display:block;color:#8A93A2;font-size:12px;margin-top:4px}
.partner{min-height:48px;border-left:1px solid var(--line);display:grid;place-items:center}
.partner-logo{font:800 16px Manrope;color:#303848;letter-spacing:-.02em}
.section{padding:105px 0}
.section-head{max-width:770px;margin-bottom:45px}
.section-head.center{text-align:center;margin-inline:auto}
.section-head .kicker{margin-bottom:12px}
.section-head h2{font-size:clamp(38px,4.2vw,58px);margin:0 0 15px;color:#20252D}
.section-head p{font-size:17px;color:var(--muted);margin:0}
.solution-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.solution{padding:34px 26px 32px;border-right:1px solid var(--line);min-height:290px;position:relative}
.solution:last-child{border-right:0}
.solution-no{font:700 11px "IBM Plex Mono";color:var(--gold);letter-spacing:.08em}
.solution h3{font-size:22px;margin:58px 0 12px}
.solution p{font-size:14px;color:var(--muted);max-width:245px}
.solution a{font:800 13px Manrope;color:var(--blue);position:absolute;bottom:30px}
.solution:hover{background:#FBFAF6}
.navy-section{background:var(--navy);color:#fff;padding:92px 0;position:relative;overflow:hidden}
.navy-section:after{content:"";position:absolute;right:-150px;top:-80px;width:600px;height:600px;border:1px solid rgba(111,160,255,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(111,160,255,.035),0 0 0 110px rgba(111,160,255,.025)}
.navy-head{text-align:center;position:relative;z-index:2}.navy-head .kicker{justify-content:center;color:#D7B26A}.navy-head .kicker:before{display:none}.navy-head h2{font-size:clamp(36px,4vw,52px);margin:10px 0;color:#fff}
.reasons{display:grid;grid-template-columns:repeat(5,1fr);margin-top:55px;position:relative;z-index:2}
.reason{padding:0 25px;border-right:1px solid rgba(255,255,255,.13);text-align:center}.reason:last-child{border:0}
.reason-icon{width:54px;height:54px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;margin:0 auto 19px;color:#8CB4FF;font:800 13px "IBM Plex Mono"}
.reason h3{font-size:15px;letter-spacing:-.01em;margin:0 0 9px;color:#fff}.reason p{font-size:13px;color:#AAB5C8;margin:0}
.proof{background:var(--warm2)}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.case{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.case-top{height:150px;background:#EEF1F7;position:relative;display:flex;align-items:flex-end;padding:18px}
.case-pattern{position:absolute;inset:0;background-image:linear-gradient(125deg,transparent 49%,rgba(36,87,214,.16) 50%,transparent 51%),linear-gradient(35deg,transparent 49%,rgba(185,134,45,.16) 50%,transparent 51%);background-size:38px 38px}
.case-body{padding:25px}.case-label{font:800 10px "IBM Plex Mono";color:var(--blue);letter-spacing:.08em}.case h3{font-size:21px;margin:8px 0 11px}.case p{font-size:14px;color:var(--muted)}.placeholder{font:500 11px "IBM Plex Mono";background:#F6F7F9;border-radius:6px;padding:9px;color:#687386}
.two-way{display:grid;grid-template-columns:1fr 1fr;min-height:480px}
.two-way-panel{padding:80px 8vw;display:flex;flex-direction:column;justify-content:center}
.two-way-panel.navy{background:var(--navy);color:#fff}.two-way-panel.warm{background:var(--warm)}
.two-way-panel h2{font-size:clamp(34px,4vw,52px);margin:10px 0 15px}.two-way-panel p{max-width:480px;color:#667085}.two-way-panel.navy p{color:#B8C3D5}
.two-way-panel .kicker{color:var(--gold)}.two-way-panel.navy .kicker{color:#83ACFF}
.academy{padding:92px 0}
.academy-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.academy-visual{height:360px;border-radius:18px;background:var(--navy);position:relative;overflow:hidden}
.academy-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px}
.academy-screen{position:absolute;left:12%;right:12%;top:18%;bottom:18%;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.04);padding:22px}
.academy-screen span{display:block;height:7px;width:62%;background:#6C9CFF;margin-bottom:14px;border-radius:3px}.academy-screen i{display:block;height:5px;width:88%;background:rgba(255,255,255,.2);margin:10px 0;border-radius:3px}.academy-screen i:nth-child(3){width:72%}.academy-screen i:nth-child(4){width:50%}
.academy-copy h2{font-size:50px;margin:10px 0 16px}.academy-copy p{color:var(--muted);font-size:17px}
.academy-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.academy-link{border-top:2px solid var(--blue);padding-top:13px}.academy-link strong{font:800 14px Manrope;display:block}.academy-link span{font-size:12px;color:var(--muted)}
.cta{background:var(--blue);color:#fff;padding:72px 0;position:relative;overflow:hidden}.cta:after{content:"";position:absolute;right:-100px;top:-200px;width:550px;height:550px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 60px rgba(255,255,255,.035),0 0 0 120px rgba(255,255,255,.025)}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:35px;position:relative;z-index:2}.cta h2{font-size:clamp(36px,4vw,52px);margin:0 0 12px}.cta p{margin:0;color:#DDE7FF;max-width:720px}
.footer{background:#071126;color:#AEB9CC;padding:45px 0}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:45px}.footer h4{font-size:13px;color:#fff;margin:0 0 13px}.footer p,.footer a{font-size:13px;color:#AEB9CC}.footer a:hover{color:#fff}
.page-hero{background:var(--warm);padding:82px 0}.page-hero h1{font-size:clamp(48px,6vw,76px);max-width:850px;margin:15px 0}.page-hero p{font-size:19px;color:var(--muted);max-width:720px}
.page-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.page-card{border:1px solid var(--line);padding:30px;border-radius:12px}.page-card h3{font-size:22px;margin:40px 0 10px}.page-card p{color:var(--muted);font-size:14px}
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px}.contact-details h2{font-size:42px;margin-top:0}.contact-details p{color:var(--muted)}.detail{padding:18px 0;border-top:1px solid var(--line)}.detail strong{display:block;font:800 12px "IBM Plex Mono";color:var(--blue);letter-spacing:.08em;margin-bottom:5px}.form{border:1px solid var(--line);padding:30px;border-radius:14px}.form label{display:block;font:700 13px Manrope;margin:0 0 6px}.form input,.form textarea,.form select{width:100%;padding:13px;border:1px solid #D7DCE5;border-radius:7px;margin:0 0 17px;font:inherit;background:#fff}.form textarea{min-height:150px}.form button{border:0;cursor:pointer}
.mobile-only{display:none}
@media(max-width:1100px){
 .header-inner{grid-template-columns:230px 1fr 170px}.nav{gap:18px}.nav a{font-size:13px}
 .hero-grid{grid-template-columns:1fr .85fr}.hero h1{font-size:clamp(50px,6vw,70px)}
 .solution-grid{grid-template-columns:repeat(2,1fr)}.solution:nth-child(2){border-right:0}.solution:nth-child(n+3){border-top:1px solid var(--line)}
 .reasons{grid-template-columns:repeat(3,1fr);gap:35px}.reason:nth-child(3){border-right:0}.reason:nth-child(n+4){margin-top:10px}
 .academy-grid{grid-template-columns:1fr}.academy-visual{order:2}
}
@media(max-width:780px){
 .container{width:calc(100% - 36px)}
 .header-inner{grid-template-columns:1fr auto}.nav{display:none;position:absolute;top:82px;left:0;right:0;padding:20px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.nav.open{display:flex}.header-cta{display:none}.menu-toggle{display:block}
 .hero-grid{grid-template-columns:1fr;gap:35px;padding:58px 0}.hero h1{font-size:48px}.hero-visual{height:390px}
 .partner-grid{grid-template-columns:1fr 1fr}.partner-intro{grid-column:1/-1;padding:0 0 20px}.partner{border-top:1px solid var(--line)}.partner:nth-child(2n){border-left:0}
 .section{padding:75px 0}.solution-grid,.page-cards,.proof-grid{grid-template-columns:1fr}.solution{border-right:0!important;border-top:1px solid var(--line)!important}.solution:first-child{border-top:0!important}
 .reasons{grid-template-columns:1fr;gap:0}.reason{border-right:0;border-bottom:1px solid rgba(255,255,255,.13);padding:22px}.reason:last-child{border-bottom:0}
 .two-way{grid-template-columns:1fr}.two-way-panel{padding:58px 30px;min-height:390px}.academy-copy h2{font-size:40px}.academy-links{grid-template-columns:1fr}
 .cta-inner{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr}.page-hero{padding:62px 0}
}
@media(max-width:480px){.hero h1{font-size:42px}.hero-visual{height:330px}.partner-grid{grid-template-columns:1fr}.partner{border-left:0!important}.footer-grid{grid-template-columns:1fr}.btn{width:100%}.hero-actions{flex-direction:column}}
