/* Project catalogue and homepage preview; shared branding lives in style.css. */
.catalog-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:32px}.catalog-heading h2{margin-bottom:0}.catalog-heading>p,.catalog-heading>div:last-child{max-width:390px}.catalog-heading>div:first-child{max-width:none}.catalog-heading p:last-child{margin-bottom:0}
.project-index{display:flex!important;flex-wrap:wrap;gap:8px;padding:0 0 30px;width:100%;border-bottom:1px solid var(--line)}.project-index a{padding:8px 12px!important;border:1px solid var(--line);border-radius:4px;font-size:.75rem;background:#fff}.project-index a:hover{background:var(--pale);border-color:var(--blue);color:var(--deep)}
.job-section{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,2fr);gap:38px;padding:44px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.job-copy .eyebrow{font-size:.62rem;letter-spacing:.11em;margin-bottom:16px}.job-copy h2{font-size:clamp(1.6rem,2.5vw,2.1rem);margin-bottom:16px}.job-copy>p:last-child{font-size:.9rem;max-width:320px;margin-bottom:0}.job-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.job-photos.photos-3{grid-template-columns:repeat(3,minmax(0,1fr))}.job-photos.photos-1{grid-template-columns:minmax(0,380px)}.job-photo{margin:0;min-width:0}.job-image{display:block;position:relative;overflow:hidden;border-radius:6px;background:var(--pale);aspect-ratio:3/4}.job-image img{width:100%;height:100%;object-fit:contain;transition:transform .2s}.job-image:hover img{transform:scale(1.025)}.photo-zoom{position:absolute;right:10px;bottom:10px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--deep);box-shadow:0 2px 10px #0002}.job-photo figcaption{padding-top:14px}.stage-label{display:inline-block;color:var(--deep);font-size:.67rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}.job-photo figcaption p{font-size:.8rem;line-height:1.55;margin:6px 0 0}
.home-jobs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-job{display:block;min-width:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:white;transition:box-shadow .2s}.home-job:hover{box-shadow:0 8px 24px #101b2314}.home-job>img{width:100%;aspect-ratio:3/4;object-fit:cover}.home-job-copy{padding:22px}.home-job h3{display:flex;justify-content:space-between;gap:12px;font-size:1.15rem;margin-bottom:12px}.home-job h3 span{color:var(--blue)}.home-job p{font-size:.86rem;line-height:1.6;margin:0}
.photo-dialog{width:min(940px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:18px;border:0;border-radius:8px;background:#fff;color:var(--ink);overflow:auto}.photo-dialog::backdrop{background:#07121bea}.photo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.photo-toolbar>span{font-size:.8rem;color:var(--muted)}.photo-dialog button{min-height:44px;padding:9px 16px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);cursor:pointer;font-weight:700;font-size:.85rem}.photo-dialog button:hover{background:var(--pale)}.photo-dialog button:disabled{opacity:.45;cursor:default}.photo-full{width:100%;height:min(65dvh,760px);object-fit:contain;background:#f3f5f6}.photo-caption{font-size:.9rem;margin:14px 0}.photo-controls{display:flex;justify-content:space-between;gap:16px}.gallery-modal-open{overflow:hidden}
@media(max-width:1000px){.job-section{grid-template-columns:minmax(0,.65fr) minmax(0,2fr);gap:24px}.job-photos{gap:12px}.home-jobs{gap:16px}.home-job-copy{padding:17px}}
@media(max-width:860px){.catalog-heading{align-items:start;gap:28px}.job-section{grid-template-columns:1fr;gap:24px;padding:34px 0}.job-copy>p:last-child{max-width:640px}.job-copy h2{font-size:1.9rem}.job-photos{gap:18px}.project-index{padding:0 0 24px}.home-job h3{font-size:1rem}}
@media(max-width:560px){.catalog-heading{display:block;margin-bottom:24px}.catalog-heading>p,.catalog-heading>div:last-child{max-width:none;margin-top:20px}.catalog-heading>div:first-child{margin-top:0}.job-photos,.job-photos.photos-3,.job-photos.photos-1{grid-template-columns:1fr;gap:26px}.job-image{max-height:none}.home-jobs{grid-template-columns:1fr;gap:24px}.home-job h3{font-size:1.2rem}.home-job-copy{padding:20px}.job-copy .eyebrow{font-size:.62rem}.job-photo figcaption p{font-size:.9rem}.photo-dialog{padding:12px}.photo-full{height:57dvh}.photo-caption{font-size:.82rem}.project-index a{min-height:40px;display:flex;align-items:center}}
