/* Scoped to company content; presentation and contact layouts are untouched. */
.client-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.client-story{padding:36px;background:#fff;border:1px solid #dae1e8;border-top:3px solid #2000df;color:#0a2543;box-shadow:0 8px 28px #081f3510}
.client-story header{display:flex;align-items:center;gap:24px;min-height:90px;border-bottom:1px solid #e3e8ef;padding-bottom:20px}
.client-story header img{width:160px;max-width:45%;height:70px;object-fit:contain}
.client-story h3{font:700 18px/1.4 Arial,sans-serif;margin:0}
.client-story blockquote{background:transparent;color:#16314e;margin:26px 0 0;padding:0;font:400 17px/1.8 Arial,sans-serif;letter-spacing:0;text-transform:none}
.client-story blockquote p{margin:0}
.company-page-heading{padding:230px max(24px,calc((100vw - 1200px)/2)) 64px;background:#071d34;color:#fff}
.company-page-heading h1{font:400 clamp(48px,6vw,84px)/1.03 var(--brand-display);letter-spacing:-2px;margin:20px 0 28px;text-transform:none}
.company-page-heading h1 em{font-style:normal;color:#a396ff}
.company-page-heading>p:not(.eyebrow){font:400 18px/1.7 Arial,sans-serif;max-width:650px;color:#d4dfeb}
.company-back{display:inline-block;margin-bottom:28px;color:#dbe3f7;font-size:14px}
.gallery-main,.job-main{background:#f4f7fa;color:#0a2543}
.gallery-section{max-width:1296px;margin:auto;padding:48px}
.gallery-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px;padding:24px;background:#fff;border:1px solid #d8e0e8}
.gallery-filters label{font:700 12px/1.5 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;flex:1;min-width:160px}
.gallery-filters select{display:block;width:100%;margin-top:8px;min-height:48px;padding:10px 14px;border:1px solid #9eafc1;background:#fff;color:#0a2543;font:400 16px Arial,sans-serif}
.gallery-filters button{min-height:48px;border:1px solid #0a2543;background:#0a2543;color:#fff;padding:12px 20px;font:700 14px Arial,sans-serif;cursor:pointer}
.gallery-count{margin:22px 0;font:400 14px Arial,sans-serif;color:#4b6075}
.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.gallery-card{margin:0;background:#fff;border:1px solid #d8e0e8;overflow:hidden}
.gallery-card>a{display:block;overflow:hidden;background:#0a2543}
.gallery-card img{display:block;width:100%;height:140px;object-fit:cover;transition:transform .25s ease}
.gallery-card a:hover img{transform:scale(1.025)}
.gallery-card figcaption{padding:14px}
.gallery-card figcaption span{font:700 11px Arial,sans-serif;letter-spacing:2px;color:#4731c7}
.gallery-card h2{font:700 14px/1.45 Arial,sans-serif;margin:8px 0 0;letter-spacing:0;text-transform:none}
.gallery-card figcaption p{font:400 12px/1.5 Arial,sans-serif;margin:12px 0 0;color:#526477}
.gallery-viewer{max-width:min(1100px,96vw);max-height:94vh;border:0;background:#071d34;color:#fff;padding:16px}
.gallery-viewer::backdrop{background:#020c18e8}
.gallery-viewer button{display:block;margin:0 0 12px auto;padding:12px 20px;background:#fff;color:#071d34;border:0;font:700 15px Arial,sans-serif;cursor:pointer;min-height:44px}
.gallery-viewer img{display:block;max-width:100%;max-height:72vh;object-fit:contain;margin:auto}
.gallery-viewer p{font:400 14px/1.5 Arial,sans-serif;margin:14px 8px 2px;white-space:pre-line}
.gallery-card[hidden],.gallery-filters[hidden]{display:none}
.job-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.job-links article{padding:32px;border:1px solid #d5dfeb;border-top:3px solid #2000df;background:#f6f8fb}
.job-links h3{font:700 24px/1.3 Arial,sans-serif;margin:14px 0}.job-links p{color:#334d66;line-height:1.6}.job-links a{display:inline-block;margin-top:12px;color:#2510bd;font-weight:700}
.job-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr);gap:48px;max-width:1200px;margin:auto;padding:64px 24px}
.job-prose{font:400 17px/1.8 Arial,sans-serif;color:#243c55}.job-prose p{margin:0 0 22px}.job-prose h2{font:700 27px/1.3 Arial,sans-serif;margin:38px 0 18px;text-transform:none;letter-spacing:0}.job-prose li{margin-bottom:10px}
.job-office{align-self:start;background:#fff;border-top:3px solid #2000df;padding:28px;box-shadow:0 8px 28px #081f3510}.job-office h2{font:700 26px Arial,sans-serif}.job-office address,.job-office p{font:400 16px/1.7 Arial,sans-serif}.job-office a{color:#2510bd;font-weight:700}
.job-main [data-careers-interest]{max-width:1200px;margin:auto;padding:0 24px 64px}
.gallery-main :focus-visible,.job-main :focus-visible,.office-opportunities :focus-visible{outline:3px solid #7664ff;outline-offset:4px}
@media(max-width:980px){.company-page-heading{padding-top:160px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.job-layout{grid-template-columns:1fr}.job-office{order:-1}.job-links{grid-template-columns:1fr}.client-story-grid{grid-template-columns:1fr}}
@media(max-width:600px){.company-page-heading{padding:135px 24px 40px}.company-page-heading h1{font-size:48px;letter-spacing:-1px}.gallery-section{padding:28px 20px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-card img{height:110px}.gallery-card figcaption{padding:12px}.gallery-filters{padding:18px;gap:16px}.gallery-filters label{min-width:100%}.gallery-filters button{width:100%}.client-story{padding:24px}.client-story header{gap:14px}.client-story header img{width:125px}.client-story blockquote{font-size:16px;line-height:1.75}.job-layout{padding-top:32px;gap:32px}}
@media(prefers-reduced-motion:reduce){.gallery-card img{transition:none}}
