
/* Break Off v4: consolidated site enhancements */
.external-indicator {font-size:12px;display:inline-block;margin-left:4px;vertical-align:1px;opacity:.82}
.site-footer {flex-wrap:wrap;row-gap:20px}
.site-footer .social-links {display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-start}
.site-footer .social-links a {font-size:11px;font-weight:600;color:#9aa5ac;text-decoration:none;transition:color .2s}
.site-footer .social-links a:hover,.site-footer .social-links a:focus-visible{color:#fff}
.portfolio-company-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-bottom:20px}
.portfolio-company {position:relative;overflow:hidden;background:#0c0f11;border:1px solid rgba(255,255,255,.13);transition:border-color .25s,transform .3s}
.portfolio-company:hover {transform:translateY(-4px);border-color:rgba(255,255,255,.38)}
.portfolio-company-image {aspect-ratio:800/470;background:#1a2021;overflow:hidden}
.portfolio-company-image img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .75s ease,filter .75s}
.portfolio-company:hover .portfolio-company-image img {transform:scale(1.065);filter:brightness(1.15)}
.portfolio-company-content {min-height:145px;padding:18px 20px 24px;display:flex;flex-direction:column;align-items:flex-start}
.portfolio-company-number {font-size:10px;letter-spacing:.18em;color:#747f83;margin-bottom:auto;font-weight:600}
.portfolio-company h3 {font-size:clamp(19px,1.55vw,25px);font-weight:400;letter-spacing:-.04em;line-height:1.1;margin:18px 0 7px;color:#fff}
.portfolio-company p {font-size:11px;line-height:1.45;color:#a0acb2;margin:0}
.people-section .person-photo {width:112px;height:112px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(150deg,#586068,#171e20);overflow:hidden;margin:24px 0 4px}
.people-section .person-photo img {width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
/* Gantry: tonal treatment to match the existing company's predominantly light, high-contrast identity. */
body[data-page="gantry"] {background:#e9e9e5;color:#12191c}
body[data-page="gantry"] .site-header {background:rgba(21,27,31,.9)}
body[data-page="gantry"] .gantry-hero {background:#e9e9e5}
body[data-page="gantry"] .gantry-hero .subhero-image {filter:grayscale(1) contrast(1.03);opacity:.68;background-color:#e0e2df}
body[data-page="gantry"] .gantry-hero .subhero-fade{background:linear-gradient(90deg,rgba(242,243,240,.99) 7%,rgba(239,240,238,.96) 35%,rgba(238,239,236,.65) 57%,rgba(237,239,237,.16) 88%)}
body[data-page="gantry"] .gantry-hero h1,body[data-page="gantry"] .gantry-hero .eyebrow{color:#141b20}
body[data-page="gantry"] .gantry-hero .punct{color:#596d77}
body[data-page="gantry"] .gantry-hero p{color:#535e63}
body[data-page="gantry"] .gantry-hero .subhero-link{color:#222d32;border-color:#53626b}
body[data-page="gantry"] .gantry-statement{background:#e9e9e5}
body[data-page="gantry"] .gantry-statement .statement-text{color:#20282d}
body[data-page="gantry"] .gantry-statement .statement-text em{color:#607780}
body[data-page="gantry"] .services-section{background:#e9e9e5}
body[data-page="gantry"] .services-section .section-head h2,body[data-page="gantry"] .people-section .section-head h2{color:#171e22}
body[data-page="gantry"] .services-section .punct,body[data-page="gantry"] .people-section .punct{color:#6e8089}
body[data-page="gantry"] .services-grid{border-color:rgba(30,44,50,.12);background:rgba(30,44,50,.12)}
body[data-page="gantry"] .service{background:#f5f5f2;color:#152127}
body[data-page="gantry"] .service-number{color:#74858d}
body[data-page="gantry"] .service p{color:#58646b}
body[data-page="gantry"] .people-section{background:#e9e9e5}
body[data-page="gantry"] .person{border-color:rgba(22,30,37,.3)}
body[data-page="gantry"] .person h3{color:#20272b}
body[data-page="gantry"] .person>span{color:#5f7a82}
body[data-page="gantry"] .person p{color:#66757b}
body[data-page="gantry"] .page-end-gantry {background:#10181b}
body[data-page="gantry"] .site-footer {background:#12191c;color:#fff;max-width:none}
body[data-page="gantry"] .site-footer .social-links a:hover {color:#fff}
@media(max-width:1100px){.portfolio-company-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.portfolio-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-company-content{min-height:142px;padding:16px}}
@media(max-width:520px){.portfolio-company-grid{grid-template-columns:1fr;gap:12px}.portfolio-company-image{aspect-ratio:1.8}.portfolio-company-content{min-height:104px}.portfolio-company h3{font-size:21px}.portfolio-company-number{margin-bottom:4px}.site-footer .social-links{justify-content:center}}
@media(prefers-reduced-motion:reduce){.portfolio-company,.portfolio-company-image img{transition:none!important}}

.site-header{transition:transform .35s ease,background .4s,border-color .4s!important}.site-header.is-hidden{transform:translateY(-110%)}
/* Capital brand is exclusively black and white. */
body[data-page="capital"] .capital-hero .subhero-image {filter:grayscale(1) contrast(1.2)}
body[data-page="capital"] .subhero h1 .punct,
body[data-page="capital"] .section-head .punct,
body[data-page="capital"] .people-section .person>span {color:#f7f7f7}
body[data-page="capital"] .primary-nav a.is-current::after {background:#eee!important}
body[data-page="capital"] .statement-rule {background:#b9bdbe}
body[data-page="capital"] .portfolio-company-image img {filter:grayscale(1)}
body[data-page="capital"] .portfolio-company:hover .portfolio-company-image img {filter:grayscale(1) contrast(1.06)}

/* v5 — Gantry photographic visibility */
body[data-page="gantry"] .gantry-hero .subhero-image{background-image:url('assets/gantry-architecture.webp')!important;background-color:#e0e3e3!important;background-position:87% 52%!important;background-size:auto 148%!important;opacity:1!important;filter:grayscale(1) contrast(1.38) brightness(.8)!important}
body[data-page="gantry"] .gantry-hero .subhero-fade{background:linear-gradient(90deg,rgba(243,245,243,.99) 0%,rgba(243,245,243,.97) 32%,rgba(243,245,243,.61) 54%,rgba(243,245,243,.04) 82%)!important}
body[data-page="gantry"] .person-photo{position:relative}
.person-photo .photo-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#bfc9ca;font-size:26px;letter-spacing:.12em}
.people-section .person-photo img{position:relative;z-index:1}
.portfolio-company-image{position:relative}
.portfolio-company-image .gilmour-official-photo{position:absolute;inset:0;background-size:cover;background-position:50% 35%;pointer-events:none}
.portfolio-company-image img{filter:brightness(1.15) contrast(1.05)}
@media(max-width:700px){body[data-page="gantry"] .gantry-hero .subhero-image{background-size:auto 125%!important;background-position:73% center!important}body[data-page="gantry"] .gantry-hero .subhero-fade{background:linear-gradient(90deg,rgba(244,246,244,.94),rgba(244,246,244,.60) 73%,rgba(244,246,244,.20))!important}}

/* v6: original company artwork and team profiles */
body[data-page="capital"] .portfolio-company-image {aspect-ratio:1/1;background:#090b0e}
body[data-page="capital"] .portfolio-company-image img,
body[data-page="capital"] .portfolio-company:hover .portfolio-company-image img {object-fit:cover;filter:none}
body[data-page="capital"] .portfolio-company:hover .portfolio-company-image img {transform:scale(1.035)}
body[data-page="capital"] .portfolio-company-content {min-height:123px}
.people-section .person-photo {position:relative;width:clamp(148px,15vw,210px);height:clamp(148px,15vw,210px);margin:23px 0 12px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(145deg,#3d4447,#131618)}
.people-section .person-photo img {width:100%;height:100%;display:block;object-fit:cover;object-position:center 28%;filter:grayscale(1);position:relative;z-index:1}
.people-section .person-photo .photo-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;letter-spacing:.12em;color:#c6c9cb;font-size:34px}
.people-section .person h3{margin-top:22px}
.person-linkedin{display:inline-flex;gap:8px;align-items:center;margin-top:17px;padding:5px 0;text-decoration:none;font-size:12px;font-weight:600;color:#dce2e3;letter-spacing:.02em;transition:opacity .2s}
.person-linkedin:hover,.person-linkedin:focus-visible{opacity:.72;text-decoration:underline;text-underline-offset:3px}
.linkedin-glyph{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:2px;background:#e7ecec;color:#0b0e0f;font-family:Arial,sans-serif;letter-spacing:-.06em;font-size:12px;font-weight:800;line-height:1}
body[data-page="gantry"] .people-section .person-photo {border-color:rgba(30,39,43,.16);background:linear-gradient(145deg,#c5ccce,#89969b)}
body[data-page="gantry"] .person-linkedin {color:#34464a}
body[data-page="gantry"] .linkedin-glyph{background:#394e55;color:white}
@media(max-width:520px){body[data-page="capital"] .portfolio-company-image{aspect-ratio:1/1}.people-section .person-photo{width:174px;height:174px}}

/* Portfolio links and subtle portrait/service feedback. */
a.portfolio-company{display:block;color:inherit;text-decoration:none}
a.portfolio-company:focus-visible{outline:2px solid #fff;outline-offset:4px;border-color:rgba(255,255,255,.6)}
a.portfolio-company:focus-visible .portfolio-company-image img{transform:scale(1.035)}
.people-section .person-photo{transition:translate .3s ease,box-shadow .3s ease,border-color .3s ease}
.people-section .person-photo img{transition:transform .45s ease,filter .45s ease}
body[data-page="gantry"] .service{position:relative;transition:translate .3s ease,box-shadow .3s ease,background-color .3s ease}
@media(hover:hover) and (pointer:fine){
 .people-section .person-photo:hover{translate:0 -3px;box-shadow:0 10px 26px rgba(0,0,0,.18);border-color:rgba(255,255,255,.48)}
 .people-section .person-photo:hover img{transform:scale(1.045);filter:grayscale(1) brightness(1.07)}
 body[data-page="gantry"] .person-photo:hover{border-color:rgba(30,39,43,.35)}
 body[data-page="gantry"] .service:hover{translate:0 -4px;box-shadow:0 12px 28px rgba(22,35,42,.12);background-color:#fff;z-index:1}
}
.people-section .person:focus-within .person-photo{box-shadow:0 10px 26px rgba(0,0,0,.18)}
.people-section .person:focus-within .person-photo img{transform:scale(1.045)}
@media(prefers-reduced-motion:reduce){
 .people-section .person-photo,.people-section .person-photo img,body[data-page="gantry"] .service{transition:none!important}
 .people-section .person-photo:hover,body[data-page="gantry"] .service:hover{translate:none}
 .people-section .person-photo:hover img,.people-section .person:focus-within .person-photo img,a.portfolio-company:focus-visible .portfolio-company-image img{transform:none}
}
