/* AAG shared theme 2026-11 — uses only the existing brand variables (no new colours) */
section.phero{background:var(--dark)!important;background-image:none!important;border-bottom:4px solid var(--green)!important;padding-top:40px!important;padding-bottom:38px!important}
section.phero .crumb,section.phero .crumb *{color:rgba(255,255,255,.72)!important}
section.phero .crumb a{color:var(--green)!important}
section.phero h1{color:#fff!important}
section.phero h1:after{content:"";display:block;width:56px;height:3px;background:var(--green);margin-top:14px}
.btn{transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(34,34,34,.12)}
.cat,.gcard,.card,.rd-c{border-radius:14px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.cat:hover,.gcard:hover,.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(34,34,34,.12)}
.sec .prose p,.sec p.lead{line-height:1.8}
@media (prefers-reduced-motion:no-preference){.sec,.cats,.contact .main{animation:aagIn .6s ease both}@keyframes aagIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
/* ===== Shared page components (sx-) — existing brand variables only ===== */
.sx-wrap{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}
.sx-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.sx-ey{margin:0 0 12px;font:600 12px Cuprum,sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--green-text)}
.sx-h{margin:0;font:700 clamp(28px,3.4vw,44px)/1.1 Cuprum,sans-serif;color:var(--dark)}.sx-h em{font-style:normal;color:var(--green-text)}
.sx-lead{margin:0 0 24px;font-size:16px;line-height:1.8;color:var(--text)}
.sx-sub{max-width:640px;margin:14px auto 0;font-size:16px;line-height:1.7;color:var(--text)}
.sx-ctas{display:flex;gap:12px;flex-wrap:wrap}
.sx-btn{display:inline-block;padding:14px 26px;font:600 14px Cuprum,sans-serif;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1.5px solid var(--green);transition:background-color .2s,color .2s,transform .2s}
.sx-btn:hover{transform:translateY(-2px)}.sx-p{background:var(--green);color:var(--dark)}.sx-p:hover{background:var(--dark);border-color:var(--dark);color:#fff}.sx-o{color:var(--dark)}.sx-o:hover{background:var(--green)}
.sx-feat{background:var(--dark);padding:var(--sec-y) 0;border-bottom:4px solid var(--green)}
.sx-feat .sx-ey{color:var(--green)}.sx-feat .sx-h{color:#fff;margin-bottom:16px}.sx-feat .sx-lead{color:rgba(255,255,255,.82)}.sx-feat .sx-p:hover{background:#fff;border-color:#fff}
.sx-list{list-style:none;margin:0;padding:28px 30px;border:1px solid rgba(255,255,255,.15);display:grid;gap:16px}
.sx-list li{position:relative;padding-left:28px;color:#fff;font-size:16px}.sx-list li:before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;background:var(--green)}
.sx-grid-sec{background:var(--light2);padding:var(--sec-y) 0}
.sx-hd{text-align:center;margin-bottom:36px}
.sx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sx-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 24px;transition:transform .25s,box-shadow .25s}
.sx-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--green);border-radius:14px 14px 0 0;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.sx-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(34,34,34,.1)}.sx-card:hover:before{transform:scaleX(1)}
.sx-ic{width:48px;height:48px;border-radius:12px;background:var(--dark);display:grid;place-items:center;margin-bottom:18px}
.sx-ic svg{width:24px;height:24px;fill:none;stroke:var(--green);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sx-n{position:absolute;top:26px;right:24px;font:600 13px Cuprum,sans-serif;letter-spacing:.14em;color:var(--green-text)}
.sx-card h3{margin:0 0 8px;font:700 19px Cuprum,sans-serif;color:var(--dark)}.sx-card p{margin:0;font-size:14px;line-height:1.65;color:var(--text)}
.sx-proc{background:var(--dark);padding:var(--sec-y) 0}.sx-proc .sx-ey{color:var(--green)}.sx-proc .sx-h{color:#fff}
.sx-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.sx-steps li{padding:6px 24px;border-left:1px solid rgba(255,255,255,.15)}.sx-steps b{font:700 40px Cuprum,sans-serif;color:var(--green)}.sx-steps h3{margin:4px 0 6px;font:700 19px Cuprum,sans-serif;color:#fff}.sx-steps p{margin:0;font-size:14px;line-height:1.6;color:rgba(255,255,255,.82)}
/* Vision / Mission (vm-) */
.vm-st{padding:var(--sec-y) 0}
.vm-st .sx-split{grid-template-columns:1.1fr .9fr}
.vm-q{margin:0 0 28px;padding-left:24px;border-left:4px solid var(--green);font:600 clamp(24px,2.6vw,34px)/1.35 Cuprum,sans-serif;color:var(--dark)}
.vm-back{margin-left:6px;font:600 14px Cuprum,sans-serif;letter-spacing:.08em;color:var(--slate);text-decoration:none;align-self:center}.vm-back:hover{color:var(--green-text)}
.vm-img{margin:0}.vm-img img{display:block;width:100%;height:auto;border-radius:14px;border-bottom:4px solid var(--green);box-shadow:0 18px 40px rgba(34,34,34,.14)}
.vm-pair{background:var(--light2);padding:var(--sec-y) 0}
.vm-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.vm-card{display:block;position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px 30px;text-decoration:none;transition:transform .25s,box-shadow .25s}
.vm-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(34,34,34,.1)}
.vm-card .sx-ey{margin-bottom:10px}.vm-card h3{margin:0 0 10px;font:700 24px Cuprum,sans-serif;color:var(--dark)}.vm-card p{margin:0 0 16px;font-size:15px;line-height:1.7;color:var(--text)}
.vm-card .go{font:600 13px Cuprum,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--green-text)}
.vm-card.on{background:var(--dark);border-color:var(--dark);border-bottom:4px solid var(--green)}.vm-card.on h3{color:#fff}.vm-card.on p{color:rgba(255,255,255,.82)}.vm-card.on .sx-ey,.vm-card.on .go{color:var(--green)}
@media(max-width:1000px){.sx-grid{grid-template-columns:repeat(2,1fr)}.sx-steps{grid-template-columns:repeat(2,1fr);row-gap:28px}}
@media(max-width:760px){.sx-split,.vm-st .sx-split,.vm-cards{grid-template-columns:1fr;gap:28px}}
@media(max-width:560px){.sx-grid,.sx-steps{grid-template-columns:1fr}}
.vm-img{position:relative}.vm-img img{position:static!important;inset:auto!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:cover;aspect-ratio:4/3;opacity:1!important;z-index:auto!important}
/* fixes v2 */
.sx-proc,.rd-pr{border-bottom:4px solid var(--green)}
.vm-card p.sx-ey{color:var(--green-text)}.vm-card.on p.sx-ey{color:var(--green)}
.vm-q{font-size:clamp(26px,2.8vw,38px)}
.vm-st .sx-ey{margin-bottom:18px}
.vm-next{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:var(--dark);border-radius:14px;border-bottom:4px solid var(--green);padding:40px 44px;text-decoration:none;transition:transform .25s,box-shadow .25s}
.vm-next:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(34,34,34,.18)}
.vm-next .sx-ey{color:var(--green)}.vm-next h3{margin:0 0 10px;font:700 clamp(24px,2.4vw,32px) Cuprum,sans-serif;color:#fff}.vm-next p{margin:0;max-width:640px;font-size:16px;line-height:1.7;color:rgba(255,255,255,.82)}
.vm-next .arr{width:58px;height:58px;border-radius:50%;border:1.5px solid var(--green);display:grid;place-items:center;color:var(--green);font-size:24px;transition:background-color .2s,color .2s}
.vm-next:hover .arr{background:var(--green);color:var(--dark)}
@media(max-width:640px){.vm-next{grid-template-columns:1fr;padding:30px 26px}}
/* md heading */
html body .md-intro h2.md-name{font-size:clamp(52px,6.5vw,84px)!important;line-height:1.02!important}
html body .md-intro p.eyebrow{font-size:18px!important;letter-spacing:.2em!important}
html body .md-intro .md-role{font-size:clamp(20px,2.2vw,28px)!important}
/* centered heading underline in section headers */
.sx-hd .sx-h{position:relative;padding-bottom:18px}.sx-hd .sx-h:after{left:50%!important;transform:translateX(-50%);bottom:0!important;top:auto!important}
/* hero full view: whole photo visible in the right panel (photos are ~5:4) */
html body section#top.hero{background:var(--dark)!important;min-height:min(46vw,calc(100vh - 57px))!important}
html body section#top.hero .slide{left:42%!important;right:auto!important;width:58%!important;top:0!important;height:100%!important;object-fit:contain!important;object-position:50% 50%!important;background:var(--dark)}
html body section#top.hero .rd-ctl{left:42%!important}
@media(max-width:820px){html body section#top.hero{min-height:0!important;padding-top:79.4vw!important}html body section#top.hero .slide{left:0!important;width:100%!important;height:79.4vw!important}html body section#top.hero .rd-ctl{left:0!important;top:calc(79.4vw - 64px)!important}}
/* compact page banner */
html body section.phero{padding-top:22px!important;padding-bottom:22px!important}
html body section.phero .in{padding-top:0!important;padding-bottom:0!important}
html body section.phero .crumb{margin:0 0 6px!important}
html body section.phero h1{line-height:1.1!important}
html body section.phero h1:after{margin-top:10px!important;width:44px!important}
/* MD page: education + experience aligned, boxed */
html body .md-grid{align-items:stretch!important;gap:24px!important}
html body .md-grid>.md-block{margin:0!important;background:#fff!important;border:1px solid var(--line)!important;border-top:4px solid var(--green)!important;border-radius:14px!important;padding:32px 30px!important;box-shadow:0 10px 28px rgba(34,34,34,.08)!important}
html body .md-grid>.md-block .md-h{margin-top:0!important;align-items:flex-start!important;min-height:0!important}
html body .md-grid>.md-block .md-h:before{margin-top:.6em}
@media(min-width:761px){html body .md-grid{grid-template-rows:auto 1fr!important;row-gap:0!important}html body .md-grid>.md-block{display:grid!important;grid-row:span 2;grid-template-rows:subgrid!important;row-gap:0!important}}
@media(max-width:760px){html body .md-grid{grid-template-columns:1fr!important}}

/* ===== AAG mobile fixes v1 (2026-11-05) ===== */
@media(max-width:760px){
header .hdr{flex-wrap:nowrap!important;gap:2px!important;padding:8px 6px!important;min-height:0!important;align-items:center!important}
header .hdr a.logo{flex:0 0 auto!important;width:auto!important;min-width:0!important;margin-right:auto!important}
header .hdr a.ig-link,header .hdr a.btn.wa,header .hdr a.btn.btn-green.call{display:inline-flex!important;align-items:center;justify-content:center;width:38px!important;min-width:0!important;max-width:38px!important;height:38px!important;min-height:0!important;padding:0!important;flex:0 0 38px!important;overflow:hidden;background:transparent!important;border:0!important;box-shadow:none!important;font-size:0!important}
header .hdr a.btn.btn-green.call .call-ico{width:30px;height:30px;display:grid!important;place-items:center;border-radius:50%;background:#72b70f;color:#fff}
header .hdr a.btn.btn-green.call>:not(.call-ico),header .hdr a.btn.wa .wa-txt{display:none!important}
header .hdr button.menu-btn{display:inline-flex!important;width:44px!important;height:44px!important;flex:0 0 44px!important;margin-left:4px!important}
.arrows button{width:44px!important;height:44px!important}
.dots button{min-width:36px;min-height:36px}
.btn-quote,.hero .btn,.intro .btn{min-height:48px}
.projects .card.lg{border:0!important;border-radius:14px;overflow:hidden;box-shadow:none!important}
.projects .card.lg .cap{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;justify-content:space-between;gap:12px;background:#2b2b2b!important;padding:14px 18px!important;border-bottom:3px solid #72b70f}
.projects .card.lg .cap .t{color:#fff!important;font-size:19px!important;line-height:1.25}
.projects .card.lg .cap .v{font-size:0!important;line-height:0;color:#72b70f!important}
.projects .card.lg .cap .v::after{content:"\2192";font-size:24px;line-height:1;color:#72b70f}
nav li.has-dd ul li:has(>a[href="/services"]){display:none!important}
.contact a[href^="tel"],.contact a[href^="mailto"]{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:760px){
header .hdr a.logo{order:0!important}header .hdr a.ig-link:not(.share-link){order:1!important}header .hdr a.btn.btn-green.call{order:2!important}header .hdr a.btn.wa{order:3!important}header .hdr a.share-link{order:4!important}header .hdr button.menu-btn{order:5!important}
}
header div.hdr.wrap{gap:0!important;column-gap:0!important}
@media(max-width:380px){header .hdr a.logo{zoom:.92}}
@media(max-width:365px){header .hdr a.logo{zoom:.83}}

/* === Managing Director page: executive finish (20261105h) === */
.sec.md .md-photo{position:relative;top:auto;width:100%;max-width:340px;margin:0 auto;padding:0;background:transparent;border:0;outline:1px solid var(--green);outline-offset:10px;box-shadow:0 24px 50px -20px rgba(0,0,0,.6);display:block}
.sec.md .md-photo::before,.sec.md .md-photo::after{display:none;content:none}
.sec.md .md-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;filter:none;border:0;box-shadow:none;transform:none}
.sec.md h2.md-name{white-space:nowrap;line-height:1.1;margin:0 0 14px;letter-spacing:.01em;font-size:clamp(22px,6.4vw,56px)}
.sec.md h2.md-name b{display:inline;font-weight:700}
.sec.md .md-role{letter-spacing:.12em}
@media (min-width:860px){.sec.md h2.md-name{font-size:clamp(30px,3.9vw,56px)}.sec.md .md-role{white-space:nowrap;font-size:clamp(10px,1.35vw,15px)}}
.sec.md .md-prose{max-width:820px;margin:0 auto;text-align:left}
.sec.md .md-prose p{text-align:left;font-size:17px;line-height:1.9;color:#2b3236;margin:0 0 22px;padding:0 0 22px;border-bottom:1px solid var(--line);font-style:normal}
.sec.md .md-prose p:first-of-type{font-family:"Playfair Display",Georgia,serif;font-size:clamp(19px,2.2vw,24px);line-height:1.6;color:#14181a;border-left:4px solid var(--green);padding:4px 0 26px 24px}
.sec.md .md-prose p.closing{max-width:none;margin:8px 0 0;padding:26px 0 0 24px;border-top:0;border-bottom:0;border-left:4px solid var(--green);font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:19px}
.sec.md .md-grid{gap:24px}
.sec.md .md-block{border:0;border-top:3px solid var(--green);border-radius:2px;box-shadow:0 10px 30px rgba(20,24,26,.08);padding:32px;background:#fff}
.sec.md .md-h{font-size:24px;letter-spacing:.02em}
.sec.md .md-tl .t{letter-spacing:.12em;font-size:13px}
