body.ds-portfolio-body{
  background:#f5f0e7;
}

body.ds-portfolio-body:not(.menu-active) .topbar:not(.is-scrolled):not(.menu-open){
  background:rgba(250,247,240,.88);
  border-bottom-color:rgba(28,24,20,.08);
  color:var(--ink);
  box-shadow:none;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

body.ds-portfolio-body:not(.menu-active) .topbar:not(.is-scrolled):not(.menu-open) .brand img{
  filter:none;
}

body.ds-portfolio-body:not(.menu-active) .topbar:not(.is-scrolled):not(.menu-open) .top-cta{
  background:#171511;
  border-color:#171511;
  color:#fffaf0;
}

body.ds-portfolio-body .breadcrumbs{
  position:absolute;
  z-index:20;
  top:calc(var(--header) + 18px);
  left:0;
  right:0;
  width:min(100% - 40px,1380px);
  margin:0 auto;
  color:rgba(28,24,20,.56);
}

body.ds-portfolio-body .breadcrumbs li,
body.ds-portfolio-body .breadcrumbs a,
body.ds-portfolio-body .breadcrumbs span{
  color:inherit;
  letter-spacing:0;
}

body.ds-portfolio-body .breadcrumbs li+li:before{
  color:rgba(28,24,20,.28);
}

html.standard-page main.ds-portfolio-page{
  padding-top:0;
}

.ds-portfolio-page{
  --ds-bg:#f5f0e7;
  --ds-paper:#fffaf0;
  --ds-paper-2:#ebe2d3;
  --ds-ink:#1c1814;
  --ds-muted:#756d61;
  --ds-soft:#9c9182;
  --ds-line:rgba(28,24,20,.13);
  --ds-line-strong:rgba(28,24,20,.28);
  --ds-green:#173d31;
  --ds-brass:#b79861;
  --ds-ease:cubic-bezier(.22,1,.36,1);
  position:relative;
  overflow-x:clip;
  background:
    linear-gradient(180deg,#faf7f0 0%,var(--ds-bg) 48%,#eee5d8 100%);
  color:var(--ds-ink);
  font-family:inherit;
}

.ds-portfolio-page *,
.ds-portfolio-page *:before,
.ds-portfolio-page *:after{
  box-sizing:border-box;
}

.ds-portfolio-page img{
  display:block;
  max-width:100%;
  border-radius:0;
}

.ds-portfolio-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.85rem;
  margin:0 0 24px;
  color:var(--ds-soft);
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
}

.ds-portfolio-eyebrow:before{
  content:"";
  width:42px;
  height:1px;
  background:currentColor;
  opacity:.6;
}

.ds-portfolio-hero{
  position:relative;
  min-height:100svh;
  padding:calc(var(--header) + 28px) 0 clamp(62px,8vw,118px);
  background:#f8f4ec;
  color:var(--ds-ink);
}

.ds-portfolio-hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(28,24,20,.035) 1px,transparent 1px),
    linear-gradient(180deg,rgba(28,24,20,.026) 1px,transparent 1px);
  background-size:calc(100% / 12) 100%,100% 120px;
  opacity:.55;
}

.ds-portfolio-hero-copy{
  position:relative;
  z-index:2;
  width:min(100% - 40px,1380px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,8fr) minmax(300px,4fr);
  gap:clamp(28px,5vw,76px);
  align-items:end;
}

.ds-portfolio-hero-copy .ds-portfolio-eyebrow{
  grid-column:1/-1;
  margin-bottom:0;
}

.ds-portfolio-hero h1{
  max-width:9ch;
  margin:0;
  color:var(--ds-ink);
  font-size:clamp(4.1rem,8.3vw,10.6rem);
  font-weight:430;
  line-height:.88;
  letter-spacing:0;
  text-wrap:balance;
}

.ds-portfolio-hero-description{
  max-width:520px;
  margin:0 0 8px;
  color:var(--ds-muted);
  font-size:clamp(1.05rem,1.35vw,1.3rem);
  line-height:1.62;
  letter-spacing:0;
}

.ds-portfolio-back-link{
  grid-column:2;
  justify-self:start;
  margin-top:22px;
  letter-spacing:0!important;
}

.ds-portfolio-hero-media{
  position:relative;
  z-index:1;
  width:min(100% - 40px,1380px);
  margin:clamp(28px,4vw,56px) auto 0;
  padding:0;
  border:1px solid var(--ds-line);
  background:var(--ds-paper);
  overflow:hidden;
}

.ds-portfolio-hero-media img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center center;
}

.ds-portfolio-section{
  width:min(100% - 40px,1380px);
  margin:0 auto;
  padding:clamp(72px,10vw,146px) 0;
  scroll-margin-top:var(--header);
}

.ds-portfolio-passport{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(0,2fr);
  gap:0;
  border-top:1px solid var(--ds-line-strong);
  border-bottom:1px solid var(--ds-line-strong);
}

.ds-portfolio-passport-intro,
.ds-portfolio-meta{
  padding:clamp(28px,3.2vw,44px) 0;
}

.ds-portfolio-passport-intro{
  padding-right:clamp(28px,4vw,64px);
  border-right:1px solid var(--ds-line);
}

.ds-portfolio-passport-intro p:not(.ds-portfolio-eyebrow){
  max-width:620px;
  margin:0;
  color:var(--ds-muted);
  font-size:1.03rem;
  line-height:1.68;
  letter-spacing:0;
}

.ds-portfolio-meta{
  padding-left:clamp(28px,4vw,64px);
}

.ds-portfolio-meta dl{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,3vw,42px);
  margin:0;
}

.ds-portfolio-meta dt{
  margin:0 0 18px;
  color:var(--ds-soft);
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
}

.ds-portfolio-meta dd{
  margin:0;
  color:var(--ds-ink);
  font-size:clamp(1.08rem,1.6vw,1.85rem);
  font-weight:430;
  line-height:1.1;
  letter-spacing:0;
}

.ds-portfolio-meta-links{
  display:grid;
  gap:10px;
  font-size:1rem!important;
  line-height:1.25!important;
}

.ds-portfolio-meta-links a{
  width:max-content;
  max-width:100%;
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(28,24,20,.24);
}

.ds-portfolio-statement .ds-portfolio-copy{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(24px,4vw,66px);
  align-items:start;
}

.ds-portfolio-copy h2{
  grid-column:1/span 7;
  margin:0;
  color:var(--ds-ink);
  font-size:clamp(2.9rem,5.8vw,7.5rem);
  font-weight:430;
  line-height:.94;
  letter-spacing:0;
  text-wrap:balance;
}

.ds-portfolio-copy p,
.ds-portfolio-copy li{
  color:var(--ds-muted);
  font-size:1.03rem;
  line-height:1.72;
  letter-spacing:0;
}

.ds-portfolio-copy ul{
  margin:18px 0 0;
  padding-left:20px;
}

.ds-portfolio-statement .ds-portfolio-copy p{
  grid-column:9/-1;
  margin:0;
}

.ds-portfolio-chapter{
  padding:clamp(72px,10vw,146px) 0;
  border-top:1px solid var(--ds-line);
  background:rgba(255,250,240,.34);
  scroll-margin-top:var(--header);
}

.ds-portfolio-chapter:nth-of-type(even){
  background:rgba(235,226,211,.36);
}

.ds-portfolio-chapter-shell{
  width:min(100% - 40px,1380px);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(24px,4.5vw,72px);
  align-items:center;
}

.ds-portfolio-chapter-media{
  grid-column:1/span 7;
  margin:0;
  padding:0;
  border:1px solid var(--ds-line);
  background:var(--ds-paper);
  overflow:hidden;
}

.ds-portfolio-chapter--right .ds-portfolio-chapter-media{
  grid-column:6/-1;
  order:2;
}

.ds-portfolio-chapter-media img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center center;
}

.ds-portfolio-scene-caption{
  grid-column:8/-1;
  max-width:560px;
}

.ds-portfolio-chapter--right .ds-portfolio-scene-caption{
  grid-column:1/span 5;
  order:1;
}

.ds-portfolio-scene-caption h2{
  margin:0;
  color:var(--ds-ink);
  font-size:clamp(2.35rem,4.2vw,5.6rem);
  font-weight:430;
  line-height:.96;
  letter-spacing:0;
  text-wrap:balance;
}

.ds-portfolio-scene-caption p:not(.ds-portfolio-eyebrow),
.ds-portfolio-scene-caption li{
  max-width:540px;
  margin:22px 0 0;
  color:var(--ds-muted);
  font-size:1.03rem;
  line-height:1.72;
}

.ds-portfolio-list{
  margin:18px 0 0;
  padding-left:20px;
}

.ds-portfolio-list li{
  margin:9px 0;
}

.ds-portfolio-details{
  width:min(100% - 40px,1380px);
}

.ds-portfolio-details-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--ds-line-strong);
  border-left:1px solid var(--ds-line);
}

.ds-portfolio-detail-card{
  min-height:100%;
  padding:clamp(28px,3.4vw,48px);
  border-right:1px solid var(--ds-line);
  border-bottom:1px solid var(--ds-line);
  background:rgba(255,250,240,.5);
}

.ds-portfolio-detail-card:nth-child(4){
  background:var(--ds-green);
  color:#fffaf0;
}

.ds-portfolio-detail-card h3{
  margin:0 0 20px;
  color:inherit;
  font-size:clamp(1.9rem,3vw,3.8rem);
  font-weight:430;
  line-height:.98;
  letter-spacing:0;
  text-wrap:balance;
}

.ds-portfolio-detail-card p,
.ds-portfolio-detail-card li{
  color:var(--ds-muted);
  font-size:1rem;
  line-height:1.65;
  letter-spacing:0;
}

.ds-portfolio-detail-card:nth-child(4) p,
.ds-portfolio-detail-card:nth-child(4) li{
  color:rgba(255,250,240,.78);
}

.ds-portfolio-faq{
  width:min(100% - 40px,1040px);
}

.ds-portfolio-faq .ds-portfolio-copy{
  display:block;
}

.ds-portfolio-faq .ds-portfolio-copy h2{
  margin:0 0 34px;
  font-size:clamp(2.8rem,5vw,6rem);
}

.ds-portfolio-faq .ds-portfolio-copy h3{
  margin:30px 0 12px;
  padding-top:22px;
  border-top:1px solid var(--ds-line);
  color:var(--ds-ink);
  font-size:clamp(1.45rem,2.1vw,2.35rem);
  font-weight:430;
  line-height:1.06;
  letter-spacing:0;
}

.ds-portfolio-gallery{
  width:min(100% - 40px,1380px);
  margin:0 auto;
  padding:clamp(72px,10vw,146px) 0;
  scroll-margin-top:var(--header);
}

.ds-portfolio-gallery-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(18px,2vw,28px);
  align-items:start;
}

.ds-portfolio-gallery-item{
  appearance:none;
  display:block;
  grid-column:span 4;
  width:100%;
  margin:0;
  padding:0;
  border:1px solid var(--ds-line);
  border-radius:0;
  overflow:hidden;
  background:var(--ds-paper);
  cursor:zoom-in;
  transition:transform .45s var(--ds-ease),border-color .45s var(--ds-ease);
}

.ds-portfolio-gallery-item:nth-child(7n+1),
.ds-portfolio-gallery-item:nth-child(7n+5){
  grid-column:span 8;
}

.ds-portfolio-gallery-item:nth-child(7n+2),
.ds-portfolio-gallery-item:nth-child(7n+6){
  grid-column:span 4;
  margin-top:clamp(30px,4vw,64px);
}

.ds-portfolio-gallery-item img{
  width:100%;
  height:auto;
  object-fit:contain;
  background:var(--ds-paper);
}

.ds-portfolio-gallery-item:hover,
.ds-portfolio-gallery-item:focus-visible{
  transform:translateY(-4px);
  border-color:var(--ds-line-strong);
}

.ds-portfolio-gallery-item:focus-visible{
  outline:2px solid var(--ds-brass);
  outline-offset:5px;
}

.ds-portfolio-cta{
  width:min(100% - 40px,1380px);
  margin:clamp(30px,5vw,70px) auto clamp(60px,8vw,120px);
  padding:clamp(44px,6vw,84px);
  background:var(--ds-green);
  color:#fffaf0;
}

.ds-portfolio-cta .ds-portfolio-copy{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(20px,4vw,66px);
  align-items:start;
}

.ds-portfolio-cta .ds-portfolio-copy h2{
  grid-column:1/span 7;
  color:#fffaf0;
}

.ds-portfolio-cta .ds-portfolio-copy p{
  grid-column:9/-1;
  color:rgba(255,250,240,.78);
}

.ds-portfolio-cta .btn.dark{
  background:#fffaf0;
  border-color:#fffaf0;
  color:#11100e;
}

.ds-portfolio-reveal{
  opacity:1;
  transform:none;
}

.ds-portfolio-page.ds-portfolio-motion-ready .ds-portfolio-reveal:not(.is-visible){
  opacity:0;
  transform:translate3d(0,18px,0);
}

.ds-portfolio-page.ds-portfolio-motion-ready .ds-portfolio-reveal{
  transition:opacity .62s var(--ds-ease),transform .62s var(--ds-ease);
  transition-delay:calc(var(--ds-reveal-step,0) * 35ms);
}

@media(max-width:1180px){
  .ds-portfolio-hero-copy,
  .ds-portfolio-passport,
  .ds-portfolio-meta dl,
  .ds-portfolio-statement .ds-portfolio-copy,
  .ds-portfolio-cta .ds-portfolio-copy{
    grid-template-columns:1fr;
  }

  .ds-portfolio-back-link,
  .ds-portfolio-copy h2,
  .ds-portfolio-statement .ds-portfolio-copy p,
  .ds-portfolio-cta .ds-portfolio-copy h2,
  .ds-portfolio-cta .ds-portfolio-copy p{
    grid-column:auto;
  }

  .ds-portfolio-passport-intro{
    padding-right:0;
    border-right:0;
    border-bottom:1px solid var(--ds-line);
  }

  .ds-portfolio-meta{
    padding-left:0;
  }
}

@media(max-width:760px){
  body.ds-portfolio-body .breadcrumbs{
    position:relative;
    top:auto;
    width:min(100% - 32px,1380px);
    padding:calc(var(--header) + 18px) 0 0;
    font-size:.68rem;
  }

  .ds-portfolio-hero{
    min-height:auto;
    padding:30px 0 60px;
  }

  .ds-portfolio-hero:before{
    background-size:25% 100%,100% 96px;
  }

  .ds-portfolio-hero-copy,
  .ds-portfolio-hero-media,
  .ds-portfolio-section,
  .ds-portfolio-details,
  .ds-portfolio-gallery,
  .ds-portfolio-cta,
  .ds-portfolio-chapter-shell{
    width:min(100% - 32px,1380px);
  }

  .ds-portfolio-hero h1{
    max-width:8ch;
    font-size:clamp(3.05rem,14vw,4.7rem);
    line-height:.9;
  }

  .ds-portfolio-hero-description{
    font-size:1rem;
  }

  .ds-portfolio-hero-media{
    margin-top:34px;
  }

  .ds-portfolio-copy h2,
  .ds-portfolio-faq .ds-portfolio-copy h2{
    font-size:clamp(2.45rem,11vw,4rem);
  }

  .ds-portfolio-chapter-shell{
    grid-template-columns:1fr;
    gap:28px;
  }

  .ds-portfolio-chapter-media,
  .ds-portfolio-chapter--right .ds-portfolio-chapter-media,
  .ds-portfolio-scene-caption,
  .ds-portfolio-chapter--right .ds-portfolio-scene-caption{
    grid-column:auto;
    order:initial;
  }

  .ds-portfolio-scene-caption h2{
    font-size:clamp(2.35rem,10vw,3.8rem);
  }

  .ds-portfolio-details-grid,
  .ds-portfolio-gallery-grid{
    grid-template-columns:1fr;
  }

  .ds-portfolio-gallery-item,
  .ds-portfolio-gallery-item:nth-child(n){
    grid-column:auto;
    margin-top:0;
  }
}

@media(prefers-reduced-motion:reduce){
  .ds-portfolio-page.ds-portfolio-motion-ready .ds-portfolio-reveal,
  .ds-portfolio-page.ds-portfolio-motion-ready .ds-portfolio-reveal:not(.is-visible),
  .ds-portfolio-gallery-item{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}
