.keet-detail-story{
  --asphalt:var(--keet-color-asphalt,#140508);
  --white:var(--keet-color-white,#fff);
  --maroon:var(--keet-color-maroon-oak,#5a0f1c);
  --grape:var(--keet-color-grape,#aa314b);
  --paper:#f3f0ec;
  --line:rgba(20,5,8,.14);
  --ink-muted:rgba(20,5,8,.58);
  --sans:var(--keet-font-heading,"Poppins",sans-serif);
  --serif:var(--keet-font-editorial,"Source Serif 4","Source Serif Pro",serif);
  --kc-ease:cubic-bezier(.625,.05,0,1);
  --kds-columns:minmax(300px,.64fr) minmax(0,1.36fr);
  --kds-graphic-color:rgba(255,255,255,.22);
  --kds-progress:0;
  --kds-count:5;
  position:relative;
  min-width:0;
  overflow:clip;
  padding:clamp(104px,7.5vw,148px) 0 clamp(120px,9vw,176px);
  background:var(--paper);
  color:var(--asphalt);
  font-family:var(--sans);
}
.keet-detail-story *{box-sizing:border-box;}
.keet-detail-story .keet-container{
  width:calc(100% - clamp(40px,4.25vw,88px));
  max-width:1760px;
  margin-inline:auto;
}

/* Editorial opening deliberately uses more of the desktop canvas. */
.keet-detail-story .keet-section-kicker{
  min-height:44px;margin-bottom:54px;display:flex;align-items:center;gap:24px;
  border-bottom:1px solid var(--line);color:var(--ink-muted);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
}
.keet-detail-story .keet-section-kicker span:first-child{color:var(--grape);}
.keet-detail-story-eyebrow{margin:0 0 22px;color:var(--grape);font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;}
.keet-detail-story .keet-editorial-title{
  max-width:min(720px,100%);margin:0;color:var(--asphalt);font-family:var(--sans);
  font-size:clamp(56px,5.8vw,104px);font-weight:500;line-height:.96;letter-spacing:-.057em;
}
.keet-detail-story .keet-editorial-title p,.keet-detail-story .keet-editorial-title div{display:inline;margin:0;}
.keet-detail-story .keet-editorial-title em{font-family:var(--serif);font-weight:400;font-style:italic;}
.keet-detail-story-intro{
  max-width:640px;margin:clamp(28px,3vw,42px) 0 0;color:var(--asphalt);font-family:var(--serif);
  font-size:clamp(24px,1.9vw,34px);line-height:1.24;
}

/* Desktop: copy is normal editorial content; only the visual stage uses scroll state. */
.keet-detail-story-layout{
  margin-top:clamp(64px,6vw,108px);display:grid;grid-template-columns:var(--kds-columns);
  gap:clamp(52px,6vw,112px);align-items:start;min-width:0;
  min-height:0;
}
.keet-detail-story-copy{
  min-width:0;
  position:sticky;
  top:clamp(52px,6vh,82px);
  align-self:start;
  padding-top:0;
  padding-bottom:0;
}
.keet-detail-story-body{max-width:520px;margin-top:clamp(28px,3.2vw,44px);color:var(--ink-muted);font-size:16px;line-height:1.78;}
.keet-detail-story-body p,.keet-detail-story-body ul,.keet-detail-story-body ol,.keet-detail-story-body blockquote{margin:0;}
.keet-detail-story-body > *{position:relative;min-height:0;display:block;color:inherit;opacity:1;transform:none;}
.keet-detail-story-body > * + *{margin-top:clamp(24px,2.4vw,38px);}
.keet-detail-story-body > p::before,
.keet-detail-story-body > blockquote::before,
.keet-detail-story-body > ul::before,
.keet-detail-story-body > ol::before{display:none;content:none;}
.keet-detail-story .keet-text-link,.keet-detail-story .keet-text-link:link,.keet-detail-story .keet-text-link:visited{
  width:fit-content;margin-top:40px;padding-bottom:6px;display:inline-flex;align-items:center;gap:9px;
  border-bottom:1px solid currentColor;color:var(--asphalt);font-size:12px;font-weight:600;text-decoration:none;box-shadow:none;
}
.keet-detail-story .keet-inline-icon{width:16px;height:16px;flex:0 0 auto;transition:transform .45s var(--kc-ease);}
@media(hover:hover) and (pointer:fine){
  .keet-detail-story .keet-text-link:hover{color:var(--grape);}
  .keet-detail-story .keet-text-link:hover .keet-inline-icon{transform:translateX(4px);}
}
.keet-detail-story .keet-text-link:focus-visible{outline:2px solid var(--grape);outline-offset:4px;}

/* 1.2 full-canvas image scene. The right edge bleeds to the viewport edge. */
.keet-detail-story-stage{
  position:sticky;top:clamp(52px,6vh,82px);height:clamp(620px,calc(100vh - 104px),940px);min-width:0;
  margin-right:calc(50% - 50vw);isolation:isolate;overflow:hidden;background:var(--asphalt);
}
.keet-detail-story-stage::after{
  content:"";position:absolute;z-index:8;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(20,5,8,.28) 0%,transparent 24%,transparent 68%,rgba(20,5,8,.36) 100%);
}
.keet-detail-story-stage-meta{
  position:absolute;left:clamp(22px,2.5vw,46px);right:clamp(22px,2.5vw,46px);top:clamp(20px,2.2vw,38px);z-index:15;
  display:grid;grid-template-columns:auto 36px minmax(0,1fr);align-items:center;gap:12px;
  color:rgba(255,255,255,.68);font-size:9px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;pointer-events:none;
}
.keet-detail-story-stage-meta span:first-child{color:var(--white);}
.keet-detail-story-stage-meta [data-kds-active-number]{color:var(--white);font-variant-numeric:tabular-nums;}
.keet-detail-story-stage-meta [data-kds-active-label]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.keet-detail-story-stage-progress{
  position:absolute;left:clamp(22px,2.5vw,46px);right:clamp(22px,2.5vw,46px);bottom:clamp(22px,2.4vw,40px);z-index:15;
  height:1px;background:rgba(255,255,255,.28);overflow:hidden;pointer-events:none;
}
.keet-detail-story-stage-progress::after{
  content:"";display:block;width:100%;height:100%;background:var(--white);transform:scaleX(var(--kds-progress));transform-origin:left center;will-change:transform;
}
.keet-detail-story-stage-index{
  position:absolute;right:clamp(22px,2.5vw,46px);bottom:clamp(35px,3.25vw,54px);z-index:15;
  color:rgba(255,255,255,.82);font-family:var(--serif);font-size:clamp(17px,1.25vw,23px);font-style:italic;pointer-events:none;
}
.keet-detail-story-visuals{position:absolute;inset:0;width:100%;height:100%;margin:0;overflow:hidden;}
.keet-detail-story-card{
  position:absolute;inset:0;width:100%;height:100%;z-index:1;margin:0;overflow:hidden;opacity:0;visibility:hidden;outline:none;background:var(--asphalt);
}
.keet-detail-story-card:first-child{opacity:1;visibility:visible;}
.keet-detail-story-card.is-kds-active{z-index:4;opacity:1;visibility:visible;}
.keet-detail-story-card.is-kds-previous{z-index:3;opacity:1;visibility:visible;}
.keet-detail-story-card-media{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:var(--asphalt);}
.keet-detail-story-card img{
  width:100%;height:100%;display:block;object-fit:cover;object-position:var(--kds-object-position,center center);
  transform:scale(1.025);will-change:transform;
}
.keet-detail-story-card figcaption{
  position:absolute;z-index:6;left:clamp(22px,2.5vw,46px);bottom:clamp(42px,3.7vw,66px);margin:0;
  color:rgba(255,255,255,.76);font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;
}

/* Architectural measurement field now sits over the image as an atmospheric layer. */
.keet-detail-story-graphic{
  position:absolute;z-index:11;inset:8% 5% 10% 6%;width:89%;height:82%;overflow:visible;color:var(--kds-graphic-color);pointer-events:none;mix-blend-mode:screen;
}
.keet-detail-story-graphic path{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke;}
.keet-detail-story-graphic .is-accent{stroke:rgba(255,255,255,.6);opacity:.7;}
.keet-detail-story-graphic text{fill:currentColor;font:500 9px var(--sans);letter-spacing:.13em;}

.keet-detail-story-closing-wrap{
  margin-top:clamp(98px,10vw,170px);padding-top:34px;border-top:1px solid var(--line);
  display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(48px,8vw,140px);align-items:start;
}
.keet-detail-story-closing-line{display:none;}
.keet-detail-story-closing{
  grid-column:2;max-width:980px;color:var(--asphalt);font-family:var(--sans);font-size:clamp(46px,5.2vw,92px);font-weight:500;line-height:1;letter-spacing:-.05em;
}
.keet-detail-story .kds-split-safe{display:inline-block;overflow:visible;}

@media(min-width:1440px){
  .keet-detail-story-layout{grid-template-columns:minmax(330px,.58fr) minmax(0,1.42fr);}
  .keet-detail-story-body{max-width:500px;font-size:17px;}
}

@media(max-width:1024px){
  .keet-detail-story .keet-container{width:calc(100% - 56px);max-width:980px;}
  .keet-detail-story .keet-editorial-title{max-width:900px;font-size:clamp(58px,9vw,92px);}
  .keet-detail-story-intro{max-width:720px;margin-left:0;}
  .keet-detail-story-layout{display:flex;flex-direction:column;gap:40px;margin-top:40px;}
  .keet-detail-story-stage{
    position:relative;top:auto;order:2;width:calc(100% + 56px);height:clamp(520px,68vw,720px);margin-left:-28px;margin-right:-28px;
  }
  .keet-detail-story-copy{order:1;position:relative;top:auto;padding:0;}
  .keet-detail-story-body{max-width:760px;}
  .keet-detail-story-body > *{min-height:0;display:block;}
  .keet-detail-story-body > * + *{margin-top:34px;}
  .keet-detail-story-body > *.is-kds-active{transform:none;}
  .keet-detail-story-body > *::before{display:none;}
  .keet-detail-story-closing-wrap{grid-template-columns:1fr;margin-top:82px;}
  .keet-detail-story-closing{grid-column:1;max-width:860px;}
}

@media(max-width:760px){
  .keet-detail-story{padding:82px 0 100px;overflow:hidden;}
  .keet-detail-story .keet-container{width:calc(100% - 40px);}
  .keet-detail-story .keet-section-kicker{margin-bottom:42px;}
  .keet-detail-story-eyebrow{font-size:10px;margin-bottom:18px;}
  .keet-detail-story .keet-editorial-title{max-width:none;font-size:clamp(44px,13.4vw,61px);line-height:.99;}
  .keet-detail-story-intro{margin-top:28px;font-size:25px;line-height:1.28;}
  .keet-detail-story-layout{margin-top:34px;gap:30px;}
  .keet-detail-story-stage{width:calc(100% + 40px);height:auto;min-height:0;margin-left:-20px;margin-right:-20px;background:transparent;overflow:visible;}
  .keet-detail-story-stage::after,.keet-detail-story-stage-progress,.keet-detail-story-stage-index{display:none;}
  .keet-detail-story-stage-meta{
    position:relative;left:auto;right:auto;top:auto;margin:0 20px 14px;color:var(--ink-muted);grid-template-columns:auto 28px 1fr;
  }
  .keet-detail-story-stage-meta span:first-child,.keet-detail-story-stage-meta [data-kds-active-number]{color:var(--asphalt);}
  .keet-detail-story-visuals{
    position:relative;inset:auto;width:100%;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow:visible;
  }
  .keet-detail-story-card,.keet-detail-story-card:first-child,.keet-detail-story-card.is-kds-active,.keet-detail-story-card.is-kds-previous{
    position:relative;inset:auto;width:auto;height:auto;opacity:1!important;visibility:visible!important;transform:none!important;z-index:auto;background:var(--asphalt);
  }
  .keet-detail-story-card:first-child{grid-column:1/-1;}
  .keet-detail-story-card-media{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/5;}
  .keet-detail-story-card:first-child .keet-detail-story-card-media{aspect-ratio:16/10;}
  .keet-detail-story-card img{transform:none!important;}
  .keet-detail-story-card figcaption{
    position:relative;left:auto;bottom:auto;margin:8px 8px 0;color:var(--ink-muted);font-size:8px;white-space:normal;
  }
  .keet-detail-story-card:nth-child(n+4){display:none;}
  .keet-detail-story-card.is-mobile-hidden{display:none!important;}
  .keet-detail-story-graphic{display:none;}
  .keet-detail-story-body{font-size:15px;line-height:1.75;}
  .keet-detail-story-body > *{min-height:0;display:block;}
  .keet-detail-story-body > * + *{margin-top:24px;}
  .keet-detail-story-closing-wrap{margin-top:66px;padding-top:26px;}
  .keet-detail-story-closing{font-size:clamp(38px,11vw,50px);line-height:1.03;}
}

@media(prefers-reduced-motion:reduce){
  .keet-detail-story [data-kds-reveal-target],.keet-detail-story-card,.keet-detail-story-card img,.keet-detail-story-graphic path{opacity:1!important;transform:none!important;clip-path:none!important;}
}

/* ========================================================================== 
   KEET Detail Story 1.3.7 — mobile gallery hardening
   ========================================================================== */
@media(max-width:760px){
  .elementor-element .keet-detail-story{
    overflow:hidden;
  }
  .elementor-element .keet-detail-story .keet-container{
    width:calc(100% - 40px)!important;
    max-width:none!important;
  }
  .elementor-element .keet-detail-story .keet-detail-story-stage{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow:visible;
  }
  .elementor-element .keet-detail-story .keet-detail-story-stage-meta{
    margin:0 0 14px!important;
  }
  .elementor-element .keet-detail-story .keet-detail-story-visuals{
    width:100%!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:12px!important;
  }
  .elementor-element .keet-detail-story .keet-detail-story-card,
  .elementor-element .keet-detail-story .keet-detail-story-card:first-child,
  .elementor-element .keet-detail-story .keet-detail-story-card.is-kds-active,
  .elementor-element .keet-detail-story .keet-detail-story-card.is-kds-previous{
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    overflow:hidden!important;
    background:var(--asphalt);
  }
  .elementor-element .keet-detail-story .keet-detail-story-card:first-child{
    grid-column:1 / -1;
  }
  .elementor-element .keet-detail-story .keet-detail-story-card-media{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:4 / 5;
    overflow:hidden!important;
    background:var(--asphalt);
  }
  .elementor-element .keet-detail-story .keet-detail-story-card:first-child .keet-detail-story-card-media{
    aspect-ratio:4 / 3!important;
  }
  .elementor-element .keet-detail-story .keet-detail-story-card img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:var(--kds-object-position,center center)!important;
    display:block!important;
    transform:none!important;
  }
  .elementor-element .keet-detail-story .keet-detail-story-card::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    z-index:4;
    height:34%;
    pointer-events:none;
    background:linear-gradient(180deg,transparent,rgba(20,5,8,.48));
  }
  .elementor-element .keet-detail-story .keet-detail-story-card figcaption{
    position:absolute!important;
    z-index:5!important;
    left:12px!important;
    right:12px!important;
    bottom:10px!important;
    margin:0!important;
    color:rgba(255,255,255,.8)!important;
    font-size:8px!important;
    line-height:1.3;
    white-space:normal!important;
  }
}

