/* Curated editorial photography system */
.editorial-section{background:#F4F0E8;padding:clamp(100px,12vw,180px) clamp(24px,5vw,72px)}
.editorial-inner{max-width:1400px;margin:0 auto}
.editorial-heading{display:flex;justify-content:space-between;align-items:end;gap:28px 56px;margin-bottom:clamp(46px,6vw,84px)}
.editorial-kicker{font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;color:#9a8b74;margin-bottom:22px}
.editorial-title{font-family:'Playfair Display',serif;font-weight:400;color:#141210;font-size:clamp(32px,4vw,58px);line-height:1.08;letter-spacing:-.01em;margin:0;max-width:780px;text-wrap:pretty}
.editorial-deck{font-family:'Cormorant Garamond',serif;font-size:clamp(19px,1.6vw,23px);line-height:1.55;color:#6f6455;margin:0;max-width:390px}
.editorial-home-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.72fr);gap:clamp(18px,2.4vw,34px);align-items:start}
.editorial-home-grid figure,.editorial-triptych figure{margin:0}
.editorial-home-hero{grid-row:span 2}
.editorial-home-hero .editorial-frame{aspect-ratio:1.22/1}
.editorial-home-portrait .editorial-frame{aspect-ratio:4/5}
.editorial-home-wide{grid-column:1/-1;margin-top:clamp(24px,4vw,56px)!important}
.editorial-home-wide .editorial-frame{aspect-ratio:16/8.5}
.editorial-frame{position:relative;overflow:hidden;background:#e5ddd0}
.editorial-frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.8s cubic-bezier(.22,.61,.36,1)}
.editorial-frame:hover img{transform:scale(1.025)}
.editorial-caption{display:flex;justify-content:space-between;gap:18px;padding-top:14px;color:#766b5c;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase}
.editorial-caption span:last-child{color:#a5947a}
.editorial-triptych{display:grid;grid-template-columns:.82fr 1.25fr .82fr;gap:clamp(16px,2.5vw,36px);align-items:center}
.editorial-triptych figure:nth-child(1),.editorial-triptych figure:nth-child(3){transform:translateY(clamp(12px,4vw,54px))}
.editorial-triptych .editorial-frame{aspect-ratio:4/5}
.editorial-triptych figure:nth-child(2) .editorial-frame{aspect-ratio:3/4}
.editorial-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(22px,3vw,44px) clamp(16px,2vw,28px);align-items:start;transition:opacity .35s ease}
.editorial-shot{grid-column:var(--editorial-cols);margin:0;min-width:0;animation:oofGal .9s ease both}
.editorial-shot .editorial-frame{aspect-ratio:var(--editorial-ratio)}
.editorial-shot img{object-position:var(--editorial-position,center)}
.editorial-shot .editorial-caption{color:#817668}

/* Short-form editorial films */
.editorial-film{padding:clamp(100px,12vw,180px) clamp(24px,5vw,72px);overflow:hidden}
.editorial-film--paper{background:#F4F0E8;color:#141210}
.editorial-film--dark{background:#141210;color:#F4F0E8}
.editorial-film__inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(340px,1fr);gap:clamp(58px,9vw,150px);align-items:center}
.editorial-film--reverse .editorial-film__media{order:2}
.editorial-film--reverse .editorial-film__copy{order:1}
.editorial-film__media{position:relative;width:min(100%,520px);justify-self:center;aspect-ratio:9/16;overflow:hidden;background:#211e1a}
.editorial-film__media::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(244,240,232,.12)}
.editorial-film__media video{display:block;width:100%;height:100%;object-fit:cover;background:#211e1a}
.editorial-film__copy{max-width:580px}
.editorial-film__kicker{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#9a8b74;margin-bottom:24px}
.editorial-film--dark .editorial-film__kicker{color:#C8A97E}
.editorial-film__title{font-family:'Playfair Display',serif;font-size:clamp(34px,4.2vw,60px);font-weight:400;line-height:1.08;letter-spacing:-.015em;margin:0 0 30px;text-wrap:pretty}
.editorial-film__deck{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,1.7vw,24px);line-height:1.6;margin:0 0 38px;color:#655b4e;max-width:540px}
.editorial-film--dark .editorial-film__deck{color:#aaa092}
.editorial-film__link{display:inline-flex;align-items:center;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;padding-bottom:7px;border-bottom:1px solid currentColor}
.editorial-film__link:hover{color:#C8A97E}

/* Google review storytelling */
.oof-reviews{background:#141210;color:#F4F0E8;padding:clamp(96px,11vw,160px) clamp(24px,5vw,72px);overflow:hidden}
.oof-reviews__inner{max-width:1400px;margin:0 auto}
.oof-reviews__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.48fr);gap:30px 70px;align-items:end;padding-bottom:clamp(38px,5vw,66px);border-bottom:1px solid rgba(244,240,232,.14)}
.oof-reviews__kicker{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#C8A97E;margin-bottom:20px}
.oof-reviews__title{font-family:'Playfair Display',serif;font-size:clamp(32px,4vw,56px);font-weight:400;line-height:1.08;letter-spacing:-.01em;margin:0;text-wrap:pretty}
.oof-reviews__intro{font-family:'Cormorant Garamond',serif;font-size:clamp(19px,1.6vw,23px);line-height:1.55;color:#a89d8d;margin:0}
.oof-reviews__viewport{overflow:hidden}
.oof-reviews__track{display:flex;transition:transform .9s cubic-bezier(.22,.61,.36,1);will-change:transform}
.oof-review{flex:0 0 100%;display:grid;grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);gap:30px clamp(44px,8vw,120px);align-items:start;padding:clamp(54px,7vw,94px) 0 clamp(40px,5vw,68px)}
.oof-review__meta{font-size:10.5px;line-height:1.8;letter-spacing:.24em;text-transform:uppercase;color:#8f8374}
.oof-review__meta strong{display:block;color:#F4F0E8;font-weight:300;margin-bottom:5px}
.oof-review__quote{font-family:'Playfair Display',serif;font-size:clamp(27px,3.3vw,47px);font-weight:400;font-style:italic;line-height:1.28;letter-spacing:-.012em;margin:0;max-width:980px;text-wrap:pretty}
.oof-reviews__foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:22px;border-top:1px solid rgba(244,240,232,.14)}
.oof-reviews__controls{display:flex;align-items:center;gap:10px}
.oof-reviews__button{background:transparent;border:1px solid rgba(244,240,232,.28);color:#F4F0E8;padding:10px 14px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;transition:color .4s,border-color .4s}
.oof-reviews__button:hover{color:#C8A97E;border-color:#C8A97E}
.oof-reviews__count{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:#8f8374;min-width:62px;text-align:center}
.oof-reviews__link{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:#a89d8d;border-bottom:1px solid rgba(244,240,232,.28);padding-bottom:5px}
.journey-review{padding:clamp(84px,10vw,144px) clamp(24px,8vw,120px)}
.journey-review--light{background:#EBE5DA;color:#141210}
.journey-review--paper{background:#F4F0E8;color:#141210}
.journey-review--dark{background:#141210;color:#F4F0E8}
.journey-review__inner{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:150px minmax(0,1fr);gap:32px clamp(40px,8vw,110px);align-items:start}
.journey-review__label{font-size:10.5px;letter-spacing:.28em;line-height:1.7;text-transform:uppercase;color:#9a8b74}
.journey-review--dark .journey-review__label{color:#C8A97E}
.journey-review__quote{font-family:'Cormorant Garamond',serif;font-size:clamp(25px,3vw,40px);font-style:italic;font-weight:300;line-height:1.35;margin:0;text-wrap:pretty}
.journey-review__name{display:block;margin-top:24px;font-family:'Jost',sans-serif;font-size:10.5px;font-style:normal;letter-spacing:.26em;text-transform:uppercase;color:#8f8374}
.journey-review--dark .journey-review__name{color:#a89d8d}

/* Projects social invitation */
.oof-project-social{background:#141210;color:#F4F0E8;padding:clamp(88px,10vw,144px) clamp(24px,5vw,72px);border-top:1px solid rgba(244,240,232,.1)}
.oof-project-social__inner{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px clamp(56px,9vw,130px);align-items:end}
.oof-project-social__kicker{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:#C8A97E;margin-bottom:22px}
.oof-project-social__title{font-family:'Playfair Display',serif;font-size:clamp(32px,4.3vw,58px);font-weight:400;line-height:1.08;letter-spacing:-.015em;margin:0 0 22px;text-wrap:pretty}
.oof-project-social__copy{font-family:'Cormorant Garamond',serif;font-size:clamp(19px,1.6vw,23px);line-height:1.55;color:#a89d8d;margin:0;max-width:650px}
.oof-project-social__links{display:flex;gap:12px;flex-wrap:wrap}
.oof-project-social__link{display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(244,240,232,.3);padding:15px 19px;color:#F4F0E8;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;transition:.4s}
.oof-project-social__link:hover{border-color:#C8A97E;color:#C8A97E}
.oof-project-social__link svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.55}
.oof-project-social__link svg path{fill:currentColor;stroke:none}

@media(max-width:760px){
  .editorial-heading{display:block}
  .editorial-deck{margin-top:24px}
  .editorial-home-grid{grid-template-columns:1fr;gap:34px}
  .editorial-home-hero,.editorial-home-wide{grid-row:auto;grid-column:auto;margin-top:0!important}
  .editorial-home-hero .editorial-frame,.editorial-home-wide .editorial-frame{aspect-ratio:4/5}
  .editorial-triptych{grid-template-columns:1fr;gap:38px}
  .editorial-triptych figure:nth-child(1),.editorial-triptych figure:nth-child(3){transform:none}
  .editorial-triptych figure:nth-child(2){margin-left:clamp(28px,11vw,54px)}
  .editorial-gallery{grid-template-columns:1fr;gap:42px}
  .editorial-shot{grid-column:1!important}
  .editorial-shot .editorial-frame{aspect-ratio:4/5}
  .editorial-caption{letter-spacing:.18em}
  .editorial-film{padding-top:92px;padding-bottom:104px}
  .editorial-film__inner{grid-template-columns:1fr;gap:52px}
  .editorial-film--reverse .editorial-film__media,.editorial-film--reverse .editorial-film__copy{order:initial}
  .editorial-film__media{width:min(100%,460px)}
  .editorial-film__copy{max-width:520px}
  .editorial-film__title{font-size:clamp(34px,11vw,46px)}
  .oof-reviews__head{grid-template-columns:1fr}
  .oof-review{grid-template-columns:1fr;gap:22px;padding:52px 0 40px}
  .oof-review__quote{font-size:clamp(25px,8vw,34px)}
  .oof-reviews__foot{align-items:flex-start;flex-direction:column}
  .oof-reviews__link{order:-1}
  .journey-review__inner{grid-template-columns:1fr;gap:22px}
  .oof-project-social__inner{grid-template-columns:1fr;align-items:start}
}

@media(prefers-reduced-motion:reduce){.oof-reviews__track{transition:none}}
