/* WebLab showcase pages — shared editorial architecture. */
.wl-page-hero {  padding: clamp(96px,11vw,168px) 0 clamp(72px,8vw,120px); display: grid; grid-template-columns: minmax(80px,.25fr) minmax(0,1.55fr) minmax(220px,.55fr); gap: clamp(28px,4vw,70px); align-items: end; border-bottom: 1px solid var(--line); }
.wl-page-hero-index { align-self: stretch; min-height: 250px; display: grid; grid-template-rows: auto 1fr; justify-items: start; gap: 16px; color: var(--mid); font-size: calc(10px * var(--text-scale)); letter-spacing: .12em; }
.wl-page-hero-index i { width: 1px; min-height: 120px; background: linear-gradient(var(--mid),var(--line)); }
.wl-page-hero-copy { align-self: end; }
.wl-page-hero-copy .eyebrow { margin-bottom: 22px; }
.wl-page-hero-copy h1 { max-width: 1040px; margin: 0; font-size: clamp(calc(48px * var(--title-scale)),calc(6vw * var(--title-scale)),calc(94px * var(--title-scale))); line-height: calc(.98 * var(--title-line-height-scale)); letter-spacing: -.065em; font-weight: 610; text-wrap: balance; }
.wl-page-lead { max-width: 780px; margin: clamp(28px,3vw,44px) 0 0; color: var(--gray); font-size: clamp(calc(16px * var(--subtitle-scale)),calc(1.35vw * var(--subtitle-scale)),calc(21px * var(--subtitle-scale))); line-height: calc(1.72 * var(--subtitle-line-height-scale)); }
.wl-page-hero-meta { align-self: end; display: grid; border-top: 1px solid var(--line); }
.wl-page-hero-meta span { padding: 13px 0; border-bottom: 1px solid var(--line); color: var(--gray); font-size: calc(9px * var(--text-scale)); letter-spacing: .08em; text-transform: uppercase; }
.wl-section-head { max-width: 1120px; margin-bottom: clamp(48px,6vw,82px); display: grid; grid-template-columns: minmax(160px,.38fr) minmax(0,1.15fr); gap: 20px clamp(26px,4vw,58px); align-items: start; }
.wl-section-head .eyebrow { grid-row: span 2; margin: 5px 0 0; }
.wl-section-head h2 { margin: 0; font-size: clamp(calc(34px * var(--title-scale)),calc(4vw * var(--title-scale)),calc(62px * var(--title-scale))); line-height: calc(1.04 * var(--title-line-height-scale)); letter-spacing: -.055em; font-weight: 610; text-wrap: balance; }
.wl-section-head > p:last-child { max-width: 680px; margin: 0; color: var(--gray); font-size: calc(15px * var(--subtitle-scale)); line-height: calc(1.75 * var(--subtitle-line-height-scale)); }
.wl-section-head.is-light h2 { color: var(--inverse-text); }
.wl-section-head.is-light .eyebrow { color: var(--sky); }
.wl-section-head.is-light > p:last-child { color: var(--light-section-muted); }
.wl-page-managed-content { padding-block: clamp(72px,8vw,120px); border-top: 1px solid var(--line); }
.wl-system-fallback { margin-block: 40px 100px; padding: clamp(40px,6vw,80px); border: 1px solid var(--line); background: var(--surface); }
.wl-system-fallback > span { color: var(--mid); font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.wl-system-fallback h2 { max-width: 760px; margin: 24px 0 16px; font-size: clamp(calc(28px * var(--title-scale)),calc(3vw * var(--title-scale)),calc(48px * var(--title-scale))); line-height: 1.08; letter-spacing: -.045em; }
.wl-system-fallback p { max-width: 680px; margin: 0; color: var(--gray); }


.wl-conversion-band .eyebrow { color: var(--sky); }


.wl-arrow-action {       border-top: 1px solid rgba(var(--inverse-text-rgb),.3); border-bottom: 1px solid rgba(var(--inverse-text-rgb),.3);  }

.wl-arrow-action b { padding-right: 18px;  font-weight: 400; }



[data-theme="dark"] .wl-page-hero-meta span { color: var(--dark-text-muted); }
[data-theme="dark"] .wl-page-lead,[data-theme="dark"] .wl-section-head > p:last-child,[data-theme="dark"] .wl-system-fallback p { color: var(--dark-text-muted); }
[data-theme="dark"] .wl-system-fallback { background: var(--surface); }

@media (max-width: 1050px) {
  .wl-page-hero { min-height: 540px; grid-template-columns: 60px minmax(0,1fr); }
  .wl-page-hero-meta { grid-column: 2; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wl-page-hero-meta span:nth-child(odd) { border-right: 1px solid var(--line); }
  .wl-section-head { grid-template-columns: 1fr; }
  .wl-section-head .eyebrow { grid-row: auto; }
  .wl-conversion-band-inner { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .wl-page-hero { min-height: 0; padding: 76px 0 64px; grid-template-columns: 1fr; gap: 28px; }
  .wl-page-hero-index { min-height: 0; grid-template-columns: auto 1fr; grid-template-rows: auto; align-items: center; }
  .wl-page-hero-index i { width: 100%; min-height: 1px; height: 1px; }
  .wl-page-hero-copy h1 { font-size: clamp(calc(42px * var(--title-scale)),calc(13vw * var(--title-scale)),calc(64px * var(--title-scale))); }
  .wl-page-hero-meta { grid-column: auto; grid-template-columns: 1fr 1fr; }
  .wl-page-hero-meta span { font-size: calc(8px * var(--text-scale)); }
  .wl-section-head { margin-bottom: 44px; }
  .wl-conversion-band { margin-top: 80px; }
  .wl-conversion-band-inner { min-height: 340px; padding-block: 56px; }
}

/* v1.8.2 — tighter showcase rhythm and architectural conversion route. */
.wl-page-hero {
  min-height: 520px;
  padding-top: clamp(72px,8vw,118px);
  padding-bottom: clamp(62px,7vw,96px);
}
.wl-conversion-band {
  position: relative;
  overflow: hidden;
  margin-top: clamp(86px,9vw,136px);
  background: var(--graphite);
  color: var(--inverse-text);
  border-top: 1px solid color-mix(in srgb,var(--sky) 24%,transparent);
}
.wl-conversion-band::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(110deg,color-mix(in srgb,var(--sky) 7%,transparent),transparent 32%),
    linear-gradient(90deg,transparent 0 72%,color-mix(in srgb,var(--blue) 28%,transparent));
}
.wl-conversion-band-inner {
  position:relative;
  z-index:1;
  min-height: 460px;
  padding-block: clamp(74px,8vw,116px);
  display:grid;
  grid-template-columns:minmax(58px,.18fr) minmax(0,1.15fr) minmax(330px,.62fr);
  gap:clamp(28px,5vw,78px);
  align-items:stretch;
}
.wl-conversion-index {
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:14px;
  color:var(--sky);
  font-size:8px;
  font-weight:700;
  letter-spacing:.12em;
}
.wl-conversion-index i { width:1px; background:linear-gradient(var(--sky),rgba(var(--inverse-action-rgb),.08)); }
.wl-conversion-index small { writing-mode:vertical-rl; transform:rotate(180deg); color:var(--conversion-index); }
.wl-conversion-copy { align-self:center; }
.wl-conversion-copy .eyebrow { color:var(--sky); }
.wl-conversion-band h2 {
  max-width:900px;
  margin:22px 0 22px;
  font-size:clamp(calc(38px * var(--title-scale)),calc(4.4vw * var(--title-scale)),calc(68px * var(--title-scale)));
  line-height:calc(1.05 * var(--title-line-height-scale));
  letter-spacing:calc(-.052em + var(--title-letter-spacing-adjust));
  font-weight:610;
  text-wrap:balance;
}
.wl-conversion-band p { max-width:700px; margin:0; color:var(--conversion-text-alt); font-size:calc(13px * var(--text-scale)); line-height:1.75; }
.wl-conversion-route { align-self:center; display:grid; gap:18px; min-width:0; }
.wl-conversion-route-meta { display:grid; grid-template-columns:auto 1fr auto 1fr auto; gap:10px; align-items:center; color:var(--conversion-meta); font-size:8px; letter-spacing:.09em; }
.wl-conversion-route-meta i { height:1px; background:rgba(var(--inverse-action-rgb),.3); position:relative; overflow:hidden; }
.wl-conversion-route-meta i::after { content:""; position:absolute; inset:0 auto 0 0; width:42%; background:var(--sky); }
.wl-arrow-action {
  min-height:88px;
  padding:0 18px 0 22px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;
  align-items:center;
  border:1px solid rgba(var(--inverse-action-rgb),.38);
  background:var(--blue);
  color:var(--inverse-text);
  transition:background .2s,border-color .2s,transform .14s,box-shadow .14s;
}
.wl-arrow-action span { font-size:calc(14px * var(--text-scale)); font-weight:680; }
.wl-arrow-action b { width:44px; height:44px; display:grid; place-items:center; border-left:1px solid rgba(var(--inverse-text-rgb),.22); padding:0; font-size:20px; transition:transform .18s; }
.wl-arrow-action:hover,.wl-arrow-action:focus-visible { padding-left:22px; background:var(--mid); border-color:var(--sky); }
.wl-arrow-action:hover b,.wl-arrow-action:focus-visible b { transform:translate(2px,-2px); }
.wl-arrow-action:active { transform:translateY(2px); background:var(--blue); box-shadow:inset 0 5px 13px rgba(var(--shadow-ink-rgb),.28); }
@media (max-width:1050px) {
  .wl-conversion-band-inner { grid-template-columns:58px minmax(0,1fr); }
  .wl-conversion-route { grid-column:2; max-width:760px; width:100%; }
}
@media (max-width:680px) {
  .wl-page-hero { min-height:0; padding:64px 0 58px; }
  .wl-conversion-band-inner { min-height:0; grid-template-columns:1fr; gap:32px; padding-block:72px; }
  .wl-conversion-index { grid-template-columns:auto 1fr auto; grid-template-rows:auto; align-items:center; }
  .wl-conversion-index i { width:100%; height:1px; }
  .wl-conversion-index small { writing-mode:horizontal-tb; transform:none; }
  .wl-conversion-route { grid-column:auto; }
  .wl-conversion-route-meta { grid-template-columns:auto 1fr auto; }
  .wl-conversion-route-meta i:nth-of-type(2), .wl-conversion-route-meta span:nth-of-type(3) { display:none; }
}
