/* Capabilities Statement components, scoped to .cap (generated by capsrc.py from the user-supplied HTML) */
.cap h1,.cap h2,.cap h3{font-family:var(--serif);font-weight:600;color:var(--ink);line-height:1.2;margin:0}
.cap h2{font-size:clamp(28px,3.6vw,40px);letter-spacing:-.01em}
.cap h3{font-family:var(--sans);font-weight:700;font-size:20px;margin:0 0 .5em}
.cap h4{font:700 12px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);margin:0 0 .7em}
.cap sup{font-size:.62em;font-weight:700;line-height:0}
.cap sup a{text-decoration:none;color:var(--gold-d);padding:0 1px}
.cap section{padding:clamp(56px,8vw,96px) 0;scroll-margin-top:64px}
.cap .eyebrow{font:700 12px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-d);margin:0 0 14px}
.cap .lede{font-size:clamp(18px,2vw,21px);color:var(--muted);max-width:820px;margin-top:16px}
.cap .rule{width:64px;height:3px;background:var(--gold);margin:22px 0 28px;border:0}
.cap .sub{margin-top:48px}
.cap .small{font-size:14px;color:var(--muted)}
.cap .dark{background:var(--dark);color:var(--on-dark)}
.cap .dark h2,.cap .dark h3,.cap .dark strong{color:#fff}
.cap .dark .eyebrow,.cap .dark h4,.cap .dark sup a{color:var(--gold)}
.cap .dark .lede{color:var(--on-dark-muted)}
.cap .dark a{color:var(--gold-l)}
.cap .btn{display:inline-block;font:700 15px/1 var(--sans);letter-spacing:.02em;padding:14px 22px;border-radius:2px;text-decoration:none;border:1.5px solid var(--gold);transition:background .2s,color .2s}
.cap .btn-gold{background:var(--gold);color:#1a1a1a}
.cap .btn-gold:hover{background:var(--gold-l);color:#1a1a1a}
.cap .btn-line{color:#fff;background:transparent}
.cap .btn-line:hover{background:rgba(184,150,62,.15);color:#fff}
.cap .hero{position:relative;background:var(--dark) center/cover no-repeat;color:#fff;padding:clamp(96px,14vw,168px) 0 clamp(48px,7vw,80px)}
.cap .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,19,17,.45) 0%,rgba(20,19,17,.72) 45%,rgba(20,19,17,.96) 100%)}
.cap .hero .wrap{position:relative}
.cap .hero .kicker{font:700 clamp(18px,2.2vw,24px)/1.2 var(--serif);letter-spacing:.18em;text-transform:uppercase;color:#fff;margin:0}
.cap .hero .kicker span{color:var(--gold)}
.cap .hero .tag{font:700 12px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:10px 0 36px;padding-bottom:24px;border-bottom:3px solid var(--gold);display:inline-block}
.cap .hero h1{color:#fff;font-size:clamp(32px,4.8vw,54px);max-width:900px}
.cap .hero h1 em{font-style:normal;color:var(--gold)}
.cap .hero .lede{color:#d8d3c8;max-width:760px}
.cap .hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 48px}
.cap .facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.18)}
.cap .facts div{padding:18px 18px 0 0}
.cap .facts dt{font:700 11px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.cap .facts dd{margin:0;font-size:15px;color:#e8e4dd;line-height:1.45}
@media (max-width:760px){.cap .facts{grid-template-columns:1fr 1fr}
.cap .facts div{padding-bottom:12px}}
.cap .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:36px 0}
.cap .stat{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);padding:22px 16px 18px;text-align:center}
.cap .stat b{display:block;font:700 clamp(28px,3.2vw,36px)/1.1 var(--serif);color:var(--gold-d)}
.cap .stat span{display:block;margin-top:8px;font:600 12px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cap .stats.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:760px){.cap .stats,.cap .stats.four{grid-template-columns:1fr 1fr}}
.cap .circles{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2.4vw,28px);margin-top:40px}
.cap .circle{aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12%;border:1.5px solid var(--gold);background:var(--dark2)}
.cap .circle b{font:700 clamp(20px,2.6vw,30px)/1.1 var(--serif);color:var(--gold)}
.cap .circle span{margin-top:8px;font:700 clamp(9px,1vw,11.5px)/1.35 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-muted)}
.cap .circle.solid{background:var(--gold);border-color:var(--gold)}
.cap .circle.solid b{color:#1a1a1a}
.cap .circle.solid span{color:#3a3223}
.cap .circle.light{background:var(--paper)}
.cap .circle.light b{color:var(--gold-d)}
.cap .circle.light span{color:var(--muted)}
@media (max-width:640px){.cap .circles{grid-template-columns:1fr 1fr}
.cap .circle span{font-size:10px}}
.cap .grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px)}
.cap .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:860px){.cap .grid3{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.cap .grid2,.cap .grid3{grid-template-columns:1fr}}
.cap .card{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);padding:22px 24px}
.cap .card p:last-child,.cap .card ul:last-child{margin-bottom:0}
.cap .dark .card{background:var(--dark2);border-color:var(--dark-line);border-left-color:var(--gold)}
.cap .card.top{border-left:1px solid var(--line);border-top:3px solid var(--gold)}
.cap ul.dia{list-style:none;padding:0;margin:0 0 1em}
.cap ul.dia li{position:relative;padding-left:24px;margin-bottom:12px}
.cap ul.dia li::before{content:"";position:absolute;left:2px;top:.52em;width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}
.cap .callout{background:var(--beige);border-left:4px solid var(--gold);padding:24px 28px;margin:36px 0}
.cap .callout.dk{background:var(--dark2);color:var(--on-dark);border-left-color:var(--gold)}
.cap .callout.dk strong{color:#fff}
.cap .callout .lead{color:var(--gold-d);font-weight:700}
.cap .callout.dk .lead{color:var(--gold)}
.cap .callout p:last-child{margin-bottom:0}
.cap .dark .callout{background:var(--dark2)}
.cap .quotes{background:var(--beige);border-left:4px solid var(--gold);padding:26px 30px;margin:24px 0 28px}
.cap .quotes blockquote{margin:0 0 14px;font:400 18px/1.55 var(--serif);color:var(--ink)}
.cap .quotes blockquote:last-child{margin-bottom:0}
.cap .kv{width:100%;border-collapse:collapse;border-top:3px solid var(--gold);background:var(--card)}
.cap .kv th,.cap .kv td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.cap .kv th{width:210px;font:700 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d)}
@media (max-width:640px){.cap .kv th,.cap .kv td{display:block;width:auto}
.cap .kv th{padding-bottom:2px;border-bottom:0}}
.cap .tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:28px 0;border:1px solid var(--line);background:var(--card)}
.cap table.cmp{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45;min-width:760px}
.cap table.cmp th,.cap table.cmp td{padding:14px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cap table.cmp thead th{background:#2d2d2d;color:#f5f3ef;font:700 12px/1.35 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.cap table.cmp tbody th{font-weight:700;color:var(--ink);width:15%}
.cap table.cmp td{color:var(--muted)}
.cap table.cmp .us{background:#fbf6ea;color:var(--ink)}
.cap table.cmp thead th.us{background:var(--gold);color:#1a1a1a}
.cap .swipe{display:none;font-size:13px;color:var(--faint);margin:-18px 0 24px}
@media (max-width:800px){.cap .swipe{display:block}}
.cap .banner{position:relative;min-height:clamp(300px,42vw,460px);display:flex;align-items:flex-end;background:#222 center/cover no-repeat;color:#fff;border-bottom:4px solid var(--gold);scroll-margin-top:64px}
.cap .banner::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(20,19,17,.88) 100%)}
.cap .banner .wrap{position:relative;width:100%;padding-bottom:36px}
.cap .banner .eyebrow{color:var(--gold)}
.cap .banner h2{color:#fff;max-width:880px}
.cap .fig{margin:0;background:var(--card);border:1px solid var(--line)}
.cap .fig img{width:100%;object-fit:cover;border-bottom:2px solid var(--gold)}
.cap .fig figcaption{padding:12px 16px;font-size:14px;color:var(--muted);line-height:1.45}
.cap .fig figcaption strong{color:var(--ink)}
.cap .photos{display:grid;gap:16px;margin-top:28px}
.cap .photos.p2{grid-template-columns:1fr 2fr}
.cap .photos.p3{grid-template-columns:3fr 4fr 5.6fr}
.cap .photos .fig img{height:clamp(200px,26vw,300px)}
.cap .photos.p3 .fig img{height:clamp(160px,18vw,210px)}
@media (max-width:760px){.cap .photos.p2,.cap .photos.p3{grid-template-columns:1fr}
.cap .photos .fig img,.cap .photos.p3 .fig img{height:auto;max-height:420px}}
.cap .team{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
@media (max-width:900px){.cap .team{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.cap .team{grid-template-columns:1fr}}
.cap .person{background:var(--dark2);border:1px solid var(--dark-line);border-top:3px solid var(--gold);padding:22px 22px 20px;font-size:15px}
.cap .person header{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.cap .mono{flex:0 0 46px;height:46px;border-radius:50%;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font:700 14px var(--serif);color:var(--gold)}
.cap .person h3{color:#fff;font-family:var(--serif);font-weight:600;font-size:19px;margin:0}
.cap .person .role{font:700 11px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.cap .person .cred{color:var(--on-dark-muted);font-size:14px}
.cap .person .cred b{color:var(--gold-l)}
.cap .foot{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;margin-top:24px}
@media (max-width:860px){.cap .foot{grid-template-columns:1fr}}
.cap .ausmap{width:100%;height:auto}
.cap .ausmap path{stroke:#fff;stroke-width:1;stroke-linejoin:round}
.cap .ausmap .op{fill:#d9c48c}
.cap .ausmap .wa{fill:#e3ded4}
.cap .ausmap .st{font:700 11px var(--sans);letter-spacing:2px;fill:var(--gold-d)}
.cap .ausmap .wa-t{fill:#9a968d}
.cap .ausmap .city{font:700 10.5px var(--sans);fill:var(--ink)}
.cap .ausmap .base{fill:var(--ink);stroke:#fff;stroke-width:1.2}
.cap .ausmap .ho{fill:var(--gold);stroke:var(--ink);stroke-width:1.2}
.cap .legend{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;color:var(--muted);margin-top:10px}
.cap .legend i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px}
.cap .legend .l1{border-radius:50%;background:var(--ink)}
.cap .legend .l2{background:var(--gold);transform:rotate(45deg);border:1px solid var(--ink)}
.cap .legend .l3{background:#d9c48c;width:16px}
.cap .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
@media (max-width:860px){.cap .steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cap .steps{grid-template-columns:1fr}}
.cap .step{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);padding:22px}
.cap .step .n{font:700 26px/1 var(--serif);color:var(--gold-d);margin-bottom:12px}
.cap .step h3{font-size:17px;margin-bottom:6px}
.cap .step p{font-size:15px;color:var(--muted);margin:0}
.cap .dark .step{background:var(--dark2);border-color:var(--dark-line);border-top-color:var(--gold)}
.cap .dark .step p{color:var(--on-dark-muted)}
.cap .dark .step .n{color:var(--gold)}
.cap .sector .pill{display:inline-block;background:var(--gold);color:#1a1a1a;font:700 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:7px 10px;margin-bottom:14px}
.cap .strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
@media (max-width:760px){.cap .strip{grid-template-columns:1fr}}
.cap .case{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);padding:24px 28px;margin-top:28px}
.cap .case h4{margin-bottom:10px}
.cap ol.refs{padding:0;margin:28px 0 0;list-style:none;counter-reset:r;columns:2;column-gap:40px;font-size:14px;line-height:1.5;color:#3a3a3a}
.cap ol.refs li{counter-increment:r;position:relative;padding-left:32px;margin-bottom:14px;break-inside:avoid;scroll-margin-top:80px}
.cap ol.refs li::before{content:counter(r);position:absolute;left:0;top:0;font-weight:700;color:var(--gold-d)}
.cap ol.refs li:target{background:#fbf3dc}
@media (max-width:760px){.cap ol.refs{columns:1}}
.cap .contact-card{max-width:560px;margin:40px auto 0;border:1px solid var(--dark-line);border-top:3px solid var(--gold);background:var(--dark2);padding:30px 32px;text-align:center}
.cap .contact-card h3{font-family:var(--serif);font-weight:600;color:#fff;font-size:26px;margin-bottom:4px}
.cap .contact-card .role{font:700 12px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.cap .contact-card dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;text-align:left;margin:0 auto;max-width:420px}
.cap .contact-card dt{font:700 11px/1.9 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-muted);text-align:right}
.cap .contact-card dd{margin:0;color:#fff}
.cap .contact-card .ctas{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:26px}