:root {
  --demo-cream: #f5f2e9;
  --demo-lime: #c9ff7a;
  --demo-dark: #071f2e;
  --demo-purple: #6f5bd3;
}

.demo-page {
  background: #fbfdfc;
}

.demo-page .site-header {
  background: rgba(251, 253, 252, 0.92);
}

.demo-page .nav-links a[aria-current="page"] {
  color: var(--green-dark);
  background: #eaf8f1;
}

.nav-demo-cta {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 8px 15px;
  color: #fff;
  background: var(--navy);
  border-radius: 8px;
  font-size: 0.92rem;
  font-weight: 800;
  transition: transform 160ms ease, background 160ms ease;
}

.nav-demo-cta:hover,
.nav-demo-cta:focus-visible {
  background: #123d52;
  outline: none;
  transform: translateY(-1px);
}

.demo-kicker {
  display: flex;
  gap: 9px;
  align-items: center;
  margin: 0 0 17px;
  color: var(--green-dark);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.demo-kicker > span {
  width: 8px;
  height: 8px;
  background: var(--green);
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(24, 185, 120, 0.12);
}

.demo-kicker-light {
  color: #83e6b9;
}

.demo-hero {
  position: relative;
  overflow: hidden;
  padding: 82px 0 0;
  color: #fff;
  background:
    radial-gradient(circle at 78% 42%, rgba(24, 185, 120, 0.18), transparent 28%),
    radial-gradient(circle at 10% 0%, rgba(18, 132, 199, 0.15), transparent 34%),
    var(--demo-dark);
}

.demo-hero::after {
  position: absolute;
  inset: 0;
  content: "";
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 44px 44px;
  pointer-events: none;
  mask-image: linear-gradient(to bottom, #000, transparent 92%);
}

.demo-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 72px;
  align-items: center;
  min-height: 595px;
}

.demo-hero-copy {
  padding-bottom: 80px;
}

.demo-hero-copy h1 {
  max-width: 670px;
  margin: 0;
  color: #fff;
  font-size: clamp(3.15rem, 5vw, 4.7rem);
  line-height: .98;
  letter-spacing: -.05em;
}

.demo-hero-copy h1 em {
  position: relative;
  color: var(--demo-lime);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
}

.demo-hero-lede {
  max-width: 610px;
  margin: 26px 0 0;
  color: #bfd1d9;
  font-size: 1.17rem;
  line-height: 1.65;
}

.demo-hero-actions {
  display: flex;
  gap: 11px;
  flex-wrap: wrap;
  margin: 31px 0 25px;
}

.demo-hero-actions .button {
  min-height: 50px;
  padding: 13px 20px;
}

.demo-button-dark {
  gap: 10px;
  color: #fff;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.18);
}

.demo-button-dark:hover,
.demo-button-dark:focus-visible {
  background: rgba(255,255,255,.14);
}

.demo-hero-points {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  color: #9fb8c3;
  list-style: none;
  font-size: .83rem;
  font-weight: 750;
}

.demo-hero-points li::before {
  margin-right: 7px;
  color: #70dcaa;
  content: "✓";
}

.demo-hero-stage {
  position: relative;
  min-height: 550px;
}

.demo-orbit {
  position: absolute;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
}

.demo-orbit-one { inset: 0 -140px -120px 15px; }
.demo-orbit-two { inset: 75px -65px -55px 95px; }

.demo-browser {
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 16px;
  box-shadow: 0 35px 90px rgba(0,0,0,.38);
}

.demo-browser-hero {
  position: absolute;
  top: 22px;
  left: 0;
  width: 660px;
  transform: rotate(1.4deg);
}

.demo-browser-bar {
  display: flex;
  height: 38px;
  gap: 6px;
  align-items: center;
  padding: 0 13px;
  color: #75858d;
  background: #f5f7f7;
  border-bottom: 1px solid #e5eaec;
  font-size: .66rem;
}

.demo-browser-bar i {
  width: 7px;
  height: 7px;
  background: #d2dadd;
  border-radius: 50%;
}

.demo-browser-bar span {
  min-width: 190px;
  padding: 5px 12px;
  margin-left: 8px;
  background: #fff;
  border-radius: 5px;
  text-align: center;
}

.hero-checkout {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  min-height: 430px;
  color: #102a37;
}

.hero-product-art {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(145deg, #d4eade, #8fbea5);
}

.hero-product-art::before,
.hero-product-art::after {
  position: absolute;
  width: 290px;
  height: 90px;
  content: "";
  background: rgba(255,255,255,.18);
  border-radius: 50%;
  transform: rotate(-22deg);
}

.hero-product-art::before { top: 5px; left: -110px; }
.hero-product-art::after { right: -130px; bottom: 25px; }

.hero-product-art > span {
  position: relative;
  z-index: 1;
  display: flex;
  width: 115px;
  height: 190px;
  align-items: center;
  justify-content: center;
  color: #d8f4e4;
  background: #123f35;
  border-radius: 12px 12px 30px 30px;
  box-shadow: 0 25px 45px rgba(12,62,49,.35);
  font-family: Georgia, serif;
  font-size: 2rem;
}

.hero-product-art small {
  position: absolute;
  bottom: 26px;
  left: 25px;
  z-index: 1;
  color: #264c3e;
  font-size: .65rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.hero-checkout-form { padding: 34px 36px; }
.mini-brand { display: flex; justify-content: space-between; align-items: center; }
.mini-brand b { color: #133e34; font-family: Georgia, serif; letter-spacing: .13em; }
.mini-brand span { color: #84949a; font-size: .54rem; font-weight: 800; letter-spacing: .1em; }
.hero-checkout-form h2 { margin: 43px 0 5px; font-size: 1.55rem; }
.hero-checkout-form > p { margin: 0 0 20px; color: #79878c; font-size: .77rem; }
.hero-input-row { display: grid; gap: 4px; padding: 10px 0; border-bottom: 1px solid #e6eced; }
.hero-input-row span { color: #89979c; font-size: .59rem; text-transform: uppercase; }
.hero-input-row b { font-size: .78rem; }
.hero-pay-row { display: flex; justify-content: space-between; align-items: center; padding: 18px 0 13px; font-size: .79rem; }
.pay-chip { padding: 7px 9px; background: #f3f6f6; border-radius: 5px; }
.hero-pay-button { display: flex; justify-content: space-between; padding: 12px 14px; color: #fff; background: #123f35; border-radius: 6px; font-size: .76rem; font-weight: 850; }

.demo-floating-card {
  position: absolute;
  z-index: 3;
  display: flex;
  gap: 11px;
  align-items: center;
  padding: 13px 15px;
  color: #102a37;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 11px;
  box-shadow: 0 18px 45px rgba(0,0,0,.25);
}

.demo-floating-card small,
.demo-floating-card strong { display: block; }
.demo-floating-card small { color: #74858e; font-size: .61rem; }
.demo-floating-card strong { font-size: .86rem; }
.demo-floating-revenue { top: 55px; right: -90px; }
.demo-floating-order { right: -30px; bottom: 50px; }
.demo-float-icon,
.demo-float-check { display: flex; width: 31px; height: 31px; align-items: center; justify-content: center; border-radius: 8px; font-weight: 900; }
.demo-float-icon { color: #078b58; background: #e4f8ee; }
.demo-float-check { color: #fff; background: var(--green-dark); border-radius: 50%; }

.demo-proof-strip {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 68px;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  color: #a8bdc6;
  border-top: 1px solid rgba(255,255,255,.1);
  font-size: .73rem;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.demo-proof-strip i { width: 3px; height: 3px; background: #3e5d6a; border-radius: 50%; }

.demo-section { padding: 108px 0; }
.demo-section-heading { margin-bottom: 50px; }
.demo-section-heading h2,
.demo-feature-copy h2,
.build-heading h2,
.demo-final h2 {
  margin: 0;
  font-size: clamp(2.4rem, 4.2vw, 3.8rem);
  line-height: 1.06;
  letter-spacing: -.04em;
}

.demo-heading-split { display: grid; grid-template-columns: 1.05fr .75fr; gap: 80px; align-items: end; }
.demo-heading-split > p { margin: 0 0 5px; color: var(--slate); font-size: 1.04rem; line-height: 1.7; }
.demo-heading-center { max-width: 780px; margin-right: auto; margin-left: auto; text-align: center; }
.demo-heading-center .demo-kicker { justify-content: center; }
.demo-heading-center > p:last-child { max-width: 650px; margin: 19px auto 0; color: var(--slate); font-size: 1.06rem; }

.checkout-showcase { background: #fff; }
.checkout-studio { display: grid; grid-template-columns: 310px 1fr; overflow: hidden; color: #122b38; background: #f2f5f4; border: 1px solid #dce6e7; border-radius: 18px; box-shadow: 0 30px 80px rgba(9,32,51,.12); }
.studio-controls { padding: 30px 26px; background: #fff; border-right: 1px solid #dce6e7; }
.studio-control-top { display: flex; justify-content: space-between; align-items: center; }
.studio-label { color: var(--green-dark); font-size: .65rem; font-weight: 900; letter-spacing: .1em; }
.studio-status { color: #7a8b92; font-size: .58rem; }
.studio-status i { display: inline-block; width: 6px; height: 6px; margin-right: 4px; background: var(--green); border-radius: 50%; }
.studio-controls h3 { margin: 44px 0 10px; font-size: 1.65rem; line-height: 1.08; }
.studio-controls > p { color: #72848c; font-size: .78rem; }
.theme-picker { display: grid; gap: 8px; margin: 18px 0 32px; }
.theme-choice { display: flex; width: 100%; gap: 11px; align-items: center; padding: 10px 11px; color: #49606b; background: #fff; border: 1px solid #dfe8e9; border-radius: 8px; cursor: pointer; font-size: .74rem; font-weight: 800; text-align: left; }
.theme-choice.is-active { color: #0d2d3c; background: #f1f8f5; border-color: #7ec8aa; box-shadow: 0 0 0 2px rgba(24,185,120,.08); }
.theme-dot { width: 25px; height: 25px; border: 4px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #d1dcdf; }
.theme-wellness { background: #517e62; }
.theme-editorial { background: #b76d45; }
.theme-bold { background: #6f5bd3; }
.studio-control-list { display: grid; gap: 8px; }
.studio-control-list span { display: flex; gap: 10px; align-items: center; padding: 9px 0; color: #425a65; border-bottom: 1px solid #edf1f2; font-size: .74rem; font-weight: 750; }
.studio-control-list i { display: flex; width: 27px; height: 27px; align-items: center; justify-content: center; color: #4d676f; background: #f0f4f4; border-radius: 6px; font-style: normal; font-size: .68rem; }
.studio-controls .studio-note { margin-top: 25px; padding: 13px; color: #49656e; background: #eef8f3; border-radius: 8px; font-size: .67rem; line-height: 1.5; }
.studio-preview { display: flex; min-width: 0; align-items: center; justify-content: center; padding: 42px; background: radial-gradient(circle at 80% 20%, rgba(24,185,120,.12), transparent 25%), #edf2f1; }
.studio-browser { width: 100%; max-width: 780px; overflow: hidden; background: #fff; border: 1px solid #d8e1e3; border-radius: 12px; box-shadow: 0 25px 65px rgba(8,35,48,.16); }
.studio-checkout { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 540px; }
.studio-summary { position: relative; overflow: hidden; padding: 30px 34px; color: #1b4538; background: #dcebd9; transition: color 200ms ease, background 200ms ease; }
.studio-brand { display: flex; gap: 9px; align-items: center; }
.studio-logo-mark { display: flex; width: 27px; height: 27px; align-items: center; justify-content: center; color: #f1f8ed; background: #315d48; border-radius: 50%; font-family: Georgia, serif; transition: background 200ms ease; }
.studio-brand-name { font-family: Georgia, serif; font-size: .8rem; letter-spacing: .18em; }
.studio-product-image { position: relative; display: flex; height: 250px; align-items: center; justify-content: center; }
.studio-bottle { position: relative; z-index: 2; display: flex; width: 115px; height: 175px; align-items: center; justify-content: center; color: #dbebdf; background: #315d48; border-radius: 7px 7px 30px 30px; box-shadow: 0 22px 35px rgba(27,65,50,.25); transition: background 200ms ease; }
.studio-bottle::before { position: absolute; top: -17px; width: 78px; height: 20px; content: ""; background: #243e32; border-radius: 5px 5px 2px 2px; }
.studio-bottle b { font-family: Georgia, serif; font-size: 1.8rem; }
.studio-leaf { position: absolute; width: 95px; height: 35px; background: #9bbd8e; border-radius: 100% 0 100% 0; }
.leaf-one { left: 35px; bottom: 45px; transform: rotate(25deg); }
.leaf-two { top: 58px; right: 26px; transform: rotate(-35deg); }
.studio-product-kicker { margin: 4px 0 8px; font-size: .54rem; font-weight: 900; letter-spacing: .16em; }
.studio-summary h3 { margin: 0 0 8px; font-family: Georgia, serif; font-size: 1.65rem; font-weight: 500; }
.studio-product-copy { max-width: 260px; margin: 0 0 18px; color: inherit; opacity: .78; font-size: .7rem; }
.studio-price-row { display: flex; justify-content: space-between; padding-top: 15px; border-top: 1px solid rgba(38,82,62,.18); font-size: .68rem; }
.studio-price-row strong { font-size: .85rem; }
.studio-form { padding: 40px 42px 28px; }
.studio-step { display: grid; grid-template-columns: 28px 1fr; gap: 12px; }
.studio-step > span { display: flex; width: 27px; height: 27px; align-items: center; justify-content: center; color: #fff; background: #315d48; border-radius: 50%; font-size: .55rem; font-weight: 900; transition: background 200ms ease; }
.studio-step small { display: block; margin-bottom: 9px; color: #7c8a90; font-size: .52rem; font-weight: 900; letter-spacing: .1em; }
.express-pay { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.express-pay b { padding: 9px 5px; color: #fff; background: #172e3a; border-radius: 5px; font-size: .61rem; text-align: center; }
.express-pay b:nth-child(2) { color: #1a272d; background: #f1f3f3; border: 1px solid #dce1e3; }
.express-pay b:nth-child(3) { color: #143d91; background: #eef3ff; }
.studio-divider { position: relative; margin: 25px 0 18px; border-top: 1px solid #e2e8e9; text-align: center; }
.studio-divider span { position: relative; top: -9px; padding: 0 10px; color: #8a989d; background: #fff; font-size: .56rem; }
.studio-form label { display: grid; gap: 5px; margin-bottom: 10px; color: #526771; font-size: .57rem; font-weight: 800; }
.studio-form input[type="text"] { width: 100%; padding: 10px; color: #5b6e76; background: #fff; border: 1px solid #d9e3e5; border-radius: 5px; font-size: .68rem; }
.studio-fields { display: grid; grid-template-columns: 1.35fr .65fr; gap: 8px; }
.studio-bump { grid-template-columns: auto 1fr auto !important; gap: 9px !important; align-items: center; padding: 10px; background: #f2f8f5; border: 1px solid #cee5d8; border-radius: 6px; }
.studio-bump input { accent-color: var(--green-dark); }
.studio-bump span strong,
.studio-bump span small { display: block; }
.studio-bump span strong { color: #203b46; font-size: .64rem; }
.studio-bump span small { margin-top: 2px; color: #71838a; font-size: .53rem; }
.studio-bump > b { display: flex; width: 22px; height: 22px; align-items: center; justify-content: center; color: #fff; background: #315d48; border-radius: 50%; }
.studio-submit { display: flex; width: 100%; justify-content: space-between; padding: 12px 14px; color: #fff; background: #315d48; border: 0; border-radius: 6px; font-size: .68rem; font-weight: 850; transition: background 200ms ease; }
.studio-secure { display: block; margin-top: 11px; color: #85949a; font-size: .52rem; text-align: center; }
.checkout-studio[data-theme="editorial"] .studio-summary { color: #4a2718; background: #f0d7c1; }
.checkout-studio[data-theme="editorial"] .studio-logo-mark,
.checkout-studio[data-theme="editorial"] .studio-bottle,
.checkout-studio[data-theme="editorial"] .studio-step > span,
.checkout-studio[data-theme="editorial"] .studio-bump > b,
.checkout-studio[data-theme="editorial"] .studio-submit { background: #954f32; }
.checkout-studio[data-theme="editorial"] .studio-leaf { background: #c58e68; }
.checkout-studio[data-theme="bold"] .studio-summary { color: #241d56; background: #dfdafd; }
.checkout-studio[data-theme="bold"] .studio-logo-mark,
.checkout-studio[data-theme="bold"] .studio-bottle,
.checkout-studio[data-theme="bold"] .studio-step > span,
.checkout-studio[data-theme="bold"] .studio-bump > b,
.checkout-studio[data-theme="bold"] .studio-submit { background: #5e49bf; }
.checkout-studio[data-theme="bold"] .studio-leaf { background: #a99be9; }

.sample-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; margin-top: 28px; }
.sample-card { min-width: 0; padding: 18px; border-radius: 14px; }
.sample-top { display: flex; justify-content: space-between; margin-bottom: 16px; font-size: .64rem; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; opacity: .72; }
.sample-phone { max-width: 250px; padding: 22px 24px 25px; margin: 0 auto; background: #fff; border-radius: 14px 14px 0 0; box-shadow: 0 18px 40px rgba(0,0,0,.13); text-align: center; }
.sample-phone-brand { font-size: .58rem; font-weight: 900; letter-spacing: .14em; }
.sample-phone h3 { margin: 10px 0 3px; font-size: 1.05rem; }
.sample-phone p { margin: 0 0 12px; color: #7b888d; font-size: .62rem; }
.sample-phone button { width: 100%; padding: 9px; color: #fff; border: 0; border-radius: 5px; font-size: .6rem; font-weight: 850; }
.sample-dark { color: #fff; background: #17242a; }
.sample-dark .sample-phone { color: #eee6d8; background: #0d1113; border: 1px solid #34393a; }
.sample-noir-art { display: flex; height: 130px; align-items: center; justify-content: center; margin: 16px 0 6px; color: #e8dfce; background: linear-gradient(145deg,#222,#080909); border: 1px solid #414141; font-family: Georgia,serif; font-size: 2.6rem; }
.sample-noir-art span { font-size: .8rem; }
.sample-dark .sample-phone p { color: #aaa49b; }
.sample-dark button { color: #14110e; background: #e7ddca; }
.sample-warm { color: #57331f; background: #e5b38d; }
.sample-warm .sample-phone { color: #57331f; background: #fff9f1; }
.sample-coffee-art { position: relative; display: flex; height: 130px; align-items: center; justify-content: center; margin: 16px 0 6px; overflow: hidden; color: #f8e8d2; background: #8d4f2c; }
.sample-coffee-art i { position: absolute; width: 170px; height: 70px; background: #d99a6b; border-radius: 50%; transform: rotate(-25deg); }
.sample-coffee-art b { position: relative; font-family: Georgia,serif; font-size: 2.1rem; }
.sample-warm button { background: #8d4f2c; }
.sample-clean { color: #1c4a5a; background: #cce9ee; }
.sample-clean .sample-phone { color: #173d4b; background: #f9ffff; }
.sample-lab-art { display: flex; height: 130px; gap: 12px; align-items: center; justify-content: center; margin: 16px 0 6px; color: #dff8f6; background: linear-gradient(135deg,#9bd5d0,#326e74); }
.sample-lab-art b { display: flex; width: 62px; height: 90px; align-items: center; justify-content: center; color: #285a61; background: #edfafa; border-radius: 5px 5px 12px 12px; }
.sample-lab-art span { align-self: flex-end; margin-bottom: 18px; font-size: .6rem; font-weight: 900; }
.sample-clean button { background: #286873; }

.upsell-showcase { color: #fff; background: #0a2637; }
.demo-feature-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 85px; align-items: center; }
.demo-feature-copy > p:not(.demo-kicker) { max-width: 500px; margin: 23px 0; color: #b8cdd5; font-size: 1.03rem; line-height: 1.72; }
.demo-check-list { display: grid; gap: 12px; padding: 0; margin: 28px 0 0; list-style: none; color: #d5e5eb; font-size: .88rem; font-weight: 750; }
.demo-check-list li { display: flex; gap: 10px; align-items: center; }
.demo-check-list li::before { display: flex; width: 22px; height: 22px; align-items: center; justify-content: center; color: #062d20; background: var(--demo-lime); border-radius: 50%; content: "✓"; font-size: .65rem; font-weight: 900; }
.upsell-stage { position: relative; min-height: 610px; padding: 52px 100px 45px 58px; background: radial-gradient(circle at 70% 35%, rgba(111,91,211,.25), transparent 35%), #102f42; border: 1px solid rgba(255,255,255,.1); border-radius: 20px; }
.upsell-flow-label { display: flex; gap: 11px; align-items: center; margin-bottom: 24px; color: #89a5b2; font-size: .55rem; font-weight: 900; letter-spacing: .08em; }
.upsell-flow-label span:nth-of-type(2) { color: #a991ff; }
.upsell-flow-label i { width: 45px; height: 1px; background: #446071; }
.upsell-window { max-width: 500px; padding: 34px 38px 31px; color: #192e38; background: #fbfaf6; border-radius: 12px; box-shadow: 0 28px 65px rgba(0,0,0,.3); text-align: center; }
.upsell-progress { height: 3px; margin: -34px -38px 28px; overflow: hidden; background: #e6e8e4; border-radius: 12px 12px 0 0; }
.upsell-progress span { display: block; width: 72%; height: 100%; background: #765dcb; }
.upsell-window > small { color: #755ed0; font-size: .57rem; font-weight: 900; letter-spacing: .1em; }
.upsell-window h3 { margin: 9px 0; font-family: Georgia,serif; font-size: 2rem; font-weight: 500; }
.upsell-window > p { max-width: 390px; margin: 0 auto 18px; color: #6d7c82; font-size: .7rem; line-height: 1.55; }
.upsell-product { display: flex; gap: 14px; align-items: center; padding: 12px; margin: 0 0 14px; background: #f0ecfb; border-radius: 8px; text-align: left; }
.upsell-product-art { display: flex; width: 58px; height: 72px; align-items: center; justify-content: center; color: #eee9ff; background: #6953bd; border-radius: 5px 5px 13px 13px; }
.upsell-product div:nth-child(2) { flex: 1; }
.upsell-product strong,
.upsell-product span { display: block; }
.upsell-product strong { font-size: .77rem; }
.upsell-product span { margin-top: 3px; color: #6f7780; font-size: .62rem; }
.upsell-window button { display: flex; width: 100%; justify-content: space-between; padding: 12px 14px; color: #fff; background: #6a53c0; border: 0; border-radius: 6px; font-size: .69rem; font-weight: 850; }
.upsell-window > a { display: inline-block; margin-top: 11px; color: #7f898e; font-size: .57rem; text-decoration: underline; }
.upsell-metric { position: absolute; right: 18px; bottom: 55px; width: 175px; padding: 17px; color: #173040; background: var(--demo-lime); border-radius: 11px; box-shadow: 0 17px 42px rgba(0,0,0,.26); transform: rotate(2deg); }
.upsell-metric small,
.upsell-metric strong,
.upsell-metric span { display: block; }
.upsell-metric small { font-size: .58rem; font-weight: 800; }
.upsell-metric strong { margin: 5px 0; font-size: 1.55rem; }
.upsell-metric span { color: #47604c; font-size: .56rem; }

.subscription-showcase { background: #f4f7f6; }
.subscription-dashboard { display: grid; grid-template-columns: 185px 1fr; overflow: hidden; margin-top: 52px; background: #fff; border: 1px solid #dce5e7; border-radius: 18px; box-shadow: 0 28px 75px rgba(9,32,51,.12); }
.dash-sidebar { display: flex; min-height: 585px; flex-direction: column; padding: 24px 18px; color: #dbe8ed; background: #0b2a3a; }
.dash-logo { display: flex; gap: 9px; align-items: center; padding: 0 4px 28px; }
.dash-logo span { display: flex; width: 29px; height: 29px; align-items: center; justify-content: center; color: #0b2a3a; background: var(--demo-lime); border-radius: 7px; font-size: .58rem; font-weight: 900; }
.dash-logo b { font-size: .84rem; }
.dash-sidebar nav { display: grid; gap: 5px; }
.dash-sidebar nav a { padding: 9px 11px; color: #9bb2bd; border-radius: 6px; font-size: .68rem; font-weight: 750; }
.dash-sidebar nav a.is-active { color: #fff; background: rgba(255,255,255,.09); }
.dash-user { display: flex; gap: 9px; align-items: center; padding-top: 18px; margin-top: auto; border-top: 1px solid rgba(255,255,255,.1); }
.dash-user > span { display: flex; width: 30px; height: 30px; align-items: center; justify-content: center; color: #0d3b36; background: #a8e3ca; border-radius: 50%; font-size: .57rem; font-weight: 900; }
.dash-user b,
.dash-user small { display: block; }
.dash-user b { font-size: .66rem; }
.dash-user small { color: #84a0ad; font-size: .51rem; }
.dash-main { min-width: 0; padding: 30px; }
.dash-heading { display: flex; justify-content: space-between; align-items: center; }
.dash-heading small { color: #8a9aa1; font-size: .53rem; font-weight: 850; letter-spacing: .11em; }
.dash-heading h3 { margin: 5px 0 0; font-size: 1.45rem; }
.dash-heading button { padding: 9px 12px; color: #fff; background: var(--green-dark); border: 0; border-radius: 6px; font-size: .62rem; font-weight: 850; }
.dash-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 11px; margin: 24px 0 13px; }
.dash-metrics article { padding: 17px; background: #fbfcfc; border: 1px solid #e2e9ea; border-radius: 9px; }
.dash-metrics span,
.dash-metrics strong,
.dash-metrics small { display: block; }
.dash-metrics span { color: #70838c; font-size: .58rem; }
.dash-metrics strong { margin: 8px 0 5px; font-size: 1.3rem; }
.dash-metrics small { color: #7c8c92; font-size: .53rem; }
.dash-metrics small.positive { color: #078e59; }
.dash-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 13px; }
.dash-chart,
.dash-activity { min-width: 0; padding: 18px; border: 1px solid #e2e9ea; border-radius: 9px; }
.dash-card-heading { display: flex; justify-content: space-between; align-items: center; }
.dash-card-heading strong,
.dash-card-heading small { display: block; }
.dash-card-heading strong { font-size: .73rem; }
.dash-card-heading small { color: #89989e; font-size: .53rem; }
.dash-card-heading > span { padding: 5px 7px; color: #4f6873; background: #f1f4f4; border-radius: 5px; font-size: .51rem; font-weight: 850; }
.chart-area { position: relative; height: 190px; padding: 18px 0 20px 35px; }
.chart-area::before { position: absolute; inset: 18px 0 23px 35px; content: ""; background: repeating-linear-gradient(to bottom,#edf1f2 0,#edf1f2 1px,transparent 1px,transparent 49px); }
.chart-y { position: absolute; top: 13px; bottom: 20px; left: 0; display: flex; flex-direction: column; justify-content: space-between; color: #94a2a7; font-size: .46rem; }
.chart-area svg { position: relative; z-index: 1; width: 100%; height: 140px; overflow: visible; }
.chart-fill { fill: url(#chartFill); }
.chart-line { fill: none; stroke: #18a66d; stroke-width: 4; stroke-linecap: round; }
.chart-x { display: flex; justify-content: space-between; color: #93a0a5; font-size: .46rem; }
.live-dot { color: #078e59 !important; background: #eaf8f1 !important; }
.live-dot::before { display: inline-block; width: 5px; height: 5px; margin-right: 4px; background: #18b978; border-radius: 50%; content: ""; }
.dash-activity ul { display: grid; gap: 0; padding: 0; margin: 10px 0 0; list-style: none; }
.dash-activity li { display: grid; grid-template-columns: 26px 1fr auto; gap: 7px; align-items: center; padding: 11px 0; border-bottom: 1px solid #eef2f3; }
.dash-activity li > i { display: flex; width: 24px; height: 24px; align-items: center; justify-content: center; border-radius: 6px; font-style: normal; font-size: .53rem; font-weight: 900; }
.activity-green { color: #078e59; background: #e7f7ef; }
.activity-blue { color: #1677b5; background: #eaf5fb; }
.activity-amber { color: #a36508; background: #fff4dc; }
.dash-activity li b,
.dash-activity li span { display: block; }
.dash-activity li b { font-size: .56rem; }
.dash-activity li span { color: #89989e; font-size: .49rem; }
.dash-activity li > strong { font-size: .58rem; }
.subscription-features { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; margin-top: 18px; }
.subscription-features article { padding: 25px; background: #fff; border: 1px solid #dce5e7; border-radius: 11px; }
.subscription-features article > span { color: var(--green-dark); font-size: .65rem; font-weight: 900; }
.subscription-features h3 { margin: 28px 0 8px; font-size: 1.18rem; }
.subscription-features p { margin: 0; color: var(--slate); font-size: .8rem; line-height: 1.6; }

.feature-cloud { background: #fff; }
.feature-cloud-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.feature-cloud-grid article { min-height: 220px; padding: 27px; background: #fafcfb; border: 1px solid #dfe8e9; border-radius: 12px; transition: transform 160ms ease, box-shadow 160ms ease; }
.feature-cloud-grid article:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(9,32,51,.08); }
.feature-cloud-icon { display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; color: #087e50; background: #e8f8f0; border-radius: 9px; font-family: Consolas, monospace; font-size: .78rem; font-weight: 900; }
.feature-cloud-grid h3 { margin: 34px 0 8px; font-size: 1.18rem; }
.feature-cloud-grid p { margin: 0; color: var(--slate); font-size: .79rem; line-height: 1.58; }

.build-showcase { color: #fff; background: #eef4f1; }
.build-card { padding: 64px; background: var(--demo-dark); border-radius: 22px; box-shadow: 0 28px 80px rgba(9,32,51,.2); }
.build-heading { max-width: 790px; }
.build-heading > p:last-child { max-width: 700px; margin: 20px 0 0; color: #b7ccd5; font-size: 1rem; line-height: 1.65; }
.build-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; margin-top: 43px; }
.build-path { padding: 32px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; }
.build-visual { background: linear-gradient(145deg,rgba(24,185,120,.17),rgba(24,185,120,.05)); }
.build-api { background: rgba(255,255,255,.045); }
.build-path-top { display: flex; justify-content: space-between; align-items: center; }
.build-path-top span { color: #8ee6bd; font-size: .57rem; font-weight: 900; letter-spacing: .11em; }
.build-path-top i { color: #93e7c0; font-family: Consolas,monospace; font-style: normal; }
.build-path h3 { margin: 31px 0 10px; font-size: 1.55rem; }
.build-path > p { min-height: 68px; margin: 0; color: #b8ccd4; font-size: .82rem; line-height: 1.6; }
.build-path ul { display: grid; gap: 7px; padding: 0; margin: 18px 0 26px; list-style: none; color: #d6e5ea; font-size: .73rem; }
.build-path li::before { margin-right: 8px; color: #83e3b7; content: "✓"; }
.build-path > a { display: inline-flex; gap: 15px; align-items: center; color: var(--demo-lime); font-size: .78rem; font-weight: 850; }
.code-sample { min-height: 108px; padding: 16px; margin: 18px 0 26px; overflow-x: auto; color: #d6e5ea; background: #041720; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; font-size: .67rem; line-height: 1.55; }
.code-sample span { color: #77d7ad; }
.code-sample em { color: #e7d889; font-style: normal; }
.build-footer { padding-top: 27px; margin-top: 27px; border-top: 1px solid rgba(255,255,255,.1); }
.build-footer p { max-width: 900px; margin: 0; color: #a9c0ca; font-size: .78rem; line-height: 1.65; }
.build-footer strong { color: #fff; }

.demo-final { padding: 0 0 108px; background: #eef4f1; }
.demo-final-card { display: grid; grid-template-columns: 1fr auto; gap: 55px; align-items: center; padding: 55px 60px; color: #fff; background: linear-gradient(120deg,#0b2a3a,#0b3d37); border-radius: 20px; }
.demo-final h2 { max-width: 760px; font-size: clamp(2.2rem,3.6vw,3.3rem); }
.demo-final p:not(.demo-kicker) { max-width: 690px; margin: 18px 0 0; color: #bdd0d8; }
.demo-final-actions { display: grid; gap: 9px; min-width: 220px; }
.demo-button-outline { color: #fff; background: transparent; border-color: rgba(255,255,255,.25); }
.demo-button-outline:hover,
.demo-button-outline:focus-visible { background: rgba(255,255,255,.08); }

@media (max-width: 1080px) {
  .demo-hero-grid { grid-template-columns: 1fr; gap: 20px; }
  .demo-hero-copy { max-width: 820px; padding-bottom: 5px; }
  .demo-hero-stage { min-height: 580px; }
  .demo-browser-hero { left: 50%; transform: translateX(-50%) rotate(1deg); }
  .demo-floating-revenue { right: 3%; }
  .demo-floating-order { right: 7%; }
  .checkout-studio { grid-template-columns: 260px 1fr; }
  .studio-preview { padding: 28px; }
  .studio-form { padding: 34px 28px 24px; }
  .demo-feature-grid { grid-template-columns: 1fr; gap: 48px; }
  .demo-feature-copy { max-width: 720px; }
  .upsell-stage { max-width: 780px; }
  .dash-main { padding: 24px; }
  .dash-grid { grid-template-columns: 1fr; }
  .dash-activity ul { grid-template-columns: 1fr 1fr; gap: 0 16px; }
}

@media (max-width: 820px) {
  .demo-page .nav-actions { display: grid; }
  .nav-demo-cta { width: 100%; }
  .demo-hero { padding-top: 62px; }
  .demo-hero-copy h1 { font-size: 3.45rem; }
  .demo-hero-stage { min-height: 515px; transform: scale(.88); transform-origin: top center; margin-bottom: -55px; }
  .demo-proof-strip { flex-wrap: wrap; justify-content: center; padding: 20px 0; }
  .demo-proof-strip i { display: none; }
  .demo-section { padding: 78px 0; }
  .demo-heading-split { grid-template-columns: 1fr; gap: 22px; }
  .checkout-studio { grid-template-columns: 1fr; }
  .studio-controls { border-right: 0; border-bottom: 1px solid #dce6e7; }
  .studio-controls h3 { margin-top: 28px; }
  .theme-picker { grid-template-columns: repeat(3,1fr); }
  .studio-control-list { grid-template-columns: 1fr 1fr; }
  .sample-grid { grid-template-columns: 1fr; }
  .sample-card { min-height: 380px; }
  .subscription-dashboard { grid-template-columns: 1fr; }
  .dash-sidebar { min-height: 0; }
  .dash-sidebar nav { grid-template-columns: repeat(3,1fr); }
  .dash-user { display: none; }
  .dash-metrics,
  .subscription-features { grid-template-columns: 1fr; }
  .feature-cloud-grid { grid-template-columns: 1fr 1fr; }
  .build-card { padding: 43px 30px; }
  .build-paths { grid-template-columns: 1fr; }
  .demo-final-card { grid-template-columns: 1fr; padding: 43px 32px; }
  .demo-final-actions { max-width: 310px; }
}

@media (max-width: 620px) {
  .demo-hero-copy h1 { font-size: 2.7rem; }
  .demo-hero-lede { font-size: 1.02rem; }
  .demo-hero-actions { align-items: stretch; flex-direction: column; }
  .demo-hero-actions .button { width: 100%; }
  .demo-hero-points { display: grid; }
  .demo-hero-stage { min-height: 430px; margin: 15px -20px -80px; transform: scale(.64); transform-origin: top center; }
  .demo-browser-hero { left: 50%; }
  .demo-floating-revenue { right: -13%; }
  .demo-floating-order { right: -7%; }
  .demo-proof-strip { gap: 9px 16px; font-size: .61rem; }
  .demo-section-heading h2,
  .demo-feature-copy h2,
  .build-heading h2 { font-size: 2.2rem; }
  .theme-picker,
  .studio-control-list { grid-template-columns: 1fr; }
  .studio-preview { padding: 14px; }
  .studio-checkout { grid-template-columns: 1fr; }
  .studio-summary { min-height: 430px; }
  .studio-form { padding: 28px 20px 24px; }
  .sample-card { min-height: 350px; }
  .upsell-stage { min-height: 610px; padding: 42px 18px; }
  .upsell-flow-label i { width: 16px; }
  .upsell-window { padding: 30px 22px; }
  .upsell-progress { margin: -30px -22px 25px; }
  .upsell-metric { right: 8px; bottom: 22px; }
  .dash-sidebar nav { grid-template-columns: 1fr 1fr; }
  .dash-main { padding: 18px; }
  .dash-heading { align-items: flex-start; flex-direction: column; gap: 13px; }
  .dash-activity ul { grid-template-columns: 1fr; }
  .feature-cloud-grid { grid-template-columns: 1fr; }
  .feature-cloud-grid article { min-height: 190px; }
  .build-card { width: calc(100% - 22px); padding: 37px 21px; }
  .build-path { padding: 24px 20px; }
  .demo-final-card { width: calc(100% - 22px); }
}

@media (prefers-reduced-motion: reduce) {
  .theme-choice,
  .studio-summary,
  .studio-logo-mark,
  .studio-bottle,
  .studio-step > span,
  .studio-bump > b,
  .studio-submit { transition: none; }
}
