:root { --navy:#071b34; --navy-2:#0c294c; --blue:#168bd2; --sky:#56b9ed; --ice:#eaf4f8; --paper:#f7f6f2; --ink:#102238; --muted:#617082; --line:#d8e0e4; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--section-about,var(--paper)); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
.skip-link { position:fixed; top:-60px; left:20px; z-index:100; background:white; color:var(--navy); padding:12px 18px; }
.skip-link:focus { top:20px; }
.site-header { height:96px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; background:var(--section-footer,var(--navy)); color:white; position:relative; z-index:20; border-bottom:1px solid rgba(255,255,255,.11); }
.brand { position:relative; display:block; width:142px; height:70px; }
.brand-symbol { position:absolute; inset:0 0 15px; overflow:hidden; }
.brand-symbol img { width:100%; height:auto; display:block; }
.brand-white { position:absolute; left:8px; right:7px; bottom:6px; color:white; text-align:center; font-size:9px; line-height:1; font-weight:900; letter-spacing:2.3px; }
.nav { display:flex; align-items:center; gap:2.2rem; font-size:14px; font-weight:600; }
.nav>a:not(.portal-link) { position:relative; }
.nav>a:not(.portal-link)::after { content:""; height:1px; width:0; background:var(--blue); position:absolute; left:0; bottom:-7px; transition:.25s; }
.nav>a:hover::after { width:100%; }
.portal-link { display:flex; gap:12px; align-items:center; padding:16px 20px; border-left:1px solid rgba(255,255,255,.18); color:white; }
.menu-toggle { display:none; border:0; background:transparent; width:42px; height:42px; padding:9px; }
.menu-toggle span { display:block; height:2px; background:white; margin:7px 0; }
.hero { min-height:calc(100vh - 96px); position:relative; overflow:hidden; color:white; background:var(--section-hero,var(--navy)); display:grid; grid-template-columns:minmax(0,1fr) 32%; padding:0 7vw; }
.hero::after { content:"ABGR"; position:absolute; right:-2vw; bottom:-8vw; z-index:2; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.16); font-size:28vw; font-weight:900; letter-spacing:-2vw; pointer-events:none; }
.hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:90px 90px; mask-image:linear-gradient(90deg,black,transparent 75%); }
.hero-visual { position:absolute; z-index:0; inset:0 0 0 52%; overflow:hidden; }
.hero-image { position:absolute; inset:-4%; background-size:cover; background-position:center; opacity:0; transform:scale(1.08); will-change:opacity,transform; }
.hero-image-one { background-image:var(--hero-one),url('../images/finance-strategy.png'); animation:heroSlideOne 14s ease-in-out infinite; }
.hero-image-two { background-image:var(--hero-two),url('../images/field-consulting.png'); animation:heroSlideTwo 14s ease-in-out infinite; }
.hero-visual-shade { position:absolute; inset:0; background:linear-gradient(90deg,var(--navy) 0%,rgba(7,27,52,.92) 18%,rgba(7,27,52,.25) 70%,rgba(7,27,52,.42) 100%); }
.hero-visual-index { position:absolute; right:3vw; top:3vw; z-index:2; color:rgba(255,255,255,.75); font-size:10px; letter-spacing:.2em; }
.hero-content { z-index:3; align-self:center; padding:7rem 0 9rem; max-width:950px; }
.eyebrow,.kicker { font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:var(--blue); }
.eyebrow { display:flex; align-items:center; gap:14px; color:#90d0f4; }
.eyebrow::before { content:""; width:36px; height:1px; background:currentColor; }
h1,h2 { margin:0; letter-spacing:-.045em; font-weight:500; line-height:1.02; }
h1 { font-size:clamp(3.8rem,7vw,7.5rem); max-width:1050px; margin:2rem 0; }
h1 em,h2 em { color:var(--sky); font-family:Georgia,serif; font-weight:400; }
.hero-copy { max-width:580px; color:#c9d6e2; font-size:clamp(1.05rem,1.5vw,1.3rem); line-height:1.65; }
.hero-actions { display:flex; align-items:center; gap:36px; margin-top:42px; }
.button { border:0; cursor:pointer; display:inline-flex; align-items:center; justify-content:space-between; gap:35px; padding:18px 22px; font-weight:700; font-size:14px; }
.primary { background:var(--blue); color:white; min-width:238px; transition:.25s; }
.primary:hover { background:#25a0e8; transform:translateY(-2px); }
.text-link { display:flex; align-items:center; gap:12px; font-size:14px; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:7px; }
.hero-side { z-index:3; align-self:end; padding:2.4rem 2rem 8rem; border-left:1px solid rgba(255,255,255,.18); background:linear-gradient(180deg,transparent,rgba(7,27,52,.55)); backdrop-filter:blur(2px); }
.experience { display:flex; align-items:end; gap:18px; }
.experience strong { font-size:68px; color:var(--sky); font-weight:400; line-height:.8; letter-spacing:-5px; }
.experience span { max-width:145px; font-size:13px; text-transform:uppercase; letter-spacing:.08em; line-height:1.5; }
.hero-side>p { color:#9eb0c0; max-width:250px; margin:2.2rem 0 0; line-height:1.65; font-size:14px; }
.scroll-cue { position:absolute; bottom:30px; left:7vw; color:#7189a0; font-size:10px; text-transform:uppercase; letter-spacing:.16em; display:flex; align-items:center; gap:12px; z-index:2; }
.scroll-cue span { width:1px; height:28px; background:#7189a0; }
.section { padding:9rem 7vw; }
.section-label { font-size:10px; color:#81909d; text-transform:uppercase; letter-spacing:.16em; border-top:1px solid var(--line); padding-top:18px; }
.section-label.light { color:#7f93a8; border-color:#29425c; }
.intro { display:grid; grid-template-columns:22% 1fr; gap:6vw; background:var(--section-about,var(--paper)); }
.intro-copy { max-width:980px; }
.intro h2,.method h2 { font-size:clamp(2.7rem,4.8vw,5.2rem); max-width:950px; margin:1.7rem 0 4rem; }
.two-columns { display:grid; grid-template-columns:1fr 1fr; gap:6vw; color:var(--muted); line-height:1.8; font-size:16px; }
.motion-showcase { position:relative; min-height:760px; background:var(--section-showcase,#dfeaf0); padding:7rem 7vw; overflow:hidden; }
.motion-frame { position:absolute; overflow:hidden; box-shadow:0 30px 70px rgba(7,27,52,.18); }
.motion-frame img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.08); animation:imageDrift 12s ease-in-out infinite alternate; }
.motion-frame span { position:absolute; left:22px; bottom:20px; color:white; text-transform:uppercase; font-size:10px; letter-spacing:.17em; background:rgba(7,27,52,.68); padding:10px 13px; backdrop-filter:blur(8px); }
.motion-frame-main { left:7vw; top:7rem; width:62vw; height:520px; }
.motion-frame-secondary { right:7vw; bottom:4rem; width:31vw; height:330px; border:10px solid var(--section-showcase,#dfeaf0); }
.motion-frame-secondary img { animation-delay:-4s; }
.motion-caption { position:absolute; right:7vw; top:6rem; width:24vw; color:var(--navy); }
.motion-caption small { display:block; text-transform:uppercase; letter-spacing:.16em; font-size:10px; color:#60798d; margin-bottom:15px; }
.motion-caption strong { font-family:Georgia,serif; font-style:italic; font-weight:400; font-size:clamp(2rem,3vw,3.4rem); line-height:1.05; }
.services { background:var(--section-services,var(--navy)); color:white; display:grid; grid-template-columns:22% 1fr; gap:6vw; }
.services-heading h2 { font-size:clamp(2.7rem,4.5vw,4.8rem); max-width:850px; margin:1.7rem 0 5rem; }
.kicker.light { color:#90d0f4; }
.service-list { grid-column:2; border-top:1px solid #29425c; }
.service { display:grid; grid-template-columns:55px 1.2fr 1fr 40px; gap:30px; padding:2.4rem 0; border-bottom:1px solid #29425c; align-items:start; transition:.25s; }
.service:hover { background:#0c294c; padding-left:18px; padding-right:18px; }
.service-number { color:#6b8298; font-size:12px; }
.service h3 { font-size:27px; font-weight:500; margin:0 0 12px; }
.service p,.service li { color:#9eb0c0; font-size:14px; line-height:1.65; }
.service p { margin:0; max-width:440px; }
.service ul { margin:0; padding:0; list-style:none; }
.service li { padding:4px 0; }
.service li::before { content:"—"; margin-right:10px; color:var(--sky); }
.service-arrow { color:var(--sky); }
.method { display:grid; grid-template-columns:22% 1fr; gap:6vw; }
.method-summary { display:grid; grid-template-columns:1fr auto; gap:5vw; align-items:center; }
.method-summary>p { color:var(--muted); line-height:1.8; max-width:630px; margin:0; }
.continuous-cycle { display:flex; align-items:center; gap:18px; border-left:1px solid var(--line); padding-left:2rem; min-width:300px; }
.continuous-cycle>span { color:var(--blue); font-family:Georgia,serif; font-size:53px; line-height:1; }
.continuous-cycle div { display:flex; flex-direction:column; gap:5px; }
.continuous-cycle strong { font-size:13px; text-transform:uppercase; letter-spacing:.1em; }
.continuous-cycle small { color:var(--muted); font-size:11px; }
.operating-journey { grid-column:2; margin-top:5rem; border-top:1px solid var(--line); }
.journey-step { display:grid; grid-template-columns:90px 1fr minmax(260px,.72fr); gap:3vw; min-height:180px; border-bottom:1px solid var(--line); align-items:stretch; transition:background .25s,padding .25s; }
.journey-step:hover { background:white; padding:0 1.5rem; }
.journey-rail { position:relative; padding-top:2.1rem; }
.journey-rail span { position:relative; z-index:1; display:grid; place-items:center; width:42px; height:42px; color:var(--blue); background:var(--paper); border:1px solid #a9cfe5; border-radius:50%; font-size:11px; }
.journey-rail i { position:absolute; left:21px; top:74px; bottom:-32px; width:1px; background:linear-gradient(var(--blue),#bbced9); }
.journey-content { padding:2rem 0; }
.journey-content h3 { margin:0 0 .8rem; font-size:clamp(1.4rem,2vw,2rem); font-weight:500; }
.journey-content p { margin:0; color:var(--muted); line-height:1.7; max-width:570px; font-size:14px; }
.journey-output { border-left:1px solid var(--line); padding:2rem 0 2rem 2.2rem; display:grid; grid-template-columns:1fr 24px; align-content:center; gap:8px 18px; }
.journey-output small { grid-column:1/-1; color:var(--blue); text-transform:uppercase; letter-spacing:.15em; font-size:9px; }
.journey-output strong { font-size:13px; line-height:1.5; }
.journey-output svg { color:var(--blue); }
.method-values { grid-column:2; display:flex; flex-wrap:wrap; gap:12px; padding-top:2rem; }
.method-values span { position:relative; border:1px solid var(--line); border-radius:30px; padding:10px 15px; color:#587084; font-size:10px; text-transform:uppercase; letter-spacing:.1em; cursor:help; }
.method-values span[data-hint]:hover::after,.method-values span[data-hint]:focus::after { content:attr(data-hint); position:absolute; z-index:5; left:50%; bottom:calc(100% + 10px); width:max-content; max-width:260px; transform:translateX(-50%); padding:10px 12px; border-radius:4px; background:var(--navy); color:#fff; font-size:12px; line-height:1.45; letter-spacing:0; text-transform:none; box-shadow:0 12px 28px rgba(7,27,52,.2); }
.statement { padding:6rem 7vw; background:var(--section-statement,var(--ice)); overflow:hidden; }
.statement p { margin:0; font-size:clamp(3rem,7vw,7rem); letter-spacing:-.055em; line-height:1.05; white-space:nowrap; }
.statement p:nth-child(2) { color:var(--blue); font-family:Georgia,serif; font-style:italic; margin-left:12vw; }
.statement p:nth-child(3) { margin-left:25vw; }
.contact { background:var(--section-contact,var(--navy-2)); color:white; display:grid; grid-template-columns:1fr 1fr; gap:9vw; }
.contact-intro h2 { font-size:clamp(3rem,4.5vw,5rem); margin:1.7rem 0 2.5rem; }
.contact-intro>p:last-child { color:#adbdcb; line-height:1.7; max-width:520px; }
.contact form { display:flex; flex-direction:column; gap:24px; padding-top:38px; }
.contact label { font-size:11px; text-transform:uppercase; letter-spacing:.13em; color:#9fb0bf; }
.contact input,.contact textarea { width:100%; color:white; border:0; border-bottom:1px solid #526980; background:transparent; padding:13px 0; outline:none; resize:vertical; text-transform:none; letter-spacing:0; }
.contact input:focus,.contact textarea:focus { border-color:var(--sky); }
.contact input::placeholder,.contact textarea::placeholder { color:#73889c; }
.submit { background:white; color:var(--navy); margin-top:15px; align-self:flex-start; min-width:220px; }
.success { align-self:center; padding:3rem; border:1px solid #526980; }
.success span { color:var(--sky); font-size:32px; }
.success h3 { font-size:28px; }
.success p { color:#adbdcb; line-height:1.7; }
.success button { background:none; border:0; color:white; border-bottom:1px solid var(--sky); padding:5px 0; cursor:pointer; }
footer { background:var(--section-footer,#041326); color:#abb7c2; padding:5rem 7vw 2rem; display:grid; grid-template-columns:1.5fr 1fr .7fr .7fr; gap:5vw; font-size:13px; line-height:1.7; }
.footer-brand { position:relative; width:180px; height:90px; }
.footer-identity { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.social-links { display:flex; align-items:center; gap:10px; }
.social-links a { display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(255,255,255,.22); border-radius:50%; color:#d7e3ec; transition:.2s; }
.social-links a:hover,.social-links a:focus { color:white; border-color:var(--sky); background:rgba(86,185,237,.12); transform:translateY(-2px); }
.social-links svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; }
.social-links svg .fill { fill:currentColor; stroke:none; }
.footer-symbol { position:absolute; inset:0 0 20px; overflow:hidden; }
.footer-symbol img { width:100%; height:auto; display:block; }
.footer-white { position:absolute; left:10px; right:8px; bottom:8px; color:white; text-align:center; font-size:11px; line-height:1; font-weight:900; letter-spacing:3px; }
.footer-links { display:flex; flex-direction:column; gap:8px; }
.footer-links a:hover { color:white; }
.footer-bottom { grid-column:1/-1; border-top:1px solid #27364a; margin-top:3rem; padding-top:1.6rem; display:flex; justify-content:space-between; gap:25px; flex-wrap:wrap; }
@media (max-width:900px) {
  .site-header { height:78px; }
  .menu-toggle { display:block; z-index:2; }
  .nav { display:none; position:absolute; top:78px; left:0; right:0; background:var(--navy); color:white; flex-direction:column; align-items:stretch; gap:0; padding:1.5rem 5vw 2rem; box-shadow:0 20px 40px rgba(3,20,40,.3); }
  .nav.open { display:flex; }
  .nav a { padding:14px 0; }
  .portal-link { border:0; border-top:1px solid var(--line); margin-top:8px; }
  .hero { min-height:calc(100svh - 78px); grid-template-columns:1fr; padding:0 6vw; }
  .hero-visual { left:28%; opacity:.55; }
  .hero-content { padding:6rem 0 12rem; }
  .hero-side { position:absolute; left:6vw; bottom:3.7rem; border:0; padding:0; }
  .hero-side>p { display:none; }
  .experience strong { font-size:46px; }
  .experience span { font-size:10px; }
  .scroll-cue { display:none; }
  .section { padding:6rem 6vw; }
  .intro,.services,.method,.contact { grid-template-columns:1fr; gap:3.5rem; }
  .motion-showcase { min-height:660px; padding:5rem 6vw; }
  .motion-frame-main { left:6vw; top:8rem; width:75vw; height:430px; }
  .motion-frame-secondary { right:6vw; width:42vw; height:250px; }
  .motion-caption { left:6vw; top:4rem; width:70vw; }
  .service-list,.operating-journey,.method-values { grid-column:1; }
  .method-summary { grid-template-columns:1fr; }
  .continuous-cycle { border-left:0; border-top:1px solid var(--line); padding:1.5rem 0 0; }
  .services-heading h2 { margin-bottom:1rem; }
  .contact form { padding-top:0; }
  footer { grid-template-columns:1.5fr 1fr 1fr; }
  footer>div:nth-child(2) { display:none; }
}
@media (max-width:620px) {
  h1 { font-size:clamp(3rem,15vw,4.8rem); }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:24px; }
  .two-columns { grid-template-columns:1fr; gap:12px; }
  .motion-showcase { min-height:600px; }
  .motion-frame-main { top:9rem; width:88vw; height:350px; }
  .motion-frame-secondary { width:58vw; height:210px; bottom:3rem; }
  .motion-caption { width:88vw; }
  .service { grid-template-columns:36px 1fr 28px; gap:14px; }
  .service ul { grid-column:2; }
  .service-arrow { grid-column:3; grid-row:1; }
  .journey-step { grid-template-columns:58px 1fr; gap:12px; }
  .journey-output { grid-column:2; border-left:0; border-top:1px solid var(--line); padding:1rem 0 1.6rem; }
  .journey-rail i { left:21px; bottom:-70px; }
  .statement { padding:4rem 6vw; }
  .statement p { white-space:normal; }
  .statement p:nth-child(2),.statement p:nth-child(3) { margin-left:0; }
  footer { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; margin-bottom:1rem; }
  .footer-bottom { flex-direction:column; gap:10px; }
}
@keyframes heroSlideOne { 0%,42% { opacity:1; transform:scale(1.08) translate3d(0,0,0); } 50%,92% { opacity:0; transform:scale(1.15) translate3d(-1.5%,0,0); } 100% { opacity:1; transform:scale(1.08); } }
@keyframes heroSlideTwo { 0%,42% { opacity:0; transform:scale(1.13) translate3d(1.5%,0,0); } 50%,92% { opacity:1; transform:scale(1.06) translate3d(0,0,0); } 100% { opacity:0; transform:scale(1.13); } }
@keyframes imageDrift { from { transform:scale(1.08) translate3d(-1%,0,0); } to { transform:scale(1.15) translate3d(1.5%,-1%,0); } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; animation:none!important; } .hero-image-one { opacity:1; } }

/* Editorial refinements */
.hero::after { right:1vw; bottom:1.5vw; z-index:2; font-size:clamp(8rem,22vw,26rem); letter-spacing:-.09em; color:rgba(255,255,255,.13); -webkit-text-stroke:1px rgba(255,255,255,.34); text-shadow:0 8px 50px rgba(2,14,30,.35); }
.hero-content { position:relative; }
.hero-content::before { content:""; position:absolute; left:0; top:3.5rem; width:56px; height:3px; background:var(--sky); }
.hero-visual-shade { background:linear-gradient(90deg,var(--navy) 0%,rgba(7,27,52,.88) 19%,rgba(7,27,52,.36) 65%,rgba(7,27,52,.46) 100%); }
.section-label { font-size:12px; }
.eyebrow,.kicker { font-size:13px; }
.method { background:var(--section-method,#f4f7f8); }
.method-heading h2 { margin-bottom:2.8rem; }
.method-summary { align-items:start; }
.method-summary>p { font-size:18px; line-height:1.7; }
.method-feature { grid-column:2; margin-top:5rem; padding:2.5rem 3rem; background:var(--navy); color:white; display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:end; border-top:4px solid var(--blue); }
.method-feature-mark { font-size:clamp(4rem,8vw,8rem); font-weight:700; letter-spacing:-.09em; line-height:.9; color:#fff; white-space:nowrap; }
.method-feature-mark span { color:var(--sky); font-size:.48em; vertical-align:middle; }
.method-feature-label { color:var(--sky); text-transform:uppercase; font-size:12px; font-weight:700; letter-spacing:.15em; }
.method-feature p { font-size:clamp(1.25rem,2vw,1.8rem); line-height:1.35; margin:.8rem 0 0; max-width:550px; }
.operating-journey { margin-top:0; }
.journey-step { grid-template-columns:76px 1fr minmax(230px,.55fr); min-height:170px; }
.journey-step:hover { background:#fff; }
.journey-rail span { font-size:14px; font-weight:700; }
.journey-content p { font-size:16px; }
.journey-output small { font-size:12px; }
.journey-output strong { font-size:15px; }
.method-values span { font-size:12px; }
.form-notice { margin:0; border-left:3px solid var(--sky); padding:12px 16px; background:rgba(255,255,255,.07); color:#dceaf4; font-size:14px; }
.contact label { font-size:13px; }
.contact-data { display:flex; flex-direction:column; gap:10px; margin-top:2rem; color:#dbe7f0; line-height:1.5; }
.contact-units { display:grid; gap:0; margin-top:2rem; }
.contact-units article { display:block; padding:18px 0; border-top:1px solid rgba(255,255,255,.16); }
.contact-units strong { color:white; text-transform:uppercase; letter-spacing:.1em; font-size:12px; }
.contact-unit-name { display:block; margin-bottom:8px; font-weight:700; }
.contact-unit-details { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.contact-units span,.contact-units a { display:block; color:#b9cad8; font-size:14px; line-height:1.5; }
.contact-units .whatsapp-link { display:inline-flex; align-items:center; gap:8px; }
.whatsapp-link svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.45; }
.privacy-check { display:flex; align-items:flex-start; gap:10px; text-transform:none!important; letter-spacing:0!important; line-height:1.45; }
.privacy-check input { width:18px!important; height:18px; margin:0; flex:none; }
@media (max-width:900px) { .method-feature { grid-column:1; margin-top:1rem; } }
@media (max-width:620px) { .hero::after { font-size:28vw; right:4vw; bottom:4rem; } .method-feature { grid-template-columns:1fr; padding:2rem; gap:1.5rem; } .method-feature-mark { font-size:clamp(3.8rem,17vw,6rem); } .journey-step { grid-template-columns:52px 1fr; } .journey-output { grid-column:2; } }

/* Original silver ABGR mark, framed within the supplied image. */
.site-header, footer { background:var(--section-footer,#1c3460); }
.brand, .footer-brand { display:block; position:relative; overflow:hidden; width:174px; height:78px; flex:none; }
.brand-image { position:absolute; width:190%; max-width:none; height:auto; left:50%; top:50%; transform:translate(-50%,-50%); display:block; }
.footer-brand { width:205px; height:92px; }
@media (max-width:900px) { .brand { width:150px; height:68px; } }
