.work-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(3rem,7vw,6.25rem) 0 1.3rem;
  background:
    radial-gradient(ellipse at 78% 35%,rgba(161,233,189,.11),transparent 35%),
    linear-gradient(155deg,#0b2819,#081b11 70%);
}
.work-hero::before{
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:58px 58px;
  content:"";
  mask-image:linear-gradient(90deg,transparent,#000 48%,#000);
  pointer-events:none;
}
.work-hero .container{ position:relative; }
.work-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  align-items:center;
  gap:3rem;
}
.work-hero-copy{ max-width:790px; }
.work-eyebrow,.work-section-kicker{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  color:#a1e9bd;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.13em;
}
.work-eyebrow{ margin-bottom:1.25rem; }
.work-eyebrow > span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 15px rgba(245,197,24,.75);
}
.work-hero h1,.work-section-heading h2,.work-cta h2{
  color:#f4f7f4;
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:-.065em;
}
.work-hero h1{
  max-width:850px;
  font-size:clamp(3rem,7.4vw,6.4rem);
  line-height:.99;
}
.work-hero h1 span,.work-section-heading h2 span{ color:#a1e9bd; }
.work-hero-copy > p{
  max-width:540px;
  margin:1.5rem 0 1.65rem;
  color:#bccbc1;
  font-size:1.02rem;
  line-height:1.8;
}
.work-hero-link{
  display:inline-flex;
  align-items:center;
  gap:.8rem;
  color:#f4f7f4;
  font-size:.85rem;
  font-weight:700;
}
.work-hero-link i{ color:var(--gold); transition:transform .2s ease; }
.work-hero-link:hover{ color:#a1e9bd; }
.work-hero-link:hover i{ transform:translate(3px,3px); }
.work-hero-aside{
  position:relative;
  min-height:300px;
  padding:1.4rem;
  border:1px solid rgba(161,233,189,.19);
  border-radius:4px;
  background:rgba(10,36,23,.75);
}
.work-aside-index{
  color:#8ea69a;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.14em;
}
.work-aside-mark{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  height:115px;
}
.work-aside-mark::before,.work-aside-mark::after{
  position:absolute;
  width:82px;
  height:82px;
  border:1px solid rgba(161,233,189,.3);
  border-radius:50%;
  content:"";
}
.work-aside-mark::after{ width:108px; height:108px; border-color:rgba(161,233,189,.12); }
.work-aside-mark span{
  z-index:1;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#a1e9bd;
}
.work-aside-mark span:nth-child(2){ width:15px; height:15px; background:var(--gold); }
.work-aside-mark span:nth-child(3){ opacity:.5; }
.work-hero-aside > p{
  max-width:255px;
  margin:0;
  color:#b8c8be;
  font-size:.78rem;
  line-height:1.75;
}
.work-aside-count{
  position:absolute;
  right:1.4rem;
  bottom:1.35rem;
  display:flex;
  align-items:center;
  gap:.55rem;
}
.work-aside-count strong{
  color:#a1e9bd;
  font-family:var(--font-display);
  font-size:1.7rem;
  line-height:1;
}
.work-aside-count span{
  color:#98aca0;
  font-size:.58rem;
  line-height:1.3;
  text-transform:uppercase;
}
.work-hero-bottom{
  display:flex;
  align-items:center;
  gap:1.15rem;
  margin-top:clamp(3rem,7vw,6.4rem);
  padding:1rem 0;
  border-top:1px solid rgba(255,255,255,.12);
  color:#a6b7ac;
  font-size:.6rem;
  font-weight:800;
  letter-spacing:.12em;
}
.work-hero-bottom > span:nth-child(even){ width:4px; height:4px; border-radius:50%; background:var(--gold); }
.work-section{
  padding:clamp(4rem,7vw,6.5rem) 0;
  background:#f1f4ef;
  color:#12251a;
}
.work-section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:2.5rem;
  margin-bottom:2.5rem;
}
.work-section-kicker{
  margin-bottom:1rem;
  color:#36714d;
  font-size:.61rem;
}
.work-section-kicker > span{ color:#7d8e82; }
.work-section-heading h2{
  margin:0;
  color:#14271b;
  font-size:clamp(2.25rem,4.6vw,4rem);
  line-height:1.06;
}
.work-section-heading h2 span{ color:#4d8965; }
.work-section-heading > p{
  max-width:390px;
  margin:0 0 .25rem;
  color:#607267;
  font-size:.88rem;
  line-height:1.8;
}
.work-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.25rem;
  padding-bottom:1rem;
  border-bottom:1px solid #d8e0d9;
}
.work-filters{ display:flex; flex-wrap:wrap; gap:.45rem; }
.work-filter{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  min-height:38px;
  padding:.48rem .82rem;
  border:1px solid transparent;
  border-radius:3px;
  background:transparent;
  color:#5e7064;
  font:600 .72rem var(--font-body);
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.work-filter:hover{ border-color:#c7d4c9; color:#183c27; }
.work-filter.is-active{ background:#173e29; color:#fff; }
.work-filter span{
  color:#a1e9bd;
  font-size:.6rem;
}
.work-result-count{ color:#718077; font-size:.68rem; white-space:nowrap; }
.work-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2.5rem 1.35rem;
}
.work-card{
  min-width:0;
  cursor:pointer;
}
.work-card:focus-visible{
  outline:3px solid #347449;
  outline-offset:5px;
}
.work-card[hidden]{ display:none !important; }
.work-card-image{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:1.58;
  background:#dfe7df;
}
.work-card-image::after{
  position:absolute;
  inset:35% 0 0;
  background:linear-gradient(180deg,transparent,rgba(6,22,13,.4));
  content:"";
  pointer-events:none;
}
.work-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .65s cubic-bezier(.2,.7,.2,1);
}
.work-card:hover .work-card-image img{ transform:scale(1.035); }
.work-card-number{
  position:absolute;
  z-index:1;
  bottom:1rem;
  left:1rem;
  color:rgba(255,255,255,.85);
  font-family:var(--font-display);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.1em;
}
.work-card-open{
  position:absolute;
  z-index:1;
  top:1rem;
  right:1rem;
  display:grid;
  width:39px;
  height:39px;
  place-items:center;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  background:rgba(8,28,17,.46);
  color:white;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.work-card:hover .work-card-open{ transform:rotate(45deg); background:#a1e9bd; color:#102218; }
.work-card-content{ padding:1.1rem .1rem 0; }
.work-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  color:#597d64;
  font-size:.61rem;
  font-weight:700;
}
.work-card-meta span:last-child{ color:#7a887e; text-align:right; }
.work-card h3{
  margin:.55rem 0 .7rem;
  color:#16291d;
  font-family:var(--font-display);
  font-size:clamp(1.3rem,2.2vw,1.8rem);
  font-weight:700;
  letter-spacing:-.045em;
}
.work-card-bottom{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding-top:.75rem;
  border-top:1px solid #d8e0d9;
}
.work-card-bottom p{
  max-width:430px;
  margin:0;
  color:#67776c;
  font-size:.76rem;
  line-height:1.7;
}
.work-card-more{
  display:grid;
  flex:0 0 34px;
  width:34px;
  height:34px;
  place-items:center;
  border:1px solid #bdcdbf;
  border-radius:50%;
  color:#27583a;
  transition:background .2s ease,color .2s ease;
}
.work-card:hover .work-card-more{ background:#173e29; color:white; }
.work-cta{ padding:0 0 clamp(4rem,7vw,6.5rem); background:#f1f4ef; }
.work-cta-panel{
  position:relative;
  display:flex;
  min-height:250px;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  overflow:hidden;
  padding:clamp(2rem,5vw,4rem);
  border-radius:4px;
  background:linear-gradient(115deg,#123b26,#0a2417);
}
.work-cta-panel > div,.work-cta-panel > a{ position:relative; z-index:1; }
.work-cta h2{
  margin:0;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1.05;
}
.work-cta .work-section-kicker{ color:#a1e9bd; }
.work-cta .btn-quote{ border-radius:3px; }
.work-cta-orbit{
  position:absolute;
  top:-110px;
  right:14%;
  width:370px;
  height:370px;
  border:1px solid rgba(161,233,189,.13);
  border-radius:50%;
}
.work-cta-orbit::before,.work-cta-orbit::after{
  position:absolute;
  inset:36px;
  border:1px solid rgba(161,233,189,.12);
  border-radius:50%;
  content:"";
}
.work-cta-orbit::after{ inset:78px; border-color:rgba(245,197,24,.19); }
.work-project-modal .modal-content{
  overflow:hidden;
  border:1px solid rgba(161,233,189,.22);
  border-radius:8px;
  background:#0b2115;
  color:#f4f7f4;
}
.work-project-modal .modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem 1.25rem;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.work-project-kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:#a1e9bd;
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.12em;
}
.work-project-modal .modal-body{ padding:0; }
.work-project-image{
  display:block;
  width:100%;
  max-height:360px;
  object-fit:cover;
  background:#14291c;
}
.work-project-details{ padding:1.5rem clamp(1.25rem,4vw,2.5rem) 2rem; }
.work-project-modal .work-card-meta{ margin-bottom:.7rem; }
.work-project-modal .work-card-meta span:last-child{ color:#a7b8ac; }
.work-project-details h2{
  margin:0 0 .65rem;
  color:#f4f7f4;
  font-family:var(--font-display);
  font-size:clamp(1.6rem,4vw,2.3rem);
  font-weight:700;
  letter-spacing:-.045em;
}
.work-project-details > p{
  max-width:600px;
  margin:0 0 1.3rem;
  color:#bdcdc4;
  font-size:.88rem;
  line-height:1.75;
}
.work-project-link{ border-radius:3px; }

@media(max-width:767.98px){
  .work-hero-grid{ grid-template-columns:1fr; gap:2rem; }
  .work-hero-aside{ min-height:235px; }
  .work-aside-mark{ height:78px; }
  .work-aside-mark::before{ width:62px; height:62px; }
  .work-aside-mark::after{ width:86px; height:86px; }
  .work-section-heading{ align-items:flex-start; flex-direction:column; gap:1rem; }
  .work-section-heading > p{ max-width:550px; }
  .work-grid{ gap:2rem 1rem; }
  .work-card-meta{ align-items:flex-start; flex-direction:column; gap:.25rem; }
  .work-cta-panel{ align-items:flex-start; flex-direction:column; justify-content:center; }
}
@media(max-width:575.98px){
  .work-hero{ padding-top:2.5rem; }
  .work-hero h1{ font-size:clamp(2.8rem,13vw,4.2rem); }
  .work-hero-bottom{ flex-wrap:wrap; gap:.7rem; font-size:.53rem; }
  .work-toolbar{ align-items:flex-start; flex-direction:column; }
  .work-filters{ gap:.25rem; }
  .work-filter{ min-height:35px; padding:.4rem .58rem; font-size:.66rem; }
  .work-grid{ grid-template-columns:1fr; gap:2rem; }
  .work-card-image{ aspect-ratio:1.38; }
  .work-card-meta{ flex-direction:row; }
  .work-card-meta span:last-child{ text-align:right; }
  .work-cta-orbit{ right:-230px; }
  .work-project-image{ max-height:230px; }
}
@media(prefers-reduced-motion:reduce){
  .work-hero-link i,.work-filter,.work-card-image img,.work-card-open,.work-card-more{ transition:none; }
}
