.ft-showcase{padding:80px 0;background:var(--bg2);border-block:1px solid var(--line)}
.ft-showcase .wrap{max-width:1440px}
.ft-showcase-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.ft-showcase-head h2{margin:10px 0 0;font-size:clamp(26px,3vw,40px);letter-spacing:-.04em}
.ft-showcase-head p{max-width:370px;margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.ft-tour{border:1px solid var(--line);border-radius:18px;background:var(--bg);overflow:hidden;box-shadow:0 24px 64px rgba(var(--shadow-rgb),.09)}
.ft-tour-stage{display:grid;position:relative;aspect-ratio:2.04;background:#eaf3f8;overflow:hidden}
.ft-tour-slide{grid-area:1/1;min-width:0;margin:0;opacity:0;visibility:hidden;transform:translateX(18px);transition:opacity .55s ease,transform .7s cubic-bezier(.2,.65,.25,1),visibility .7s;pointer-events:none}
.ft-tour-slide.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.ft-tour-slide img{display:block;width:100%;height:100%;object-fit:contain}
.ft-tour-footer{display:grid;grid-template-columns:1fr auto;gap:24px;padding:24px 28px;align-items:center;border-top:1px solid var(--line)}
.ft-tour-copy small{color:var(--cyan);font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.12em}
.ft-tour-copy h3{font-size:22px;letter-spacing:-.025em;margin:5px 0}
.ft-tour-copy p{color:var(--muted);font-size:14px;margin:0;line-height:1.65}
.ft-tour-controls{display:flex;align-items:center;gap:8px}
.ft-tour-controls button{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg2);color:var(--fg);cursor:pointer;font-size:16px}
.ft-tour-controls button:hover{border-color:var(--cyan);color:var(--cyan)}
.ft-tour-controls button[data-pause]{font-size:12px;min-width:72px}
.ft-tour-counter{font:12px ui-monospace,monospace;color:var(--muted);margin:0 8px}
.ft-tour-tabs{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line)}
.ft-tour-tabs button{position:relative;background:transparent;color:var(--muted);border:0;border-right:1px solid var(--line);padding:17px 8px;cursor:pointer;font-size:12px;font-weight:600}
.ft-tour-tabs button:last-child{border-right:0}
.ft-tour-tabs button[aria-pressed="true"]{color:var(--fg);background:rgba(var(--ink),.035)}
.ft-tour-tabs button[aria-pressed="true"]::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--cyan)}
.ft-tour button:focus-visible{outline:2px solid var(--cyan);outline-offset:-3px}
@media(max-width:760px){.ft-showcase{padding:48px 0}.ft-showcase-head{display:block}.ft-showcase-head p{margin-top:14px}.ft-tour-footer{grid-template-columns:1fr;padding:20px;gap:18px}.ft-tour-copy h3{font-size:19px}.ft-tour-tabs{grid-template-columns:repeat(3,1fr)}.ft-tour-tabs button:nth-child(-n+3){border-bottom:1px solid var(--line)}.ft-tour-controls{justify-content:flex-end}.ft-tour-stage{aspect-ratio:1.8}}
@media(prefers-reduced-motion:reduce){.ft-tour-slide{transition:none;transform:none}}

#product-showcase .ft-tour-stage{aspect-ratio:1.9;max-height:660px}.ft-tour-city-tags{position:absolute;inset:0;pointer-events:none}.ft-tour-city-tags span{position:absolute;padding:10px 16px;border:1px solid #b9d8e7;border-radius:8px;background:#ffffffed;color:#164362;box-shadow:0 8px 24px #18374b18;font-size:13px;font-weight:650}.ft-tour-city-tags span:nth-child(1){top:23%;left:26%}.ft-tour-city-tags span:nth-child(2){top:42%;left:57%}.ft-tour-city-tags span:nth-child(3){top:68%;left:43%}.ft-tour-slide{position:relative}#product-showcase .ft-tour-copy{min-height:100px}

.ft-tour-stage{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0}.ft-tour-slide{min-height:0}

#product-showcase .ft-tour-footer{grid-template-columns:1fr auto}#product-showcase .ft-tour-counter{align-self:center;white-space:nowrap}

/* Product tour: compact image and accompanying explanation. */
#product-showcase .wrap{max-width:1200px}
#product-showcase .ft-tour{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);align-items:stretch}
#product-showcase .ft-tour-stage{aspect-ratio:auto;height:clamp(320px,32vw,420px);max-height:none;border-right:1px solid var(--line)}
#product-showcase .ft-tour-slide{display:flex;align-items:center;justify-content:center;padding:18px}
#product-showcase .ft-tour-slide img{width:100%;height:100%;object-fit:contain}
#product-showcase .ft-tour-footer{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:30px;padding:32px;border-top:0;min-width:0}
#product-showcase .ft-tour-copy{min-height:0}
#product-showcase .ft-tour-copy small{display:block;font-size:10px;line-height:1.7;letter-spacing:.1em}
#product-showcase .ft-tour-copy h3{margin:16px 0;font-size:clamp(22px,2.2vw,29px);line-height:1.4;word-break:keep-all;overflow-wrap:break-word}
#product-showcase .ft-tour-copy p{font-size:14px;line-height:1.9;word-break:keep-all;overflow-wrap:break-word}
#product-showcase .ft-tour-counter{align-self:flex-start;margin:0;font-size:11px;letter-spacing:.1em}
@media(max-width:760px){
  #product-showcase .ft-tour{grid-template-columns:minmax(0,1fr)}
  #product-showcase .ft-tour-stage{height:auto;aspect-ratio:1.9;border-right:0;border-bottom:1px solid var(--line)}
  #product-showcase .ft-tour-slide{padding:10px}
  #product-showcase .ft-tour-footer{padding:24px;gap:18px}
  #product-showcase .ft-tour-copy h3{font-size:22px;margin:10px 0}
}

/* Space around every product-tour image. */
#product-showcase .ft-tour-slide{padding:38px 36px;box-sizing:border-box}
@media(max-width:760px){#product-showcase .ft-tour-slide{padding:20px;box-sizing:border-box}}
