/* Homepage screenshots keep their native proportions; composition follows aspect ratio. */
.home-with-showcase{width:min(1360px,calc(100% - 64px));padding-top:40px}
.value-showcase{scroll-margin-top:96px;margin-bottom:56px}
.showcase-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 24px}
.showcase-heading h1{font-size:clamp(26px,2.6vw,36px);font-weight:650;line-height:1.4;letter-spacing:-.03em;margin:0}
.showcase-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.showcase-controls[hidden],.showcase-tabs[hidden],.showcase-slide[hidden]{display:none}
.showcase-controls button{border:1px solid var(--portal-line);border-radius:8px;background:transparent;color:var(--portal-muted);cursor:pointer;min-height:40px}
.showcase-play{padding:6px 12px;font-size:13px;min-width:54px}
.showcase-arrow{width:40px;font-size:20px}
.showcase-controls button:hover{background:var(--portal-soft);color:var(--portal-brand);border-color:var(--portal-brand)}
.showcase-tabs{display:flex;gap:30px;margin:0 0 28px;border-bottom:1px solid var(--portal-line)}
.showcase-tabs button{position:relative;padding:0 0 13px;border:0;background:none;color:var(--portal-muted);font-size:15px;cursor:pointer;white-space:nowrap}
.showcase-tabs button[aria-current="true"]{color:var(--portal-brand);font-weight:750}
.showcase-tabs button[aria-current="true"]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;border-radius:2px;background:var(--portal-brand)}
.showcase-tabs button:hover{color:var(--portal-brand)}
.showcase-viewport{overflow:hidden}
.showcase-slide{display:grid;align-items:center;gap:clamp(30px,5vw,80px);padding:12px 16px 28px}
.showcase-slide+.showcase-slide{margin-top:36px}
.showcase-enhanced .showcase-slide{margin-top:0;animation:showcase-enter .35s ease both}
.showcase-copy{min-width:0}
.showcase-copy h2{font-size:clamp(30px,3vw,44px);font-weight:650;line-height:1.4;letter-spacing:-.035em;margin:0 0 20px;text-wrap:balance}
.showcase-action{font-size:18px;line-height:1.8;margin:0 0 12px;color:var(--portal-ink)}
.showcase-pain{font-size:16px;line-height:1.8;margin:0;color:var(--portal-muted)}
.showcase-figure{min-width:0;margin:0;justify-self:center;max-width:100%}
.showcase-image{position:relative;display:block;max-width:100%;cursor:zoom-in;line-height:0}
.showcase-image img{display:block;width:auto;height:auto;max-width:100%;max-height:710px;border-radius:10px;box-shadow:0 8px 30px #17231f0c}
.showcase-image-hint{position:absolute;right:10px;bottom:10px;padding:7px 10px;border-radius:6px;background:#fffffff0;color:var(--portal-muted);font-size:12px;line-height:1.4;box-shadow:0 1px 6px #17231f12}
/* Broad images get the full row below a short, horizontally arranged introduction. */
.showcase-landscape{grid-template-columns:minmax(0,1fr);gap:26px}
.showcase-landscape .showcase-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3px 36px;width:100%;max-width:1120px;margin:0 auto;align-items:center}
.showcase-landscape .showcase-copy h2{grid-row:1 / 3;margin:0;font-size:clamp(28px,2.6vw,38px)}
.showcase-landscape .showcase-action{margin:0}
.showcase-landscape .showcase-figure{max-width:1120px}
.showcase-landscape .showcase-image img{max-height:590px}
/* Near-square, dense tables use the larger left column with concise copy beside them. */
.showcase-balanced{grid-template-columns:minmax(0,1.4fr) minmax(250px,.8fr)}
.showcase-balanced .showcase-figure{grid-column:1;grid-row:1}
.showcase-balanced .showcase-copy{grid-column:2;grid-row:1;max-width:420px}
/* Tall revenue tables and charts retain their height in a narrower right column. */
.showcase-portrait{grid-template-columns:minmax(250px,.9fr) minmax(0,1fr);max-width:1160px;margin:0 auto}
.showcase-portrait .showcase-copy{max-width:430px}
.showcase-portrait .showcase-image img{max-height:780px}
@keyframes showcase-enter{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.showcase-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.showcase-dialog{width:min(1500px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--portal-line);border-radius:16px;background:var(--portal-bg);color:var(--portal-ink)}
.showcase-dialog::backdrop{background:#0b1e17d6;backdrop-filter:blur(5px)}
.showcase-dialog-bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;background:#fff;border-bottom:1px solid var(--portal-line)}
.showcase-dialog-bar h2{font-size:17px;line-height:1.5;margin:0}
.showcase-dialog-bar>div{display:flex;align-items:center;gap:18px;flex-shrink:0}
.showcase-dialog-bar a{font-size:14px;color:var(--portal-brand)}
.showcase-dialog-bar button{min-height:40px;padding:7px 13px;border:1px solid var(--portal-line);border-radius:8px;background:#fff;cursor:pointer}
.showcase-dialog-image{padding:20px}
.showcase-dialog-image img{display:block;width:100%;height:auto;margin:auto}

@media(min-width:1100px){.home-with-showcase>.metric-strip,.home-with-showcase>.section,.home-with-showcase>.membership-callout{max-width:1180px;margin-left:auto;margin-right:auto}}
@media(max-width:1050px){
  .home-with-showcase{width:calc(100% - 40px);padding-top:30px}
  .showcase-heading{gap:16px}
  .showcase-heading h1{font-size:28px}
  .showcase-slide{padding:10px 4px 24px;gap:30px}
  .showcase-copy h2{font-size:32px}
  .showcase-balanced{grid-template-columns:minmax(0,1.3fr) minmax(230px,.8fr)}
  .showcase-portrait{grid-template-columns:minmax(220px,.8fr) minmax(0,1fr)}
  .showcase-landscape{gap:24px}
  .showcase-landscape .showcase-copy{gap:4px 24px}
}
@media(max-width:760px){
  .home-with-showcase{width:calc(100% - 32px);padding-top:28px}
  .value-showcase{margin-bottom:30px}
  .showcase-heading{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:20px}
  .showcase-heading h1{max-width:530px;font-size:28px;line-height:1.45;text-wrap:balance}
  .showcase-controls{align-self:flex-end}
  .showcase-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px;border:0;margin-bottom:20px}
  .showcase-tabs button{font-size:14px;padding:5px 0 10px;border-bottom:1px solid var(--portal-line)}
  .showcase-slide,.showcase-balanced,.showcase-portrait{grid-template-columns:minmax(0,1fr);gap:22px;padding:10px 0 18px}
  .showcase-copy,.showcase-balanced .showcase-copy,.showcase-portrait .showcase-copy{grid-column:1;grid-row:1;max-width:none}
  .showcase-copy h2,.showcase-landscape .showcase-copy h2{font-size:29px;margin:0 0 12px;text-wrap:pretty}
  .showcase-action{font-size:16px;line-height:1.75;margin-bottom:6px}
  .showcase-pain{font-size:14px;line-height:1.75}
  .showcase-landscape .showcase-copy{display:block}
  .showcase-landscape .showcase-action{margin-bottom:6px}
  .showcase-figure,.showcase-balanced .showcase-figure{grid-column:1;grid-row:2}
  .showcase-image img,.showcase-landscape .showcase-image img,.showcase-portrait .showcase-image img{max-height:none;width:100%}
  .showcase-image-hint{font-size:11px;right:6px;bottom:6px;padding:5px 7px}
  .showcase-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 20px);border-radius:10px}
  .showcase-dialog-bar{gap:10px;padding:12px}
  .showcase-dialog-bar h2{font-size:14px}
  .showcase-dialog-bar>div{gap:12px}
  .showcase-dialog-bar a{font-size:12px}
  .showcase-dialog-image{padding:6px}
}
@media(prefers-reduced-motion:reduce){.showcase-enhanced .showcase-slide{animation:none}}
