/* solutions-v2 — differentiated task pages */

body.ll-shell[data-page^="solution"]{
  background:var(--ll-bg);
  overflow-x:clip;
}

.ll-skip{/* provided by shell */}

.sl-breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:0.45rem;
  margin:0 0 1.25rem;font-size:0.86rem;color:var(--ll-muted);
}
.sl-breadcrumb a{color:var(--ll-muted)}
.sl-breadcrumb a:hover{color:var(--ll-ink)}
.sl-breadcrumb__sep{opacity:0.45}
.sl-breadcrumb [aria-current="page"]{color:var(--ll-ink)}

.sl-label{
  margin:0 0 0.75rem;font-size:0.78rem;font-weight:500;
  letter-spacing:0.14em;color:rgba(15,16,18,0.42);
}
.sl-note{
  margin:0.65rem 0 0;font-size:0.8rem;letter-spacing:0.04em;color:rgba(15,16,18,0.42);
}
.sl-note--on-dark{color:rgba(242,242,244,0.45)}
.sl-note--on-blue{color:rgba(255,255,255,0.65)}

/* ——— hub ——— */
.sl-hub-hero{
  min-height:clamp(72svh,80svh,88svh);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(5.5rem,10vw,7rem) var(--ll-gutter) clamp(2.5rem,5vw,3.5rem);
  background:var(--ll-bg);
}
.sl-hub-hero__inner{width:min(var(--ll-max),100%);margin:0 auto}
.sl-hub-hero__eyebrow{
  margin:0 0 0.85rem;font-size:0.78rem;font-weight:500;
  letter-spacing:0.14em;color:rgba(15,16,18,0.42);
}
.sl-hub-hero h1{
  margin:0;max-width:16em;
  font-size:clamp(2.15rem,4.8vw,3.35rem);font-weight:420;
  letter-spacing:-0.04em;line-height:1.1;color:var(--ll-ink);
}
/* large support line — visual emphasis, not H1 */
.sl-hub-hero__kicker{
  margin:0.95rem 0 0;max-width:18em;
  font-size:clamp(1.35rem,2.6vw,1.85rem);font-weight:440;
  letter-spacing:-0.03em;line-height:1.25;color:rgba(15,16,18,0.82);
}
.sl-hub-hero__lead{
  margin:1.15rem 0 0;max-width:38ch;
  font-size:clamp(1.08rem,1.45vw,1.22rem);line-height:1.7;color:var(--ll-muted);
}
.sl-hub-hero__layers{
  margin:1.2rem 0 0;max-width:46ch;
  font-size:0.95rem;line-height:1.65;color:var(--ll-muted);
}

.sl-stage{
  padding:clamp(1rem,2vw,1.5rem) var(--ll-gutter) clamp(3.5rem,7vw,5.5rem);
  background:var(--ll-bg);
}
.sl-stage__inner{width:min(var(--ll-max),100%);margin:0 auto}
.sl-stage__list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(2.5rem,6vw,4.5rem)}
/* image-dominant chapters ~60% media */
.sl-stage__item{
  display:grid;
  grid-template-columns:minmax(0,0.38fr) minmax(0,0.62fr);
  gap:clamp(1.5rem,3.5vw,2.75rem);align-items:center;
  padding:0;border:0;background:transparent;
  min-height:min(58vh,520px);
  min-width:0;
  max-width:100%;
}
.sl-stage__item:nth-child(even){
  grid-template-columns:minmax(0,0.62fr) minmax(0,0.38fr);
}
.sl-stage__item:nth-child(even) .sl-stage__media{order:1}
.sl-stage__item:nth-child(even) .sl-stage__copy{order:2}
.sl-stage__item:nth-child(odd) .sl-stage__media{order:2}
.sl-stage__item:nth-child(odd) .sl-stage__copy{order:1}
.sl-stage__copy{min-width:0;max-width:100%}
/* width-first media: never let aspect-ratio + min-height expand past grid track */
.sl-stage__media{
  margin:0;position:relative;overflow:hidden;
  border-radius:8px;background:#e8ecf0;
  width:100%;min-width:0;max-width:100%;
  aspect-ratio:16/10;
  height:auto;
  max-height:min(58vh,520px);
  contain:paint;
}
.sl-stage__media img{
  width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block;
  transform:scale(1.02);transform-origin:center center;
}
.sl-stage__num{
  display:block;margin:0 0 0.65rem;
  font-size:0.82rem;font-weight:520;letter-spacing:0.14em;color:var(--ll-blue);
}
.sl-stage__name{
  margin:0;font-size:clamp(1.45rem,2.4vw,1.95rem);font-weight:460;
  letter-spacing:-0.03em;line-height:1.2;color:var(--ll-ink);
}
.sl-stage__who{
  margin:0.75rem 0 0;font-size:1rem;line-height:1.6;color:var(--ll-muted);max-width:32ch;
}
.sl-stage__soft{
  margin:0.55rem 0 0;font-size:0.95rem;color:rgba(15,16,18,0.55);
}
.sl-stage__go{
  display:inline-flex;margin-top:1.1rem;font-size:1.02rem;font-weight:520;color:var(--ll-blue);
}
.sl-stage__go:hover{text-decoration:underline}

.sl-compare{
  padding:clamp(3rem,6vw,4.5rem) var(--ll-gutter);
  background:var(--ll-white);border-top:1px solid var(--ll-line);
}
.sl-compare__inner{width:min(var(--ll-max),100%);margin:0 auto}
.sl-compare h2{
  margin:0;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:460;letter-spacing:-0.03em;color:var(--ll-ink);
}
/* scroll hint: only on narrow viewports that need horizontal pan */
.sl-table-hint{
  display:none;
  margin:0.85rem 0 0;
  font-size:0.86rem;line-height:1.45;color:var(--ll-muted);
}
.sl-table-wrap{
  margin:0.65rem 0 0;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  max-width:100%;
  min-width:0;
  outline:none;
  border:1px solid transparent;
  border-radius:6px;
}
.sl-table-wrap:focus-visible{
  border-color:rgba(0,113,227,0.45);
  box-shadow:0 0 0 3px rgba(0,113,227,0.15);
}
/* fixed table floor so cells stay readable; wrap scrolls, body does not */
.sl-table{
  width:max-content;
  min-width:720px;
  max-width:none;
  border-collapse:separate;
  border-spacing:0;
  font-size:0.92rem;
  table-layout:auto;
}
.sl-compare__inner,.sl-stage__inner,.sl-hub-hero__inner,.sl-stage__list,.sl-stage{
  max-width:100%;min-width:0;
}
.sl-table caption{
  caption-side:top;text-align:left;margin:0 0 0.75rem;
  font-size:0.9rem;color:var(--ll-muted);
}
.sl-table th,.sl-table td{
  padding:0.9rem 0.9rem;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--ll-line);line-height:1.55;
  min-width:7.5rem;
  max-width:14rem;
  white-space:normal;
  word-break:keep-all;
  overflow-wrap:normal;
  line-break:strict;
  hyphens:none;
}
.sl-table th{font-weight:520;color:var(--ll-ink);border-bottom-color:rgba(15,16,18,0.16)}
.sl-table td{color:rgba(15,16,18,0.68)}
/* sticky first column — solid bg so it never ghost-overlays body text */
.sl-table thead th:first-child,
.sl-table tbody th:first-child,
.sl-table tbody th[scope="row"]{
  position:sticky;left:0;z-index:2;
  background:var(--ll-white);
  box-shadow:1px 0 0 var(--ll-line);
  min-width:8.5rem;max-width:10.5rem;
  font-weight:520;color:var(--ll-ink);
}
.sl-table thead th:first-child{z-index:3;background:var(--ll-white)}
.sl-table th:last-child,
.sl-table td:last-child{
  min-width:11rem;max-width:16rem;
}
.sl-table a{
  color:var(--ll-blue);font-weight:520;
  white-space:nowrap;
}
@media (max-width:900px){
  .sl-table-hint{display:block}
  .sl-table{min-width:740px}
}

.sl-bound{
  padding:clamp(3.5rem,7vw,5rem) var(--ll-gutter);
  background:#0f1012;color:#f2f2f4;
}
.sl-bound__inner{width:min(var(--ll-max),100%);margin:0 auto;max-width:40rem}
.sl-bound .sl-label{color:rgba(242,242,244,0.45)}
.sl-bound h2{
  margin:0;font-size:clamp(1.55rem,2.8vw,2.2rem);font-weight:460;
  letter-spacing:-0.03em;color:#fdfdfd;line-height:1.2;
}
.sl-bound p{margin:1rem 0 0;font-size:1.05rem;line-height:1.7;color:rgba(242,242,244,0.62);max-width:38ch}

.sl-cta{
  padding:clamp(3.5rem,7vw,5rem) var(--ll-gutter);
  background:var(--ll-blue);color:#fff;text-align:center;
}
.sl-cta__inner{width:min(var(--ll-max),100%);margin:0 auto}
.sl-cta h2{
  margin:0;font-size:clamp(1.55rem,2.8vw,2.2rem);font-weight:520;
  letter-spacing:-0.03em;color:#fff;
}
.sl-cta p{margin:0.85rem auto 0;max-width:36ch;color:rgba(255,255,255,0.85);line-height:1.6}
.sl-actions{display:flex;flex-wrap:wrap;gap:0.85rem;justify-content:center;margin-top:1.5rem}
.sl-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.75rem;padding:0.55rem 1.2rem;border-radius:999px;
  font-size:0.94rem;font-weight:520;
}
/* beat body.ll-shell a{color:inherit} on blue CTA band */
body.ll-shell .sl-cta a.sl-btn--light,
body.ll-shell a.sl-btn--light,
a.sl-btn--light{
  background:#fff !important;
  color:#0f1012 !important;
  border:1px solid rgba(15,16,18,0.08) !important;
}
body.ll-shell .sl-cta a.sl-btn--light:hover,
body.ll-shell .sl-cta a.sl-btn--light:focus-visible,
body.ll-shell .sl-cta a.sl-btn--light:visited,
body.ll-shell a.sl-btn--light:hover,
body.ll-shell a.sl-btn--light:visited{
  background:rgba(255,255,255,0.94) !important;
  color:#0f1012 !important;
}
body.ll-shell .sl-cta a.sl-btn--ghost,
body.ll-shell a.sl-btn--ghost,
a.sl-btn--ghost{
  background:transparent !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,0.55) !important;
}
body.ll-shell .sl-cta a.sl-btn--ghost:hover,
body.ll-shell .sl-cta a.sl-btn--ghost:visited{
  border-color:#fff !important;
  color:#fff !important;
}

/* ——— detail page variants ——— */
.sl-detail-hero{
  position:relative;min-height:min(86svh,780px);
  display:flex;flex-direction:column;justify-content:flex-end;
  overflow:hidden;color:var(--ll-ink);
}
.sl-detail-hero__media{position:absolute;inset:0;z-index:0}
.sl-detail-hero__media img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.sl-detail-hero__body{
  position:relative;z-index:1;
  width:min(var(--ll-max),100%);margin:0 auto;
  padding:6rem var(--ll-gutter) 2.25rem;
}
.sl-detail-hero h1{
  margin:0;max-width:14em;
  font-size:clamp(2rem,4vw,3rem);font-weight:420;
  letter-spacing:-0.04em;line-height:1.1;
}
.sl-detail-hero__answer{
  margin:1.1rem 0 0;max-width:36ch;
  font-size:1.06rem;line-height:1.7;
}
.sl-detail-hero__answer p{margin:0 0 0.55rem}
/* margin: light precision — gold model right, copy left */
body.pd-sol--margin .sl-detail-hero{background:#f4f5f7;color:var(--ll-ink)}
body.pd-sol--margin .sl-detail-hero__media img{object-position:62% 48%}
body.pd-sol--margin .sl-detail-hero__media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(244,245,247,0.94) 0%,rgba(244,245,247,0.55) 28%,rgba(244,245,247,0.06) 48%,transparent 62%),
    linear-gradient(180deg,rgba(244,245,247,0.25) 0%,transparent 18%,transparent 62%,rgba(244,245,247,0.4) 90%,#f4f5f7 100%);
}
body.pd-sol--margin .sl-detail-hero .sl-breadcrumb,
body.pd-sol--margin .sl-detail-hero .sl-breadcrumb a{color:rgba(15,16,18,0.48)}
body.pd-sol--margin .sl-detail-hero .sl-label{color:rgba(15,16,18,0.42)}
body.pd-sol--margin .sl-detail-hero__answer{color:rgba(15,16,18,0.72)}

/* framework: dark stage */
body.pd-sol--framework .sl-detail-hero{background:#0f1012;color:#f2f2f4}
body.pd-sol--framework .sl-detail-hero__media img{object-position:center 46%}
body.pd-sol--framework .sl-detail-hero__media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(15,16,18,0.88) 0%,rgba(15,16,18,0.45) 40%,transparent 70%),
    linear-gradient(180deg,rgba(15,16,18,0.4) 0%,transparent 30%,rgba(15,16,18,0.55) 72%,#0f1012 100%);
}
body.pd-sol--framework .sl-detail-hero .sl-breadcrumb,
body.pd-sol--framework .sl-detail-hero .sl-breadcrumb a{color:rgba(242,242,244,0.55)}
body.pd-sol--framework .sl-detail-hero .sl-label{color:rgba(242,242,244,0.45)}
body.pd-sol--framework .sl-detail-hero h1{color:#fdfdfd}
body.pd-sol--framework .sl-detail-hero__answer{color:rgba(242,242,244,0.68)}
body.pd-sol--framework .sl-note{color:rgba(242,242,244,0.42)}

/* arrangement: bright blue-accent chapter hero */
body.pd-sol--arrangement .sl-detail-hero{background:#e8f2fc;color:var(--ll-ink)}
body.pd-sol--arrangement .sl-detail-hero__media img{object-position:58% 48%}
body.pd-sol--arrangement .sl-detail-hero__media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(232,242,252,0.94) 0%,rgba(232,242,252,0.5) 34%,transparent 62%),
    linear-gradient(180deg,rgba(0,113,227,0.08) 0%,transparent 40%,rgba(232,242,252,0.75) 88%,#e8f2fc 100%);
}
body.pd-sol--arrangement .sl-detail-hero .sl-label{color:rgba(0,90,180,0.55)}
body.pd-sol--arrangement .sl-detail-hero__answer{color:rgba(15,16,18,0.72)}

.sl-split{
  padding:clamp(3rem,6vw,4.5rem) var(--ll-gutter);
  background:var(--ll-white);
}
.sl-split__inner{
  width:min(var(--ll-max),100%);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.5rem,3vw,2.75rem);align-items:start;
}
.sl-split h2{
  margin:0;font-size:clamp(1.4rem,2.4vw,1.85rem);font-weight:460;
  letter-spacing:-0.025em;color:var(--ll-ink);
}
.sl-split p{margin:0.85rem 0 0;font-size:1.02rem;line-height:1.7;color:var(--ll-muted);max-width:36ch}
.sl-split--soft{background:var(--ll-bg)}
.sl-split--dark{background:#0f1012;color:#f2f2f4}
.sl-split--dark h2{color:#fdfdfd}
.sl-split--dark p{color:rgba(242,242,244,0.6)}
.sl-split--dark .sl-label{color:rgba(242,242,244,0.42)}
.sl-split--blue{background:rgba(0,113,227,0.06)}
body.pd-sol--arrangement .sl-split--accent{background:#0b3d7a;color:#f2f2f4}
body.pd-sol--arrangement .sl-split--accent h2{color:#fff}
body.pd-sol--arrangement .sl-split--accent p{color:rgba(255,255,255,0.72)}
body.pd-sol--arrangement .sl-split--accent .sl-label{color:rgba(255,255,255,0.5)}

.sl-roles{list-style:none;margin:1rem 0 0;padding:0}
.sl-roles li{
  padding:0.85rem 0;border-bottom:1px solid var(--ll-line);
  font-size:1rem;line-height:1.55;color:var(--ll-muted);
}
.sl-roles strong{display:block;margin-bottom:0.25rem;color:var(--ll-ink);font-weight:520}
.sl-split--dark .sl-roles li{border-color:rgba(242,242,244,0.12);color:rgba(242,242,244,0.58)}
.sl-split--dark .sl-roles strong{color:#fdfdfd}

.sl-flow-block{
  padding:clamp(3rem,6vw,4.5rem) var(--ll-gutter);background:var(--ll-white);
}
.sl-flow-block__inner{width:min(var(--ll-max),100%);margin:0 auto}
.sl-flow-block h2{
  margin:0;font-size:clamp(1.4rem,2.4vw,1.85rem);font-weight:460;color:var(--ll-ink);
}
.sl-flow{
  list-style:none;margin:1.5rem 0 0;padding:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--ll-line);
}
/* horizontal padding keeps copy clear of vertical dividers (steps 2–4 ≥20px after sep) */
.sl-flow__step{
  padding:1.2rem clamp(1.25rem,2vw,2rem) 1rem;
  border-right:1px solid var(--ll-line);
  min-width:0;
}
.sl-flow__step:first-child{padding-left:0}
.sl-flow__step:last-child{border-right:0}
.sl-flow__num{display:block;margin:0 0 0.55rem;font-size:0.8rem;font-weight:520;letter-spacing:0.12em;color:var(--ll-blue)}
.sl-flow__name{margin:0;font-size:1.02rem;font-weight:520;color:var(--ll-ink)}
.sl-flow__desc{margin:0.4rem 0 0;font-size:0.92rem;line-height:1.5;color:var(--ll-muted)}
.sl-flow__note{margin:1.1rem 0 0;font-size:0.9rem;color:rgba(15,16,18,0.48)}

/* arrangement flow as vertical editorial list */
body.pd-sol--arrangement .sl-flow{
  grid-template-columns:1fr;border-top:0;
}
body.pd-sol--arrangement .sl-flow__step{
  display:grid;grid-template-columns:3rem minmax(0,1fr);
  gap:0.5rem 1rem;border-right:0;border-bottom:1px solid var(--ll-line);
  padding:1rem 0;
}
body.pd-sol--framework .sl-flow-block{background:#14161a}
body.pd-sol--framework .sl-flow-block h2{color:#fdfdfd}
body.pd-sol--framework .sl-flow{border-color:rgba(242,242,244,0.12)}
body.pd-sol--framework .sl-flow__step{border-color:rgba(242,242,244,0.12)}
body.pd-sol--framework .sl-flow__name{color:#fdfdfd}
body.pd-sol--framework .sl-flow__desc,
body.pd-sol--framework .sl-flow__note{color:rgba(242,242,244,0.55)}
body.pd-sol--framework .sl-label{color:rgba(242,242,244,0.42)}

.sl-diff-grid{
  padding:clamp(3rem,6vw,4.5rem) var(--ll-gutter);background:var(--ll-bg);
}
.sl-diff-grid__inner{width:min(var(--ll-max),100%);margin:0 auto}
.sl-diff-grid h2{
  margin:0;font-size:clamp(1.4rem,2.4vw,1.85rem);font-weight:460;color:var(--ll-ink);
}
.sl-diff{
  list-style:none;margin:1.25rem 0 0;padding:0;border-top:1px solid var(--ll-line);
}
.sl-diff li{
  display:grid;grid-template-columns:minmax(6.5rem,8.5rem) minmax(0,1fr);
  gap:0.75rem 1.25rem;padding:1rem 0;border-bottom:1px solid var(--ll-line);
}
.sl-diff__task{font-weight:520;color:var(--ll-ink)}
.sl-diff__text{margin:0;color:var(--ll-muted);line-height:1.55}

.sl-product-entry{
  padding:clamp(2.5rem,5vw,3.5rem) var(--ll-gutter);background:var(--ll-white);
  border-top:1px solid var(--ll-line);
}
.sl-product-entry__inner{width:min(var(--ll-max),100%);margin:0 auto;max-width:40rem}
.sl-product-entry h2{
  margin:0;font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:460;color:var(--ll-ink);
}
.sl-product-entry p{margin:0.75rem 0 0;color:var(--ll-muted);line-height:1.65;max-width:40ch}
body.ll-shell a.sl-product-entry__link,
.sl-product-entry__link{
  display:inline-flex;margin-top:1rem;font-size:1.05rem;font-weight:520;color:var(--ll-blue);
}
.sl-product-entry__link:hover{text-decoration:underline}

.sl-faq-block{
  padding:clamp(2.5rem,5vw,3.5rem) var(--ll-gutter);background:var(--ll-bg);
}
.sl-faq-block__inner{width:min(var(--ll-max),100%);margin:0 auto;max-width:44rem}
.sl-faq-block h2{
  margin:0;font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:460;color:var(--ll-ink);
}
.sl-faq{margin:1.15rem 0 0}
.sl-faq details{border-bottom:1px solid var(--ll-line);padding:0.95rem 0}
.sl-faq summary{
  cursor:pointer;font-weight:520;color:var(--ll-ink);font-size:1.02rem;list-style:none;
}
.sl-faq summary::-webkit-details-marker{display:none}
.sl-faq summary::before{content:"+";display:inline-block;width:1.25rem;color:var(--ll-blue)}
.sl-faq details[open] summary::before{content:"–"}
.sl-faq details p{
  margin:0.65rem 0 0 1.25rem;max-width:48ch;font-size:0.98rem;line-height:1.65;color:var(--ll-muted);
}

body.ll-shell[data-page^="solution"] .ll-footer{min-height:auto}

@media (max-width:1023px){
  .sl-hub-hero{min-height:auto;justify-content:flex-start}
  .sl-stage__item,
  .sl-stage__item:nth-child(even){
    grid-template-columns:1fr;
    min-height:0;
  }
  .sl-stage__item:nth-child(odd) .sl-stage__media,
  .sl-stage__item:nth-child(even) .sl-stage__media{order:2}
  .sl-stage__item:nth-child(odd) .sl-stage__copy,
  .sl-stage__item:nth-child(even) .sl-stage__copy{order:1}
  .sl-stage__media{
    max-height:none;min-height:0;aspect-ratio:16/9;
  }
  .sl-split__inner{grid-template-columns:1fr}
  .sl-flow{grid-template-columns:1fr 1fr}
  .sl-flow__step:nth-child(2){border-right:0}
  .sl-flow__step:nth-child(1),
  .sl-flow__step:nth-child(2){border-bottom:1px solid var(--ll-line)}
  /* left col flush; right col clear of center divider */
  .sl-flow__step:nth-child(odd){padding-left:0}
  .sl-flow__step:nth-child(even){padding-left:clamp(1.25rem,3vw,2rem)}
}
@media (max-width:640px){
  .sl-hub-hero h1,.sl-hub-hero__kicker,.sl-hub-hero__lead,.sl-detail-hero h1,.sl-detail-hero__answer{max-width:none}
  .sl-detail-hero{min-height:auto}
  .sl-detail-hero__body{padding:5.25rem var(--ll-gutter) 1.75rem}
  .sl-flow{grid-template-columns:1fr}
  /* reset dual-col left inset; specificity must beat :nth-child(even) */
  .sl-flow__step,
  .sl-flow__step:first-child,
  .sl-flow__step:nth-child(odd),
  .sl-flow__step:nth-child(even){
    border-right:0;
    border-bottom:1px solid var(--ll-line);
    padding:1rem 0;
  }
  .sl-diff li{grid-template-columns:1fr;gap:0.3rem}
  .sl-actions{flex-direction:column;align-items:stretch}
  .sl-btn{width:100%}
  body.pd-sol--margin .sl-detail-hero__media img{object-position:center 42%;min-height:34svh}
  body.pd-sol--framework .sl-detail-hero__media img{object-position:center 48%;min-height:34svh}
  body.pd-sol--arrangement .sl-detail-hero__media img{object-position:center 45%;min-height:34svh}
}

/* reveal helpers for content pages (no scroll snap) */
.sl-reveal{
  opacity:0;transform:translateY(18px);
  transition:opacity 0.75s var(--ll-ease), transform 0.75s var(--ll-ease);
  transition-delay:var(--ll-d,0ms);
}
.sl-reveal.is-in{opacity:1;transform:none}
.sl-stage__media.sl-reveal{transform:scale(0.97) translateY(12px)}
.sl-stage__media.sl-reveal.is-in{transform:none}
@media (prefers-reduced-motion:reduce){
  .sl-reveal,.sl-stage__media.sl-reveal{opacity:1;transform:none;transition:none}
}
@media (prefers-reduced-motion:reduce){
  .sl-btn,.sl-stage__go{transition:none}
}
