/* About for the U.S. investor */
.page-about h2{font-size:clamp(36px,5vw,72px);margin:0;text-wrap:balance}
.page-about .hero--inner h1{text-wrap:balance}

/* what we do: three jobs as full-bleed photos */
.ab-do{padding:clamp(56px,7vw,104px) 0 16px}
.ab-do h2{padding:0 var(--pad);margin-bottom:clamp(28px,4vw,44px)}
.ab-do__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.ab-job{position:relative;height:clamp(480px,70vh,660px);overflow:hidden;background:var(--navy)}
.ab-job img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ab-job::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,30,59,0) 34%,rgba(7,30,59,.94) 82%)}
.ab-job__text{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:clamp(22px,2.6vw,36px);color:#fff}
.ab-job h3{margin:0;color:#fff;font-size:clamp(44px,5vw,76px);letter-spacing:-.03em;line-height:1}
.ab-job p{margin:12px 0 0;color:#fff;font-size:18px;min-height:4.5em}
.ab-do__note{margin:10px 0 0;padding:0 var(--pad);font-size:13px;color:var(--muted);max-width:none}

/* how we get paid: selector over the three lines of business */
.ab-paid{margin-top:clamp(40px,5vw,72px);background:var(--navy);color:#fff;padding:clamp(64px,8vw,120px) var(--pad)}
.ab-paid__in{max-width:1400px;margin:0 auto}
.ab-paid h2{color:#fff}
.ab-paid__lead{margin:16px 0 0;color:#D5DEEA;font-size:var(--fs-lead)}
.ab-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:40px}
.ab-tabs button{display:flex;align-items:center;justify-content:center;text-align:center;min-height:76px;padding:0 10px;border:2px solid #fff;border-radius:8px;background:transparent;color:#fff;font:700 clamp(15px,2.1vw,28px)/1.1 var(--font-display);letter-spacing:-.01em;cursor:pointer;transition:background .15s,border-color .15s}
.ab-tabs button:hover{background:rgba(255,255,255,.1)}
.ab-tabs button[aria-selected=true]{background:var(--red);border-color:var(--red)}
.ab-tabs button:focus-visible,.ab-panel:focus-visible{outline-color:#fff}
.ab-panel{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,96px);align-items:center;margin-top:clamp(36px,4vw,56px)}
.ab-panel[hidden]{display:none}
.ab-panel__who p{margin:0 0 8px;font:600 18px var(--font-display);color:#D5DEEA}
.ab-panel__who strong{display:block;font:700 clamp(52px,6.4vw,96px)/1 var(--font-display);letter-spacing:-.04em;color:#fff}
.ab-panel__sheet{margin:0;background:#fff;color:var(--ink);border-radius:6px;padding:10px clamp(20px,2.6vw,36px)}
.ab-panel__sheet>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--rule)}
.ab-panel__sheet dt{font:600 16px/1.35 var(--font-display);color:var(--muted)}
.ab-panel__sheet dd{margin:0;font-size:18px;color:var(--navy)}
.ab-panel__sheet>div:last-child{border-bottom:0}
.ab-panel__more{display:flex;width:fit-content;align-items:center;min-height:44px;margin-top:6px;font:600 17px/1.2 var(--font-display);color:var(--navy);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.ab-paid__others{margin:clamp(32px,4vw,48px) 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.3);color:#D5DEEA;max-width:none}
@media (prefers-reduced-motion:no-preference){
  .ab-panel:not([hidden]) .ab-panel__who strong,.ab-panel:not([hidden]) .ab-panel__sheet{animation:ab-in .28s ease-out}
  @keyframes ab-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}

/* team, licenses and address: big words on the tint */
.ab-names{background:var(--ledger);padding:clamp(64px,8vw,120px) var(--pad);display:grid;grid-template-columns:5fr 6fr;gap:clamp(40px,7vw,110px);align-items:start}
.ab-names__head{min-width:0}
.ab-names__head p{margin:18px 0 0;font-size:var(--fs-lead);color:var(--muted)}
.ab-names__head .actions{margin-top:28px}
.ab-names__row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:24px;align-items:baseline;padding:24px 0;border-top:3px solid var(--navy)}
.ab-names__row h3{margin:0;font-size:clamp(34px,3.7vw,54px);letter-spacing:-.03em;color:var(--navy)}
.ab-names__row p{margin:0}
.ab-names__fine{margin:0;padding-top:24px;border-top:3px solid var(--navy);font:600 clamp(19px,1.6vw,22px)/1.4 var(--font-display);color:var(--navy);max-width:none}

/* Wagner: a road sign on the job site */
.ab-meet{position:relative;overflow:hidden;background:var(--navy);min-height:clamp(560px,76vh,720px);display:flex}
.ab-meet>img,.ab-meet>picture img,.ab-meet>figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ab-meet>picture,.ab-meet>figure{position:absolute;inset:0;margin:0}
.ab-meet::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,30,59,.92) 0,rgba(7,30,59,.72) 42%,rgba(7,30,59,0) 72%)}
.ab-meet__in{position:relative;z-index:1;flex:1;display:grid;grid-template-columns:5fr 6fr;gap:clamp(40px,7vw,110px);padding:0 var(--pad);align-items:stretch}
.ab-meet__text{align-self:center;color:#fff;padding:48px 0}
.ab-meet h2{color:#fff}
.ab-meet__text p{margin:18px 0 0;font-size:var(--fs-lead);color:#fff}
.ab-meet__post{position:relative;display:flex;flex-direction:column;justify-content:flex-start;padding-top:clamp(64px,9vh,104px)}
.ab-meet__post::before,.ab-meet__post::after{content:"";position:absolute;top:clamp(120px,16vh,160px);bottom:0;width:14px;background:linear-gradient(90deg,#8d97a3,#c9d0d8 45%,#7b8592)}
.ab-meet__post::before{left:22%}.ab-meet__post::after{right:22%}
.ab-meet__sign{position:relative;z-index:1;padding:36px 40px 30px;box-shadow:inset 0 0 0 5px var(--navy),inset 0 0 0 9px #fff,0 18px 40px rgba(7,30,59,.35)}
.ab-meet__sign b{display:flex;align-items:center;justify-content:space-between;gap:16px;font:800 clamp(30px,3.6vw,52px)/1 var(--font-sign)}
.ab-meet__sign svg{width:.8em;height:.8em;flex:none}
.ab-meet__sign span{display:block;margin-top:14px;font:600 17px/1.3 var(--font-sign);color:#fff}
.ab-meet__note{position:absolute;z-index:1;right:var(--pad);bottom:12px;margin:0;padding:5px 9px;border-radius:4px;background:rgba(7,30,59,.72);color:#fff;font-size:13px}

@media (max-width:1023px){
  .ab-panel,.ab-names,.ab-meet__in{grid-template-columns:1fr}
  .ab-panel{gap:24px}
  .ab-meet__in{gap:0}
  .ab-meet__text{padding-bottom:0}
  .ab-meet::after{background:linear-gradient(180deg,rgba(7,30,59,.92) 0,rgba(7,30,59,.7) 45%,rgba(7,30,59,.1) 80%)}
  .ab-meet__post{padding-top:36px;min-height:300px}
  .ab-meet__post::before,.ab-meet__post::after{top:80px}
}
@media (max-width:719px){
  .ab-do__grid{grid-template-columns:1fr}
  .ab-job{height:340px}
  .ab-job p{min-height:0}
  .ab-tabs{gap:6px}
  .ab-tabs button{min-height:60px;padding:0 4px}
  .ab-panel__sheet>div{grid-template-columns:1fr;gap:4px;padding:16px 0}
  .ab-names__row{grid-template-columns:1fr;gap:6px}
  .ab-meet__sign{padding:28px 26px 24px}
  .ab-meet__sign span{font-size:15px}
}
