.projects-hero{border-bottom:1px solid var(--border-subtle);background:var(--brand-navy);color:#fff;padding-block:clamp(3.5rem,7vw,6rem)}.projects-hero .eyebrow{color:var(--brand-gold)}.projects-hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:end;gap:clamp(2rem,6vw,5rem);display:grid}.projects-hero h1{color:#fff;letter-spacing:-.035em;margin-bottom:0;font-size:clamp(2.2rem,4.8vw,4rem);line-height:1.09}.project-detail__hero h1{letter-spacing:-.04em;margin-bottom:0;font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.08}.projects-hero__copy{color:#ffffffd6;justify-self:end;max-width:560px;font-size:1.04rem}.projects-hero__copy p:last-child{margin-bottom:0}.projects-index{background:#fff;padding-block:clamp(4rem,8vw,6.5rem)}.projects-index__heading,.project-gallery__heading{grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);align-items:end;gap:2rem;margin-bottom:2.5rem;display:grid}.projects-index__heading h2,.project-gallery__heading h2,.projects-cta h2{margin-bottom:0;font-size:clamp(1.9rem,3.8vw,3rem)}.projects-index__heading>p,.project-gallery__heading>p{max-width:480px;color:var(--brand-muted);justify-self:end;margin-bottom:0}.project-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.project-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s cubic-bezier(.22,1,.36,1),border-color .26s;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-lg);border-color:#c4a26a8c;transform:translateY(-4px)}.project-card__media{aspect-ratio:16/10;background:var(--brand-navy);text-decoration:none;display:block;position:relative;overflow:hidden}.project-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .38s cubic-bezier(.22,1,.36,1)}.project-card:hover .project-card__media img{transform:scale(1.04)}.project-card__badge{bottom:.75rem;backdrop-filter:blur(6px);border-radius:var(--radius-sm);color:var(--brand-gold-light);letter-spacing:.08em;text-transform:uppercase;background:#121c2ae0;border:1px solid #c4a26a8c;padding:.35rem .75rem;font-size:.7rem;font-weight:750;position:absolute;inset-inline-start:.75rem}.project-card__placeholder{background:linear-gradient(#ffffff09 1px, transparent 1px), linear-gradient(90deg, #ffffff09 1px, transparent 1px), var(--brand-navy);height:100%;color:var(--brand-gold);letter-spacing:.08em;text-transform:uppercase;background-size:30px 30px,30px 30px,auto;place-items:end start;padding:1.25rem;font-size:.72rem;font-weight:800;display:grid;position:relative;overflow:hidden}.project-card__placeholder:after{content:"";border:1px solid #d6b37a66;position:absolute;inset:20% 15%}.project-card__body{flex-direction:column;flex:1;padding:clamp(1.35rem,2.5vw,1.75rem);display:flex}.project-card__meta{color:var(--brand-gold-dark);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.75rem;font-size:.72rem;font-weight:800;display:flex}.project-card h3{margin-bottom:.75rem;font-size:1.38rem}.project-card h3 a,.project-card__link{color:var(--brand-navy);text-decoration:none}.project-card h3 a:hover,.project-card__link:hover{text-decoration:underline}.project-card__body>p:not(.project-card__meta){color:var(--brand-muted)}.project-card__link{align-items:center;gap:.4rem;margin-top:auto;padding-top:.75rem;font-weight:800;display:inline-flex}.projects-all-gallery{border-top:1px solid var(--border-subtle)}.gallery-filters{flex-wrap:wrap;gap:.65rem;margin-bottom:2rem;display:flex}.gallery-filter{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-height:44px;color:var(--brand-navy);font:inherit;cursor:pointer;background:#fff;align-items:center;gap:.45rem;padding:.6rem 1.15rem;font-size:.88rem;font-weight:750;transition:background-color .18s,color .18s,border-color .18s,transform .18s;display:inline-flex}.gallery-filter span{opacity:.72;font-size:.8rem}.gallery-filter:hover{border-color:var(--brand-gold);transform:translateY(-1px)}.gallery-filter.is-active{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff}.gallery-filter.is-active span{color:var(--brand-gold-light);opacity:1}.gallery-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.gallery-mosaic__card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden}.gallery-mosaic__card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.gallery-mosaic__trigger{background:var(--brand-navy);cursor:zoom-in;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.gallery-mosaic__trigger img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .36s cubic-bezier(.22,1,.36,1);display:block}.gallery-mosaic__card:hover .gallery-mosaic__trigger img{transform:scale(1.04)}.gallery-mosaic__caption{flex-direction:column;gap:.25rem;padding:.9rem 1.1rem;display:flex}.gallery-mosaic__caption strong{color:var(--brand-navy);font-size:.94rem}.gallery-mosaic__caption a{color:var(--brand-gold-dark);font-size:.82rem;font-weight:700;text-decoration:none}.gallery-mosaic__caption a:hover{text-decoration:underline}.projects-empty{border:1px solid var(--border-subtle);background:var(--brand-warm-white);grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);align-items:center;min-height:430px;display:grid}.projects-empty__drawing{background:linear-gradient(#ffffff0a 1px, transparent 1px), linear-gradient(90deg, #ffffff0a 1px, transparent 1px), var(--brand-navy);background-size:28px 28px,28px 28px,auto;align-self:stretch;min-height:320px;position:relative;overflow:hidden}.projects-empty__drawing span{border:1px solid #d6b37a73;display:block;position:absolute}.projects-empty__drawing span:first-child{inset:18% 18% 20%}.projects-empty__drawing span:nth-child(2){top:18%;bottom:20%;left:52%}.projects-empty__drawing span:nth-child(3){height:28%;bottom:20%;left:18%;right:18%}.projects-empty>div:last-child{max-width:650px;padding:clamp(2rem,5vw,4rem)}.projects-empty__label{color:var(--brand-gold-dark);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem;font-size:.72rem;font-weight:850}.projects-empty h3{margin-bottom:1rem;font-size:clamp(1.8rem,4vw,3rem)}.projects-empty p:last-child{color:#5c6570;max-width:560px;margin-bottom:0}.project-detail__hero{border-bottom:1px solid var(--border-subtle);background:var(--brand-warm-white);padding-block:clamp(3.5rem,8vw,7rem)}.project-detail__back{color:var(--brand-navy);margin-bottom:3rem;font-size:.85rem;font-weight:800;text-decoration:none;display:inline-block}.project-detail__back:hover{text-decoration:underline}.project-detail__hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr);align-items:end;gap:clamp(2rem,7vw,7rem);display:grid}.project-detail__lead{color:#56606b;max-width:760px;margin:1.4rem 0 0;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.7}.project-detail__meta{border-top:1px solid var(--border-subtle);margin:0}.project-detail__meta div{border-bottom:1px solid var(--border-subtle);grid-template-columns:100px 1fr;gap:1rem;padding-block:.85rem;display:grid}.project-detail__meta dt{color:#5f6872;letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.project-detail__meta dd{color:var(--brand-navy);margin:0;font-weight:750}.project-detail__body{background:#fff;padding-block:clamp(4rem,8vw,7rem)}.project-detail__content-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.6fr);gap:clamp(3rem,8vw,8rem);display:grid}.prose{color:#4f5963;max-width:780px;font-size:1.03rem;line-height:1.8}.prose h2,.prose h3{margin-top:2.5rem}.prose h2:first-child,.prose h3:first-child{margin-top:0}.project-detail__sidebar{align-content:start;gap:1rem;display:grid}.project-detail__panel{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--brand-warm-white);padding:1.4rem}.project-detail__panel--accent{background:#fbf7ef;border-color:#d6b37a73}.project-detail__panel-label{color:var(--brand-gold-dark);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;font-size:.7rem;font-weight:850}.project-detail__panel ul{margin:0;padding-left:1.15rem}.project-detail__panel li+li{margin-top:.5rem}.project-gallery{background:#f2f0ea;padding-block:clamp(4rem,8vw,7rem)}.project-gallery__groups{gap:3rem;display:grid}.project-gallery__group h3{letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem;font-size:1rem}.project-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-gallery>.container figure{border:1px solid var(--border-subtle);background:#fff;margin:0;overflow:hidden}.project-gallery>.container figure img{aspect-ratio:16/11;object-fit:cover;width:100%}.project-gallery__empty{border:1px solid var(--border-subtle);color:#626a73;background:#fff;padding:2rem}.project-gallery__empty p{margin:0}.projects-cta{background:var(--brand-navy);color:#ffffffc7;padding-block:clamp(3.5rem,7vw,6rem)}.projects-cta__inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;display:grid}.projects-cta h2{color:#fff}.projects-cta p:last-child{max-width:680px;margin:1rem 0 0}@media (width<=1000px){.project-card-grid,.gallery-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.projects-hero__grid,.project-detail__hero-grid,.project-detail__content-grid,.projects-empty{grid-template-columns:1fr}.projects-hero__copy,.projects-index__heading>p,.project-gallery__heading>p{justify-self:start}.projects-empty__drawing{min-height:300px}}@media (width<=700px){.projects-index__heading,.project-gallery__heading,.projects-cta__inner,.project-card-grid,.gallery-mosaic,.project-gallery__grid{grid-template-columns:1fr}.projects-cta__inner{align-items:start}.projects-cta .button{width:100%}.project-detail__meta div{grid-template-columns:86px 1fr}}.photo-stage{margin-bottom:3rem}.photo-stage:last-child{margin-bottom:0}.photo-stage__heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.photo-stage__heading h3{margin:0}.photo-stage__badge{background:var(--brand-navy);color:var(--brand-gold);letter-spacing:.12em;text-transform:uppercase;border:1px solid #d6b37a8c;padding:.45rem 1.1rem;font-size:.78rem;font-weight:850;display:inline-block}.photo-stage__heading p{color:#6a737d;margin:0;font-size:.85rem;font-weight:700}.photo-rail{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:.75rem;gap:1rem;margin-inline:calc(-1*clamp(1rem,4vw,2rem));padding-inline:clamp(1rem,4vw,2rem);display:flex;overflow-x:auto}.photo-rail__item{scroll-snap-align:center;border:1px solid var(--border-subtle);background:var(--brand-navy);cursor:zoom-in;flex:0 0 clamp(240px,72vw,380px);padding:0;position:relative;overflow:hidden}.photo-rail__item img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.photo-rail__tap{inset-inline:0;color:#fff;letter-spacing:.08em;text-transform:uppercase;text-align:center;opacity:0;background:linear-gradient(#0000,#0a121cbf);padding:.6rem;font-size:.72rem;font-weight:800;transition:opacity .2s;position:absolute;bottom:0}.photo-rail__item:hover .photo-rail__tap,.photo-rail__item:focus-visible .photo-rail__tap{opacity:1}.photo-rail__item:focus-visible{outline:2px solid var(--brand-gold);outline-offset:2px}@media (hover:none){.photo-rail__tap{opacity:1}}dialog.photo-viewer{color:#fff;opacity:0;transition-behavior:allow-discrete;background:0 0;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;transition-property:opacity,transform,display,overlay;transition-duration:.25s;transition-timing-function:cubic-bezier(.22,1,.36,1);position:fixed;inset:0;transform:scale(.96)}dialog.photo-viewer[open]{flex-direction:column;justify-content:center;align-items:center;display:flex}dialog.photo-viewer:modal{overscroll-behavior:contain}dialog.photo-viewer::backdrop{overscroll-behavior:contain;backdrop-filter:blur();transition-behavior:allow-discrete;background-color:#080e1600;transition-property:background-color,backdrop-filter,display,overlay;transition-duration:.25s;transition-timing-function:ease-out;overflow:hidden}:is(dialog.photo-viewer[open]):where(:not([data-closing])){opacity:1;transform:scale(1);@starting-style{opacity:0;transform:scale(.96)}&::backdrop{backdrop-filter:blur(6px);background-color:#080e16f0;@starting-style{backdrop-filter:blur();background-color:#080e1600}}}@media (prefers-reduced-motion:reduce){dialog.photo-viewer{transition-duration:.1s;transform:none}@starting-style{dialog.photo-viewer[open]{transform:none}}}.photo-viewer__topbar{top:0;color:#fff;z-index:2;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,2rem);display:flex;position:absolute;inset-inline:0}.photo-viewer__stage{border-radius:var(--radius-sm);color:var(--brand-gold);letter-spacing:.12em;text-transform:uppercase;background:#121c2ad9;border:1px solid #d6b37a8c;padding:.4rem .9rem;font-size:.72rem;font-weight:850}.photo-viewer__count{color:#ffffffd9;font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:700}.photo-viewer__close{color:#fff;cursor:pointer;background:#121c2aa6;border:1px solid #ffffff59;border-radius:50%;width:48px;height:48px;margin-inline-start:auto;font-size:1.3rem}.photo-viewer__close:hover{background:#ffffff26}.photo-viewer__figure{flex-direction:column;align-items:center;gap:.75rem;margin:0;display:flex}.photo-viewer__img{aspect-ratio:auto;object-fit:contain;border-radius:var(--radius-sm);width:auto;max-width:min(92vw,960px);height:auto;max-height:76vh;box-shadow:0 24px 80px #0000008c}.photo-viewer__caption{color:#ffffffdb;text-align:center;font-size:.92rem;font-weight:600}.photo-viewer__nav{color:#fff;cursor:pointer;z-index:2;background:#080e16a6;border:1px solid #ffffff59;border-radius:50%;width:52px;height:52px;font-size:1.8rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.photo-viewer__nav:hover{background:#ffffff2e}.photo-viewer__nav--prev{inset-inline-start:clamp(.6rem,3vw,1.5rem)}.photo-viewer__nav--next{inset-inline-end:clamp(.6rem,3vw,1.5rem)}.photo-viewer__hint{bottom:1.1rem;text-align:center;color:#ffffff8c;margin:0;font-size:.78rem;position:absolute;inset-inline:0}@media (width<=700px){.photo-viewer__hint{display:none}}.trade-sections{gap:clamp(2.5rem,5vw,4rem);display:grid}.trade-section{border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;padding:clamp(1.5rem,4vw,3rem)}.trade-section__heading{max-width:820px;margin-bottom:1.75rem}.trade-section__heading h3{letter-spacing:-.02em;margin-bottom:.75rem;font-size:clamp(1.4rem,3vw,2rem)}.trade-section__heading p{color:#5c6570;margin:0;font-size:1.02rem;line-height:1.7}.photo-trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.photo-trio__item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--brand-navy);cursor:zoom-in;padding:0;position:relative;overflow:hidden}.photo-trio__item img{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .34s cubic-bezier(.22,1,.36,1);display:block}.photo-trio__item:hover img{transform:scale(1.04)}.photo-trio__stage{top:.75rem;z-index:1;backdrop-filter:blur(4px);color:var(--brand-gold);letter-spacing:.12em;text-transform:uppercase;background:#0a121cd9;border:1px solid #d6b37a8c;border-radius:3px;padding:.35rem .8rem;font-size:.68rem;font-weight:850;position:absolute;inset-inline-start:.75rem}.photo-trio__stage--after{color:#f3dfb9;border-color:#c4a26ad9}.photo-trio__item:focus-visible,.gallery-mosaic__trigger:focus-visible{outline:2px solid var(--brand-gold);outline-offset:2px}@media (width<=700px){.photo-trio{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-inline:clamp(1.5rem,4vw,3rem);margin-inline:calc(-1*clamp(1.5rem,4vw,3rem));padding-bottom:.5rem;display:flex;overflow-x:auto}.photo-trio__item{scroll-snap-align:center;flex:0 0 78vw}}
