body{
  background-color:var(--color-bg-obsidian);
}
.portfolio-page .page-intro-inner,
.portfolio-page .lede,
.portfolio-page .section-kicker{
  max-width:none;
}
.page-intro{
  background:radial-gradient(circle at top,rgba(17,28,44,0.88),transparent 70%);
}
.portfolio-hero-block{
  margin-top:var(--space-10);
  display:flex;
  flex-direction:column;
  gap:var(--space-8);
}
.portfolio-hero-media{
  position:relative;
  border-radius:0 0 var(--radius-xl) var(--radius-xl);
  overflow:hidden;
  box-shadow:0 32px 80px rgba(0,0,0,0.95);
  border-bottom:1px solid rgba(183,154,104,0.18);
}
.portfolio-hero-image{
  width:100%;
  height:420px;
  object-fit:cover;
  object-position:center;
}
.portfolio-hero-overlay{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 18% 0,rgba(241,237,229,0.15),transparent 55%),linear-gradient(to bottom,rgba(8,9,11,0.15),rgba(8,9,11,0.8));
  pointer-events:none;
}
.portfolio-hero-shell{
  margin-top:-150px;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);
  gap:var(--space-7);
  align-items:flex-start;
}
@media (max-width:992px){
  .portfolio-hero-shell{
    grid-template-columns:1fr;
    margin-top:-120px;
  }
}
@media (max-width:768px){
  .portfolio-hero-shell{
    margin-top:-100px;
  }
}
.portfolio-hero-panel{
  position:relative;
  border-radius:var(--radius-xl);
  padding:var(--space-7);
  background:radial-gradient(140% 200% at top,rgba(8,9,11,0.98),rgba(17,28,44,0.98));
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 30px 85px rgba(0,0,0,0.98);
}
.portfolio-hero-title{
  font-size:2.2rem;
  line-height:var(--line-height-tight);
  margin-top:var(--space-3);
  margin-bottom:var(--space-3);
}
@media (max-width:768px){
  .portfolio-hero-title{
    font-size:1.9rem;
  }
}
.portfolio-hero-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-6);
  align-items:flex-start;
  margin-top:var(--space-4);
}
.portfolio-hero-meta>p{
  margin-top:var(--space-3);
}
.portfolio-hero-actions{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
  min-width:220px;
}
@media (max-width:640px){
  .portfolio-hero-actions{
    width:100%;
  }
  .portfolio-hero-actions .btn{
    justify-content:center;
    width:100%;
  }
}
.portfolio-rail{
  align-self:stretch;
  border-radius:var(--radius-lg);
  padding:var(--space-6);
  background:radial-gradient(circle at top,rgba(17,28,44,0.96),rgba(8,9,11,0.98));
  border:1px solid rgba(183,154,104,0.28);
  box-shadow:0 24px 70px rgba(0,0,0,0.95);
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
}
.portfolio-rail-header{
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
}
.portfolio-rail-label{
  font-size:var(--font-size-xs);
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--color-text-muted);
}
.portfolio-rail-tag{
  align-self:flex-start;
  font-size:var(--font-size-xs);
  padding:2px var(--space-3);
  border-radius:999px;
  border:1px solid rgba(183,154,104,0.55);
  background:radial-gradient(circle at top,rgba(17,28,44,0.95),rgba(8,9,11,0.98));
  text-transform:uppercase;
  letter-spacing:0.14em;
}
.portfolio-rail-list{
  margin-top:var(--space-2);
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
  font-size:var(--font-size-sm);
}
.portfolio-rail-item{
  border-bottom:1px solid rgba(255,255,255,0.06);
  padding-bottom:var(--space-2);
}
.portfolio-rail-item:last-child{
  border-bottom:none;
  padding-bottom:0;
}
.portfolio-rail-item dt{
  font-size:var(--font-size-xs);
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--color-text-muted);
  margin-bottom:var(--space-1);
}
.portfolio-rail-item dd{
  color:var(--color-text-primary);
}
.portfolio-rail-footer p{
  font-size:var(--font-size-xs);
}
.portfolio-inline-link{
  color:var(--color-accent-gold);
}
.portfolio-inline-link:hover{
  color:var(--color-accent-copper);
}
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-6);
}
@media (max-width:1120px){
  .portfolio-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:720px){
  .portfolio-grid{
    grid-template-columns:1fr;
  }
}
.portfolio-grid--asymmetric .portfolio-card--wide{
  grid-column:span 2;
}
@media (max-width:720px){
  .portfolio-grid--asymmetric .portfolio-card--wide{
    grid-column:auto;
  }
}
.portfolio-grid--masonry{
  grid-template-columns:1.4fr 1fr;
}
@media (max-width:960px){
  .portfolio-grid--masonry{
    grid-template-columns:1fr;
  }
}
.portfolio-card{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:radial-gradient(circle at top,rgba(17,28,44,0.95),rgba(8,9,11,0.98));
  border:1px solid rgba(255,255,255,0.04);
  box-shadow:0 22px 65px rgba(0,0,0,0.95);
  display:flex;
  flex-direction:column;
}
.portfolio-card-media-wrapper{
  position:relative;
  overflow:hidden;
}
.portfolio-card-image{
  width:100%;
  height:220px;
  object-fit:cover;
  object-position:center;
  transition:transform var(--transition-slow),filter var(--transition-slow);
}
.portfolio-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  border:1px solid rgba(183,154,104,0.08);
  mix-blend-mode:screen;
}
.portfolio-card-body{
  position:relative;
  padding:var(--space-6);
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
}
.portfolio-card-header{
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
}
.portfolio-card-title{
  font-family:var(--font-serif);
  font-size:var(--font-size-xl);
}
.portfolio-card-meta{
  font-size:var(--font-size-xs);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--color-text-muted);
}
.portfolio-card-list{
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
}
.portfolio-card-list--two-cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-3);
}
@media (max-width:720px){
  .portfolio-card-list--two-cols{
    grid-template-columns:1fr;
  }
}
.portfolio-card-list li{
  position:relative;
  padding-left:var(--space-4);
}
.portfolio-card-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.55em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:radial-gradient(circle at 30% 0,var(--color-accent-gold),var(--color-accent-copper));
}
.portfolio-card-footer{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-4);
  align-items:center;
  margin-top:var(--space-2);
}
.portfolio-card:hover .portfolio-card-image{
  transform:scale(1.05);
  filter:brightness(1.03);
}
.consult-panel{
  margin-top:var(--space-4);
}
.consult-form-shell{
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
}
.consult-submit{
  width:100%;
}
@media (min-width:640px){
  .consult-submit{
    width:auto;
    align-self:flex-start;
  }
}
@media (max-width:768px){
  .consult-panel{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-6);
    padding:var(--space-5);
  }
  .consult-copy,
  .consult-form,
  .consult-form-shell,
  .field-group,
  .field-control{
    min-width:0;
  }
  .consult-title{
    font-size:clamp(2rem,10vw,2.5rem);
    overflow-wrap:anywhere;
  }
  .pill{
    white-space:normal;
  }
  .consult-submit{
    width:100%;
    white-space:normal;
    text-align:center;
  }
}
ul{
  list-style:none !important;
}
.nav-toggle{
  flex-direction:column;
}
