.portfolio-page{color:var(--rgs-color-text);background:var(--rgs-color-canvas-subtle);overflow-wrap:anywhere}.portfolio-page h1,.portfolio-page h2,.portfolio-page h3,.portfolio-page p{margin:0}.portfolio-page h1{font-size:clamp(2.8rem,6vw,5.5rem);line-height:1.06;letter-spacing:-.055em;font-weight:600}.portfolio-page h2{font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.035em}.portfolio-page h3{font-size:clamp(1.3rem,1.8vw,1.6rem);line-height:1.3;letter-spacing:-.03em}.portfolio-page .portfolio-eyebrow{color:var(--rgs-color-action);font-family:var(--rgs-font-mono,monospace);font-size:.75rem;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem}.portfolio-hero{color:#f7fbfc;background:linear-gradient(90deg,#ffffff03 1px,transparent 0),#202b32;background-size:7rem 100%;padding:2rem 0 4rem}.portfolio-hero .portfolio-eyebrow{color:#29f0b8}.portfolio-hero .rgs-breadcrumbs{margin-bottom:3rem;font-size:.85rem}.portfolio-hero .rgs-breadcrumbs ol{flex-wrap:wrap;white-space:normal}.portfolio-hero .rgs-breadcrumbs a,.portfolio-hero .rgs-breadcrumbs li,.portfolio-hero .rgs-breadcrumbs__separator{color:#dbe2e6}.portfolio-hero .rgs-breadcrumbs [aria-current=page]{color:#f7fbfc}.portfolio-hero .rgs-breadcrumbs a:hover{color:#29f0b8}.portfolio-hero--background{position:relative;isolation:isolate;overflow:hidden;display:flex;min-height:clamp(32rem,40vw,40rem);background:#0d1b25}.portfolio-hero__background{position:absolute;inset:0;z-index:-2;pointer-events:none}.portfolio-hero__background img{object-fit:cover;object-position:center}.portfolio-hero--background:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#08162050,#0816201f 55%,transparent 80%)}.portfolio-hero--projects:after{background:linear-gradient(90deg,#081620b3,#0816208f 48%,transparent 82%)}.portfolio-hero__content{position:relative;display:flex;flex-direction:column;flex:1;min-width:0}.portfolio-hero__copy{width:54%;max-width:40rem;min-width:0;margin-block:auto;padding-block:2rem}.portfolio-scope__inner>*{min-width:0}.portfolio-page .portfolio-hero__description{color:#dbe2e6;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.7;margin-top:1.5rem;max-width:46rem}.portfolio-text-link{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--rgs-color-action);font-weight:600;border-bottom:1px solid;padding:.7rem 0}.portfolio-hero .portfolio-text-link{color:#29f0b8;margin-top:1.5rem}.portfolio-page a:focus-visible,.portfolio-page button:focus-visible{outline:3px solid var(--rgs-color-action);outline-offset:5px}.portfolio-hero a:focus-visible{outline-color:#29f0b8}.portfolio-gallery-section,.portfolio-projects{padding:clamp(3rem,6vw,5rem) 0;scroll-margin-top:10rem}.portfolio-section-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2rem}.portfolio-section-heading>p{max-width:21rem;color:var(--rgs-color-text-muted);line-height:1.7}.portfolio-photo-grid,.portfolio-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:stretch}.portfolio-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--rgs-color-border);background:var(--rgs-color-surface);transition:border-color .2s}.portfolio-card__image,.portfolio-photo__image{display:block;width:100%;flex-shrink:0;padding:0;border:0;border-radius:0;color:inherit;cursor:zoom-in;font:inherit}.portfolio-card__image{position:relative;aspect-ratio:4/3;background:#202b32;overflow:hidden}.portfolio-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.portfolio-card__number{position:absolute;top:1rem;left:1rem;color:#f7fbfc;background:#142129eb;padding:.35rem .6rem;font-family:var(--rgs-font-mono,monospace);font-size:.75rem}.portfolio-card__body{display:flex;flex-direction:column;flex:1;padding:clamp(1.25rem,2vw,1.8rem)}.portfolio-page .portfolio-card__description{margin:1rem 0 0;color:var(--rgs-color-text-muted);line-height:1.7}.portfolio-card:focus-within,.portfolio-card:hover{border-color:var(--rgs-color-action)}.portfolio-card__image:hover img{transform:scale(1.025)}.engineering-project-card{color:inherit;text-decoration:none}.engineering-project-card__image{position:relative;aspect-ratio:4/3;overflow:hidden;background:#202b32;flex-shrink:0}.engineering-project-card__image img{object-fit:cover}.engineering-project-card__action{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--rgs-color-action);margin-top:auto;padding-top:1.5rem;font-weight:600}.portfolio-hero--detail h1{font-size:clamp(2.3rem,4.8vw,4.2rem);max-width:63rem}.portfolio-scope{padding:3rem 0;background:var(--rgs-color-surface);border-bottom:1px solid var(--rgs-color-border)}.portfolio-scope__inner{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;align-items:center}.portfolio-scope p:not(.portfolio-eyebrow){margin-top:1rem;color:var(--rgs-color-text-muted);line-height:1.8;max-width:46rem}.portfolio-scope__list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.portfolio-scope__list li{display:flex;align-items:start;gap:.8rem}.portfolio-scope__list svg{flex-shrink:0;color:var(--rgs-color-action)}.portfolio-photo{min-width:0;margin:0;background:var(--rgs-color-surface);border:1px solid var(--rgs-color-border)}.portfolio-photo__image{display:block;aspect-ratio:4/3;position:relative;background:#202b32}.portfolio-photo__image img{width:100%;height:100%;object-fit:contain}.portfolio-photo__zoom{position:absolute;bottom:.6rem;right:.6rem;padding:.5rem;display:flex;color:#29f0b8;background:#142129eb}.portfolio-photo figcaption{padding:1.25rem}.portfolio-photo__number{color:var(--rgs-color-action);font-family:var(--rgs-font-mono,monospace);font-size:.75rem}.portfolio-photo h3{font-size:1.15rem;margin-top:.5rem}.portfolio-photo p{color:var(--rgs-color-text-muted);margin-top:.7rem;line-height:1.7}.portfolio-page .rgs-modal:has(.portfolio-lightbox){width:min(72rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem)}.portfolio-page .rgs-modal:has(.portfolio-lightbox) .rgs-dialog__header{align-items:center}.portfolio-page .rgs-modal:has(.portfolio-lightbox) .rgs-dialog__header h2{font-size:clamp(1rem,2vw,1.4rem);line-height:1.35}.portfolio-page .rgs-modal:has(.portfolio-lightbox) .rgs-dialog__header button{min-width:44px;min-height:44px;flex-shrink:0}.portfolio-lightbox{margin:0}.portfolio-lightbox img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 16rem);object-fit:contain;margin:0 auto}.portfolio-lightbox figcaption{color:var(--rgs-color-text-muted);margin-top:1rem;line-height:1.6}.portfolio-back-link{margin-top:2rem}.portfolio-back-link svg{transform:rotate(180deg)}.portfolio-cta{background:#202b32;color:#f7fbfc;padding:3.5rem 0;border-top:1px solid #82959b40}.portfolio-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:3rem}.portfolio-cta__inner>div{max-width:45rem}.portfolio-cta .portfolio-eyebrow{color:#29f0b8}.portfolio-cta p:not(.portfolio-eyebrow){color:#dbe2e6;line-height:1.7;margin-top:1rem}.portfolio-cta .rgs-button{flex-shrink:0}@media (max-width:1000px){.portfolio-photo-grid,.portfolio-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-scope__inner{gap:2rem}.portfolio-cta__inner{flex-direction:column;align-items:start}}@media (max-width:800px){.portfolio-hero__copy{width:100%;max-width:34rem}.portfolio-hero__background img{object-position:66% center}.portfolio-hero--background:after{background:linear-gradient(90deg,#081620e6,#081620a8 65%,#08162059)}.portfolio-hero--projects:after{background:linear-gradient(90deg,#081620e6,#081620a8 65%,#08162080)}.portfolio-section-heading{flex-direction:column;align-items:start;gap:1rem}.portfolio-scope__inner{grid-template-columns:1fr}}@media (max-width:640px){.portfolio-photo-grid,.portfolio-project-grid{grid-template-columns:1fr}.portfolio-hero{padding-bottom:2.5rem}.portfolio-hero .rgs-breadcrumbs{margin-bottom:2rem}.portfolio-gallery-section,.portfolio-projects{scroll-margin-top:8rem}}@media (prefers-reduced-motion:reduce){.portfolio-card,.portfolio-card__image img{transition:none}.portfolio-card__image:hover img{transform:none}}