/* Concept geometry traced from the supplied Studio reference. */
.concept{--concept-hold-extra:350px;display:flex;flex-direction:column;align-items:center;gap:200px;width:100%;max-width:none;margin:0;padding:120px 100px 200px;position:relative}
.concept-intro{position:relative;top:auto;z-index:0;flex:none;width:75%;max-width:100%}
.concept .section-head{display:flex;flex-direction:column;align-items:center;gap:20px;margin:0 0 60px}
.concept .eyebrow{font:400 18px/1.4 var(--en);letter-spacing:normal;color:#776358;margin:0}
.concept h2{font:600 36px/1.5 var(--serif);letter-spacing:.02em;color:#333;margin:0}
.concept-title-break{display:none}
.concept-copy{width:100%;max-width:none;margin:0;padding:0;text-align:center;font-size:16px;line-height:2;letter-spacing:.02em;color:#444}
.concept-copy br{display:initial}
.concept-collage{position:relative;display:flex;flex-direction:column;width:100%;height:auto;gap:0;margin:0;z-index:1;pointer-events:none}
.concept-upper-row{display:flex;align-items:flex-start;justify-content:space-between;width:100%;gap:20px}
.concept-collage .concept-photo{position:relative;inset:auto;flex:none;height:auto;margin:0;overflow:clip;border-radius:10px;translate:0 var(--scroll-y,0px)}
.concept-collage .one{width:calc(28% - 14.4px);aspect-ratio:4/3;transform-origin:bottom right}
.concept-collage .two{width:calc(36% - 12.8px);aspect-ratio:1;margin-top:100px;transform-origin:bottom left}
.concept-lower-row{display:flex;justify-content:flex-end;width:calc(60% - 208px);margin:-100px 0 0 200px}
.concept-collage .three{width:100%;aspect-ratio:4/3;transform-origin:bottom center}
.concept-collage .concept-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;border-radius:0;object-fit:cover;translate:none}
@media(min-width:1141px){
  .motion-ready .concept-intro{position:sticky;top:120px}
  @supports(animation-timeline:view()){
    .concept-photo{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view(block 0px);animation-range:cover 0% cover 100%}
    .concept-photo.one{animation-name:concept-left-travel}
    .concept-photo.two{animation-name:concept-right-travel}
    .concept-photo.three{animation-name:concept-lower-travel}
  }
}
@keyframes concept-left-travel{from{translate:0 0}to{translate:0 100px}}
@keyframes concept-right-travel{from{translate:0 0}to{translate:0 -150px}}
@keyframes concept-lower-travel{from{translate:0 0}to{translate:0 -50px}}
@media(max-width:1140px){
  .concept{padding:120px 40px 200px}
  .concept-collage .one{width:calc(33% - 13.4px)}
  .concept-collage .two{width:calc(39% - 12.2px)}
}
@media(max-width:840px){
  .concept{padding:80px 40px;gap:80px}
  .concept-intro{width:100%}
  .concept-collage{gap:20px}
  .concept-lower-row{width:calc(60% - 8px);margin:-50px 0 0}
  .concept-collage .three{width:calc(60% - 8px)}
}
@media(max-width:540px){
  .concept{padding:60px 15px;gap:60px}
  .concept-intro{width:calc(100% - 30px);margin:0 15px}
  .concept .section-head{margin-bottom:40px}
  .concept h2{font-size:clamp(22px,7vw,28px)}
  .concept-title-break{display:initial}
  .concept-copy{font-size:15px;text-align:left}
  .concept-upper-row{flex-direction:column;gap:20px}
  .concept-lower-row{width:100%;margin:0}
  .concept-collage .one{width:70%}
  .concept-collage .two{width:100%;margin:0}
}
@media(prefers-reduced-motion:reduce){
  .motion-ready .concept-intro{position:relative;top:auto;opacity:1!important}
  .concept-photo{animation:none!important;translate:none!important}
}

/* A blue sheen travels through the letterforms, without changing text flow. */
.concept .eyebrow{color:#287ee7}
.concept .concept-shine{color:#2479e4;font-weight:inherit}
.concept-copy .concept-shine{font-weight:700}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .concept .concept-shine{
    background-color:#2479e4;
    background-image:linear-gradient(105deg,#2479e4 0%,#4c8dff 18%,#60c9ff 36%,#d1f4ff 48%,#f2fbff 51%,#83dbff 58%,#4c8dff 78%,#2479e4 100%);
    background-repeat:no-repeat;
    background-size:6em 100%;
    background-position:-6em 0;
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
    -webkit-box-decoration-break:clone;
    box-decoration-break:clone;
  }
  .concept .concept-shine.is-shining{
    animation:concept-word-shine 1.25s cubic-bezier(.4,0,.2,1) var(--shine-delay,0s) both;
  }
}
@keyframes concept-word-shine{
  from{background-position:-6em 0}
  to{background-position:calc(100% + 6em) 0}
}
@media(prefers-reduced-motion:reduce){
  .concept .concept-shine.is-shining{animation:none}
  .concept .concept-shine{background-image:none}
}
@media(forced-colors:active){
  .concept .concept-shine{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}
}
