/* Solution pages (single-sb_solution.php), ported from design/04-site-pages.html
   "solutions v2". --ac is the industry accent and changes with the tab. The stage
   photo is a cut-out on a tinted panel, as on product pages. */
.sx{--mon-ink:color-mix(in srgb,var(--c-mon) 65%,var(--ink));--ac:var(--c-mkt);--ac-ink:color-mix(in srgb,var(--ac) 45%,var(--ink))}
.sx-hero{padding-top:clamp(36px,5vw,64px);display:grid;justify-items:center;text-align:center;gap:22px}
.itabs{display:inline-flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--surface);flex-wrap:wrap;justify-content:center;max-width:100%}
.itabs a{position:relative;padding:9px 16px;border-radius:999px;font-weight:600;font-size:14.5px;text-decoration:none;color:var(--muted);transition:background .3s,color .3s,box-shadow .3s}
.itabs a:hover{color:var(--ink)}
.itabs a[aria-current="page"]{background:var(--k);color:var(--ink);box-shadow:0 10px 24px -12px var(--k)}
.sx-h1{font-size:clamp(2.5rem,6.4vw,5.6rem);font-weight:800;letter-spacing:-.05em;line-height:1;max-width:17ch;text-wrap:balance;margin:0}
.ipill{display:inline-block;width:1.7em;height:.9em;border-radius:999px;overflow:hidden;vertical-align:-.06em;border:3px solid var(--ac);box-shadow:0 10px 24px -12px var(--ac);background:color-mix(in srgb,var(--ac) 18%,#fff);transition:border-color .4s}
.ipill img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block}
.sx-kw{margin:-6px 0 -10px;font-weight:700;font-size:15px;letter-spacing:.01em;color:var(--ac-ink);display:inline-flex;align-items:center;gap:8px}
.sx-kw::before{content:"";width:18px;height:2px;border-radius:2px;background:var(--ac)}
.sx-kw:empty{display:none}
.sx-fold .fold-sec{padding-top:clamp(40px,6vw,72px)}
.sx-lede{margin:0 auto;text-wrap:balance;max-width:58ch}
.sx-hero .hero-ctas{justify-content:center}
.sx-note{margin:-8px 0 0;font-size:14px;color:var(--muted)}
.sx-note a{color:inherit}
[data-part]{transition:opacity .25s}
.sx.swap [data-part]{opacity:0}

/* stage */
.sxstage{position:relative;width:100%;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;margin-top:36px;text-align:left}
.st-photo{position:relative;aspect-ratio:5/4;border-radius:30px;background:radial-gradient(120% 90% at 30% 100%,color-mix(in srgb,var(--ac) 30%,#fff),color-mix(in srgb,var(--ac) 10%,#fff));transition:background .5s}
.st-cut{position:absolute;left:12%;bottom:0;height:108%;width:auto;max-width:76%;object-fit:contain;object-position:bottom;animation:sxUp .9s cubic-bezier(.2,.8,.2,1) both}
.st-note{position:absolute;left:-18px;top:28px;display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 14px;box-shadow:var(--shadow);z-index:3;animation:sxBob 5s ease-in-out infinite}
.st-note .tico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--ac);color:#fff;flex:none}
.st-note .tico .sb-brand,.st-note .tico .sb-icon{color:#fff}
.st-note b{display:block;font-size:14px}.st-note small{color:var(--muted);font-size:12.5px}
.st-app{position:relative;margin-left:-70px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden;z-index:2}
.st-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.st-dots{display:flex;gap:6px}.st-dots i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.st-me{display:flex;align-items:center;gap:8px;font-weight:600}
.st-body{padding:18px;display:grid;gap:14px;background:var(--bg-alt);min-height:330px;align-content:start}
.st-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;gap:10px}
.st-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.st-row b{font-size:15px}
.st-pill{font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--bg-alt);color:var(--muted);transition:.35s;white-space:nowrap}
.st-pill[data-s="1"],.st-pill[data-s="2"]{background:var(--royal-soft);color:var(--royal)}
.st-pill[data-s="3"]{background:color-mix(in srgb,var(--c-mon) 15%,transparent);color:var(--c-mon)}
.st-amt{font-family:var(--fd);font-size:34px;letter-spacing:-.03em}
.st-btn{justify-self:start;border-radius:12px;padding:12px 18px;font-weight:700;font-size:14.5px;background:var(--ac);color:var(--ink);transition:transform .15s,background .3s}
.st-btn.press{transform:scale(.94)}
.st-btn.done{background:var(--ink);color:#fff}
.st-log{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.st-log li{display:flex;align-items:center;gap:10px;font-size:13.5px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 12px;animation:sxIn .45s cubic-bezier(.2,.8,.2,1)}
.st-log li i{width:8px;height:8px;border-radius:50%;background:var(--royal);flex:none}
.st-log li time{margin-left:auto;font-size:12px;color:var(--muted)}
.st-log li.win{border-color:var(--c-mon);background:color-mix(in srgb,var(--c-mon) 7%,var(--surface));font-weight:700}
.st-log li.win i{background:var(--c-mon)}
@keyframes sxIn{from{opacity:0;transform:translateY(-14px) scale(.98)}}
.st-cursor{position:absolute;left:0;top:0;z-index:5;opacity:0;transition:transform 1s cubic-bezier(.5,0,.2,1),opacity .3s;pointer-events:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}
.st-app.live .st-cursor{opacity:1}
.st-confetti{position:absolute;inset:0;pointer-events:none;z-index:6}
.st-confetti i{position:absolute;width:8px;height:12px;border-radius:2px}

/* pains */
.pains{padding:clamp(60px,8vw,110px) 0 0;overflow:hidden}
.pn-track{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.pn-row{display:flex;align-items:center;gap:28px;width:max-content;animation:sxScroll 38s linear infinite}
@keyframes sxScroll{to{transform:translateX(-33.3333%)}}
.pn{font-family:var(--fd);font-weight:800;font-size:clamp(2.2rem,5vw,4.2rem);letter-spacing:-.04em;white-space:nowrap;color:color-mix(in srgb,var(--ink) 52%,#fff)}
.pn s{text-decoration:none;position:relative}
.pn s::after{content:"";position:absolute;left:-2%;right:-2%;top:54%;height:.09em;background:var(--ac);transform:scaleX(0);transform-origin:left;animation:sxStrike 4s ease-in-out infinite;animation-delay:calc(var(--i) * .6s)}
@keyframes sxStrike{0%,15%{transform:scaleX(0)}35%,80%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}
.pn-x{color:var(--ac);display:grid;place-items:center}
.pn-after{text-align:center;font-family:var(--fd);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;letter-spacing:-.03em;margin-top:28px;padding:0 24px}
.pn-after b{background:linear-gradient(transparent 58%,color-mix(in srgb,var(--ac) 45%,transparent) 58%)}

/* a day with startbuddi: pinned, scrolls sideways */
.day{height:380vh;position:relative;margin-top:clamp(60px,8vw,100px)}
.day-pin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:34px;background:var(--bg-alt)}
.day-head{display:grid;gap:14px}
.day-head .pill i{background:var(--ac)}
.day-head h2{max-width:20ch;margin:0}
.day-prog{height:4px;border-radius:2px;background:var(--line);max-width:420px;overflow:hidden}
.day-prog i{display:block;height:100%;width:0;background:var(--ac)}
.day-track{display:flex;gap:18px;padding:0 max(24px,calc((100vw - 1220px)/2 + 24px));will-change:transform;align-items:stretch}
.dp{flex:none;width:min(400px,78vw);background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:26px;display:grid;gap:10px;align-content:start;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .6s;opacity:.35;transform:translateY(20px) scale(.97)}
.dp.in{opacity:1;transform:none}
.dp-t{font-family:var(--fd);font-weight:800;font-size:38px;letter-spacing:-.04em;color:var(--ac-ink)}
.dp h3{font-size:23px;line-height:1.15;margin:0}
.dp p{color:var(--ink-2);margin:0}
.dp-ui{margin-top:10px;border-radius:18px;background:var(--bg-alt);padding:16px;min-height:150px;display:grid;align-content:center}
.dp.end{background:var(--ac);border-color:var(--ac);color:var(--ink);align-content:center;justify-items:start}
.dp.end p{color:var(--ink)}
.dp.end .btn{background:#fff;color:var(--ink);box-shadow:none}
.m-chat{display:grid;gap:8px}.mb{max-width:88%;padding:8px 11px;border-radius:12px;font-size:13px}.mb.them{background:var(--surface);border:1px solid var(--line)}.mb.me{justify-self:end;background:var(--ac);color:var(--ink);display:flex;gap:6px;align-items:center}
.m-doc{position:relative;background:var(--surface);border-radius:12px;padding:14px;display:grid;gap:8px}.m-doc i{height:8px;border-radius:4px;background:var(--line);display:block}
.m-chip{position:absolute;right:10px;top:-10px;display:flex;gap:4px;align-items:center;font-size:11px;font-weight:800;background:var(--royal);color:#fff;border-radius:999px;padding:3px 8px 3px 4px}
.m-chip .chipi .ink{stroke:#fff}
.m-sig{width:120px;height:40px}.m-sig path{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:220;stroke-dashoffset:220}.dp.in .m-sig path{animation:sxDraw 1.6s .4s ease forwards}
@keyframes sxDraw{to{stroke-dashoffset:0}}
.m-ok{position:absolute;right:12px;bottom:12px;font-size:11px;font-weight:800;color:var(--mon-ink);border:2px solid var(--mon-ink);border-radius:6px;padding:2px 7px;transform:rotate(-6deg)}
.m-list{display:grid;gap:8px}.m-list span{display:flex;gap:10px;align-items:center;font-size:13.5px;background:var(--surface);border-radius:10px;padding:8px 10px}.m-list b{width:16px;height:16px;border-radius:5px;border:2px solid var(--line);flex:none}.m-list span.on b{background:var(--ac);border-color:var(--ac)}
.m-pay{display:grid;gap:4px;justify-items:start}.m-pay small{color:var(--muted);font-size:12px}.m-pay b{font-family:var(--fd);font-size:32px;letter-spacing:-.03em}.m-pay span{font-size:12px;font-weight:800;color:var(--mon-ink);background:color-mix(in srgb,var(--c-mon) 14%,transparent);padding:3px 9px;border-radius:999px}
.m-cal{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.m-cal i{height:26px;border-radius:7px;background:var(--surface)}.m-cal i.on{background:var(--ac);animation:sxOrb 1.8s ease-in-out infinite}
@keyframes sxOrb{50%{transform:scale(1.12)}}
.m-call{display:flex;align-items:center;justify-content:center;gap:4px;height:80px;flex-wrap:wrap}.m-call i{width:4px;height:8px;border-radius:2px;background:var(--royal);animation:sxWave .9s ease-in-out infinite;animation-delay:calc(var(--i) * -.07s)}.m-call small{width:100%;display:flex;justify-content:center;gap:6px;align-items:center;font-size:12px;color:var(--muted);font-weight:700}
@keyframes sxWave{50%{height:calc(12px + var(--i) * 1.6px)}}

/* other industries */
.switch-ind{border:1px solid var(--line);border-radius:28px;padding:clamp(22px,4vw,40px);display:grid;gap:18px;background:var(--bg-alt)}
.switch-ind h2{font-size:clamp(1.4rem,2.6vw,2rem);margin:0}
.si-row{display:flex;flex-wrap:wrap;gap:10px}
.si-row a{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:999px;border:1.5px solid var(--line);text-decoration:none;font-weight:600;background:var(--surface);color:var(--ink);transition:border-color .3s,transform .3s}
.si-row a[hidden]{display:none}
.si-row a img{width:38px;height:38px;border-radius:50%;object-fit:cover;object-position:50% 25%;background:color-mix(in srgb,var(--k) 22%,#fff)}
.si-row a:hover{border-color:var(--k);transform:translateY(-2px)}
.si-row a .sb-icon{color:var(--k)}
/* "sec wrap" sections: site.css's .sec{padding:… 0} comes after .wrap and wipes its side
   gutter, so the FAQ sat flush to the screen edge and the open +/- (rotated 45deg, 42px
   wide) poked 4px past it at 390px. Give the gutter back. */
.sx .sec.wrap{padding-left:24px;padding-right:24px}
.sx-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(24px,5vw,64px)}
.sx-faq .sec-head{margin:0;align-content:start}

@media (prefers-reduced-motion:reduce){
  .pn-row,.pn s::after,.st-note,.st-cut,.m-cal i.on,.m-call i{animation:none}
  .dp{opacity:1;transform:none}
}
@media (max-width:1000px){
  .sxstage{grid-template-columns:minmax(0,1fr)}
  .st-photo{max-width:560px;width:100%;justify-self:center}
  .st-app{margin:-90px 16px 0}
  .sx-faq{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:820px){
  .day{height:auto}
  .day-pin{position:static;height:auto;padding:60px 0}
  .day-track{flex-direction:column;padding:0 16px;transform:none!important}
  .dp{width:100%;opacity:1;transform:none}
  .st-note{left:8px;top:auto;bottom:96px}
}
@media (max-width:600px){
  .itabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;max-width:calc(100vw - 32px);-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .itabs::-webkit-scrollbar{display:none}
  .itabs a{padding:8px 12px;font-size:13.5px;white-space:nowrap;flex:none}
  .st-app{margin:-70px 0 0}
  .st-body{min-height:0;padding:14px}
  .st-amt{font-size:28px}
}
@keyframes sxUp{from{opacity:0;transform:translateY(24px)}}
@keyframes sxBob{50%{transform:translateY(-8px)}}
