/* STAGG SOFTWARE LABS — Standalone, scoped homepage hero.
   All selectors use ssl- prefixes so the existing site and Studio CSS are untouched.
   The mock screens are deliberately non-interactive illustrations. */
.ssl-hero,
.ssl-hero * { box-sizing: border-box; }
.ssl-hero {
  --ssl-navy: #071322;
  --ssl-blue: #3566b5;
  --ssl-orange: #fe8200;
  --ssl-muted: #aebed2;
  overflow: hidden;
  isolation: isolate;
  position: relative;
  background:
    radial-gradient(ellipse 45% 55% at 75% 62%, rgba(29, 71, 141, .16), transparent 76%),
    radial-gradient(ellipse 48% 48% at 98% 65%, rgba(255, 112, 31, .09), transparent 83%),
    linear-gradient(128deg, #091524 0%, #061222 58%, #051020 100%);
  color: #f9fbff;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.ssl-hero__container {
  max-width: 1660px;
  min-height: 748px;
  margin: 0 auto;
  padding: 70px clamp(24px, 3vw, 56px) 56px;
  display: grid;
  grid-template-columns: minmax(0, .43fr) minmax(0, .57fr);
  gap: clamp(18px, 2vw, 42px);
  align-items: center;
}
.ssl-hero__copy { position: relative; z-index: 3; min-width: 0; max-width: 650px; }
.ssl-hero__eyebrow {
  color: #a4b4ce;
  letter-spacing: .18em;
  font-size: clamp(11px, .9vw, 14px);
  font-weight: 750;
  line-height: 1.6;
  margin: 0 0 22px;
}
.ssl-hero__copy h1 {
  font-size: clamp(48px, 4.5vw, 78px);
  line-height: 1.07;
  letter-spacing: -.062em;
  font-weight: 800;
  margin: 0 0 28px;
  color: #fff;
}
.ssl-hero__copy h1 span { color: var(--ssl-orange); display: block; }
.ssl-hero__description {
  max-width: 600px;
  color: #b4c2d5;
  font-size: clamp(17px, 1.2vw, 20px);
  line-height: 1.7;
  margin: 0;
}
.ssl-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 34px; }
.ssl-hero__button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  min-height: 54px;
  padding: 12px 23px;
  text-decoration: none;
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.ssl-hero__button:hover { transform: translateY(-2px); }
.ssl-hero__button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.ssl-hero__button--primary { background: #3278ef; color: white; box-shadow: 0 12px 30px #0e50b663; }
.ssl-hero__button--primary:hover { background: #4387f9; box-shadow: 0 16px 38px #0e50b68c; }
.ssl-hero__button--outline { border: 1px solid #4b5b70; color: #e5ebf5; background: #ffffff02; }
.ssl-hero__button--outline:hover { border-color: #a7b8d0; }
.ssl-hero__proof { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 32px; color: #9fb3cc; font-size: 12px; font-weight: 650; }
.ssl-hero__proof span { display: inline-flex; align-items: center; gap: 7px; }
.ssl-hero__proof svg { width: 16px; height: 16px; fill: none; stroke: var(--ssl-orange); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

/* The artboard uses one fixed composition and responsive, uniform CSS scaling.
   This prevents the website, dashboard, and phone from colliding at breakpoints. */
.ssl-showcase {
  --ssl-scale: .88;
  position: relative;
  width: calc(970px * var(--ssl-scale));
  height: calc(694px * var(--ssl-scale));
  max-width: none;
  justify-self: start;
  isolation: isolate;
}
.ssl-showcase__scene {
  position: absolute;
  inset: 0 auto auto 0;
  width: 970px;
  height: 694px;
  transform: scale(var(--ssl-scale));
  transform-origin: top left;
  overflow: visible;
}
.ssl-showcase__ambient { position: absolute; border-radius: 50%; filter: blur(35px); z-index: -1; pointer-events: none; }
.ssl-showcase__ambient--blue { width: 550px; height: 340px; left: 145px; top: 238px; background: #155fcb38; }
.ssl-showcase__ambient--orange { width: 480px; height: 300px; left: 485px; top: 240px; background: #fa7a1633; }
.ssl-showcase__orbit { position: absolute; left: 50px; top: 430px; width: 810px; height: 170px; border: 2px solid #fe82003b; border-radius: 50%; transform: rotate(-10deg); box-shadow: 0 0 30px #ff6f1619; }
.ssl-showcase__caption { position: absolute; left: 16%; right: 5%; top: calc(675px * var(--ssl-scale)); color: #7286a2; text-align: center; font-size: 11px; margin: 0; letter-spacing: .045em; }
.ssl-tag { position: absolute; display: inline-flex; align-items: center; gap: 12px; z-index: 8; height: 45px; padding: 0 19px; border-radius: 999px; background: #081528ef; font-weight: 750; font-size: 17px; letter-spacing: -.025em; color: #f8faff; white-space: nowrap; border: 1.4px solid #4274c9; box-shadow: 0 6px 25px #010a1ba8; }
.ssl-tag__icon { color: #fe8200; font-size: 25px; font-weight: 800; line-height: 1; }
.ssl-tag--website { left: 112px; top: 10px; border-color: #e4733a; }
.ssl-tag--website::after { content: ""; position: absolute; width: 93px; height: 27px; left: 100%; top: 21px; border-right: 2px solid #fe8200; border-top: 2px solid #fe8200; border-top-right-radius: 28px; }
.ssl-tag--software { left: 176px; top: 626px; border-color: #3566b5; box-shadow: 0 0 18px #3b7dff4d, 0 12px 25px #021022; }
.ssl-tag--software::before { content: ""; position: absolute; width: 2px; height: 30px; top: -31px; left: 26px; background: #fe8200; }
.ssl-tag--mobile { left: 709px; top: 64px; border-color: #3566b5; }
.ssl-tag--mobile::after { content: ""; position: absolute; top: 44px; right: 42px; width: 2px; height: 39px; background: #fe8200; }

/* Website browser */
.ssl-browser { position: absolute; z-index: 2; left: 74px; top: 75px; width: 696px; height: 372px; background: #0a192c; border: 2px solid #526f9a; border-radius: 18px; overflow: hidden; box-shadow: 0 24px 80px #000b19a6, 0 0 30px #fe820020; }
.ssl-browser__top { height: 28px; background: #0d1d33; display: flex; align-items: center; padding: 0 14px; position: relative; }
.ssl-browser__dots { display: flex; gap: 6px; }
.ssl-browser__dots i { display: block; height: 8px; width: 8px; border-radius: 50%; background: #fc6063; }
.ssl-browser__dots i:nth-child(2) { background: #ffbc46; }
.ssl-browser__dots i:nth-child(3) { background: #46c988; }
.ssl-browser__address { color: #6f829b; background: #ffffff08; padding: 2px 65px; font-size: 9px; border-radius: 6px; margin: auto; }
.ssl-browser__top-end { color: #677b93; font-size: 12px; }
.ssl-browser__nav { height: 48px; display: flex; align-items: center; padding: 0 28px; gap: 22px; color: #fff; background: #091726; }
.ssl-browser__nav strong { font-size: 18px; letter-spacing: .09em; }
.ssl-browser__nav strong span { color: #fe8200; }
.ssl-browser__navlinks { margin-left: auto; display: flex; gap: 21px; font-size: 9px; opacity: .83; }
.ssl-browser__pill { background: #f6f7fb; padding: 9px 14px; color: #071429; border-radius: 99px; font-size: 9px; font-weight: 800; }
.ssl-browser__cover { height: 257px; position: relative; background: linear-gradient(90deg,#07182a 0%,#07182acf 37%,#06152a1a 88%), url('assets/alpine-scene.svg') center center / cover no-repeat; }
.ssl-browser__cover-content { position: absolute; top: 40px; left: 32px; }
.ssl-browser__cover small { color: #c4d4e4; letter-spacing: .14em; font-size: 8px; font-weight: 800; }
.ssl-browser__cover h2 { color: white; font-size: 42px; letter-spacing: -.065em; line-height: 1.02; margin: 13px 0 11px; }
.ssl-browser__cover p { font-size: 12px; max-width: 235px; line-height: 1.55; margin: 0 0 16px; color: #d5e4f2; }
.ssl-browser__orange-button { font-weight: 800; display: inline-flex; align-items: center; gap: 16px; color: #fff; background: #fe8200; border-radius: 99px; padding: 11px 16px; font-size: 10px; }
.ssl-browser__orange-button b { font-size: 12px; }
.ssl-browser__bottom { display: flex; align-items: center; gap: 62px; height: 39px; background: #eaf0f8; padding: 0 35px; color: #294563; font-size: 10px; font-weight: 700; }

/* Internal business software UI */
.ssl-dashboard { position: absolute; z-index: 4; left: 94px; top: 335px; height: 290px; width: 696px; overflow: hidden; display: grid; grid-template-columns: 162px 1fr; background: #07182d; color: #fff; border: 2px solid #356ec2; border-radius: 17px; box-shadow: 0 26px 60px #010815d1, 0 0 27px #2e72df3f; }
.ssl-dashboard__sidebar { background: #081527; padding: 20px 12px; border-right: 1px solid #273e5a; }
.ssl-dashboard__brand { color: white; display: flex; align-items: center; gap: 9px; font-size: 15px; font-weight: 800; margin-bottom: 24px; letter-spacing: -.03em; }
.ssl-dashboard__brand span { font-size: 17px; color: #317af3; }
.ssl-dashboard__nav { color: #a9bcda; height: 29px; display: flex; align-items: center; gap: 10px; font-size: 10px; font-weight: 650; padding: 0 12px; margin-bottom: 4px; border-radius: 6px; }
.ssl-dashboard__nav span { font-size: 15px; color: #a6badd; width: 15px; }
.ssl-dashboard__nav--selected { background: #15386e; color: #7cb4ff; }
.ssl-dashboard__main { min-width: 0; padding: 13px 15px; }
.ssl-dashboard__toolbar { display: flex; align-items: center; justify-content: space-between; color: #7189aa; font-size: 10px; margin-bottom: 14px; }
.ssl-dashboard__toolbar>span:first-child { border: 1px solid #233d5c; background: #102641; width: 72%; border-radius: 7px; padding: 8px 13px; }
.ssl-dashboard__avatar { width: 25px; height: 25px; border-radius: 50%; background: linear-gradient(145deg,#2f73df,#72bbef); display: flex; justify-content: center; align-items: center; font-weight: 900; color: white; font-size: 9px; }
.ssl-dashboard__heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 14px; }
.ssl-dashboard__heading h3 { font-size: 17px; font-weight: 800; margin: 0 0 3px; }
.ssl-dashboard__heading p { color: #91a6c4; font-size: 9px; margin: 0; }
.ssl-dashboard__heading>span { font-size: 9px; color: #c4d3e9; background: #132842; padding: 8px 10px; border-radius: 7px; }
.ssl-dashboard__metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-bottom: 8px; }
.ssl-dashboard__metric { background: #10243e; border: 1px solid #213551; border-radius: 8px; padding: 11px 10px 8px; min-width: 0; }
.ssl-dashboard__metric small { display: block; color: #9bb1ca; font-size: 8px; margin-bottom: 7px; }
.ssl-dashboard__metric b { display: block; font-size: 19px; margin-bottom: 4px; letter-spacing: -.03em; }
.ssl-dashboard__metric em { color: #3dde8a; font-size: 8px; font-style: normal; font-weight: 750; }
.ssl-dashboard__lower { display: grid; grid-template-columns: 1.16fr .84fr; gap: 8px; }
.ssl-dashboard__chart,.ssl-dashboard__activity { height: 105px; background: #10243e; border: 1px solid #213551; border-radius: 8px; padding: 10px 11px; }
.ssl-dashboard__lower h4 { font-size: 9px; margin: 0; color: #eaf1ff; }
.ssl-dashboard__bars { display: flex; align-items: end; height: 63px; gap: 8px; padding: 8px 4px 0; border-bottom: 1px solid #314665; background: repeating-linear-gradient(to top,transparent 0,transparent 18px,#ffffff0b 19px); }
.ssl-dashboard__bars span { display: block; flex: 1; height: var(--bar); min-height: 5px; border-radius: 2px 2px 0 0; background: linear-gradient(to top,#3674d9 0 32%,#fe833d 32% 100%); }
.ssl-dashboard__months { display: flex; justify-content: space-between; color: #839ab6; font-size: 7px; padding: 3px 2px; }
.ssl-dashboard__activity p { font-size: 8px; margin: 10px 0; color: #c8d7ed; white-space: nowrap; }
.ssl-dashboard__activity p span { font-size: 7px; margin-right: 6px; color: #4187ff; }
.ssl-dashboard__activity p:last-child span { color: #42cd9c; }

/* Native mobile app mockup */
.ssl-phone { position: absolute; z-index: 6; left: 761px; top: 160px; width: 209px; height: 470px; transform: rotate(2.5deg); background: #070d18; border: 5px solid #303746; border-radius: 33px; box-shadow: 0 20px 65px #000c18bd, 0 0 24px #fa6c1d44; overflow: hidden; }
.ssl-phone__screen { background: linear-gradient(160deg,#0b2039,#061321 65%); height: 100%; border-radius: 28px; overflow: hidden; padding: 11px 12px; position: relative; }
.ssl-phone__island { height: 16px; width: 66px; border-radius: 22px; background: #03070e; position: absolute; top: 7px; left: 50%; transform: translateX(-50%); }
.ssl-phone__status { display: flex; align-items: center; justify-content: space-between; font-size: 8px; font-weight: 850; padding: 0 3px; color: #fff; }
.ssl-phone__app-head { display: flex; align-items: center; justify-content: space-between; margin-top: 25px; color: white; }
.ssl-phone__app-head strong { font-size: 14px; letter-spacing: -.04em; }
.ssl-phone__app-head strong span { color: #377ff2; font-size: 20px; vertical-align: -2px; }
.ssl-phone__user { color: #a9c0e0; background: #163052; display: flex; justify-content: center; align-items: center; width: 22px; height: 22px; border-radius: 50%; font-size: 11px; }
.ssl-phone__welcome { margin-top: 28px; }
.ssl-phone__welcome p { color: #f1f6ff; font-weight: 750; margin: 0; font-size: 16px; }
.ssl-phone__welcome h3 { font-size: 24px; margin: 0 0 5px; line-height: 1.1; letter-spacing: -.055em; }
.ssl-phone__welcome small { color: #afc0da; font-size: 9px; }
.ssl-phone__stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; margin-top: 20px; }
.ssl-phone__stats>div { background: #112c49; border: 1px solid #173957; border-radius: 8px; padding: 9px 5px; text-align: center; }
.ssl-phone__stats span { color: #fe8200; font-size: 14px; display: block; }
.ssl-phone__stats>div:nth-child(3) span { color: #54a3fa; }
.ssl-phone__stats strong { display: block; font-size: 14px; margin-top: 3px; }
.ssl-phone__stats small { display: block; color: #9bb4d3; font-size: 7px; line-height: 1.4; margin-top: 3px; }
.ssl-phone__section-title { display: flex; justify-content: space-between; align-items: center; margin-top: 24px; margin-bottom: 10px; }
.ssl-phone__section-title strong { font-size: 12px; }
.ssl-phone__section-title span { color: #5aa2ff; font-size: 9px; }
.ssl-phone__task { background: #112740; border: 1px solid #23415e; display: flex; align-items: center; gap: 7px; margin-bottom: 6px; padding: 7px 6px; border-radius: 9px; }
.ssl-phone__task-icon { display: flex; justify-content: center; align-items: center; background: linear-gradient(135deg,#f99757,#8c3626); color: #fff; width: 28px; height: 33px; border-radius: 6px; }
.ssl-phone__task-icon--blue { background: linear-gradient(135deg,#508bd0,#234878); }
.ssl-phone__task div:nth-child(2) { flex: 1; min-width: 0; }
.ssl-phone__task strong { white-space: nowrap; display: block; font-size: 8px; }
.ssl-phone__task small { white-space: nowrap; color: #a9bfdc; display: block; font-size: 7px; margin-top: 3px; }
.ssl-phone__task>span { width: 16px; height: 16px; border-radius: 50%; background: #fe8200; font-size: 7px; display: flex; justify-content: center; align-items: center; }
.ssl-phone__navigation { display: flex; justify-content: space-between; position: absolute; bottom: 12px; left: 12px; right: 12px; border-top: 1px solid #1d324e; padding-top: 9px; }
.ssl-phone__navigation span { font-size: 14px; text-align: center; color: #8da3bc; }
.ssl-phone__navigation small { display: block; font-size: 7px; margin-top: 4px; }
.ssl-phone__navigation .ssl-phone__navigation--active { color: #fe8200; }

@media (min-width: 1700px) { .ssl-showcase { --ssl-scale: .93; } }
@media (max-width: 1499px) { .ssl-showcase { --ssl-scale: .74; } .ssl-hero__container { min-height: 670px; } }
@media (max-width: 1280px) { .ssl-showcase { --ssl-scale: .64; } .ssl-hero__container { min-height: 590px; } .ssl-hero__copy h1 { font-size: clamp(48px,4.5vw,67px); } }
@media (max-width: 1050px) {
  .ssl-hero__container { display: flex; flex-direction: column; align-items: stretch; gap: 24px; min-height: 0; padding: 74px 30px 38px; }
  .ssl-hero__copy { display: contents; }
  .ssl-hero__eyebrow { order: 1; }
  .ssl-hero__copy h1 { order: 2; font-size: clamp(48px, 6.2vw, 78px); max-width: 720px; }
  .ssl-hero__description { order: 3; max-width: 730px; }
  .ssl-showcase { --ssl-scale: .78; order: 4; margin: 0 auto; justify-self: center; }
  .ssl-hero__proof { order: 5; margin-top: 8px; justify-content: center; }
  .ssl-showcase__caption { display: none; }
}
@media (max-width: 800px) { .ssl-showcase { --ssl-scale: .74; } .ssl-hero__container { padding: 65px 25px 40px; } }
@media (max-width: 690px) { .ssl-showcase { --ssl-scale: .66; } .ssl-hero__copy h1 { font-size: clamp(44px, 9vw, 60px); } }
@media (max-width: 560px) {
  .ssl-hero__container { padding: 50px 16px 32px; gap: 18px; }
  .ssl-showcase {
    --ssl-scale: .44;
    width: calc(970px * var(--ssl-scale));
    max-width: 100%;
    height: calc(660px * var(--ssl-scale));
  }
  .ssl-hero__description { font-size: 16px; line-height: 1.65; }
  .ssl-hero__actions { margin-top: 25px; gap: 10px; }
  .ssl-hero__button { font-size: 13px; min-height: 46px; padding: 11px 16px; }
  .ssl-hero__proof { margin-top: 10px; gap: 12px; font-size: 11px; }
}
@media (max-width: 430px) { .ssl-showcase { --ssl-scale: .42; } .ssl-hero__eyebrow { font-size: 10px; } .ssl-hero__copy h1 { font-size: 43px; } }
@media (max-width: 355px) { .ssl-showcase { --ssl-scale: .38; } .ssl-hero__copy h1 { font-size: 38px; } }
@media (prefers-reduced-motion: reduce) { .ssl-hero__button { transition: none; } }
