/* FASE NUEVE Empresas — quote-building interface. */

body.business-portal-page {
  --business-card-width: calc((100% - 48px) / 4);
}

body.business-portal-page.business-quote-open {
  overflow: hidden;
}

/* Header and footer fixes specific to the business experience. */
.business-portal-page .business-access > span:nth-child(2) {
  display: grid;
  align-items: center;
  gap: 2px;
}

.business-portal-page .business-access strong,
.business-portal-page .business-access small {
  display: block;
  line-height: 1.1;
}

.business-auth-links {
  display: flex;
  align-items: center;
  gap: 7px;
}

.business-auth-links button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--f9-line);
  color: var(--f9-white);
  background: transparent;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.business-auth-links__login:hover {
  border-color: var(--f9-line-strong);
  background: rgba(255,255,255,.04);
}

.business-auth-links .business-auth-links__create {
  color: #090b10;
  border-color: var(--f9-orange);
  background: var(--f9-orange);
}

.business-auth-links .business-auth-links__create:hover {
  background: var(--f9-orange-2);
}

.business-portal-page .footer-business-cta {
  width: min(100%, 360px);
  min-height: 72px;
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 3px 13px;
  margin-top: 28px;
  padding: 14px 16px;
  border: 1px solid var(--f9-line);
  background: rgba(255,255,255,.02);
}

.business-portal-page .footer-business-cta > span {
  grid-row: 1 / 3;
  width: 34px;
  height: 30px;
  display: grid;
  place-items: center;
  color: #090b10;
  background: var(--f9-orange);
  font-size: 11px;
  font-weight: 950;
  clip-path: polygon(0 0,82% 0,100% 34%,100% 100%,18% 100%,0 66%);
}

.business-portal-page .footer-business-cta b,
.business-portal-page .footer-business-cta small {
  display: block;
  min-width: 0;
  line-height: 1.15;
}

.business-portal-page .footer-business-cta b {
  color: var(--f9-white);
  font-size: 10px;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.business-portal-page .footer-business-cta small {
  color: var(--f9-muted);
  font-size: 10px;
}

/* The approved hero and benefit cards inherit their original storefront styles. */

/* Shared section heading. */
.business-section-heading {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: clamp(28px,5vw,80px);
  margin-bottom: 38px;
}

.business-section-heading--compact {
  align-items: center;
}

.business-section-heading .section-copy {
  max-width: 820px;
}

.business-quote-trigger {
  min-width: 210px;
  min-height: 58px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 14px;
  padding: 0 18px;
  border: 1px solid var(--f9-line-strong);
  color: var(--f9-white);
  background: rgba(255,255,255,.025);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
}

.business-quote-trigger:hover {
  border-color: var(--f9-orange);
  background: rgba(var(--f9-accent-rgb),.08);
}

.business-quote-trigger b {
  min-width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  color: #090b10;
  background: var(--f9-orange);
  font-size: 11px;
}

.business-quote-trigger i {
  color: var(--f9-orange);
  font-size: 17px;
  font-style: normal;
}

/* Product rail. */
.business-products {
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--f9-line);
  border-bottom: 1px solid var(--f9-line);
  background:
    radial-gradient(circle at 93% 8%, rgba(var(--f9-accent-rgb),.13), transparent 24rem),
    linear-gradient(180deg, rgba(255,255,255,.018), transparent 65%);
}

.business-filter-bar {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 0 0 13px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.2) transparent;
}

.business-filter {
  flex: 0 0 auto;
  min-height: 43px;
  padding: 0 16px;
  border: 1px solid var(--f9-line);
  color: var(--f9-muted);
  background: transparent;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
  cursor: pointer;
}

.business-filter:hover {
  color: var(--f9-white);
  border-color: var(--f9-line-strong);
}

.business-filter.is-active,
.business-filter[aria-pressed="true"] {
  color: #090b10;
  border-color: var(--f9-orange);
  background: var(--f9-orange);
}

.business-rail-status {
  min-height: 18px;
  margin: 0 0 12px;
  color: var(--f9-muted-2);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.business-product-rail-shell {
  position: relative;
  min-width: 0;
}

.business-product-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: var(--business-card-width);
  gap: 16px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: inline proximity;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.26) rgba(255,255,255,.035);
  padding: 2px 2px 18px;
}

.business-product-rail::-webkit-scrollbar {
  height: 8px;
}

.business-product-rail::-webkit-scrollbar-track {
  background: rgba(255,255,255,.035);
}

.business-product-rail::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.24);
}

.business-product-card {
  min-width: 0;
  min-height: 770px;
  display: grid;
  grid-template-rows: 245px minmax(0,1fr);
  scroll-snap-align: start;
  border: 1px solid var(--f9-line);
  background: linear-gradient(180deg, #10141b, #0b0e13);
  transition: transform 260ms var(--f9-ease), border-color 200ms ease, box-shadow 260ms ease;
}

.business-product-card[hidden] {
  display: none;
}

.business-product-card:hover {
  transform: translateY(-5px);
  border-color: rgba(var(--f9-accent-rgb),.58);
  box-shadow: 0 25px 65px rgba(0,0,0,.28);
}

.business-product-card__visual {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--f9-line);
  background:
    radial-gradient(circle at 68% 25%, rgba(var(--f9-accent-rgb),.24), transparent 10rem),
    linear-gradient(145deg, rgba(255,255,255,.055), transparent 48%);
}

.business-product-card__visual::before,
.business-product-card__visual::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 50%;
  pointer-events: none;
}

.business-product-card__visual::before {
  width: 260px;
  height: 260px;
}

.business-product-card__visual::after {
  width: 190px;
  height: 190px;
  border-color: rgba(var(--f9-accent-rgb),.1);
}

.business-product-card__index {
  position: absolute;
  right: 15px;
  top: 15px;
  z-index: 4;
  color: rgba(255,255,255,.28);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
}

.business-product-card__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 22px;
}

.business-product-card__category {
  margin: 0;
  color: var(--f9-orange);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.business-product-card h3 {
  margin: 12px 0 0;
  font-size: clamp(23px,2vw,31px);
  line-height: .98;
  letter-spacing: -.045em;
  text-transform: uppercase;
}

.business-product-card__reference {
  margin: 11px 0 0;
  color: var(--f9-muted);
  font-size: 12px;
  line-height: 1.45;
}

.business-product-card__specs {
  display: grid;
  gap: 0;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--f9-line);
}

.business-product-card__specs li {
  min-height: 42px;
  display: grid;
  grid-template-columns: 23px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid var(--f9-line);
}

.business-product-card__specs span {
  color: var(--f9-orange);
  font-size: 8px;
  font-weight: 900;
}

.business-product-card__specs b {
  min-width: 0;
  color: var(--f9-muted);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.35;
}

.business-product-card__status {
  display: grid;
  gap: 4px;
  margin-top: 16px;
}

.business-product-card__status span {
  color: var(--f9-yellow);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .11em;
}

.business-product-card__status small {
  color: var(--f9-muted-2);
  font-size: 10px;
}

.business-product-card__commercial {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 4px 12px;
  margin-top: auto;
  padding-top: 18px;
}

.business-product-card__commercial > span {
  color: var(--f9-muted-2);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .1em;
}

.business-product-card__commercial strong {
  grid-row: 1 / 3;
  grid-column: 2;
  color: var(--f9-white);
  font-size: 13px;
  letter-spacing: -.02em;
}

.business-product-card__commercial small {
  color: var(--f9-muted);
  font-size: 10px;
}

.business-product-card__actions {
  display: grid;
  grid-template-columns: 72px minmax(0,1fr);
  gap: 8px;
  margin-top: 16px;
}

.business-product-card__actions label {
  min-width: 0;
  display: grid;
  grid-template-rows: 15px 42px;
  color: var(--f9-muted-2);
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.business-product-card__actions input {
  width: 100%;
  min-width: 0;
  height: 42px;
  padding: 0 8px;
  border: 1px solid var(--f9-line-strong);
  color: var(--f9-white);
  background: #080a0e;
  text-align: center;
}

.business-product-card__add {
  align-self: end;
  min-height: 42px;
  padding: 0 10px;
  border: 1px solid var(--f9-orange);
  color: #090b10;
  background: var(--f9-orange);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1.25;
  text-transform: uppercase;
  cursor: pointer;
}

.business-product-card__add:hover,
.business-product-card__add.is-added {
  color: var(--f9-white);
  background: rgba(var(--f9-accent-rgb),.13);
}

.business-rail-control {
  position: absolute;
  z-index: 8;
  top: 118px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.22);
  color: var(--f9-white);
  background: rgba(7,9,13,.84);
  backdrop-filter: blur(16px);
  cursor: pointer;
}

.business-rail-control:hover {
  color: #090b10;
  border-color: var(--f9-orange);
  background: var(--f9-orange);
}

.business-rail-control:disabled {
  opacity: .28;
  cursor: default;
}

.business-rail-control--prev {
  left: -13px;
}

.business-rail-control--next {
  right: -13px;
}

.business-catalog-note {
  max-width: 890px;
  margin: 18px 0 0;
  color: var(--f9-muted-2);
  font-size: 11px;
  line-height: 1.65;
}

.business-catalog-note strong {
  color: var(--f9-orange);
  letter-spacing: .08em;
}

/* Abstract, original product illustrations. */
.business-product-art {
  position: relative;
  z-index: 2;
  width: 190px;
  height: 150px;
  transform: translateY(4px);
  filter: drop-shadow(0 26px 26px rgba(0,0,0,.46));
}

.business-product-art span,
.business-product-art i,
.business-product-art b {
  position: absolute;
  display: block;
}

.business-product-art--laptop span {
  left: 25px;
  top: 14px;
  width: 140px;
  height: 91px;
  border: 6px solid #1d232d;
  border-radius: 7px;
  background: radial-gradient(circle at 68% 25%, rgba(var(--f9-accent-rgb),.68), transparent 34%), linear-gradient(145deg,#202631,#07090e);
  transform: rotate(-5deg);
}
.business-product-art--laptop i {
  left: 8px;
  top: 103px;
  width: 174px;
  height: 13px;
  border-radius: 2px 2px 12px 12px;
  background: linear-gradient(180deg,#c5cad1,#4d5560);
  transform: rotate(-5deg);
}
.business-product-art--laptop b { left: 78px; top: 108px; width: 38px; height: 3px; background:#2d333c; transform:rotate(-5deg); }

.business-product-art--monitor span {
  left: 16px;
  top: 8px;
  width: 158px;
  height: 99px;
  border: 6px solid #1b212a;
  border-radius: 6px;
  background: radial-gradient(circle at 66% 30%,rgba(var(--f9-accent-rgb),.7),transparent 32%),linear-gradient(145deg,#1d2430,#07090d);
  transform: rotate(3deg);
}
.business-product-art--monitor i { left:82px; top:105px; width:24px; height:30px; background:linear-gradient(90deg,#555e6a,#bbc0c7,#555e6a); clip-path:polygon(38% 0,62% 0,75% 80%,100% 80%,100% 100%,0 100%,0 80%,25% 80%); }
.business-product-art--monitor b { left:52px; top:133px; width:86px; height:7px; border-radius:50%; background:#737b86; }

.business-product-art--conference span {
  left: 28px;
  top: 22px;
  width: 134px;
  height: 68px;
  border: 5px solid #1c222c;
  border-radius: 14px;
  background: radial-gradient(circle at 50% 50%,#0a0d12 0 15%,#5f6976 16% 20%,#121720 21% 35%,transparent 36%),linear-gradient(145deg,#d8dde2,#5d6671);
}
.business-product-art--conference i { left:70px; top:96px; width:50px; height:27px; border-radius:8px; background:linear-gradient(145deg,#2a313c,#0b0e13); box-shadow:inset 0 -3px 0 var(--f9-orange); }
.business-product-art--conference b { left:36px; top:124px; width:118px; height:10px; border-radius:50%; background:rgba(0,0,0,.35); filter:blur(4px); }

.business-product-art--router span {
  left: 30px;
  top: 60px;
  width: 130px;
  height: 54px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 12px;
  background:linear-gradient(150deg,#f3f5f7,#7c8590 55%,#d7dbe0);
  box-shadow:inset 0 -5px 9px rgba(0,0,0,.28);
}
.business-product-art--router i { left:54px; top:77px; width:7px; height:7px; border-radius:50%; background:var(--f9-orange); box-shadow:18px 0 0 rgba(0,0,0,.32),36px 0 0 rgba(0,0,0,.32),54px 0 0 rgba(0,0,0,.32); }
.business-product-art--router b { left:52px; top:1px; width:86px; height:86px; border:1px solid rgba(var(--f9-accent-rgb),.45); border-radius:50%; box-shadow:0 0 0 18px rgba(var(--f9-accent-rgb),.07),0 0 0 36px rgba(var(--f9-accent-rgb),.035); }

.business-product-art--workstation span {
  left:52px;
  top:3px;
  width:88px;
  height:135px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:8px;
  background:linear-gradient(145deg,rgba(255,255,255,.12),transparent 35%),linear-gradient(180deg,#222a35,#090b10);
  box-shadow:inset 0 0 0 5px rgba(0,0,0,.24);
}
.business-product-art--workstation i { left:72px; top:27px; width:48px; height:48px; border:2px solid rgba(var(--f9-accent-rgb),.8); border-radius:50%; background:repeating-conic-gradient(rgba(var(--f9-accent-rgb),.36) 0 12deg,transparent 13deg 28deg); }
.business-product-art--workstation b { left:76px; top:99px; width:40px; height:6px; border-radius:4px; background:#5d6671; box-shadow:0 13px 0 #363e49; }

.business-product-art--tablet span {
  left:52px;
  top:4px;
  width:88px;
  height:137px;
  border:5px solid #171c24;
  border-radius:15px;
  background:radial-gradient(circle at 68% 20%,rgba(var(--f9-accent-rgb),.72),transparent 30%),linear-gradient(150deg,#202734,#07090d);
  transform:rotate(7deg);
}
.business-product-art--tablet i { left:92px; top:128px; width:7px; height:7px; border-radius:50%; background:#6f7782; transform:rotate(7deg); }
.business-product-art--tablet b { left:37px; top:24px; width:4px; height:100px; border-radius:4px; background:linear-gradient(180deg,var(--f9-orange),transparent); opacity:.55; }

.business-product-art--nas span {
  left:40px;
  top:10px;
  width:112px;
  height:128px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:9px;
  background:linear-gradient(145deg,#d9dde2,#69727d 42%,#242a32 43%,#0b0e13);
}
.business-product-art--nas i { left:57px; top:28px; width:78px; height:22px; border-radius:4px; background:#12171e; box-shadow:0 29px 0 #12171e,0 58px 0 #12171e; }
.business-product-art--nas b { left:67px; top:35px; width:5px; height:5px; border-radius:50%; background:var(--f9-orange); box-shadow:0 29px 0 var(--f9-orange),0 58px 0 var(--f9-orange); }

.business-product-art--ups span {
  left:51px;
  top:5px;
  width:90px;
  height:136px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:12px;
  background:linear-gradient(145deg,#242b35,#080a0e 70%);
}
.business-product-art--ups i { left:73px; top:27px; width:46px; height:30px; border:2px solid #65707c; background:#05070a; box-shadow:inset 0 0 16px rgba(var(--f9-accent-rgb),.35); }
.business-product-art--ups b { left:90px; top:85px; width:12px; height:24px; background:var(--f9-orange); clip-path:polygon(48% 0,100% 0,64% 40%,92% 40%,30% 100%,45% 54%,13% 54%); }

.business-product-art--printer span {
  left:35px;
  top:48px;
  width:120px;
  height:76px;
  border-radius:9px;
  background:linear-gradient(145deg,#e7eaed,#767f89 58%,#2b3139);
  box-shadow:inset 0 -10px 14px rgba(0,0,0,.25);
}
.business-product-art--printer i { left:52px; top:7px; width:86px; height:66px; border:5px solid #151a21; background:linear-gradient(150deg,#fafafa,#adb3bb); transform:perspective(140px) rotateX(-12deg); }
.business-product-art--printer b { left:58px; top:88px; width:75px; height:34px; border:3px solid #1d232b; background:#f4f4f4; box-shadow:inset 0 -12px 0 #c9ced3; }

.business-product-art--peripherals span {
  left:15px;
  top:76px;
  width:126px;
  height:52px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:7px;
  background:repeating-linear-gradient(90deg,transparent 0 10px,rgba(255,255,255,.09) 11px 17px),linear-gradient(145deg,#222932,#090b10);
  transform:rotate(-5deg);
}
.business-product-art--peripherals i { right:19px; top:22px; width:46px; height:69px; border-radius:54% 54% 45% 45%; background:linear-gradient(130deg,#f0f2f4,#747d88); transform:rotate(16deg); box-shadow:inset -8px -11px 15px rgba(0,0,0,.23); }
.business-product-art--peripherals b { right:40px; top:27px; width:2px; height:25px; background:var(--f9-orange); transform:rotate(16deg); }

/* Solution bundles. */
.business-solutions {
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.014));
}

.business-solution-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}

.business-solution-card {
  position: relative;
  min-height: 390px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: clamp(28px,4vw,48px);
  border: 1px solid var(--f9-line);
  background: #0d1016;
  isolation: isolate;
}

.business-solution-card::before,
.business-solution-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.business-solution-card::before {
  inset: 0;
  background: radial-gradient(circle at 77% 22%,rgba(var(--f9-accent-rgb),.22),transparent 15rem),linear-gradient(145deg,rgba(255,255,255,.04),transparent 52%);
}

.business-solution-card::after {
  right: -25px;
  top: -28px;
  width: 240px;
  height: 240px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  box-shadow: 0 0 0 35px rgba(255,255,255,.018),0 0 0 70px rgba(255,255,255,.01);
}

.business-solution-card > span {
  color: var(--f9-orange);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
}

.business-solution-card h3 {
  max-width: 570px;
  margin: 14px 0 0;
  font-size: clamp(35px,4vw,61px);
  line-height: .93;
  letter-spacing: -.055em;
  text-transform: uppercase;
}

.business-solution-card p {
  max-width: 590px;
  margin: 18px 0 0;
  color: var(--f9-muted);
  line-height: 1.6;
}

.business-solution-card button {
  align-self: flex-start;
  min-height: 46px;
  margin-top: 28px;
  padding: 0;
  border: 0;
  color: var(--f9-white);
  background: transparent;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  cursor: pointer;
}

.business-solution-card button b {
  display: inline-block;
  margin-left: 9px;
  color: var(--f9-orange);
  transition: transform 180ms ease;
}

.business-solution-card button:hover b {
  transform: translateX(5px);
}

.business-solution-card--renew::before { background: radial-gradient(circle at 77% 22%,rgba(122,166,255,.2),transparent 15rem),linear-gradient(145deg,rgba(255,255,255,.04),transparent 52%); }
.business-solution-card--meeting::before { background: radial-gradient(circle at 77% 22%,rgba(161,101,255,.18),transparent 15rem),linear-gradient(145deg,rgba(255,255,255,.04),transparent 52%); }
.business-solution-card--network::before { background: radial-gradient(circle at 77% 22%,rgba(108,245,173,.16),transparent 15rem),linear-gradient(145deg,rgba(255,255,255,.04),transparent 52%); }

/* Quote builder and form. */
.business-quote-section {
  border-top: 1px solid var(--f9-line);
  border-bottom: 1px solid var(--f9-line);
  background:
    radial-gradient(circle at 12% 20%,rgba(var(--f9-accent-rgb),.11),transparent 24rem),
    rgba(255,255,255,.012);
}

.business-quote-layout {
  display: grid;
  grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr);
  align-items: start;
  gap: clamp(38px,6vw,92px);
}

.business-quote-intro {
  position: sticky;
  top: calc(var(--f9-header-offset) + 34px);
}

.business-inline-quote {
  margin-top: 34px;
  padding: 22px;
  border: 1px solid var(--f9-line);
  background: rgba(255,255,255,.022);
}

.business-inline-quote > p {
  margin: 0;
  color: var(--f9-muted);
  line-height: 1.65;
}

.business-inline-quote ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.business-inline-quote li {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  align-items: center;
  gap: 13px;
  min-height: 56px;
  border-bottom: 1px solid var(--f9-line);
}

.business-inline-quote li:last-child {
  border-bottom: 0;
}

.business-inline-quote li span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: #090b10;
  background: var(--f9-orange);
  font-size: 9px;
  font-weight: 950;
}

.business-inline-quote li b {
  min-width: 0;
  font-size: 12px;
  line-height: 1.35;
}

.business-quote-form {
  margin: 0;
  padding: clamp(28px,4vw,50px);
  background: #0c0f14;
}

.business-quote-form .field label span {
  color: var(--f9-muted-2);
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.business-quote-form textarea[readonly] {
  min-height: 130px;
  color: var(--f9-muted);
  background: rgba(255,255,255,.025);
}

.business-consent {
  display: grid;
  grid-template-columns: 20px minmax(0,1fr);
  align-items: start;
  gap: 11px;
  padding: 5px 0;
}

.business-consent input {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--f9-orange);
}

.business-consent label {
  margin: 0;
  color: var(--f9-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.55;
  text-transform: none;
}

.business-consent a {
  color: var(--f9-white);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.business-form-privacy {
  margin: 0;
  color: var(--f9-muted-2);
  font-size: 10px;
  line-height: 1.55;
}

/* Business account presentation. */
.business-account {
  overflow: hidden;
}

.business-account__grid {
  display: grid;
  grid-template-columns: minmax(0,.88fr) minmax(480px,1.12fr);
  align-items: center;
  gap: clamp(45px,7vw,110px);
}

.business-account__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 32px;
}

.business-dashboard {
  position: relative;
  min-height: 510px;
  overflow: hidden;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(150deg,#171c25,#090b10 72%);
  box-shadow: 0 45px 100px rgba(0,0,0,.35);
  transform: perspective(1200px) rotateY(-4deg) rotateX(2deg);
}

.business-dashboard::before {
  content: "";
  position: absolute;
  right: -90px;
  top: -100px;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  background: rgba(var(--f9-accent-rgb),.2);
  filter: blur(70px);
}

.business-dashboard__top,
.business-dashboard__nav {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.business-dashboard__top {
  min-height: 56px;
  padding: 0 5px 17px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.42);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .12em;
}

.business-dashboard__brand {
  color: var(--f9-orange);
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -.04em;
}

.business-dashboard__brand b {
  margin-left: 5px;
  color: var(--f9-white);
  font-size: 10px;
  letter-spacing: .08em;
}

.business-dashboard__nav {
  justify-content: flex-start;
  min-height: 56px;
  overflow: hidden;
  color: rgba(255,255,255,.45);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.business-dashboard__nav b {
  color: var(--f9-white);
}

.business-dashboard__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}

.business-dashboard__grid article {
  min-height: 164px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 21px;
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.027);
}

.business-dashboard__grid small {
  color: var(--f9-orange);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
}

.business-dashboard__grid strong {
  margin-top: 12px;
  font-size: 18px;
  line-height: 1.05;
}

.business-dashboard__grid span {
  margin-top: 9px;
  color: rgba(255,255,255,.48);
  font-size: 10px;
  line-height: 1.45;
}

/* Process. */
.business-process {
  border-top: 1px solid var(--f9-line);
  border-bottom: 1px solid var(--f9-line);
  background: rgba(255,255,255,.012);
}

.business-process__line {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.business-process__line li {
  position: relative;
  min-height: 225px;
  padding: 28px 32px 24px 0;
  border-top: 1px solid var(--f9-line-strong);
}

.business-process__line li:not(:last-child)::after {
  content: "→";
  position: absolute;
  right: 22px;
  top: -13px;
  width: 26px;
  display: grid;
  place-items: center;
  color: var(--f9-orange);
  background: var(--f9-obsidian);
}

.business-process__line li > span {
  color: var(--f9-orange);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}

.business-process__line h3 {
  margin: 48px 0 0;
  font-size: clamp(24px,2.3vw,36px);
  line-height: 1;
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.business-process__line p {
  max-width: 270px;
  margin: 14px 0 0;
  color: var(--f9-muted);
  line-height: 1.55;
}

/* Brands and FAQ. */
.business-brand-rail {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin-top: 34px;
  border-top: 1px solid var(--f9-line);
  border-left: 1px solid var(--f9-line);
}

.business-brand-rail span {
  min-height: 130px;
  display: grid;
  place-items: center;
  padding: 18px;
  border-right: 1px solid var(--f9-line);
  border-bottom: 1px solid var(--f9-line);
  color: rgba(255,255,255,.72);
  font-size: clamp(18px,2.2vw,31px);
  font-weight: 950;
  letter-spacing: -.03em;
  text-align: center;
}

.business-brand-rail span:last-child {
  color: var(--f9-muted-2);
  font-size: 11px;
  letter-spacing: .08em;
}

.business-faq {
  border-top: 1px solid var(--f9-line);
}

.business-faq__grid {
  display: grid;
  grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr);
  align-items: start;
  gap: clamp(42px,7vw,110px);
}

.business-faq__list {
  border-top: 1px solid var(--f9-line-strong);
}

.business-faq details {
  border-bottom: 1px solid var(--f9-line-strong);
}

.business-faq summary {
  min-height: 78px;
  display: grid;
  grid-template-columns: minmax(0,1fr) 32px;
  align-items: center;
  gap: 18px;
  padding: 0 4px;
  color: var(--f9-white);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}

.business-faq summary::-webkit-details-marker {
  display: none;
}

.business-faq summary span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  color: var(--f9-orange);
  border: 1px solid var(--f9-line);
  transition: transform 180ms ease;
}

.business-faq details[open] summary span {
  transform: rotate(45deg);
}

.business-faq details p {
  max-width: 760px;
  margin: -4px 0 0;
  padding: 0 45px 28px 4px;
  color: var(--f9-muted);
  line-height: 1.7;
}

/* Final CTA. */
.business-final-cta {
  padding-top: 30px;
}

.business-final-cta__panel {
  min-height: 480px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(34px,6vw,82px);
  border: 1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 83% 23%,rgba(var(--f9-accent-rgb),.28),transparent 19rem),
    linear-gradient(140deg,#171c25,#080a0e 70%);
}

.business-final-cta h2 {
  max-width: 1130px;
  margin: 0;
  font-size: clamp(43px,6.5vw,104px);
  line-height: .88;
  letter-spacing: -.065em;
}

.business-final-cta__panel > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
}

/* Quote drawer. */
.business-quote-drawer {
  position: fixed;
  inset: 0;
  z-index: 260;
  display: grid;
  grid-template-columns: 1fr minmax(360px,520px);
  pointer-events: none;
  visibility: hidden;
}

.business-quote-drawer__scrim {
  background: rgba(0,0,0,.68);
  opacity: 0;
  transition: opacity 260ms ease;
}

.business-quote-drawer__panel {
  min-width: 0;
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  color: var(--f9-white);
  background: #0b0e13;
  border-left: 1px solid var(--f9-line-strong);
  transform: translateX(100%);
  transition: transform 360ms var(--f9-ease);
}

.business-quote-drawer.is-open {
  pointer-events: auto;
  visibility: visible;
}

.business-quote-drawer.is-open .business-quote-drawer__scrim {
  opacity: 1;
}

.business-quote-drawer.is-open .business-quote-drawer__panel {
  transform: translateX(0);
}

.business-quote-drawer__header {
  min-height: 108px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px;
  border-bottom: 1px solid var(--f9-line);
}

.business-quote-drawer__header span {
  color: var(--f9-orange);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
}

.business-quote-drawer__header h2 {
  margin: 8px 0 0;
  font-size: 24px;
  letter-spacing: -.04em;
}

.business-quote-drawer__header h2 b {
  color: var(--f9-orange);
}

.business-quote-drawer__header > button,
.business-dialog__close {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--f9-line);
  color: var(--f9-white);
  background: transparent;
  font-size: 25px;
  cursor: pointer;
}

.business-quote-drawer__list {
  min-height: 0;
  overflow-y: auto;
  padding: 0 24px;
}

.business-quote-empty {
  margin: 45px 0;
  color: var(--f9-muted);
  line-height: 1.6;
}

.business-quote-item {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) auto;
  align-items: center;
  gap: 13px;
  min-height: 96px;
  border-bottom: 1px solid var(--f9-line);
}

.business-quote-item__mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: #090b10;
  background: var(--f9-orange);
  font-size: 9px;
  font-weight: 950;
}

.business-quote-item__content {
  min-width: 0;
}

.business-quote-item__content strong {
  display: block;
  overflow: hidden;
  color: var(--f9-white);
  font-size: 12px;
  line-height: 1.35;
  text-overflow: ellipsis;
}

.business-quote-item__content label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  color: var(--f9-muted-2);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.business-quote-item__content input {
  width: 68px;
  height: 34px;
  padding: 0 7px;
  border: 1px solid var(--f9-line-strong);
  color: var(--f9-white);
  background: #07090d;
}

.business-quote-item__remove {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--f9-line);
  color: var(--f9-muted);
  background: transparent;
  cursor: pointer;
}

.business-quote-item__remove:hover {
  color: var(--f9-white);
  border-color: var(--f9-orange);
}

.business-quote-drawer__footer {
  padding: 22px 24px 25px;
  border-top: 1px solid var(--f9-line);
  background: #0d1016;
}

.business-quote-drawer__footer p {
  margin: 0 0 17px;
  color: var(--f9-muted);
  font-size: 10px;
  line-height: 1.55;
}

.business-quote-drawer__footer .btn {
  width: 100%;
}

.business-quote-clear {
  width: 100%;
  min-height: 40px;
  margin-top: 9px;
  border: 0;
  color: var(--f9-muted-2);
  background: transparent;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}

/* Dialogs and transient status. */
.business-dialog {
  position: fixed;
  width: min(calc(100% - 28px),760px);
  max-height: min(86vh,820px);
  overflow: auto;
  padding: clamp(28px,5vw,54px);
  border: 1px solid var(--f9-line-strong);
  color: var(--f9-white);
  background: #0c0f14;
  box-shadow: 0 45px 120px rgba(0,0,0,.58);
}

.business-dialog::backdrop {
  background: rgba(0,0,0,.76);
  backdrop-filter: blur(8px);
}

.business-dialog > form:first-child {
  position: absolute;
  right: 18px;
  top: 18px;
}

.business-dialog h2 {
  max-width: 640px;
  margin: 0;
  font-size: clamp(36px,5vw,68px);
  line-height: .92;
  letter-spacing: -.055em;
}

.business-dialog > p:not(.eyebrow):not(.form-message) {
  max-width: 650px;
  margin: 20px 0 0;
  color: var(--f9-muted);
  line-height: 1.7;
}

.business-summary-dialog pre {
  max-height: 330px;
  overflow: auto;
  margin: 28px 0 0;
  padding: 20px;
  border: 1px solid var(--f9-line);
  color: #dce1e8;
  background: #07090d;
  font: 12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;
  white-space: pre-wrap;
}

.business-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 24px;
}

.business-toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 310;
  max-width: min(calc(100% - 28px),560px);
  padding: 13px 17px;
  color: #090b10;
  background: var(--f9-orange);
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
  font-size: 11px;
  font-weight: 800;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%,18px);
  transition: opacity 180ms ease,transform 220ms var(--f9-ease);
}

.business-toast.is-visible {
  opacity: 1;
  transform: translate(-50%,0);
}



/* Real-reference product disclosure and media transparency. */
.business-product-card__visual-label {
  position: absolute;
  left: 14px;
  bottom: 13px;
  z-index: 4;
  color: rgba(255,255,255,.52);
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.business-product-card__details {
  margin-top: 14px;
  border-top: 1px solid var(--f9-line);
  border-bottom: 1px solid var(--f9-line);
}

.business-product-card__details summary {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: var(--f9-white);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
}

.business-product-card__details summary::-webkit-details-marker { display: none; }

.business-product-card__details summary span {
  color: var(--f9-orange);
  font-size: 17px;
  transition: transform 180ms ease;
}

.business-product-card__details[open] summary span { transform: rotate(45deg); }

.business-product-card__details > div {
  display: grid;
  gap: 9px;
  padding: 0 0 14px;
}

.business-product-card__details p {
  margin: 0;
  color: var(--f9-muted);
  font-size: 10px;
  line-height: 1.55;
}

.business-product-card__details strong {
  color: var(--f9-white);
  font-weight: 800;
}

.business-product-card__details summary:focus-visible {
  outline: 2px solid var(--f9-orange);
  outline-offset: 3px;
}

/* Light-mode compatibility for the existing preset system. */
html[data-resolved-scheme="light"] .business-product-card,
html[data-resolved-scheme="light"] .business-solution-card,
html[data-resolved-scheme="light"] .business-quote-form,
html[data-resolved-scheme="light"] .business-inline-quote,
html[data-resolved-scheme="light"] .business-dialog,
html[data-resolved-scheme="light"] .business-quote-drawer__panel,
html[data-resolved-scheme="light"] .business-quote-drawer__footer {
  color: #0b0e13;
  background: #fff;
}

html[data-resolved-scheme="light"] .business-product-card h3,
html[data-resolved-scheme="light"] .business-product-card__commercial strong,
html[data-resolved-scheme="light"] .business-solution-card h3,
html[data-resolved-scheme="light"] .business-solution-card button,
html[data-resolved-scheme="light"] .business-faq summary,
html[data-resolved-scheme="light"] .business-dialog h2,
html[data-resolved-scheme="light"] .business-dialog__close,
html[data-resolved-scheme="light"] .business-quote-drawer__header > button,
html[data-resolved-scheme="light"] .business-product-card__details summary,
html[data-resolved-scheme="light"] .business-product-card__details strong,
html[data-resolved-scheme="light"] .business-quote-item__content strong {
  color: #0b0e13;
}

html[data-resolved-scheme="light"] .business-dashboard,
html[data-resolved-scheme="light"] .business-final-cta__panel {
  color: #f8f9fb;
}

html[data-resolved-scheme="light"] .business-brand-rail span {
  color: #20242b;
}

/* Responsive behavior. */
@media (max-width: 1280px) {
  body.business-portal-page { --business-card-width: calc((100% - 32px) / 3); }
  .business-auth-links__login { display: none; }
  .business-auth-links button { padding-inline: 10px; }
}

@media (max-width: 1080px) {
  body.business-portal-page { --business-card-width: calc((100% - 16px) / 2); }
  .business-auth-links { display: none; }
  .business-quote-layout,
  .business-account__grid,
  .business-faq__grid {
    grid-template-columns: 1fr;
  }
  .business-quote-intro { position: static; }
  .business-account__grid { gap: 56px; }
  .business-dashboard { width: min(100%,820px); min-height: 480px; transform: none; }
  .business-faq__grid { gap: 38px; }
  .business-process__line { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .business-process__line li:nth-child(2)::after { display: none; }
  .business-brand-rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  body.business-portal-page { --business-card-width: min(86vw,350px); }
  .business-section-heading { grid-template-columns: 1fr; align-items: start; margin-bottom: 28px; }
  .business-quote-trigger { width: 100%; min-width: 0; }
  .business-product-rail { gap: 11px; margin-right: -14px; padding-right: 14px; }
  .business-product-card { min-height: 750px; grid-template-rows: 225px minmax(0,1fr); }
  .business-product-card__body { padding: 19px; }
  .business-rail-control { display: none; }
  .business-solution-grid { grid-template-columns: 1fr; }
  .business-solution-card { min-height: 345px; }
  .business-quote-form { padding: 22px; }
  .business-account__grid { grid-template-columns: minmax(0,1fr); }
  .business-dashboard { min-height: auto; padding: 15px; }
  .business-dashboard__nav { gap: 13px; }
  .business-dashboard__grid { grid-template-columns: 1fr; }
  .business-dashboard__grid article { min-height: 130px; }
  .business-process__line { grid-template-columns: 1fr; }
  .business-process__line li { min-height: 180px; }
  .business-process__line li::after { display: none; }
  .business-process__line h3 { margin-top: 32px; }
  .business-brand-rail { grid-template-columns: 1fr 1fr; }
  .business-brand-rail span { min-height: 95px; }
  .business-final-cta__panel { min-height: 420px; }
  .business-quote-drawer { grid-template-columns: 1fr; }
  .business-quote-drawer__scrim { display: none; }
  .business-quote-drawer__panel { border-left: 0; }
  .business-dialog__actions .btn { width: 100%; }
}

@media (max-width: 480px) {
  body.business-portal-page { --business-card-width: 88vw; }
  .business-filter { min-height: 42px; padding-inline: 13px; }
  .business-product-card { min-height: 735px; }
  .business-product-card h3 { font-size: 25px; }
  .business-product-card__actions { grid-template-columns: 68px minmax(0,1fr); }
  .business-account__actions .btn,
  .business-final-cta__panel .btn { width: 100%; }
  .business-dashboard__nav span:last-child { display: none; }
  .business-brand-rail { grid-template-columns: 1fr; }
  .business-faq summary { min-height: 72px; font-size: 14px; }
  .business-quote-drawer__header,
  .business-quote-drawer__list,
  .business-quote-drawer__footer { padding-left: 18px; padding-right: 18px; }
  .business-quote-item { grid-template-columns: 40px minmax(0,1fr) 34px; }
}

@media (prefers-reduced-motion: reduce) {
  .business-product-rail { scroll-behavior: auto; }
  .business-product-card,
  .business-rail-control,
  .business-solution-card button b,
  .business-quote-drawer__scrim,
  .business-quote-drawer__panel,
  .business-toast,
  .business-faq summary span,
  .business-product-card__details summary span {
    transition-duration: .01ms !important;
  }
  .business-product-card:hover { transform: none; }
  .business-dashboard { transform: none; }
}
