/* Dynamic portfolio sliders, testimonials and page refinements. */
.video-icon{background:var(--green)}
.video-icon i{border-left-color:#fff}

.project-slider{--project-gap:18px;position:relative;overflow:hidden;isolation:isolate}
.project-slider-track{display:flex;gap:var(--project-gap);will-change:transform;transition:transform .85s cubic-bezier(.22,.7,.25,1)}
.project-slider-track.is-resetting{transition:none}
.project-slide{position:relative;display:grid;grid-template-rows:auto 1fr;flex:0 0 calc((100% - 36px)/3);min-width:0;background:#101311}
.project-slide figure{aspect-ratio:1.18;margin:0;overflow:hidden;background:#101311}
.project-slide img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.project-slide:hover img{transform:scale(1.035)}
.project-slide-meta{display:grid;grid-template-columns:1fr auto;align-content:start;gap:9px 14px;min-height:122px;padding:20px;border-top:1px solid var(--line)}
.project-slide-meta span{font-size:clamp(20px,2vw,30px);line-height:1.05;letter-spacing:-.035em}
.project-slide-meta small,.project-slide-meta b{font:10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em}
.project-slide-meta small{grid-column:1;color:var(--muted)}
.project-slide-meta b{grid-column:2;grid-row:1/span 2;align-self:end;color:var(--green);white-space:nowrap}
.project-slider-progress{position:absolute;z-index:4;left:0;right:0;bottom:0;height:2px;overflow:hidden;background:rgba(255,255,255,.12)}
.project-slider-progress i{display:block;width:100%;height:100%;background:var(--green);transform-origin:left;animation:projectProgress 3.8s linear infinite}
@keyframes projectProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.testimonials{padding-top:clamp(110px,13vw,190px);padding-bottom:clamp(110px,13vw,190px);background:#0d100e}
.testimonials-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);align-items:end;gap:60px;margin-bottom:75px}
.testimonials h2{margin:42px 0 0;max-width:880px;font-size:clamp(44px,6vw,92px);font-weight:500;line-height:.98;letter-spacing:-.055em}
.testimonials h2 em{color:var(--green);font-family:Georgia,serif;font-weight:400}
.testimonials-head>p{color:var(--muted);font-size:13px;line-height:1.7}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.testimonial-card{min-height:320px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);background:#111512}
.testimonial-card>p{margin:0;font-size:clamp(18px,1.55vw,24px);line-height:1.55;letter-spacing:-.02em}
.testimonial-card footer{padding:26px 0 0;border-top:1px solid var(--line)}
.testimonial-card strong,.testimonial-card span{display:block}
.testimonial-card strong{font-size:14px}
.testimonial-card span{margin-top:6px;color:var(--green);font:10px "DM Mono",monospace;text-transform:uppercase}

.about-story{position:relative;isolation:isolate;min-height:clamp(650px,78vw,920px);align-items:end;overflow:hidden}
.origin-slides,.origin-overlay{position:absolute;inset:0}
.origin-slides{z-index:-2}
.origin-slide{position:absolute;inset:0;opacity:0;transform:scale(1.045);transition:opacity 1.8s ease-in-out,transform 6s ease-out}
.origin-slide.is-active{opacity:1;transform:scale(1)}
.origin-slide img{width:100%;height:100%;object-fit:cover}
.origin-overlay{z-index:-1;background:linear-gradient(180deg,rgba(242,243,239,.22) 0%,rgba(242,243,239,.55) 38%,rgba(242,243,239,.96) 78%,var(--paper) 100%),linear-gradient(90deg,rgba(242,243,239,.78),rgba(242,243,239,.35));backdrop-filter:saturate(.75)}
.story-number,.story-copy{position:relative;z-index:1}
.principle-icon{width:76px;height:76px;margin-top:42px;display:grid;place-items:center;border:1px solid rgba(0,230,189,.45);border-radius:50%;color:var(--green)}
.principle-icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.principles-grid h2{margin-top:auto}

@media(max-width:1000px){.project-slide{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:900px){.testimonial-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){
  .testimonials-head{grid-template-columns:1fr;gap:25px;margin-bottom:48px}
  .testimonial-grid{grid-template-columns:1fr}.testimonial-card{min-height:260px}
  .about-story{min-height:760px;align-content:end}
  .origin-overlay{background:linear-gradient(180deg,rgba(242,243,239,.18) 0%,rgba(242,243,239,.66) 37%,rgba(242,243,239,.98) 73%,var(--paper) 100%)}
  .principle-icon{width:64px;height:64px;margin-top:30px}
}
@media(max-width:640px){
  .project-slider{--project-gap:14px}
  .project-slide{flex-basis:100%}
  .project-slide figure{aspect-ratio:1.2}
  .project-slide-meta{min-height:112px;padding:18px}
}
@media(prefers-reduced-motion:reduce){.project-slider-track,.project-slide img,.origin-slide{transition:none}.project-slider-progress i{animation:none;transform:scaleX(1)}}
