.portfolio-heading { padding-block:85px 45px; }
.portfolio-heading h1 { font-size:clamp(46px,5.7vw,82px); max-width:1000px; line-height:1.09; letter-spacing:-.055em; }
.portfolio-heading h1>span { color:#778895; }
.portfolio-heading>p { max-width:630px; margin-top:28px; }
.portfolio-heading-meta { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:22px; margin-top:44px; font-size:10px; letter-spacing:.14em; }
.portfolio-section { padding-bottom:90px; }
.portfolio-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.portfolio-card { display:block; min-width:0; overflow:hidden; background:#f4f4ef; }
.portfolio-grid>.portfolio-01,.portfolio-grid>.portfolio-05 { grid-column:1/-1; }
.portfolio-grid>.portfolio-01 .portfolio-image { aspect-ratio:21/9; }
.portfolio-grid>.portfolio-01 .portfolio-copy { background:var(--navy);color:white; }
.portfolio-grid>.portfolio-01 .portfolio-copy p { color:#c3ced7; }
.portfolio-grid>.portfolio-01 .portfolio-view,.portfolio-grid>.portfolio-01 .eyebrow { color:var(--accent); }
.portfolio-image { aspect-ratio:4/3; overflow:hidden; }
.portfolio-image img { width:100%;height:100%;object-fit:cover;transition:transform .7s; }
.portfolio-card:hover .portfolio-image img { transform:scale(1.03); }
.portfolio-copy { padding:30px; }
.portfolio-copy .eyebrow { margin-bottom:18px;font-size:10px;line-height:1.6; }
.portfolio-copy h3 { font-size:clamp(25px,2.5vw,38px);line-height:1.2;letter-spacing:-.035em;max-width:720px; }
.portfolio-copy p { margin-top:18px;font-size:14px;color:var(--muted); }
.portfolio-copy p span { padding:0 8px; }
.portfolio-view { display:inline-flex;align-items:center;gap:16px;font-size:12px;margin-top:25px;color:var(--ink); }
.portfolio-view .icon { width:17px;transition:transform .25s; }
.portfolio-card:hover .portfolio-view .icon { transform:translateX(5px); }
.portfolio-text-only { background:var(--navy);color:white; }
.portfolio-text-only .portfolio-copy { padding:46px 6%; }
.portfolio-text-only .eyebrow,.portfolio-text-only .portfolio-view { color:var(--accent); }
.portfolio-text-only p { color:#c3ced7; }
.portfolio-grid>.portfolio-05 { display:grid;grid-template-columns:1.3fr 1fr;align-items:center; }
.portfolio-grid>.portfolio-05 .portfolio-image { aspect-ratio:5/4; }
.selected-work { background:#eeefeb; }
.selected-project-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px; }
.selected-project-grid .portfolio-copy { padding:25px; }
.selected-project-grid .portfolio-copy h3 { font-size:25px; }
.selected-project-grid .portfolio-image { aspect-ratio:4/3; }
.portfolio-all { margin-top:38px; }
.project-detail-heading { padding-block:55px 38px; }
.project-back { display:flex;align-items:center;gap:14px;font-size:12px;margin-bottom:40px; }
.project-back .icon { width:15px;transform:rotate(180deg); }
.project-detail-heading h1 { font-size:clamp(40px,5vw,72px);max-width:1080px;line-height:1.12;letter-spacing:-.045em; }
.project-facts { display:grid;grid-template-columns:1fr .7fr 1.4fr;gap:25px;border-top:1px solid var(--line);padding-top:24px;margin-top:38px; }
.project-facts dt { font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:9px; }
.project-facts dd { margin:0;font-size:17px; }
.gallery-trigger { display:block;position:relative;padding:0;border:0;background:#e9eceb;cursor:zoom-in;overflow:hidden;width:100%; }
.gallery-trigger img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s; }
.gallery-trigger:hover img { transform:scale(1.03); }
.project-cover { aspect-ratio:16/9; }
.project-cover>span { position:absolute;right:20px;bottom:20px;display:flex;gap:14px;align-items:center;background:var(--navy);color:white;padding:14px 18px;font-size:12px; }
.project-cover .icon { width:17px; }
.project-photo-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:22px; }
.project-photo-grid .gallery-trigger { aspect-ratio:4/3; }
.project-detail-context { display:grid;grid-template-columns:1fr 1fr;gap:8%; }
.project-detail-context p { margin-bottom:26px; }
.project-related { border-top:1px solid var(--line); }
.project-lightbox { width:min(1200px,94vw);max-width:94vw;max-height:94dvh;padding:22px;background:#071a33;color:white;border:1px solid #ffffff30; }
.project-lightbox::backdrop { background:#020912ed; }
.lightbox-bar { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px; }
.lightbox-bar p { font-size:14px;max-width:80%;color:#e2e8ef; }
.project-lightbox button { color:white;background:transparent;border:1px solid #ffffff50;padding:12px 16px;cursor:pointer;min-height:44px; }
.project-lightbox button:disabled { opacity:.35;cursor:default; }
.lightbox-image { height:65dvh;background:#041022; }
.lightbox-image img { display:block;width:100%;height:100%;object-fit:contain; }
.lightbox-controls { display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:15px;font-size:13px; }
.project-lightbox:focus-visible,.gallery-trigger:focus-visible,.portfolio-card:focus-visible { outline:3px solid var(--accent);outline-offset:4px; }
@media(min-width:1181px) { .hero h1 { font-size:clamp(50px,4.5vw,74px);max-width:1040px; } }
@media(max-width:1000px) { .selected-project-grid { grid-template-columns:1fr 1fr; }.selected-project-grid>.portfolio-card:last-child { grid-column:1/-1; }.portfolio-grid { gap:26px; }.portfolio-copy { padding:24px; }.project-photo-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:700px) {
 .portfolio-heading { padding-block:48px 32px; }.portfolio-heading h1 { font-size:44px; }.portfolio-heading>p { font-size:16px; }.portfolio-heading-meta { font-size:8px;letter-spacing:.08em;margin-top:28px; }
 .portfolio-grid,.selected-project-grid,.portfolio-grid>.portfolio-05 { display:grid;grid-template-columns:1fr;gap:26px; }.portfolio-grid>.portfolio-05 { gap:0; }
 .portfolio-section { padding-bottom:55px; }.portfolio-copy,.selected-project-grid .portfolio-copy,.portfolio-text-only .portfolio-copy { padding:25px 22px; }
 .portfolio-copy h3,.selected-project-grid .portfolio-copy h3 { font-size:27px; }.portfolio-grid>.portfolio-05 .portfolio-image { aspect-ratio:4/3; }
 .portfolio-grid>.portfolio-01 .portfolio-image { aspect-ratio:4/3; }
 .project-detail-heading { padding-top:35px; }.project-detail-heading h1 { font-size:38px; }.project-facts { grid-template-columns:1fr 1fr;gap:22px; }.project-facts>div:last-child { grid-column:1/-1; }
 .project-cover { aspect-ratio:4/3; }.project-photo-grid { gap:12px;margin-top:12px; }.project-detail-context { grid-template-columns:1fr;gap:24px; }
 .project-lightbox { padding:14px; }.lightbox-image { height:56dvh; }.lightbox-bar { gap:12px; }.lightbox-bar p { font-size:12px; }.project-lightbox button { padding:10px;font-size:12px; }
 .hero h1 { font-size:clamp(32px,8.4vw,43px); }
}

/* Featured excavation project: keep the supplied photo at its natural 4:3 ratio. */
.portfolio-grid>.portfolio-featured,.selected-project-grid>.portfolio-featured { display:grid;grid-template-columns:1.15fr 1fr;grid-column:1/-1;background:var(--navy);color:white; }
.portfolio-grid>.portfolio-featured .portfolio-image,.selected-project-grid>.portfolio-featured .portfolio-image { aspect-ratio:4/3;align-self:center; }
.portfolio-featured .portfolio-copy { display:flex;flex-direction:column;justify-content:center;background:var(--navy);color:white;padding:clamp(24px,3vw,42px); }
.portfolio-featured .portfolio-copy h3 { font-size:clamp(27px,3vw,42px);overflow:visible;white-space:normal; }
.portfolio-featured .portfolio-copy p { color:#c3ced7; }
.portfolio-featured .portfolio-copy strong,.portfolio-featured .eyebrow,.portfolio-featured .portfolio-view { color:var(--accent); }
.portfolio-featured .portfolio-view { align-self:flex-start; }
.project-photo-natural .project-cover { aspect-ratio:4/3; }
.project-photo-natural .project-cover img { object-fit:contain; }
.project-photo-natural .project-photo-grid:empty { display:none; }
@media(max-width:1000px) { .selected-work .selected-project-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.selected-work .selected-project-grid>.portfolio-card:last-child { grid-column:auto; } }
@media(max-width:700px) { .portfolio-grid>.portfolio-featured,.selected-project-grid>.portfolio-featured,.selected-work .selected-project-grid { grid-template-columns:1fr; }.portfolio-featured .portfolio-copy { padding:26px 22px; }.portfolio-featured .portfolio-copy h3 { font-size:28px; } }
@media(prefers-reduced-motion:reduce) { .portfolio-image img,.gallery-trigger img { transition:none; }.portfolio-card:hover .portfolio-image img,.gallery-trigger:hover img { transform:none; } }
