@import url("https://fonts.googleapis.com/css2?family=Karla:wght@400;700&display=swap");

/* Carli Special service gallery polish — v0.8.2 */

.editorial-work{
  padding:105px 3.2vw;
  background:#f8f4ee;
  color:#302119;
  border-top:1px solid #ded4ca;
}
.editorial-work__head{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  align-items:end;
  gap:6vw;
  padding:0 0 52px;
}
.editorial-work__head .editorial-kicker{
  grid-column:1/-1;
  margin-bottom:-4px;
}
.editorial-work__note{
  max-width:470px;
  margin:0 0 5px;
  color:#756d67;
  font-size:13px;
  line-height:1.75;
}
.editorial-gallery--services{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2px;
  height:auto;
  background:#e9dfd5;
}
.editorial-gallery--services .editorial-gallery__item{
  position:relative;
  isolation:isolate;
  height:auto;
  aspect-ratio:1.62/1;
  overflow:hidden;
  border:0;
  background:#5e514a;
}
.editorial-gallery--services .editorial-gallery__item img{
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.88) contrast(.98);
  transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .75s ease;
}
.editorial-gallery--services .editorial-gallery__item:last-child img{
  content:normal;
  width:150%;
  height:150%;
  inset:auto;
  left:-22%;
  top:-50%;
  object-position:center bottom;
}
.editorial-gallery--services .editorial-gallery__item:hover img,
.editorial-gallery--services .editorial-gallery__item:focus-visible img{
  transform:scale(1.045);
  filter:saturate(1) contrast(1);
}
.editorial-gallery--services .editorial-gallery__veil{
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(180deg,rgba(30,19,14,.04) 36%,rgba(30,19,14,.84) 100%);
  transition:background .35s ease;
}
.editorial-gallery--services .editorial-gallery__item:hover .editorial-gallery__veil,
.editorial-gallery--services .editorial-gallery__item:focus-visible .editorial-gallery__veil{
  background:linear-gradient(180deg,rgba(30,19,14,.08) 30%,rgba(30,19,14,.9) 100%);
}
.editorial-gallery--services .editorial-gallery__caption{
  position:absolute;
  left:24px;
  right:22px;
  bottom:22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 36px;
  align-items:end;
  gap:6px 18px;
  color:#fff;
  text-shadow:0 1px 16px rgba(0,0,0,.35);
}
.editorial-gallery--services .editorial-gallery__caption strong{
  grid-column:1;
  font-family:var(--serif);
  font-size:clamp(20px,1.6vw,29px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.015em;
}
.editorial-gallery--services .editorial-gallery__caption small{
  grid-column:1;
  font-size:8px;
  font-weight:700;
  letter-spacing:.22em;
  line-height:1.35;
}
.editorial-gallery--services .editorial-gallery__caption::after{
  content:"↗";
  grid-column:2;
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  align-self:end;
  border:1px solid rgba(255,255,255,.58);
  border-radius:50%;
  font-size:14px;
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.editorial-gallery--services .editorial-gallery__item:hover .editorial-gallery__caption::after,
.editorial-gallery--services .editorial-gallery__item:focus-visible .editorial-gallery__caption::after{
  transform:translate(2px,-2px);
  background:#b77851;
  border-color:#b77851;
}
.editorial-gallery--services .editorial-gallery__item:focus-visible{
  z-index:3;
  outline:3px solid #b77851;
  outline-offset:3px;
}

@media (max-width:760px){
  .editorial-work{
    padding:76px 18px 22px;
    background:#241711;
    color:#f7f0e8;
    border-top-color:rgba(255,255,255,.08);
  }
  .editorial-work__head{
    display:block;
    padding:0 4px 36px;
  }
  .editorial-work .editorial-kicker--dark{
    color:#cf916a;
  }
  .editorial-work h2{
    font-size:43px;
  }
  .editorial-work__note{
    margin:20px 0 0;
    color:rgba(247,240,232,.68);
    font-size:13px;
    line-height:1.7;
  }
  .editorial-gallery--services{
    grid-template-columns:1fr;
    gap:10px;
    background:transparent;
  }
  .editorial-gallery--services .editorial-gallery__item{
    aspect-ratio:1.28/1;
    border:1px solid rgba(255,255,255,.08);
  }
  .editorial-gallery--services .editorial-gallery__veil{
    background:linear-gradient(180deg,rgba(23,14,10,.03) 32%,rgba(23,14,10,.9) 100%);
  }
  .editorial-gallery--services .editorial-gallery__caption{
    left:18px;
    right:16px;
    bottom:17px;
    grid-template-columns:minmax(0,1fr) 40px;
    gap:7px 14px;
  }
  .editorial-gallery--services .editorial-gallery__caption strong{
    font-size:25px;
  }
  .editorial-gallery--services .editorial-gallery__caption small{
    font-size:8px;
    letter-spacing:.18em;
  }
  .editorial-gallery--services .editorial-gallery__caption::after{
    width:38px;
    height:38px;
    background:rgba(31,19,13,.3);
    backdrop-filter:blur(5px);
  }
}


/* Mobile approach section correction */
@media (max-width:760px){
  .editorial-quote{
    min-height:0;
    padding:72px 20px 78px;
    text-align:left;
  }
  .editorial-quote__inner{
    max-width:34rem;
  }
  .editorial-quote .editorial-kicker{
    margin:0 0 22px;
    color:#a66b4b;
    font-family:var(--sans);
    font-size:9px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:.28em;
  }
  .editorial-quote blockquote{
    max-width:15ch;
    margin:0 0 28px;
    font-size:clamp(34px,10.2vw,42px);
    line-height:1.02;
    letter-spacing:-.025em;
  }
  .editorial-quote p.editorial-quote__note{
    max-width:31ch;
    margin:0;
    color:#74685f;
    font-family:var(--serif);
    font-size:clamp(18px,5.2vw,22px);
    font-weight:400;
    line-height:1.5;
    letter-spacing:0;
  }
  .editorial-quote::after{
    right:-8vw;
    bottom:-4vw;
    font-size:46vw;
    opacity:.72;
  }
}

@media (max-width:390px){
  .editorial-quote{
    padding-inline:18px;
  }
  .editorial-quote blockquote{
    font-size:35px;
  }
}


/* Header logo refinement */
.editorial-brand img{
  width:350px;
  max-width:none;
  overflow:visible;
}
@media (max-width:1100px){
  .editorial-brand img{
    width:300px;
  }
}
@media (max-width:760px){
  .editorial-brand img{
    width:260px;
  }
}
@media (max-width:390px){
  .editorial-brand img{
    width:220px;
  }
}

/* Keep the grey-coverage portrait focused on the face and finished hair. */
.editorial-gallery--services .editorial-gallery__item img.editorial-gallery__grey-coverage{
  object-position:center 25%;
}

/* Karla typography for the header wordmark, tagline, and navigation. */
.editorial-header,
.editorial-header .brand-lockup__type strong,
.editorial-header .brand-lockup__type small,
.editorial-header .editorial-nav a,
.editorial-header .editorial-menu-toggle{
  font-family:"Karla",Arial,Helvetica,sans-serif;
}
