@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--navy:#082c47;--deep:#061e31;--blue:#0090d3;--bright:#00a6e9;--paper:#f8f9f8;--ink:#173142;--muted:#566977;--line:#d8e1e5;--white:#fff;scroll-behavior:smooth}
*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.55}
button,a{font:inherit}
a{color:inherit}
button:focus-visible,a:focus-visible{outline:3px solid var(--bright);outline-offset:4px}
.skip-link{position:absolute;z-index:20;left:1rem;top:-5rem;background:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}
.site-shell{overflow:hidden}
.site-header{height:92px;padding:0 clamp(1.25rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#fff}
.brand,.footer-brand{display:inline-flex;align-items:center;gap:.72rem;text-decoration:none;line-height:1.03;color:var(--blue);font-family:Manrope,sans-serif;font-weight:800;font-size:1.16rem;letter-spacing:-.055em;white-space:nowrap}
.brand img,.footer-brand img{object-fit:contain}
.brand small{display:block;font-size:.68rem;letter-spacing:.015em;font-weight:700;margin-top:.18rem}
.site-header nav{display:flex;gap:clamp(1.2rem,3vw,3.1rem);margin-left:auto}
.site-header nav a,.header-contact{font-size:.88rem;font-weight:700;text-decoration:none;color:var(--blue)}
.site-header nav a:hover,.header-contact:hover{color:var(--navy)}
.header-contact{border-left:1px solid var(--line);padding-left:2rem;white-space:nowrap}.header-contact span{color:var(--blue);margin-left:1rem;font-size:1.1rem}
.hero{min-height:665px;position:relative;isolation:isolate;background:var(--navy);color:#fff;overflow:hidden}
.hero-content{width:62%;min-height:665px;padding:clamp(5rem,10vw,9rem) 3rem 3rem clamp(1.25rem,8.2vw,8rem);display:flex;flex-direction:column;align-items:flex-start;position:relative;z-index:1;background:linear-gradient(90deg,rgba(8,44,71,.98) 0%,rgba(8,44,71,.95) 65%,rgba(8,44,71,.69) 100%)}
.eyebrow,.section-marker,.copy-picker-label,.service-number{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.eyebrow.light{color:#8ed6f6;margin:0 0 2rem}.eyebrow.light span{color:#fff;margin:0 .5rem}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em}
h1{font-size:clamp(3.25rem,5.2vw,6.5rem);line-height:1.06;max-width:900px;margin-bottom:1.7rem;font-weight:700}
.period{color:var(--bright)}
.hero-description{max-width:570px;color:#d4e5eb;font-size:1.19rem;line-height:1.7;margin-bottom:2rem}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.8rem}
.button{display:inline-flex;align-items:center;gap:2.4rem;padding:1.07rem 1.25rem;text-decoration:none;font-weight:800;font-size:.9rem;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}
.button-bright{background:var(--bright);color:var(--deep)}.button-bright:hover{background:#45c6f3}
.hero .button-bright{animation:slide-in-cta .85s cubic-bezier(.22,1,.36,1) .3s backwards}
@keyframes slide-in-cta{from{opacity:0;transform:translateX(-38px)}to{opacity:1;transform:translateX(0)}}
.button span{font-size:1.15rem}.text-link{display:inline-flex;align-items:center;gap:1.7rem;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.28rem}.text-link:hover{gap:2rem}.light-link{color:#fff;font-size:.88rem}
.hero-art{position:absolute;inset:0 0 0 auto;width:62%;background:#e8f0f2;overflow:hidden}
.hero-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.art-note{position:absolute;bottom:3rem;right:2.5rem;max-width:min(270px,calc(38vw - 4.5rem));font-size:.9rem;line-height:1.55;color:var(--navy);border-left:3px solid var(--blue);padding:1rem 1.2rem;background:rgba(255,255,255,.93);box-shadow:0 16px 38px rgba(4,31,48,.12)}
.pattern-transition{height:58px;position:relative;overflow:hidden;background:#fff}.pattern-transition span{position:absolute;left:50%;top:50%;width:52px;height:max(100vw,1800px);background:var(--blue) url('./assets/aoa-pattern.png') center top / 52px auto repeat-y;transform:translate(-50%,-50%) rotate(90deg)}
.section-pad{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,8.2vw,8rem)}
.intro{padding-top:clamp(3.5rem,6vw,6rem)}
.intro,.services,.perspective,.nigeria,.contact{position:relative;isolation:isolate}
.intro::before,.services::before,.perspective::before,.nigeria::before,.contact::before{content:"";position:absolute;inset:0;background:url('./assets/aoa-pattern.png') center top / 94px auto repeat;opacity:.018;pointer-events:none;z-index:-1}
.perspective::before{opacity:.028}
.section-marker{display:flex;align-items:center;gap:1.5rem;color:var(--blue);white-space:nowrap;margin-bottom:3.8rem}.section-marker:after{content:"";height:1px;background:var(--line);width:100%}
.intro-grid,.perspective-grid,.nigeria-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,8rem)}
h2{font-weight:700;font-size:clamp(2.6rem,4.5vw,5rem);line-height:1.14;margin-bottom:0}
.intro-copy{padding-top:.35rem;max-width:560px}.intro-copy p,.perspective-copy p,.nigeria-grid p,.contact p{font-size:1.08rem;line-height:1.8;color:var(--muted)}.intro-copy .lead{font-family:Manrope,sans-serif;font-weight:700;color:var(--ink);font-size:1.3rem;line-height:1.5}
.services{background:#eef3f5}.section-heading{display:grid;grid-template-columns:1.1fr .6fr;gap:4rem;align-items:end;margin-bottom:3.5rem}.section-heading p{margin:0;color:var(--muted);font-size:1.06rem;line-height:1.7}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #bfcfd7;border-left:1px solid #bfcfd7}.service-card{min-height:315px;padding:2.2rem 2.4rem 2.4rem;background:#fff;border-right:1px solid #bfcfd7;border-bottom:1px solid #bfcfd7;display:flex;flex-direction:column}.service-card.featured{grid-column:1/-1;min-height:275px;background:#d9eef6}.service-number{color:var(--blue);margin-bottom:2.2rem}.service-card h3{font-size:clamp(1.55rem,2.3vw,2.3rem);line-height:1.18;margin-bottom:.8rem}.service-card p{color:var(--muted);font-size:1rem;line-height:1.65;max-width:500px;margin-bottom:1.6rem}.service-detail{margin-top:auto;border-top:1px solid #d3e0e5;padding-top:1rem;color:#365467;font-size:.78rem;line-height:1.65;letter-spacing:.02em}
.perspective{background:var(--navy);color:#fff}.perspective .section-marker{color:#84d2f1}.perspective .section-marker:after{background:#41617a}.large-quote{font-family:Manrope,sans-serif;font-size:clamp(3.2rem,5vw,6rem);font-weight:700;letter-spacing:-.075em;line-height:1.14;margin:0;color:#fff}.perspective-copy{align-self:end}.perspective-copy h2{font-size:clamp(1.6rem,2.3vw,2.7rem);margin-bottom:1.2rem}.perspective-copy p{color:#bbd1dc;margin-bottom:0}
.nigeria{background:#fff}.nigeria .eyebrow{color:var(--blue);margin-bottom:1.3rem}.nigeria-grid>div:last-child{align-self:end}.nigeria-grid p{margin-bottom:1.8rem}.nigeria .text-link{color:var(--blue)}
.contact{background:#d9eef6}.contact h2{max-width:690px}.contact p{margin-top:1.6rem;margin-bottom:0}.contact-links{align-self:end;display:flex;flex-direction:column}.contact-links a{padding:1.3rem 0;border-bottom:1px solid #8db9cb;display:flex;justify-content:space-between;gap:1rem;text-decoration:none;font-family:Manrope,sans-serif;font-weight:700;font-size:clamp(1rem,1.5vw,1.3rem);word-break:break-word}.contact-links a span{color:var(--blue)}.contact-links a:hover{color:var(--blue)}
.site-footer{background:var(--deep);color:#c4d4dc;min-height:130px;padding:2rem clamp(1.25rem,8.2vw,8rem);display:flex;align-items:center;justify-content:space-between;gap:2rem}.footer-brand{color:#fff;font-size:.98rem;letter-spacing:-.04em}.site-footer p{font-size:.8rem;margin:0}.site-footer a{text-decoration:none;font-size:.8rem;font-weight:700}.site-footer a:hover{color:#fff}
@media(max-width:1000px){.hero-content{padding-left:4.5vw;width:64%}.hero-art{width:62%}.section-pad{padding-left:5vw;padding-right:5vw}}
@media(max-width:760px){.site-header{height:auto;min-height:79px;flex-wrap:wrap;padding:1rem 1.25rem;row-gap:.9rem}.brand{font-size:1rem}.brand img{width:36px;height:37px}.site-header nav{order:3;width:100%;margin:0;justify-content:space-between;gap:.6rem;padding-top:.75rem;border-top:1px solid var(--line)}.site-header nav a{font-size:.8rem}.header-contact{margin-left:auto;padding-left:0;border:0;font-size:.8rem}.header-contact span{margin-left:.2rem}.hero{display:flex;flex-direction:column;min-height:0}.hero-content{width:100%;min-height:0;padding:5rem 1.25rem 3rem;background:linear-gradient(180deg,rgba(8,44,71,.98) 0%,rgba(8,44,71,.91) 80%,rgba(8,44,71,.68) 100%)}.hero h1{font-size:clamp(3.25rem,12vw,5.2rem);max-width:600px}.hero-description{font-size:1.08rem}.hero-art{position:relative;width:100%;height:390px;min-height:390px}.hero-photo{object-position:50% 44%}.art-note{bottom:1rem;right:1rem;max-width:260px;font-size:.8rem}.section-pad{padding:5rem 1.25rem}.intro{padding-top:3.5rem}.section-marker{margin-bottom:2.8rem}.intro-grid,.perspective-grid,.nigeria-grid,.contact-grid,.section-heading{grid-template-columns:1fr;gap:2rem}.section-heading{margin-bottom:2.5rem}.intro-copy{padding:0}.service-card{padding:1.7rem;min-height:290px}.service-card.featured{min-height:290px}.large-quote{font-size:3.6rem}.contact-links{margin-top:1rem}.site-footer{flex-wrap:wrap;padding:2rem 1.25rem}.site-footer p{order:3;width:100%}}
@media(max-width:540px){.hero-actions{align-items:flex-start;flex-direction:column;gap:1.25rem}.service-grid{grid-template-columns:1fr}.service-card.featured{grid-column:auto}.service-card{min-height:265px}.hero h1{font-size:3.45rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button,.text-link{transition:none}.hero .button-bright{animation:none}}
