/* ==================================================================
   Farazo Smart Task Organizer — B2B Scheduling SaaS v7.2.0
   Complete replacement stylesheet
   Visual direction: operational scheduling desk / editorial B2B SaaS
   Palette: #15314B / #4BA3C7
   ================================================================== */

/* =========================================================
   VARIABLES
   ========================================================= */
.farazo-site-shell,
body.farazo-woo-page {
  --farazo-primary: #15314b;
  --farazo-primary-rgb: 21, 49, 75;
  --farazo-secondary: #0d2436;
  --farazo-secondary-rgb: 13, 36, 54;
  --farazo-accent: #4ba3c7;
  --farazo-accent-rgb: 75, 163, 199;
  --farazo-surface: #f4f8fb;
  --farazo-white: #ffffff;
  --farazo-ink: #142638;
  --farazo-text: #526575;
  --farazo-muted: #7a8b99;
  --farazo-line: #d8e4ec;
  --farazo-line-strong: #bfd0dc;
  --farazo-cyan-soft: #e9f5f9;
  --farazo-blue-soft: #edf3f7;
  --farazo-dark-2: #102c42;
  --farazo-success: #237b63;
  --farazo-danger: #b5465b;
  --farazo-card-radius: 14px;
  --farazo-button-radius: 8px;
  --farazo-font: Inter, Manrope, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --farazo-shadow-sm: 0 10px 32px rgba(20, 48, 72, 0.07);
  --farazo-shadow-md: 0 26px 70px rgba(12, 35, 52, 0.16);
}

/* =========================================================
   FOUNDATIONS
   ========================================================= */
.farazo-site-shell,
.farazo-site-shell *,
.farazo-site-shell *::before,
.farazo-site-shell *::after {
  box-sizing: border-box;
}

html:has(body.farazo-page),
body.farazo-page,
body.farazo-woo-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html:has(body.farazo-page),
body.farazo-page {
  overflow-x: clip !important;
}

@supports not (overflow: clip) {
  html:has(body.farazo-page),
  body.farazo-page,
  .farazo-site-shell {
    overflow-x: hidden !important;
  }
}

body.farazo-page {
  background: #091923 !important;
}

.farazo-site-shell {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow-x: clip;
  color: var(--farazo-ink);
  background: var(--farazo-white);
  font-family: var(--farazo-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.farazo-site-shell main,
.farazo-site-shell section,
.farazo-site-shell header,
.farazo-site-shell footer,
.farazo-site-shell nav,
.farazo-site-shell article,
.farazo-site-shell aside,
.farazo-site-shell div {
  min-width: 0;
}

.farazo-site-shell img,
.farazo-site-shell svg {
  display: block;
  max-width: 100%;
}

.farazo-site-shell svg {
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
}

.farazo-site-shell a {
  color: inherit;
  text-decoration: none;
}

.farazo-site-shell button,
.farazo-site-shell input,
.farazo-site-shell select,
.farazo-site-shell textarea {
  margin: 0;
  font: inherit;
}

.farazo-site-shell button,
.farazo-site-shell a {
  -webkit-tap-highlight-color: transparent;
}

.farazo-site-shell h1,
.farazo-site-shell h2,
.farazo-site-shell h3,
.farazo-site-shell p,
.farazo-site-shell ul,
.farazo-site-shell ol,
.farazo-site-shell figure {
  margin-top: 0;
}

.farazo-site-shell h1,
.farazo-site-shell h2,
.farazo-site-shell h3 {
  color: inherit;
  font-family: var(--farazo-font);
  letter-spacing: -0.042em;
  text-wrap: balance;
}

.farazo-site-shell p {
  text-wrap: pretty;
}

.farazo-site-shell ::selection {
  color: #fff;
  background: var(--farazo-accent);
}

.farazo-container {
  position: relative;
  width: min(calc(100% - 64px), 1260px);
  max-width: 1260px;
  margin-inline: auto;
}

.farazo-section {
  position: relative;
  width: 100%;
  padding: 108px 0;
}

.farazo-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--farazo-accent);
  font-size: 10px;
  font-weight: 850;
  line-height: 1.3;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.farazo-kicker::before {
  width: 28px;
  height: 1px;
  flex: 0 0 28px;
  background: currentColor;
  content: "";
}

.farazo-heading-split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(270px, 0.55fr);
  gap: 82px;
  align-items: end;
  margin-bottom: 50px;
}

.farazo-heading-split h2,
.farazo-section-intro h2,
.farazo-audience-lead h2,
.farazo-faq-intro h2,
.farazo-benefits-copy h2 {
  margin: 15px 0 0;
  font-size: clamp(38px, 4.4vw, 62px);
  font-weight: 690;
  line-height: 1.01;
}

.farazo-heading-split > p,
.farazo-section-intro > p,
.farazo-audience-lead > p,
.farazo-faq-intro > p,
.farazo-benefits-copy > p {
  color: var(--farazo-text);
  font-size: 15px;
  line-height: 1.78;
}

.farazo-heading-split > p {
  margin: 0 0 4px;
}

.farazo-heading-light,
.farazo-heading-light h2,
.farazo-heading-light p {
  color: #fff;
}

.farazo-heading-light .farazo-kicker {
  color: #93d6ec;
}

.farazo-skip-link {
  position: fixed;
  z-index: 999999;
  top: 12px;
  left: 12px;
  padding: 10px 15px;
  color: #fff !important;
  border-radius: 5px;
  background: var(--farazo-accent);
  font-size: 12px;
  font-weight: 800;
  transform: translateY(-160%);
  transition: transform 170ms ease;
}

.farazo-skip-link:focus {
  transform: translateY(0);
}

/* =========================================================
   WORDPRESS / HELLO / ELEMENTOR FULL WIDTH
   ========================================================= */
body.farazo-page > header,
body.farazo-page > footer,
body.farazo-page #masthead,
body.farazo-page #site-header,
body.farazo-page #colophon,
body.farazo-page #site-footer,
body.farazo-page .site-header:not(.farazo-header),
body.farazo-page .site-footer:not(.farazo-footer),
body.farazo-page .elementor-location-header,
body.farazo-page .elementor-location-footer {
  display: none !important;
}

body.farazo-page #page,
body.farazo-page .site,
body.farazo-page .site-content,
body.farazo-page .content-area,
body.farazo-page .site-main,
body.farazo-page main.site-main,
body.farazo-page article.page,
body.farazo-page article.type-page,
body.farazo-page .entry-content,
body.farazo-page .page-content,
body.farazo-page .wp-site-blocks,
body.farazo-page .wp-block-post-content,
body.farazo-page .page,
body.farazo-page .hentry,
body.farazo-page .inside-article,
body.farazo-page .entry-content > .wp-block-group,
body.farazo-page .elementor,
body.farazo-page .elementor-section-wrap,
body.farazo-page .elementor-widget-wrap,
body.farazo-page .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.farazo-page .entry-header,
body.farazo-page .page-header,
body.farazo-page .entry-title,
body.farazo-page .post-thumbnail,
body.farazo-page .comments-area {
  display: none !important;
}

body.farazo-page .farazo-site-shell {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
}

body.farazo-page .farazo-site-shell main {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.farazo-page .farazo-site-shell + * {
  margin-top: 0 !important;
}

html.farazo-menu-open,
html.farazo-menu-open body {
  overflow: hidden;
}

/* =========================================================
   BUTTONS — ALWAYS READABLE ON DARK BACKGROUNDS
   ========================================================= */
.farazo-button,
.farazo-site-shell .farazo-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 19px;
  border: 1px solid transparent;
  border-radius: var(--farazo-button-radius);
  font-size: 12px;
  font-weight: 820;
  line-height: 1.2;
  cursor: pointer;
  transition: transform 170ms ease, background-color 170ms ease, border-color 170ms ease, box-shadow 170ms ease;
}

.farazo-button svg {
  width: 15px;
  height: 15px;
  transition: transform 170ms ease;
}

.farazo-button:hover {
  transform: translateY(-2px);
}

.farazo-button:hover svg {
  transform: translateX(3px);
}

/* Force white text on every intentionally dark/accent button, all states. */
.farazo-button-primary,
.farazo-button-primary:link,
.farazo-button-primary:visited,
.farazo-button-primary:hover,
.farazo-button-primary:focus,
.farazo-button-primary:active,
.farazo-button-dark,
.farazo-button-dark:link,
.farazo-button-dark:visited,
.farazo-button-dark:hover,
.farazo-button-dark:focus,
.farazo-button-dark:active,
.farazo-button-accent,
.farazo-button-accent:link,
.farazo-button-accent:visited,
.farazo-button-accent:hover,
.farazo-button-accent:focus,
.farazo-button-accent:active,
.farazo-nav-action,
.farazo-nav-action:link,
.farazo-nav-action:visited,
.farazo-nav-action:hover,
.farazo-nav-action:focus,
.farazo-nav-action:active,
.farazo-submit-button,
.farazo-submit-button:hover,
.farazo-submit-button:focus,
.farazo-submit-button:active {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.farazo-button-primary *,
.farazo-button-dark *,
.farazo-button-accent *,
.farazo-nav-action *,
.farazo-submit-button * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

.farazo-button-primary {
  background: var(--farazo-primary);
}

.farazo-button-primary:hover {
  background: var(--farazo-secondary);
}

.farazo-button-dark {
  background: var(--farazo-secondary);
}

.farazo-button-dark:hover {
  background: #061722;
}

.farazo-button-accent {
  background: var(--farazo-accent);
  box-shadow: 0 12px 26px rgba(var(--farazo-accent-rgb), 0.20);
}

.farazo-button-accent:hover {
  background: #348fb4;
  box-shadow: 0 16px 34px rgba(var(--farazo-accent-rgb), 0.28);
}

.farazo-button-light,
.farazo-button-light:link,
.farazo-button-light:visited {
  color: var(--farazo-primary) !important;
  border-color: rgba(255,255,255,.78);
  background: #fff;
}

.farazo-button-light:hover,
.farazo-button-light:focus {
  color: var(--farazo-primary) !important;
  background: #edf7fb;
}

.farazo-button-outline,
.farazo-button-outline:link,
.farazo-button-outline:visited {
  color: var(--farazo-primary) !important;
  border-color: var(--farazo-line-strong);
  background: #fff;
}

.farazo-button-outline:hover,
.farazo-button-outline:focus {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-color: var(--farazo-primary);
  background: var(--farazo-primary);
}

.farazo-button-outline:hover *,
.farazo-button-outline:focus * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.farazo-text-link {
  position: relative;
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  color: var(--farazo-primary) !important;
  font-size: 12px;
  font-weight: 820;
}

.farazo-text-link::after {
  position: absolute;
  right: 0;
  bottom: 5px;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  transform-origin: right;
  transition: transform 180ms ease;
}

.farazo-text-link:hover::after {
  transform: scaleX(.45);
}

.farazo-text-link svg {
  width: 15px;
  height: 15px;
}

.farazo-button:focus-visible,
.farazo-text-link:focus-visible,
.farazo-nav a:focus-visible,
.farazo-brand:focus-visible,
.farazo-footer a:focus-visible,
.farazo-faq-item summary:focus-visible,
.farazo-back-top:focus-visible,
body.farazo-woo-page a:focus-visible,
body.farazo-woo-page button:focus-visible,
body.farazo-woo-page input:focus-visible,
body.farazo-woo-page select:focus-visible,
body.farazo-woo-page textarea:focus-visible {
  outline: 3px solid rgba(var(--farazo-accent-rgb), .48);
  outline-offset: 3px;
}

/* =========================================================
   HEADER — COMMAND BAR
   ========================================================= */
.farazo-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  width: 100%;
  color: var(--farazo-ink);
  border-bottom: 1px solid rgba(21,49,75,.12);
  background: rgba(255,255,255,.975);
  backdrop-filter: blur(12px);
}

body.admin-bar .farazo-header {
  top: 32px;
}

.farazo-header-shell {
  min-height: 78px;
  display: flex;
  align-items: center;
  gap: 22px;
}

.farazo-brand {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 11px;
  flex: 0 0 auto;
}

.farazo-brand img {
  width: auto;
  max-width: 245px;
  height: 48px;
  object-fit: contain;
  object-position: left center;
}

.farazo-brand-mark,
.farazo-footer-mark {
  position: relative;
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  overflow: hidden;
  color: #fff;
  border-radius: 4px;
  background: var(--farazo-primary);
}

.farazo-brand-mark::before {
  position: absolute;
  right: 6px;
  top: 7px;
  width: 13px;
  height: 3px;
  background: var(--farazo-accent);
  box-shadow: 0 6px 0 rgba(255,255,255,.65), 0 12px 0 rgba(255,255,255,.35);
  content: "";
}

.farazo-brand-mark b,
.farazo-footer-mark b {
  position: relative;
  z-index: 2;
  margin-right: 12px;
  font-size: 11px;
  font-weight: 900;
}

.farazo-brand-mark i {
  position: absolute;
  left: 6px;
  bottom: 7px;
  width: 10px;
  height: 10px;
  border: 2px solid var(--farazo-accent);
}

.farazo-brand-mark em {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 4px;
  height: 18px;
  background: var(--farazo-accent);
}

.farazo-brand-copy {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.farazo-brand-copy strong {
  max-width: 275px;
  overflow: hidden;
  color: var(--farazo-primary);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.farazo-brand-copy small {
  color: var(--farazo-muted);
  font-size: 8px;
  font-weight: 780;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.farazo-header-divider {
  width: 1px;
  height: 34px;
  background: var(--farazo-line);
}

.farazo-header-context {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-right: auto;
}

.farazo-header-context > span {
  padding: 4px 6px;
  color: #fff;
  border-radius: 3px;
  background: var(--farazo-accent);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .12em;
}

.farazo-header-context p {
  margin: 0;
  color: #6a7b89;
  font-size: 9px;
  font-weight: 680;
}

.farazo-nav {
  display: flex;
  align-items: center;
  gap: 18px;
}

.farazo-nav-links {
  display: flex;
  align-items: center;
  gap: 1px;
}

.farazo-nav-links a {
  position: relative;
  padding: 10px 10px;
  color: #334d60;
  font-size: 11px;
  font-weight: 740;
}

.farazo-nav-links a::after {
  position: absolute;
  right: 10px;
  bottom: 5px;
  left: 10px;
  height: 1px;
  background: var(--farazo-accent);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 170ms ease;
}

.farazo-nav-links a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.farazo-nav-action {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 5px;
  background: var(--farazo-primary);
  font-size: 10px;
  font-weight: 820;
  transition: transform 170ms ease, background-color 170ms ease;
}

.farazo-nav-action:hover {
  background: var(--farazo-accent);
  transform: translateY(-1px);
}

.farazo-nav-action svg {
  width: 14px;
  height: 14px;
}

.farazo-menu-toggle {
  display: none;
  width: 44px;
  height: 42px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  margin-left: auto;
  padding: 0;
  border: 1px solid var(--farazo-line);
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
}

.farazo-menu-toggle span {
  width: 18px;
  height: 2px;
  background: var(--farazo-primary);
  transition: transform 180ms ease, opacity 180ms ease;
}

.farazo-menu-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.farazo-menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.farazo-menu-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* =========================================================
   HOME HERO — DARK OPERATIONS DESK
   ========================================================= */
.farazo-hero-v2 {
  position: relative;
  width: 100%;
  padding: 76px 0 72px;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    radial-gradient(circle at 87% 8%, rgba(var(--farazo-accent-rgb), .22), transparent 29%),
    var(--farazo-secondary);
  background-size: 54px 54px, 54px 54px, auto, auto;
}

.farazo-hero-v2::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 9px;
  height: 100%;
  background: var(--farazo-accent);
  content: "";
}

.farazo-hero-v2-grid {
  display: grid;
  grid-template-columns: 154px minmax(0, .82fr) minmax(520px, 1.18fr);
  gap: 38px;
  align-items: stretch;
}

.farazo-hero-rail {
  min-height: 520px;
  display: flex;
  flex-direction: column;
  padding: 8px 24px 0 0;
  border-right: 1px solid rgba(255,255,255,.16);
}

.farazo-hero-rail > span {
  color: #8dcde4;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .15em;
}

.farazo-hero-rail ol {
  display: grid;
  gap: 0;
  margin: 45px 0 0;
  padding: 0;
  list-style: none;
}

.farazo-hero-rail li {
  display: grid;
  gap: 8px;
  padding: 17px 0;
  border-top: 1px solid rgba(255,255,255,.13);
}

.farazo-hero-rail li:last-child {
  border-bottom: 1px solid rgba(255,255,255,.13);
}

.farazo-hero-rail li b {
  color: var(--farazo-accent);
  font-size: 8px;
  font-weight: 900;
}

.farazo-hero-rail li p {
  margin: 0;
  color: rgba(255,255,255,.58);
  font-size: 10px;
  line-height: 1.45;
}

.farazo-hero-rail > small {
  margin-top: auto;
  color: rgba(255,255,255,.38);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .14em;
}

.farazo-hero-v2-copy {
  align-self: center;
  padding: 10px 0 18px;
}

.farazo-hero-v2-copy .farazo-kicker {
  color: #8fd3eb;
}

.farazo-hero-v2-copy h1 {
  max-width: 700px;
  margin: 22px 0 22px;
  font-size: clamp(48px, 5.3vw, 76px);
  font-weight: 675;
  line-height: .98;
}

.farazo-hero-v2-copy > p {
  max-width: 660px;
  margin-bottom: 28px;
  color: rgba(255,255,255,.63);
  font-size: 17px;
  line-height: 1.72;
}

.farazo-hero-actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.farazo-hero-v2 .farazo-text-link {
  color: #fff !important;
}

.farazo-hero-proof {
  display: flex;
  gap: 10px 18px;
  margin-top: 32px;
  flex-wrap: wrap;
}

.farazo-hero-proof span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.58);
  font-size: 10px;
  font-weight: 680;
}

.farazo-hero-proof svg {
  width: 14px;
  height: 14px;
  padding: 3px;
  color: var(--farazo-secondary);
  border-radius: 50%;
  background: #92d5eb;
}

/* =========================================================
   TIMELINE BOARD
   ========================================================= */
.farazo-timeline-board {
  align-self: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 6px;
  background: #f9fcfd;
  box-shadow: 0 34px 90px rgba(0,0,0,.28);
}

.farazo-timeline-board > header,
.farazo-timeline-board > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 18px;
  color: var(--farazo-primary);
  background: #fff;
}

.farazo-timeline-board > header {
  min-height: 58px;
  border-bottom: 1px solid var(--farazo-line);
}

.farazo-timeline-board > header > div {
  display: grid;
  gap: 2px;
}

.farazo-timeline-board > header small,
.farazo-timeline-board > header span,
.farazo-timeline-board > footer {
  font-size: 8px;
  font-weight: 790;
}

.farazo-timeline-board > header small {
  color: var(--farazo-muted);
  letter-spacing: .13em;
}

.farazo-timeline-board > header strong {
  color: var(--farazo-primary);
  font-size: 12px;
}

.farazo-timeline-board > header > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--farazo-success);
}

.farazo-timeline-board > header > span i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--farazo-success);
  box-shadow: 0 0 0 4px rgba(35,123,99,.10);
}

.farazo-timeline-grid {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  min-height: 398px;
  color: var(--farazo-ink);
  background:
    linear-gradient(rgba(21,49,75,.05) 1px, transparent 1px),
    #f6fafc;
  background-size: 100% 62px;
}

.farazo-timeline-labels {
  display: grid;
  grid-template-rows: repeat(6,1fr);
  padding-top: 12px;
  border-right: 1px solid var(--farazo-line);
  color: var(--farazo-muted);
  background: #fff;
}

.farazo-timeline-labels span {
  padding: 2px 8px;
  font-size: 7px;
  font-weight: 730;
}

.farazo-timeline-lanes {
  display: grid;
  align-content: start;
  gap: 0;
  padding: 16px 16px 18px;
}

.farazo-lane {
  position: relative;
  min-height: 74px;
  display: grid;
  grid-template-columns: 86px minmax(0,1fr);
  align-items: center;
  border-bottom: 1px solid rgba(21,49,75,.10);
}

.farazo-lane > b {
  color: #687a88;
  font-size: 8px;
  font-weight: 780;
}

.farazo-lane > article {
  position: relative;
  left: var(--start);
  width: var(--span);
  min-width: 128px;
  display: grid;
  gap: 2px;
  padding: 10px 11px;
  border-left: 3px solid var(--farazo-primary);
  background: #e8f0f5;
}

.farazo-lane > article.is-accent {
  border-left-color: var(--farazo-accent);
  background: #dff1f7;
}

.farazo-lane > article.is-dark {
  color: #fff;
  border-left-color: #93d5eb;
  background: var(--farazo-primary);
}

.farazo-lane > article small,
.farazo-lane > article em {
  font-size: 7px;
  font-style: normal;
}

.farazo-lane > article small {
  color: inherit;
  opacity: .65;
}

.farazo-lane > article strong {
  overflow: hidden;
  font-size: 9px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.farazo-lane > article em {
  color: var(--farazo-success);
  font-weight: 780;
  text-transform: uppercase;
}

.farazo-lane > article.is-dark em {
  color: #9edaf0;
}

.farazo-lane.is-open > span {
  display: block;
  padding: 11px 13px;
  color: #4a8096;
  border: 1px dashed #8fc5d9;
  background: rgba(75,163,199,.08);
  font-size: 8px;
  font-weight: 760;
}

.farazo-timeline-board > footer {
  min-height: 50px;
  border-top: 1px solid var(--farazo-line);
  color: #607482;
}

.farazo-timeline-board > footer span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.farazo-timeline-board > footer svg {
  width: 13px;
  height: 13px;
  color: var(--farazo-accent);
}

.farazo-timeline-board > footer b {
  color: var(--farazo-primary);
  letter-spacing: .08em;
}

/* =========================================================
   SIGNAL STRIP
   ========================================================= */
.farazo-signal-strip {
  width: 100%;
  border-bottom: 1px solid var(--farazo-line);
  background: #fff;
}

.farazo-signal-strip .farazo-container {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
}

.farazo-signal-strip .farazo-container > div {
  min-height: 92px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 16px 24px;
  border-left: 1px solid var(--farazo-line);
}

.farazo-signal-strip .farazo-container > div:last-child {
  border-right: 1px solid var(--farazo-line);
}

.farazo-signal-strip small {
  color: var(--farazo-muted);
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .13em;
}

.farazo-signal-strip strong {
  color: var(--farazo-primary);
  font-size: 14px;
  font-weight: 820;
}

/* =========================================================
   SCHEDULING CONTROL TABLE
   ========================================================= */
.farazo-control-section {
  background: #fff;
}

.farazo-control-layout {
  display: grid;
  grid-template-columns: minmax(330px,.72fr) minmax(0,1.28fr);
  gap: 88px;
  align-items: start;
}

.farazo-control-intro {
  position: sticky;
  top: 122px;
}

.farazo-control-intro h2 {
  margin: 16px 0 20px;
  font-size: clamp(39px,4.6vw,61px);
  font-weight: 690;
  line-height: 1.01;
}

.farazo-control-intro p {
  max-width: 500px;
  margin: 0;
  color: var(--farazo-text);
  font-size: 15px;
  line-height: 1.78;
}

.farazo-control-table {
  border-top: 1px solid var(--farazo-line-strong);
}

.farazo-control-row {
  display: grid;
  grid-template-columns: 52px 210px minmax(0,1fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 112px;
  padding: 20px 0;
  border-bottom: 1px solid var(--farazo-line-strong);
}

.farazo-control-row > span {
  color: var(--farazo-accent);
  font-size: 10px;
  font-weight: 900;
}

.farazo-control-row > strong {
  color: var(--farazo-primary);
  font-size: 17px;
  line-height: 1.3;
}

.farazo-control-row > p {
  margin: 0;
  color: var(--farazo-text);
  font-size: 12px;
  line-height: 1.65;
}

.farazo-control-row > b {
  padding: 5px 7px;
  color: var(--farazo-primary);
  border: 1px solid var(--farazo-line);
  background: var(--farazo-surface);
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .10em;
}

/* =========================================================
   WORKFLOW V2
   ========================================================= */
.farazo-workflow-v2 {
  color: #fff;
  background: var(--farazo-primary);
}

.farazo-workflow-v2-head {
  display: grid;
  grid-template-columns: 120px minmax(0,1fr);
  gap: 40px;
  align-items: start;
  margin-bottom: 54px;
}

.farazo-workflow-v2-head > span {
  padding-top: 7px;
  color: #86cee6;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .15em;
}

.farazo-workflow-v2-head small {
  color: #8ed4ec;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .15em;
}

.farazo-workflow-v2-head h2 {
  max-width: 820px;
  margin: 13px 0 0;
  font-size: clamp(39px,4.6vw,62px);
  font-weight: 670;
  line-height: 1.01;
}

.farazo-workflow-v2-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid rgba(255,255,255,.18);
  border-left: 1px solid rgba(255,255,255,.18);
}

.farazo-workflow-v2-grid article {
  min-height: 355px;
  display: flex;
  flex-direction: column;
  padding: 29px;
  border-right: 1px solid rgba(255,255,255,.18);
  border-bottom: 1px solid rgba(255,255,255,.18);
}

.farazo-workflow-v2-grid article header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.farazo-workflow-v2-grid article header > span {
  color: #8fd4eb;
  font-size: 10px;
  font-weight: 900;
}

.farazo-workflow-v2-grid article header svg {
  width: 25px;
  height: 25px;
  color: #8fd4eb;
}

.farazo-workflow-v2-grid h3 {
  max-width: 280px;
  margin: 78px 0 13px;
  font-size: 25px;
  font-weight: 680;
  line-height: 1.1;
}

.farazo-workflow-v2-grid p {
  margin: 0;
  color: rgba(255,255,255,.59);
  font-size: 13px;
  line-height: 1.72;
}

.farazo-workflow-v2-grid footer {
  margin-top: auto;
  padding-top: 24px;
  color: #88cde5;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .13em;
}

/* =========================================================
   BUSINESS ENVIRONMENTS
   ========================================================= */
.farazo-environments-section {
  background: var(--farazo-surface);
}

.farazo-environments-layout {
  display: grid;
  grid-template-columns: minmax(310px,.64fr) minmax(0,1.36fr);
  gap: 96px;
  align-items: start;
}

.farazo-environments-title h2 {
  max-width: 500px;
  margin: 16px 0 19px;
  font-size: clamp(38px,4.4vw,58px);
  font-weight: 690;
  line-height: 1.02;
}

.farazo-environments-title p {
  max-width: 480px;
  color: var(--farazo-text);
  font-size: 14px;
  line-height: 1.74;
}

.farazo-environments-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  border-top: 1px solid var(--farazo-line-strong);
  border-left: 1px solid var(--farazo-line-strong);
}

.farazo-environments-list article {
  min-height: 180px;
  padding: 25px;
  border-right: 1px solid var(--farazo-line-strong);
  border-bottom: 1px solid var(--farazo-line-strong);
  background: rgba(255,255,255,.55);
}

.farazo-environments-list article:last-child {
  grid-column: span 2;
  min-height: 150px;
}

.farazo-environments-list span {
  display: block;
  margin-bottom: 28px;
  color: var(--farazo-primary);
  font-size: 18px;
  font-weight: 730;
}

.farazo-environments-list p {
  max-width: 420px;
  margin: 0;
  color: var(--farazo-text);
  font-size: 12px;
  line-height: 1.68;
}

/* =========================================================
   CAPABILITY BAND
   ========================================================= */
.farazo-capability-band {
  color: #fff;
  background: #0b1c29;
}

.farazo-capability-band-head {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(300px,.65fr);
  gap: 80px;
  align-items: end;
  margin-bottom: 56px;
}

.farazo-capability-band .farazo-kicker {
  color: #8ed3ea;
}

.farazo-capability-band-head h2 {
  max-width: 760px;
  margin: 16px 0 0;
  font-size: clamp(39px,4.4vw,60px);
  font-weight: 670;
  line-height: 1.02;
}

.farazo-capability-band-head > p {
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: 13px;
  line-height: 1.75;
}

.farazo-capability-band-list {
  border-top: 1px solid rgba(255,255,255,.16);
}

.farazo-capability-band-list article {
  display: grid;
  grid-template-columns: 70px 270px minmax(0,1fr);
  gap: 25px;
  align-items: center;
  min-height: 92px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,.16);
}

.farazo-capability-band-list span {
  color: #8fd5ec;
  font-size: 10px;
  font-weight: 900;
}

.farazo-capability-band-list strong {
  color: #fff;
  font-size: 17px;
}

.farazo-capability-band-list p {
  margin: 0;
  color: rgba(255,255,255,.50);
  font-size: 12px;
  line-height: 1.65;
}

/* =========================================================
   PLAN PREVIEW / PLAN LADDER
   ========================================================= */
.farazo-plan-preview-v2,
.farazo-plan-preview-section {
  background: #fff;
}

.farazo-plan-preview-v2-head {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(300px,.58fr);
  gap: 80px;
  align-items: end;
  margin-bottom: 45px;
}

.farazo-plan-preview-v2-head h2 {
  max-width: 780px;
  margin: 15px 0 0;
  font-size: clamp(39px,4.5vw,61px);
  font-weight: 690;
  line-height: 1.01;
}

.farazo-plan-preview-v2-head > p {
  margin: 0;
  color: var(--farazo-text);
  font-size: 13px;
  line-height: 1.75;
}

.farazo-plan-ladder,
.farazo-home-plans {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--farazo-line-strong);
}

.farazo-home-plan {
  display: grid;
  grid-template-columns: 92px minmax(0,1fr) 230px;
  align-items: stretch;
  border-bottom: 1px solid var(--farazo-line-strong);
  background: #fff;
  transition: background-color 170ms ease;
}

.farazo-home-plan:hover {
  background: #f8fbfc;
}

.farazo-home-plan.is-featured {
  background: #eef8fb;
}

.farazo-home-plan-id {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 11px;
  padding: 21px 14px;
  border-right: 1px solid var(--farazo-line);
}

.farazo-home-plan-id > span {
  color: var(--farazo-muted);
  font-size: 9px;
  font-weight: 900;
}

.farazo-home-plan-id > i {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: var(--farazo-accent);
  border: 1px solid var(--farazo-line);
  font-style: normal;
}

.farazo-home-plan-id svg {
  width: 18px;
  height: 18px;
}

.farazo-home-plan-id > b {
  position: absolute;
  top: 8px;
  left: 6px;
  padding: 4px 5px;
  color: #fff;
  background: var(--farazo-accent);
  font-size: 6px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.farazo-home-plan-main {
  padding: 27px 30px;
}

.farazo-home-plan-main > small {
  color: var(--farazo-accent);
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .13em;
}

.farazo-home-plan-main h3 {
  margin: 8px 0 8px;
  font-size: 23px;
  font-weight: 710;
}

.farazo-home-plan-main p {
  max-width: 720px;
  margin: 0;
  color: var(--farazo-text);
  font-size: 12px;
  line-height: 1.68;
}

.farazo-home-plan-buy {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  padding: 24px;
  border-left: 1px solid var(--farazo-line);
}

.farazo-home-plan-buy small {
  color: var(--farazo-muted);
  font-size: 7px;
  font-weight: 780;
  text-transform: uppercase;
}

.farazo-home-plan-buy strong {
  margin: 7px 0 13px;
  color: var(--farazo-primary);
  font-size: 28px;
  line-height: 1;
}

.farazo-home-plan-buy a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--farazo-accent) !important;
  font-size: 10px;
  font-weight: 830;
}

.farazo-plan-note {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 15px 0;
  border-bottom: 1px solid var(--farazo-line-strong);
}

.farazo-plan-note > span {
  color: var(--farazo-text);
  font-size: 11px;
  font-weight: 680;
}

/* =========================================================
   BENEFITS V2
   ========================================================= */
.farazo-benefits-v2,
.farazo-benefits-section {
  background: var(--farazo-surface);
}

.farazo-benefits-v2-layout,
.farazo-benefits-layout {
  display: grid;
  grid-template-columns: minmax(330px,.72fr) minmax(0,1.28fr);
  gap: 88px;
  align-items: start;
}

.farazo-benefits-v2-layout > div:first-child h2 {
  margin: 16px 0 0;
  font-size: clamp(38px,4.4vw,59px);
  font-weight: 690;
  line-height: 1.01;
}

.farazo-benefits-v2-list,
.farazo-benefit-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  border-top: 1px solid var(--farazo-line-strong);
  border-left: 1px solid var(--farazo-line-strong);
}

.farazo-benefits-v2-list article,
.farazo-benefit-grid article {
  min-height: 185px;
  padding: 25px;
  border-right: 1px solid var(--farazo-line-strong);
  border-bottom: 1px solid var(--farazo-line-strong);
  background: rgba(255,255,255,.55);
}

.farazo-benefits-v2-list strong,
.farazo-benefit-grid strong {
  display: block;
  max-width: 240px;
  margin-bottom: 28px;
  color: var(--farazo-primary);
  font-size: 18px;
  line-height: 1.25;
}

.farazo-benefits-v2-list p,
.farazo-benefit-grid p {
  margin: 0;
  color: var(--farazo-text);
  font-size: 12px;
  line-height: 1.7;
}

/* =========================================================
   FAQ
   ========================================================= */
.farazo-faq-section {
  background: #fff;
}

.farazo-faq-layout {
  display: grid;
  grid-template-columns: minmax(300px,.58fr) minmax(0,1fr);
  gap: 90px;
  align-items: start;
}

.farazo-faq-intro {
  position: sticky;
  top: 122px;
}

.farazo-faq-intro h2 {
  font-size: clamp(38px,4.1vw,55px);
}

.farazo-faq-intro > p {
  margin: 19px 0 21px;
}

.farazo-faq-list {
  border-top: 1px solid var(--farazo-line-strong);
}

.farazo-faq-item {
  border-bottom: 1px solid var(--farazo-line-strong);
}

.farazo-faq-item summary {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 19px 0;
  color: var(--farazo-primary);
  font-size: 16px;
  font-weight: 720;
  cursor: pointer;
  list-style: none;
}

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

.farazo-faq-item summary i {
  position: relative;
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  border: 1px solid var(--farazo-line-strong);
}

.farazo-faq-item summary i::before,
.farazo-faq-item summary i::after {
  position: absolute;
  top: 13px;
  left: 8px;
  width: 11px;
  height: 1px;
  background: var(--farazo-accent);
  content: "";
  transition: transform 180ms ease;
}

.farazo-faq-item summary i::after { transform: rotate(90deg); }
.farazo-faq-item[open] summary i::after { transform: rotate(0deg); }

.farazo-faq-item p {
  max-width: 760px;
  margin: -5px 45px 25px 0;
  color: var(--farazo-text);
  font-size: 13px;
  line-height: 1.76;
}

/* =========================================================
   INNER HERO V2
   ========================================================= */
.farazo-inner-hero-v2 {
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
  padding: 72px 0;
  overflow: hidden;
  color: #fff;
  background: var(--farazo-secondary);
}

.farazo-inner-hero-v2::before {
  position: absolute;
  inset: 0;
  opacity: .20;
  background:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 48px 48px;
  content: "";
}

.farazo-inner-v2-layout {
  display: grid;
  grid-template-columns: 110px minmax(0,1fr) 280px;
  gap: 56px;
  align-items: center;
}

.farazo-inner-v2-index {
  min-height: 245px;
  display: flex;
  flex-direction: column;
  padding-right: 24px;
  border-right: 1px solid rgba(255,255,255,.17);
}

.farazo-inner-v2-index > span {
  color: #8ed4eb;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .16em;
}

.farazo-inner-v2-index > strong {
  margin-top: 30px;
  color: #fff;
  font-size: 38px;
  line-height: 1;
}

.farazo-inner-v2-index > small {
  margin-top: auto;
  color: rgba(255,255,255,.42);
  font-size: 7px;
  font-weight: 820;
  letter-spacing: .12em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.farazo-inner-v2-copy > span {
  color: #8fd4eb;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.farazo-inner-v2-copy h1 {
  max-width: 860px;
  margin: 17px 0 20px;
  font-size: clamp(45px,5.3vw,72px);
  font-weight: 670;
  line-height: .99;
}

.farazo-inner-v2-copy p {
  max-width: 760px;
  margin: 0;
  color: rgba(255,255,255,.61);
  font-size: 15px;
  line-height: 1.72;
}

.farazo-inner-tags {
  display: flex;
  gap: 7px;
  margin-top: 25px;
  flex-wrap: wrap;
}

.farazo-inner-tags b {
  padding: 5px 7px;
  color: #9bd9ee;
  border: 1px solid rgba(155,217,238,.25);
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .10em;
}

.farazo-inner-v2-visual {
  display: grid;
  border-top: 1px solid rgba(255,255,255,.18);
}

.farazo-inner-v2-visual > div {
  display: grid;
  grid-template-columns: 48px 12px minmax(0,1fr);
  gap: 10px;
  align-items: center;
  min-height: 52px;
  border-bottom: 1px solid rgba(255,255,255,.18);
}

.farazo-inner-v2-visual span {
  color: rgba(255,255,255,.48);
  font-size: 8px;
}

.farazo-inner-v2-visual i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--farazo-accent);
}

.farazo-inner-v2-visual b {
  color: rgba(255,255,255,.78);
  font-size: 9px;
  font-weight: 740;
}

/* =========================================================
   ABOUT
   ========================================================= */
.farazo-about-story {
  background: #fff;
}

.farazo-about-story-layout {
  display: grid;
  grid-template-columns: minmax(0,.83fr) minmax(0,1fr);
  gap: 96px;
  align-items: start;
}

.farazo-about-statement {
  padding-right: 42px;
  border-right: 1px solid var(--farazo-line-strong);
}

.farazo-about-statement h2 {
  margin: 16px 0 28px;
  font-size: clamp(40px,4.7vw,64px);
  font-weight: 690;
  line-height: 1.01;
}

.farazo-about-rule {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--farazo-muted);
  font-size: 8px;
  font-weight: 820;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.farazo-about-rule i {
  width: 20px;
  height: 1px;
  background: var(--farazo-line-strong);
}

.farazo-about-copy {
  padding-top: 2px;
}

.farazo-about-copy p {
  margin-bottom: 21px;
  color: var(--farazo-text);
  font-size: 16px;
  line-height: 1.82;
}

.farazo-about-principles {
  background: var(--farazo-surface);
}

.farazo-principle-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid var(--farazo-line-strong);
  border-left: 1px solid var(--farazo-line-strong);
}

.farazo-principle-grid article {
  min-height: 330px;
  padding: 27px;
  border-right: 1px solid var(--farazo-line-strong);
  border-bottom: 1px solid var(--farazo-line-strong);
  background: rgba(255,255,255,.52);
}

.farazo-principle-grid article > span {
  color: var(--farazo-muted);
  font-size: 9px;
  font-weight: 900;
}

.farazo-principle-grid article > i {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  margin-top: 50px;
  color: var(--farazo-accent);
  border: 1px solid var(--farazo-line);
  font-style: normal;
}

.farazo-principle-grid article > i svg {
  width: 19px;
  height: 19px;
}

.farazo-principle-grid h3 {
  margin: 22px 0 10px;
  font-size: 19px;
  font-weight: 710;
}

.farazo-principle-grid p {
  margin: 0;
  color: var(--farazo-text);
  font-size: 12px;
  line-height: 1.7;
}

.farazo-audience-section {
  color: #fff;
  background: var(--farazo-primary);
}

.farazo-audience-layout {
  display: grid;
  grid-template-columns: minmax(320px,.70fr) minmax(0,1fr);
  gap: 88px;
}

.farazo-audience-lead .farazo-kicker { color: #93d6ed; }
.farazo-audience-lead > p { color: rgba(255,255,255,.58); }

.farazo-audience-lead > b {
  display: inline-flex;
  margin-top: 17px;
  padding: 6px 8px;
  color: var(--farazo-primary);
  background: #91d2e9;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .13em;
}

.farazo-audience-list {
  border-top: 1px solid rgba(255,255,255,.17);
}

.farazo-audience-list article {
  display: grid;
  grid-template-columns: minmax(180px,.48fr) minmax(0,1fr);
  gap: 28px;
  padding: 25px 0;
  border-bottom: 1px solid rgba(255,255,255,.17);
}

.farazo-audience-list span {
  color: #fff;
  font-size: 16px;
  font-weight: 730;
}

.farazo-audience-list p {
  margin: 0;
  color: rgba(255,255,255,.54);
  font-size: 12px;
  line-height: 1.68;
}

/* =========================================================
   CONTACT
   ========================================================= */
.farazo-contact-section {
  background: var(--farazo-surface);
}

.farazo-contact-layout {
  display: grid;
  grid-template-columns: minmax(330px,.68fr) minmax(0,1fr);
  gap: 0;
  align-items: stretch;
  border: 1px solid var(--farazo-line-strong);
}

.farazo-contact-aside {
  padding: 38px;
  color: #fff;
  background: var(--farazo-primary);
}

.farazo-contact-aside .farazo-kicker { color: #93d6ed; }

.farazo-contact-aside h2 {
  margin: 16px 0 15px;
  font-size: clamp(34px,3.7vw,50px);
  font-weight: 680;
  line-height: 1.04;
}

.farazo-contact-aside > p {
  color: rgba(255,255,255,.58);
  font-size: 13px;
}

.farazo-contact-prompts {
  margin-top: 30px;
  border-top: 1px solid rgba(255,255,255,.15);
}

.farazo-contact-prompts > span {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  gap: 12px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(255,255,255,.15);
}

.farazo-contact-prompts > span > b {
  color: #91d2e9;
  font-size: 8px;
  font-weight: 900;
}

.farazo-contact-prompts > span > div {
  display: grid;
  gap: 2px;
}

.farazo-contact-prompts strong { font-size: 12px; }
.farazo-contact-prompts small { color: rgba(255,255,255,.47); font-size: 9px; line-height: 1.45; }

.farazo-contact-b2b {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  gap: 12px;
  align-items: center;
  margin-top: 26px;
  padding: 13px;
  border: 1px solid rgba(145,210,233,.23);
  background: rgba(145,210,233,.06);
}

.farazo-contact-b2b > svg {
  width: 38px;
  height: 38px;
  padding: 9px;
  color: #91d2e9;
  background: rgba(145,210,233,.10);
}

.farazo-contact-b2b p { display: grid; margin: 0; }
.farazo-contact-b2b strong { font-size: 10px; }
.farazo-contact-b2b span { color: rgba(255,255,255,.49); font-size: 8px; }

.farazo-form-panel {
  padding: 40px;
  background: #fff;
}

.farazo-form-panel h2 {
  margin: 16px 0 9px;
  font-size: clamp(34px,3.7vw,49px);
  font-weight: 690;
  line-height: 1.04;
}

.farazo-form-panel > p {
  margin-bottom: 26px;
  color: var(--farazo-text);
  font-size: 13px;
}

.farazo-contact-form { display: grid; gap: 16px; }
.farazo-field-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.farazo-form-field { display: grid; gap: 6px; }

.farazo-form-field label {
  color: #314b5e;
  font-size: 9px;
  font-weight: 800;
}

.farazo-form-field label span { color: var(--farazo-danger); }

.farazo-form-field input,
.farazo-form-field select,
.farazo-form-field textarea {
  width: 100%;
  max-width: none;
  min-height: 49px;
  padding: 12px 13px;
  color: var(--farazo-ink);
  border: 1px solid var(--farazo-line-strong);
  border-radius: 4px;
  outline: 0;
  background: #fbfdfe;
  box-shadow: none;
  font-size: 12px;
  transition: border-color 170ms ease, box-shadow 170ms ease, background-color 170ms ease;
}

.farazo-form-field textarea { min-height: 145px; resize: vertical; }

.farazo-form-field input:focus,
.farazo-form-field select:focus,
.farazo-form-field textarea:focus {
  border-color: var(--farazo-accent);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(var(--farazo-accent-rgb),.09);
}

.farazo-consent {
  display: grid;
  grid-template-columns: 18px minmax(0,1fr);
  gap: 9px;
  align-items: start;
  color: var(--farazo-text);
  font-size: 9px;
  line-height: 1.6;
}

.farazo-consent input { width: 17px; height: 17px; accent-color: var(--farazo-accent); }
.farazo-consent a { color: var(--farazo-accent) !important; font-weight: 760; text-decoration: underline; }
.farazo-submit-button { width: fit-content; margin-top: 3px; background: var(--farazo-primary) !important; }

.farazo-hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.farazo-alert {
  margin-bottom: 20px;
  padding: 12px 13px;
  border: 1px solid;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 680;
}

.farazo-alert-success { color: #0b6049; border-color: #b9e2d6; background: #eef9f5; }
.farazo-alert-error { color: #923044; border-color: #ecc0ca; background: #fff2f5; }

.farazo-contact-cards {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  margin-top: 20px;
  border-top: 1px solid var(--farazo-line-strong);
  border-left: 1px solid var(--farazo-line-strong);
}

.farazo-contact-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 12px;
  align-items: center;
  padding: 18px;
  border-right: 1px solid var(--farazo-line-strong);
  border-bottom: 1px solid var(--farazo-line-strong);
  background: #fff;
}

.farazo-contact-card > i {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: var(--farazo-accent);
  border: 1px solid var(--farazo-line);
  font-style: normal;
}

.farazo-contact-card > i svg { width: 18px; height: 18px; }
.farazo-contact-card small { color: var(--farazo-muted); font-size: 7px; font-weight: 820; letter-spacing: .10em; text-transform: uppercase; }
.farazo-contact-card p { margin: 3px 0 0; overflow-wrap: anywhere; color: var(--farazo-primary); font-size: 11px; font-weight: 680; line-height: 1.55; }

/* =========================================================
   PRICING PAGE — GROUPED BUSINESS MATRIX
   ========================================================= */
.farazo-pricing-section {
  background: var(--farazo-surface);
}

.farazo-buyer-notice {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) auto;
  gap: 16px;
  align-items: center;
  margin-bottom: 52px;
  padding: 17px 20px;
  color: #fff;
  background: var(--farazo-primary);
}

.farazo-buyer-notice > i {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: #95d8ee;
  border: 1px solid rgba(149,216,238,.18);
  font-style: normal;
}

.farazo-buyer-notice > i svg { width: 21px; height: 21px; }
.farazo-buyer-notice > div { display: grid; gap: 2px; }
.farazo-buyer-notice strong { font-size: 12px; }
.farazo-buyer-notice span { color: rgba(255,255,255,.58); font-size: 10px; line-height: 1.55; }
.farazo-buyer-notice > b { padding: 6px 9px; color: var(--farazo-primary); background: #91d2e9; font-size: 8px; font-weight: 900; letter-spacing: .12em; }

.farazo-pricing-intro {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(280px,.58fr);
  gap: 72px;
  align-items: end;
  margin-bottom: 45px;
}

.farazo-pricing-intro h2 {
  max-width: 800px;
  margin: 15px 0 0;
  font-size: clamp(39px,4.6vw,61px);
  font-weight: 690;
  line-height: 1.01;
}

.farazo-pricing-intro > p { margin: 0; color: var(--farazo-text); font-size: 13px; line-height: 1.72; }

.farazo-pricing-groups { display: grid; gap: 48px; }

.farazo-price-group > header {
  display: grid;
  grid-template-columns: 58px minmax(260px,.7fr) minmax(0,1fr);
  gap: 22px;
  align-items: end;
  padding: 0 0 16px;
  border-bottom: 2px solid var(--farazo-primary);
}

.farazo-price-group > header > span {
  color: var(--farazo-accent);
  font-size: 12px;
  font-weight: 900;
}

.farazo-price-group > header small { color: var(--farazo-muted); font-size: 7px; font-weight: 850; letter-spacing: .13em; }
.farazo-price-group > header h3 { margin: 4px 0 0; color: var(--farazo-primary); font-size: 23px; font-weight: 720; }
.farazo-price-group > header p { margin: 0; color: var(--farazo-text); font-size: 11px; line-height: 1.6; }

.farazo-pricing-list { display: grid; gap: 0; }

.farazo-price-row {
  display: grid;
  grid-template-columns: 76px minmax(250px,1.05fr) minmax(250px,.9fr) 196px;
  align-items: stretch;
  border-bottom: 1px solid var(--farazo-line-strong);
  background: #fff;
  transition: background-color 170ms ease;
}

.farazo-price-row:hover { background: #f8fbfc; }
.farazo-price-row.is-featured { background: #eaf6fa; }

.farazo-price-id {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 22px 12px;
  border-right: 1px solid var(--farazo-line);
}

.farazo-price-id > span { color: var(--farazo-muted); font-size: 9px; font-weight: 900; }
.farazo-price-id > i { display: grid; width: 40px; height: 40px; place-items: center; color: var(--farazo-accent); border: 1px solid var(--farazo-line); font-style: normal; }
.farazo-price-id svg { width: 18px; height: 18px; }

.farazo-price-main,
.farazo-price-features,
.farazo-price-buy { padding: 24px; }

.farazo-price-main { border-right: 1px solid var(--farazo-line); }
.farazo-price-main > small { color: var(--farazo-accent); font-size: 7px; font-weight: 850; letter-spacing: .12em; }
.farazo-price-main h2 { margin: 8px 0 8px; font-size: 22px; font-weight: 710; line-height: 1.12; }
.farazo-price-main p { margin: 0; color: var(--farazo-text); font-size: 11px; line-height: 1.67; }
.farazo-price-main > b { display: inline-flex; margin-top: 13px; padding: 4px 6px; color: #fff; background: var(--farazo-accent); font-size: 6px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }

.farazo-price-features { border-right: 1px solid var(--farazo-line); }
.farazo-price-features > span { color: var(--farazo-muted); font-size: 7px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.farazo-price-features ul { display: grid; gap: 7px; margin: 12px 0 0; padding: 0; list-style: none; }
.farazo-price-features li { display: grid; grid-template-columns: 16px minmax(0,1fr); gap: 7px; align-items: start; color: var(--farazo-text); font-size: 9px; line-height: 1.45; }
.farazo-price-features li svg { width: 15px; height: 15px; padding: 3px; color: var(--farazo-primary); border-radius: 50%; background: #dff2f8; }

.farazo-price-buy {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  background: rgba(244,248,251,.55);
}

.farazo-price-buy > span { color: var(--farazo-muted); font-size: 7px; font-weight: 780; text-transform: uppercase; }
.farazo-price-buy > strong { margin: 7px 0 15px; color: var(--farazo-primary); font-size: 29px; line-height: 1; }
.farazo-price-buy .farazo-button { width: 100%; min-height: 43px; padding-inline: 12px; font-size: 10px; }

.farazo-pricing-foundation {
  color: #fff;
  background: var(--farazo-primary);
}

.farazo-standard-list {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid rgba(255,255,255,.16);
  border-left: 1px solid rgba(255,255,255,.16);
}

.farazo-standard-list article {
  min-height: 220px;
  padding: 25px;
  border-right: 1px solid rgba(255,255,255,.16);
  border-bottom: 1px solid rgba(255,255,255,.16);
}

.farazo-standard-list article > span { color: #93d6ed; font-size: 9px; font-weight: 900; }
.farazo-standard-list h3 { margin: 43px 0 9px; font-size: 19px; font-weight: 700; }
.farazo-standard-list p { margin: 0; color: rgba(255,255,255,.56); font-size: 11px; line-height: 1.68; }

/* =========================================================
   LEGAL
   ========================================================= */
.farazo-legal-section { background: var(--farazo-surface); }

.farazo-legal-layout {
  display: grid;
  grid-template-columns: 265px minmax(0,1fr);
  gap: 58px;
  align-items: start;
}

.farazo-legal-aside {
  position: sticky;
  top: 120px;
  padding: 24px;
  color: #fff;
  background: var(--farazo-primary);
}

.farazo-legal-aside > span { color: #93d6ed; font-size: 7px; font-weight: 850; letter-spacing: .13em; }
.farazo-legal-aside > strong { display: block; margin: 12px 0; font-size: 21px; line-height: 1.2; }
.farazo-legal-aside > p { margin-bottom: 23px; color: rgba(255,255,255,.57); font-size: 11px; line-height: 1.7; }
.farazo-legal-aside > div { display: flex; align-items: end; gap: 8px; padding: 15px 0; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.farazo-legal-aside > div b { color: #93d6ed; font-size: 25px; line-height: 1; }
.farazo-legal-aside > div small { color: rgba(255,255,255,.49); font-size: 8px; }
.farazo-legal-aside > em { display: inline-flex; margin-top: 18px; padding: 5px 7px; color: var(--farazo-primary); background: #93d6ed; font-size: 7px; font-style: normal; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }

.farazo-legal-content { border-top: 1px solid var(--farazo-line-strong); }
.farazo-legal-content > section { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 19px; padding: 29px 0; border-bottom: 1px solid var(--farazo-line-strong); }
.farazo-legal-content > section > span { color: var(--farazo-accent); font-size: 9px; font-weight: 900; }
.farazo-legal-content h2 { margin: 0 0 11px; color: var(--farazo-primary); font-size: 19px; font-weight: 730; line-height: 1.28; letter-spacing: -.02em; }
.farazo-legal-content p,
.farazo-terms-products p,
.farazo-terms-product-list { color: var(--farazo-text); font-size: 12px; line-height: 1.78; }
.farazo-legal-content p:last-child { margin-bottom: 0; }
.farazo-terms-products p { margin-bottom: 14px; }
.farazo-terms-product-list { display: grid; gap: 0; margin: 0; padding-left: 19px; }
.farazo-terms-product-list li { padding: 8px 0 8px 4px; border-bottom: 1px solid var(--farazo-line); }
.farazo-terms-product-list li:last-child { border-bottom: 0; }
.farazo-terms-product-list li strong { color: var(--farazo-primary); }
.farazo-terms-product-list li span { margin: 0 5px; color: var(--farazo-muted); }
.farazo-terms-product-list li b { color: var(--farazo-accent); }

/* =========================================================
   FINAL CTA V2
   ========================================================= */
.farazo-final-v2 {
  width: 100%;
  padding: 0;
  color: #fff;
  background: #0a1b28;
}

.farazo-final-v2-grid {
  min-height: 215px;
  display: grid;
  grid-template-columns: 120px minmax(0,1fr) auto;
  gap: 32px;
  align-items: center;
  padding-top: 38px;
  padding-bottom: 38px;
}

.farazo-final-v2-label {
  min-height: 118px;
  display: grid;
  align-content: space-between;
  padding-right: 26px;
  border-right: 1px solid rgba(255,255,255,.17);
}

.farazo-final-v2-label span { color: #93d6ed; font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.farazo-final-v2-label i { width: 28px; height: 2px; background: var(--farazo-accent); }
.farazo-final-v2-label small { color: rgba(255,255,255,.43); font-size: 7px; font-weight: 850; letter-spacing: .12em; }

.farazo-final-v2-copy h2 {
  max-width: 790px;
  margin: 0 0 8px;
  font-size: clamp(31px,3.5vw,45px);
  font-weight: 680;
  line-height: 1.05;
}

.farazo-final-v2-copy p {
  max-width: 800px;
  margin: 0;
  color: rgba(255,255,255,.57);
  font-size: 12px;
  line-height: 1.68;
}

/* =========================================================
   FOOTER V2
   ========================================================= */
.farazo-footer-v2 {
  width: 100%;
  margin: 0;
  padding: 0;
  color: #fff;
  background: #07141e;
}

.farazo-footer-head {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(300px,.6fr);
  gap: 80px;
  align-items: end;
  padding-top: 68px;
  padding-bottom: 50px;
  border-bottom: 1px solid rgba(255,255,255,.13);
}

.farazo-footer-statement > span {
  color: #8fd4eb;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .15em;
}

.farazo-footer-statement h2 {
  max-width: 790px;
  margin: 10px 0 0;
  font-size: clamp(31px,3.6vw,46px);
  font-weight: 665;
  line-height: 1.06;
}

.farazo-footer-action {
  display: grid;
  gap: 17px;
  justify-items: start;
}

.farazo-footer-action p {
  margin: 0;
  color: rgba(255,255,255,.51);
  font-size: 11px;
  line-height: 1.68;
}

.farazo-footer-grid {
  display: grid;
  grid-template-columns: minmax(300px,1.3fr) repeat(3,minmax(135px,.55fr));
  gap: 48px;
  padding-top: 55px;
  padding-bottom: 54px;
}

.farazo-footer-brand > a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.farazo-footer-brand > a > strong { font-size: 15px; font-weight: 830; }

.farazo-footer-mark::before {
  position: absolute;
  right: 7px;
  top: 8px;
  width: 11px;
  height: 2px;
  background: var(--farazo-accent);
  box-shadow: 0 6px 0 rgba(255,255,255,.55), 0 12px 0 rgba(255,255,255,.28);
  content: "";
}

.farazo-footer-brand > p {
  max-width: 450px;
  margin: 20px 0 18px;
  color: rgba(255,255,255,.51);
  font-size: 11px;
  line-height: 1.75;
}

.farazo-footer-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.farazo-footer-tags span { padding: 5px 6px; color: #8fd4eb; border: 1px solid rgba(143,212,235,.18); font-size: 6px; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }

.farazo-footer-column {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 9px;
}

.farazo-footer-column h3 {
  margin: 0 0 7px;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.farazo-footer-column a,
.farazo-footer-column p {
  margin: 0;
  color: rgba(255,255,255,.51);
  font-size: 10px;
  line-height: 1.6;
}

.farazo-footer-column a { transition: color 170ms ease, transform 170ms ease; }
.farazo-footer-column a:hover { color: #95d8ee; transform: translateX(2px); }
.farazo-footer-contact p strong { color: rgba(255,255,255,.84); }

.farazo-footer-bottom {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(255,255,255,.11);
  color: rgba(255,255,255,.40);
  font-size: 8px;
  line-height: 1.5;
}

.farazo-back-top {
  position: fixed;
  z-index: 950;
  right: 20px;
  bottom: 20px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #fff;
  border: 0;
  border-radius: 5px;
  background: var(--farazo-accent);
  box-shadow: 0 12px 25px rgba(var(--farazo-accent-rgb),.26);
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  transform: translateY(10px);
  transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease;
}

.farazo-back-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.farazo-back-top svg { width: 17px; height: 17px; }

/* =========================================================
   LEGACY HOME CLASSES — SAFE FALLBACK IF CACHED CONTENT EXISTS
   ========================================================= */
.farazo-business-strip,
.farazo-hero-stats,
.farazo-schedule-board,
.farazo-board-top,
.farazo-board-body,
.farazo-board-footer,
.farazo-operations-section,
.farazo-teams-section,
.farazo-workflow-section,
.farazo-capabilities-section {
  box-sizing: border-box;
}

/* =========================================================
   WOOCOMMERCE SHELL
   ========================================================= */
body.farazo-woo-page {
  color: var(--farazo-ink);
  background: var(--farazo-surface) !important;
  font-family: var(--farazo-font);
}

body.farazo-woo-page .farazo-woo-header-shell,
body.farazo-woo-page .farazo-woo-footer-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.farazo-woo-page #page,
body.farazo-woo-page .site,
body.farazo-woo-page .site-content,
body.farazo-woo-page .content-area,
body.farazo-woo-page .site-main,
body.farazo-woo-page main.site-main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.farazo-woo-page #primary,
body.farazo-woo-page .woocommerce,
body.farazo-woo-page .woocommerce-page .site-main,
body.farazo-woo-page main.site-main > .woocommerce {
  width: min(calc(100% - 64px),1260px) !important;
  max-width: 1260px !important;
  margin: 0 auto !important;
}

body.farazo-woo-page #primary,
body.farazo-woo-page .site-main {
  padding-top: 60px !important;
  padding-bottom: 84px !important;
}

body.farazo-woo-page .woocommerce-breadcrumb {
  margin: 0 0 25px !important;
  color: var(--farazo-muted) !important;
  font-size: 10px !important;
}

body.farazo-woo-page .woocommerce-breadcrumb a { color: var(--farazo-accent) !important; }

body.farazo-woo-page .woocommerce-products-header__title,
body.farazo-woo-page .page-title,
body.farazo-woo-page div.product .product_title,
body.farazo-woo-page .woocommerce-order-details__title,
body.farazo-woo-page .woocommerce-column__title,
body.farazo-woo-page .woocommerce-MyAccount-content h2,
body.farazo-woo-page .cart_totals h2,
body.farazo-woo-page #order_review_heading {
  color: var(--farazo-primary) !important;
  font-family: var(--farazo-font) !important;
  font-weight: 690 !important;
  letter-spacing: -.04em !important;
}

body.farazo-woo-page .woocommerce-products-header__title,
body.farazo-woo-page .page-title { font-size: clamp(38px,4.5vw,59px) !important; }

body.farazo-woo-page .woocommerce-result-count,
body.farazo-woo-page .woocommerce-ordering,
body.farazo-woo-page .woocommerce-product-details__short-description,
body.farazo-woo-page .woocommerce-Tabs-panel,
body.farazo-woo-page .woocommerce-MyAccount-content,
body.farazo-woo-page .woocommerce-cart-form,
body.farazo-woo-page .cart_totals,
body.farazo-woo-page .woocommerce-checkout,
body.farazo-woo-page .woocommerce-order { color: var(--farazo-text); }

/* =========================================================
   WOOCOMMERCE PRODUCTS
   ========================================================= */
body.farazo-woo-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 14px !important;
  margin: 34px 0 0 !important;
}

body.farazo-woo-page ul.products::before,
body.farazo-woo-page ul.products::after { display: none !important; }

body.farazo-woo-page ul.products li.product {
  width: auto !important;
  min-width: 0;
  float: none !important;
  margin: 0 !important;
  padding: 22px !important;
  border: 1px solid var(--farazo-line-strong);
  border-radius: 5px;
  background: #fff;
  box-shadow: none;
  transition: transform 170ms ease, box-shadow 170ms ease, border-color 170ms ease;
}

body.farazo-woo-page ul.products li.product:hover {
  border-color: #a9c5d5;
  box-shadow: var(--farazo-shadow-sm);
  transform: translateY(-2px);
}

body.farazo-woo-page ul.products li.product a img {
  margin-bottom: 18px !important;
  border-radius: 3px;
  background: var(--farazo-surface);
}

body.farazo-woo-page ul.products li.product .woocommerce-loop-product__title {
  color: var(--farazo-primary) !important;
  font-size: 18px !important;
  font-weight: 710 !important;
  line-height: 1.25 !important;
}

body.farazo-woo-page ul.products li.product .price,
body.farazo-woo-page div.product p.price,
body.farazo-woo-page div.product span.price {
  color: var(--farazo-accent) !important;
  font-size: 19px !important;
  font-weight: 820 !important;
}

/* All WooCommerce dark buttons: white text in every state. */
body.farazo-woo-page .woocommerce a.button,
body.farazo-woo-page .woocommerce button.button,
body.farazo-woo-page .woocommerce input.button,
body.farazo-woo-page .woocommerce #respond input#submit,
body.farazo-woo-page a.added_to_cart,
body.farazo-woo-page .woocommerce a.button:visited,
body.farazo-woo-page .woocommerce button.button:visited,
body.farazo-woo-page .woocommerce input.button:visited,
body.farazo-woo-page .woocommerce #respond input#submit:visited,
body.farazo-woo-page a.added_to_cart:visited,
body.farazo-woo-page .woocommerce a.button:hover,
body.farazo-woo-page .woocommerce button.button:hover,
body.farazo-woo-page .woocommerce input.button:hover,
body.farazo-woo-page .woocommerce #respond input#submit:hover,
body.farazo-woo-page a.added_to_cart:hover,
body.farazo-woo-page .woocommerce a.button:focus,
body.farazo-woo-page .woocommerce button.button:focus,
body.farazo-woo-page .woocommerce input.button:focus,
body.farazo-woo-page .woocommerce #respond input#submit:focus,
body.farazo-woo-page a.added_to_cart:focus,
body.farazo-woo-page .woocommerce a.button:active,
body.farazo-woo-page .woocommerce button.button:active,
body.farazo-woo-page .woocommerce input.button:active,
body.farazo-woo-page .woocommerce #respond input#submit:active,
body.farazo-woo-page a.added_to_cart:active {
  min-height: 43px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 10px 15px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid var(--farazo-primary) !important;
  border-radius: 5px !important;
  background: var(--farazo-primary) !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body.farazo-woo-page .woocommerce a.button:hover,
body.farazo-woo-page .woocommerce button.button:hover,
body.farazo-woo-page .woocommerce input.button:hover,
body.farazo-woo-page .woocommerce #respond input#submit:hover,
body.farazo-woo-page a.added_to_cart:hover {
  border-color: var(--farazo-accent) !important;
  background: var(--farazo-accent) !important;
}

/* =========================================================
   WOOCOMMERCE SINGLE PRODUCT / CHECKOUT
   ========================================================= */
body.farazo-woo-page div.product { display: flow-root; }
body.farazo-woo-page div.product div.images,
body.farazo-woo-page div.product div.summary { margin-bottom: 46px !important; }
body.farazo-woo-page div.product div.images img { border: 1px solid var(--farazo-line); border-radius: 4px; background: #fff; }
body.farazo-woo-page div.product .summary { padding: 4px 0 0 23px; }
body.farazo-woo-page div.product .product_title { margin-bottom: 15px !important; font-size: clamp(34px,4vw,51px) !important; line-height: 1.04 !important; }
body.farazo-woo-page div.product .woocommerce-product-details__short-description { margin: 21px 0 !important; font-size: 14px; line-height: 1.75; }
body.farazo-woo-page div.product form.cart { display: flex; gap: 10px; align-items: center; margin-top: 24px !important; }
body.farazo-woo-page .quantity .qty { min-height: 43px; border: 1px solid var(--farazo-line-strong); border-radius: 4px; }
body.farazo-woo-page .product_meta { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--farazo-line); color: var(--farazo-muted); font-size: 10px; }
body.farazo-woo-page .woocommerce-tabs { margin-top: 24px; }
body.farazo-woo-page .woocommerce-tabs ul.tabs { padding: 0 !important; border-bottom: 1px solid var(--farazo-line) !important; }
body.farazo-woo-page .woocommerce-tabs ul.tabs::before { border: 0 !important; }
body.farazo-woo-page .woocommerce-tabs ul.tabs li { margin: 0 8px 0 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
body.farazo-woo-page .woocommerce-tabs ul.tabs li::before,
body.farazo-woo-page .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.farazo-woo-page .woocommerce-tabs ul.tabs li a { padding: 12px 14px !important; color: var(--farazo-text) !important; font-size: 11px !important; font-weight: 760 !important; }
body.farazo-woo-page .woocommerce-tabs ul.tabs li.active a { color: var(--farazo-accent) !important; box-shadow: inset 0 -2px 0 var(--farazo-accent); }

body.farazo-woo-page table.shop_table { border: 1px solid var(--farazo-line) !important; border-radius: 0 !important; background: #fff; }
body.farazo-woo-page table.shop_table th,
body.farazo-woo-page table.shop_table td { padding: 13px !important; border-color: var(--farazo-line) !important; }
body.farazo-woo-page table.shop_table th { color: var(--farazo-primary); font-size: 10px; font-weight: 800; }
body.farazo-woo-page table.shop_table td { color: var(--farazo-text); font-size: 11px; }

body.farazo-woo-page .cart_totals,
body.farazo-woo-page .woocommerce-checkout-review-order,
body.farazo-woo-page .woocommerce-billing-fields,
body.farazo-woo-page .woocommerce-additional-fields,
body.farazo-woo-page .woocommerce-MyAccount-content,
body.farazo-woo-page .woocommerce-MyAccount-navigation {
  padding: 22px;
  border: 1px solid var(--farazo-line);
  background: #fff;
}

body.farazo-woo-page .woocommerce form .form-row label { color: var(--farazo-primary); font-size: 10px; font-weight: 760; }
body.farazo-woo-page .woocommerce form .form-row input.input-text,
body.farazo-woo-page .woocommerce form .form-row textarea,
body.farazo-woo-page .woocommerce form .form-row select,
body.farazo-woo-page .select2-container--default .select2-selection--single {
  min-height: 45px;
  padding: 9px 11px;
  border: 1px solid var(--farazo-line-strong) !important;
  border-radius: 4px !important;
  background: #fbfdfe !important;
  box-shadow: none !important;
}

body.farazo-woo-page .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px; }
body.farazo-woo-page .woocommerce-info,
body.farazo-woo-page .woocommerce-message,
body.farazo-woo-page .woocommerce-error { border-top-color: var(--farazo-accent) !important; background: #fff !important; color: var(--farazo-text) !important; }
body.farazo-woo-page .woocommerce-info::before,
body.farazo-woo-page .woocommerce-message::before { color: var(--farazo-accent) !important; }
body.farazo-woo-page #payment { border: 1px solid var(--farazo-line); border-radius: 0 !important; background: #fff !important; }
body.farazo-woo-page #payment div.payment_box { color: var(--farazo-text) !important; background: var(--farazo-surface) !important; }
body.farazo-woo-page #payment div.payment_box::before { border-bottom-color: var(--farazo-surface) !important; }
body.farazo-woo-page .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
body.farazo-woo-page .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--farazo-line); }
body.farazo-woo-page .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
body.farazo-woo-page .woocommerce-MyAccount-navigation a { display: block; padding: 10px 2px; color: var(--farazo-primary) !important; font-size: 11px; font-weight: 730; }

/* =========================================================
   RESPONSIVE — LARGE DESKTOP
   ========================================================= */
@media (min-width: 1440px) {
  .farazo-container {
    width: min(calc(100% - 80px),1300px);
    max-width: 1300px;
  }

  .farazo-hero-v2-grid {
    grid-template-columns: 160px minmax(0,.84fr) minmax(560px,1.16fr);
    gap: 44px;
  }
}

/* =========================================================
   RESPONSIVE — LAPTOP
   ========================================================= */
@media (max-width: 1180px) {
  .farazo-container { width: min(calc(100% - 48px),1160px); }
  .farazo-header-context { display: none; }
  .farazo-header-divider { margin-right: auto; }
  .farazo-hero-v2-grid { grid-template-columns: 120px minmax(0,.86fr) minmax(470px,1.14fr); gap: 28px; }
  .farazo-hero-rail { padding-right: 18px; }
  .farazo-control-layout,
  .farazo-environments-layout,
  .farazo-benefits-v2-layout,
  .farazo-benefits-layout,
  .farazo-faq-layout,
  .farazo-audience-layout { gap: 62px; }
  .farazo-price-row { grid-template-columns: 68px minmax(220px,1fr) minmax(215px,.9fr) 180px; }
  .farazo-price-main,
  .farazo-price-features,
  .farazo-price-buy { padding: 21px; }
  .farazo-footer-grid { gap: 34px; }
}

/* =========================================================
   RESPONSIVE — TABLET
   ========================================================= */
@media (max-width: 920px) {
  body.admin-bar .farazo-header { top: 46px; }
  .farazo-container { width: min(calc(100% - 36px),880px); }
  .farazo-section { padding: 82px 0; }

  .farazo-header-shell { min-height: 70px; }
  .farazo-header-divider { display: none; }
  .farazo-menu-toggle { display: flex; }

  .farazo-nav {
    position: absolute;
    z-index: 1001;
    top: calc(100% + 1px);
    right: 18px;
    left: 18px;
    display: none;
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--farazo-line);
    background: #fff;
    box-shadow: var(--farazo-shadow-md);
  }

  .farazo-nav.is-open { display: flex; }
  .farazo-nav-links { align-items: stretch; flex-direction: column; }
  .farazo-nav-links a { padding: 12px 4px; border-bottom: 1px solid var(--farazo-line); font-size: 12px; }
  .farazo-nav-links a::after { display: none; }
  .farazo-nav-action { justify-content: center; }

  .farazo-hero-v2 { padding: 60px 0 58px; }
  .farazo-hero-v2-grid { grid-template-columns: 96px minmax(0,1fr); gap: 28px; }
  .farazo-hero-rail { min-height: auto; grid-row: span 2; }
  .farazo-timeline-board { grid-column: 2; width: 100%; }
  .farazo-hero-v2-copy h1 { font-size: clamp(45px,8vw,65px); }

  .farazo-signal-strip .farazo-container { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .farazo-signal-strip .farazo-container > div:nth-child(3) { border-top: 1px solid var(--farazo-line); }
  .farazo-signal-strip .farazo-container > div:nth-child(4) { border-top: 1px solid var(--farazo-line); }

  .farazo-control-layout,
  .farazo-environments-layout,
  .farazo-benefits-v2-layout,
  .farazo-benefits-layout,
  .farazo-faq-layout,
  .farazo-about-story-layout,
  .farazo-audience-layout,
  .farazo-contact-layout,
  .farazo-legal-layout {
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .farazo-control-intro,
  .farazo-faq-intro,
  .farazo-legal-aside { position: static; }

  .farazo-control-row { grid-template-columns: 48px 190px minmax(0,1fr); }
  .farazo-control-row > b { grid-column: 2 / -1; justify-self: start; }

  .farazo-workflow-v2-grid { grid-template-columns: 1fr; }
  .farazo-workflow-v2-grid article { min-height: 260px; }
  .farazo-workflow-v2-grid h3 { margin-top: 42px; }

  .farazo-capability-band-head,
  .farazo-plan-preview-v2-head,
  .farazo-pricing-intro,
  .farazo-heading-split,
  .farazo-footer-head {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .farazo-capability-band-list article { grid-template-columns: 56px 220px minmax(0,1fr); }

  .farazo-principle-grid,
  .farazo-standard-list { grid-template-columns: repeat(2,minmax(0,1fr)); }

  .farazo-inner-v2-layout { grid-template-columns: 84px minmax(0,1fr); gap: 35px; }
  .farazo-inner-v2-visual { grid-column: 2; width: min(100%,420px); }
  .farazo-inner-v2-index { grid-row: span 2; }

  .farazo-price-group > header { grid-template-columns: 50px minmax(0,1fr); }
  .farazo-price-group > header p { grid-column: 2; }
  .farazo-price-row { grid-template-columns: 64px minmax(0,1fr) 180px; }
  .farazo-price-features { grid-column: 2; border-top: 1px solid var(--farazo-line); border-right: 1px solid var(--farazo-line); }
  .farazo-price-buy { grid-column: 3; grid-row: 1 / span 2; }

  .farazo-footer-grid { grid-template-columns: minmax(260px,1.2fr) repeat(2,minmax(140px,.6fr)); }
  .farazo-footer-contact { grid-column: 2 / -1; }

  body.farazo-woo-page #primary,
  body.farazo-woo-page .woocommerce,
  body.farazo-woo-page .woocommerce-page .site-main,
  body.farazo-woo-page main.site-main > .woocommerce { width: min(calc(100% - 36px),880px) !important; }

  body.farazo-woo-page ul.products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

/* =========================================================
   RESPONSIVE — MOBILE
   ========================================================= */
@media (max-width: 767px) {
  .farazo-container { width: min(calc(100% - 28px),720px); }
  .farazo-section { padding: 68px 0; }
  .farazo-kicker { font-size: 9px; }
  .farazo-heading-split h2,
  .farazo-section-intro h2,
  .farazo-audience-lead h2,
  .farazo-faq-intro h2,
  .farazo-benefits-copy h2 { font-size: clamp(34px,10.5vw,48px); }

  .farazo-header-shell { min-height: 66px; }
  .farazo-brand-mark { width: 38px; height: 38px; flex-basis: 38px; }
  .farazo-brand-copy strong { max-width: 200px; font-size: 12px; }
  .farazo-brand-copy small { display: none; }
  .farazo-brand img { max-width: 210px; height: 42px; }
  .farazo-nav { right: 14px; left: 14px; }

  .farazo-hero-v2 { padding: 50px 0 52px; }
  .farazo-hero-v2::after { width: 5px; }
  .farazo-hero-v2-grid { grid-template-columns: 1fr; gap: 34px; }
  .farazo-hero-rail { min-height: auto; grid-row: auto; padding: 0 0 18px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .farazo-hero-rail ol { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
  .farazo-hero-rail li { padding: 12px 0; border-top: 1px solid rgba(255,255,255,.13); border-bottom: 0 !important; }
  .farazo-hero-rail > small { margin-top: 12px; }
  .farazo-hero-v2-copy h1 { margin-top: 18px; font-size: clamp(39px,12vw,57px); }
  .farazo-hero-v2-copy > p { font-size: 15px; }
  .farazo-hero-actions { align-items: stretch; flex-direction: column; gap: 10px; }
  .farazo-hero-actions .farazo-button { width: 100%; }
  .farazo-hero-actions .farazo-text-link { width: fit-content; }
  .farazo-timeline-board { grid-column: 1; }
  .farazo-timeline-grid { grid-template-columns: 42px minmax(0,1fr); min-height: 350px; }
  .farazo-lane { grid-template-columns: 68px minmax(0,1fr); min-height: 66px; }
  .farazo-lane > article { left: 0; width: auto; min-width: 0; margin-left: calc(var(--start) * .25); }
  .farazo-timeline-board > header { align-items: flex-start; flex-direction: column; justify-content: center; gap: 5px; padding: 10px 14px; }
  .farazo-timeline-board > footer { align-items: flex-start; flex-direction: column; justify-content: center; gap: 4px; padding: 10px 14px; }

  .farazo-signal-strip .farazo-container { width: 100%; grid-template-columns: 1fr 1fr; }
  .farazo-signal-strip .farazo-container > div { min-height: 78px; padding: 14px; }
  .farazo-signal-strip strong { font-size: 12px; }

  .farazo-control-row { grid-template-columns: 40px minmax(0,1fr); gap: 12px; min-height: 0; padding: 20px 0; }
  .farazo-control-row > strong { font-size: 16px; }
  .farazo-control-row > p,
  .farazo-control-row > b { grid-column: 2; }

  .farazo-workflow-v2-head { grid-template-columns: 1fr; gap: 10px; }
  .farazo-workflow-v2-head h2 { font-size: clamp(35px,10.5vw,49px); }
  .farazo-workflow-v2-grid article { min-height: 235px; padding: 24px; }

  .farazo-environments-list { grid-template-columns: 1fr; }
  .farazo-environments-list article:last-child { grid-column: auto; }
  .farazo-environments-list article { min-height: 150px; }

  .farazo-capability-band-head h2,
  .farazo-plan-preview-v2-head h2 { font-size: clamp(35px,10.5vw,49px); }
  .farazo-capability-band-list article { grid-template-columns: 36px minmax(0,1fr); gap: 10px 14px; padding: 18px 0; }
  .farazo-capability-band-list p { grid-column: 2; }

  .farazo-home-plan { grid-template-columns: 68px minmax(0,1fr); }
  .farazo-home-plan-buy { grid-column: 2; border-top: 1px solid var(--farazo-line); border-left: 0; padding: 16px 22px 22px; }
  .farazo-home-plan-main { padding: 22px; }
  .farazo-plan-note { align-items: stretch; flex-direction: column; }
  .farazo-plan-note .farazo-button { width: 100%; }

  .farazo-benefits-v2-list,
  .farazo-benefit-grid { grid-template-columns: 1fr; }
  .farazo-benefits-v2-list article,
  .farazo-benefit-grid article { min-height: 150px; }

  .farazo-faq-item summary { min-height: 72px; font-size: 14px; }
  .farazo-faq-item p { margin-right: 0; }

  .farazo-inner-hero-v2 { min-height: auto; padding: 58px 0; }
  .farazo-inner-v2-layout { grid-template-columns: 1fr; gap: 30px; }
  .farazo-inner-v2-index { min-height: auto; display: grid; grid-template-columns: auto auto 1fr; gap: 12px; align-items: center; padding: 0 0 16px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.17); }
  .farazo-inner-v2-index > strong { margin: 0; font-size: 24px; }
  .farazo-inner-v2-index > small { margin: 0; writing-mode: initial; transform: none; }
  .farazo-inner-v2-copy h1 { font-size: clamp(39px,11.5vw,55px); }
  .farazo-inner-v2-visual { grid-column: 1; width: 100%; }

  .farazo-about-statement { padding-right: 0; border-right: 0; }
  .farazo-about-statement h2 { font-size: clamp(36px,10.5vw,50px); }
  .farazo-about-rule { flex-wrap: wrap; }
  .farazo-principle-grid,
  .farazo-standard-list { grid-template-columns: 1fr; }
  .farazo-principle-grid article { min-height: 250px; }
  .farazo-audience-list article { grid-template-columns: 1fr; gap: 8px; }

  .farazo-contact-layout { border: 0; }
  .farazo-contact-aside,
  .farazo-form-panel { padding: 28px 22px; }
  .farazo-field-row { grid-template-columns: 1fr; }
  .farazo-submit-button { width: 100%; }
  .farazo-contact-cards { grid-template-columns: 1fr; }

  .farazo-buyer-notice { grid-template-columns: 42px minmax(0,1fr); }
  .farazo-buyer-notice > b { grid-column: 2; justify-self: start; }
  .farazo-price-group > header { grid-template-columns: 42px minmax(0,1fr); }
  .farazo-price-row { grid-template-columns: 58px minmax(0,1fr); }
  .farazo-price-features { grid-column: 2; border-right: 0; }
  .farazo-price-buy { grid-column: 2; grid-row: auto; border-top: 1px solid var(--farazo-line); }
  .farazo-price-main { border-right: 0; }
  .farazo-price-id { grid-row: 1 / span 3; }

  .farazo-legal-content > section { grid-template-columns: 34px minmax(0,1fr); gap: 12px; }
  .farazo-legal-aside { padding: 22px; }

  .farazo-final-v2-grid { grid-template-columns: 1fr; gap: 22px; min-height: auto; padding-top: 42px; padding-bottom: 42px; }
  .farazo-final-v2-label { min-height: auto; display: flex; align-items: center; gap: 12px; padding: 0 0 15px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .farazo-final-v2-label small { margin-left: auto; }
  .farazo-final-v2-grid .farazo-button { width: 100%; }

  .farazo-footer-head { padding-top: 54px; padding-bottom: 40px; }
  .farazo-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 26px; padding-top: 42px; padding-bottom: 42px; }
  .farazo-footer-brand { grid-column: 1 / -1; }
  .farazo-footer-contact { grid-column: auto; }
  .farazo-footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding: 16px 0; }

  body.farazo-woo-page #primary,
  body.farazo-woo-page .woocommerce,
  body.farazo-woo-page .woocommerce-page .site-main,
  body.farazo-woo-page main.site-main > .woocommerce { width: min(calc(100% - 28px),720px) !important; }

  body.farazo-woo-page #primary,
  body.farazo-woo-page .site-main { padding-top: 44px !important; padding-bottom: 62px !important; }
  body.farazo-woo-page ul.products { grid-template-columns: 1fr !important; gap: 12px !important; }
  body.farazo-woo-page div.product .summary { padding-left: 0; }
  body.farazo-woo-page div.product form.cart { align-items: stretch; flex-direction: column; }
  body.farazo-woo-page .woocommerce a.button,
  body.farazo-woo-page .woocommerce button.button,
  body.farazo-woo-page .woocommerce input.button { width: 100%; }
  body.farazo-woo-page table.shop_table_responsive tr td::before { color: var(--farazo-primary); font-weight: 800; }
}

/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */
@media (max-width: 420px) {
  .farazo-container { width: min(calc(100% - 22px),400px); }
  .farazo-brand-copy strong { max-width: 170px; }
  .farazo-hero-rail ol { grid-template-columns: 1fr; gap: 0; }
  .farazo-hero-rail li { grid-template-columns: 28px minmax(0,1fr); align-items: start; }
  .farazo-hero-rail li p { font-size: 9px; }
  .farazo-timeline-grid { grid-template-columns: 36px minmax(0,1fr); }
  .farazo-timeline-lanes { padding-inline: 10px; }
  .farazo-lane { grid-template-columns: 58px minmax(0,1fr); }
  .farazo-lane > b { font-size: 7px; }
  .farazo-lane > article { padding: 8px; }
  .farazo-signal-strip .farazo-container { grid-template-columns: 1fr; }
  .farazo-signal-strip .farazo-container > div { border-top: 1px solid var(--farazo-line); border-right: 1px solid var(--farazo-line); }
  .farazo-signal-strip .farazo-container > div:first-child { border-top: 0; }
  .farazo-footer-grid { grid-template-columns: 1fr; }
  .farazo-footer-brand { grid-column: auto; }
  .farazo-footer-contact { grid-column: auto; }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  .farazo-site-shell *,
  .farazo-site-shell *::before,
  .farazo-site-shell *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}


/* =========================================================
   HOTFIX + REDESIGN OVERRIDES v7.2.0
   - Force white text on dark buttons with extreme specificity
   - More distinct dark command header
   - Slightly more differentiated action styling
   ========================================================= */

.farazo-site-shell a.farazo-button.farazo-button-primary,
.farazo-site-shell a.farazo-button.farazo-button-dark,
.farazo-site-shell a.farazo-button.farazo-button-accent,
.farazo-site-shell button.farazo-button.farazo-button-primary,
.farazo-site-shell button.farazo-button.farazo-button-dark,
.farazo-site-shell button.farazo-button.farazo-button-accent,
.farazo-site-shell .farazo-nav-action,
.farazo-site-shell .farazo-submit-button,
.farazo-site-shell .farazo-plan-note .farazo-button,
.farazo-site-shell .farazo-footer-action .farazo-button,
.farazo-site-shell .farazo-final-cta .farazo-button {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 0 0 #ffffff;
}

.farazo-site-shell a.farazo-button.farazo-button-primary *,
.farazo-site-shell a.farazo-button.farazo-button-dark *,
.farazo-site-shell a.farazo-button.farazo-button-accent *,
.farazo-site-shell button.farazo-button.farazo-button-primary *,
.farazo-site-shell button.farazo-button.farazo-button-dark *,
.farazo-site-shell button.farazo-button.farazo-button-accent *,
.farazo-site-shell .farazo-nav-action *,
.farazo-site-shell .farazo-submit-button *,
.farazo-site-shell .farazo-plan-note .farazo-button *,
.farazo-site-shell .farazo-footer-action .farazo-button *,
.farazo-site-shell .farazo-final-cta .farazo-button * {
  color: #ffffff !important;
  fill: currentColor;
  stroke: currentColor;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

body.farazo-woo-page .woocommerce a.button,
body.farazo-woo-page .woocommerce button.button,
body.farazo-woo-page .woocommerce input.button,
body.farazo-woo-page .woocommerce #respond input#submit,
body.farazo-woo-page a.added_to_cart,
body.farazo-woo-page .woocommerce a.button:hover,
body.farazo-woo-page .woocommerce button.button:hover,
body.farazo-woo-page .woocommerce input.button:hover,
body.farazo-woo-page .woocommerce #respond input#submit:hover,
body.farazo-woo-page a.added_to_cart:hover,
body.farazo-woo-page .woocommerce a.button:focus,
body.farazo-woo-page .woocommerce button.button:focus,
body.farazo-woo-page .woocommerce input.button:focus,
body.farazo-woo-page .woocommerce #respond input#submit:focus,
body.farazo-woo-page a.added_to_cart:focus {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.farazo-woo-page .woocommerce a.button *,
body.farazo-woo-page .woocommerce button.button *,
body.farazo-woo-page .woocommerce input.button *,
body.farazo-woo-page .woocommerce #respond input#submit *,
body.farazo-woo-page a.added_to_cart * {
  color: #ffffff !important;
  fill: currentColor;
  stroke: currentColor;
  -webkit-text-fill-color: #ffffff !important;
}

.farazo-header {
  color: #ffffff;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(7, 21, 32, .94) !important;
  box-shadow: 0 18px 46px rgba(3, 10, 17, .20);
  backdrop-filter: blur(14px);
}

.farazo-header-shell {
  min-height: 86px;
}

.farazo-header .farazo-brand-copy strong {
  color: #ffffff !important;
}

.farazo-header .farazo-brand-copy small,
.farazo-header .farazo-header-context p {
  color: rgba(255,255,255,.62) !important;
}

.farazo-header-divider {
  background: rgba(255,255,255,.12) !important;
}

.farazo-header-context > span {
  border-radius: 999px;
  background: linear-gradient(135deg, var(--farazo-accent), #7ac9e5);
  box-shadow: 0 8px 18px rgba(var(--farazo-accent-rgb), .25);
}

.farazo-nav {
  gap: 12px;
}

.farazo-nav-links {
  gap: 6px;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
}

.farazo-nav-links a {
  padding: 10px 14px;
  color: rgba(255,255,255,.78) !important;
  border-radius: 999px;
}

.farazo-nav-links a::after {
  display: none !important;
}

.farazo-nav-links a:hover,
.farazo-nav-links a:focus-visible {
  color: #ffffff !important;
  background: rgba(255,255,255,.08);
}

.farazo-nav-action {
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--farazo-primary), #234f73) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}

.farazo-nav-action:hover {
  background: linear-gradient(135deg, var(--farazo-accent), #79c8e4) !important;
}

.farazo-menu-toggle {
  border-color: rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.04) !important;
}

.farazo-menu-toggle span {
  background: #ffffff !important;
}

.farazo-plan-note .farazo-button,
.farazo-footer-action .farazo-button,
.farazo-final-cta .farazo-button {
  box-shadow: 0 12px 26px rgba(0,0,0,.12);
}

@media (max-width: 920px) {
  .farazo-nav-links {
    border-radius: 18px;
    background: rgba(255,255,255,.03);
  }

  .farazo-nav-action {
    width: 100%;
  }
}

/* =========================================================
   FINAL WOOCOMMERCE COMPATIBILITY FIX
   - Farazo header/footer remain full width
   - Theme keeps ownership of Product / Cart / Checkout grids
   - Checkout step bar is normalized
   ========================================================= */

/* Hide the theme header/footer on WooCommerce pages only.
   Farazo header/footer are injected separately by the plugin. */
body.farazo-woo-page > header:not(.farazo-header),
body.farazo-woo-page > footer:not(.farazo-footer),
body.farazo-woo-page #masthead,
body.farazo-woo-page #site-header,
body.farazo-woo-page #colophon,
body.farazo-woo-page #site-footer,
body.farazo-woo-page #header,
body.farazo-woo-page #footer,
body.farazo-woo-page .site-header:not(.farazo-header),
body.farazo-woo-page .site-footer:not(.farazo-footer),
body.farazo-woo-page .elementor-location-header,
body.farazo-woo-page .elementor-location-footer {
  display: none !important;
}

/* Injected Farazo shells must never inherit a theme content-column width
   or the full-width transform used on Farazo shortcode pages. */
body.farazo-woo-page .farazo-site-shell.farazo-woo-header-shell,
body.farazo-woo-page .farazo-site-shell.farazo-woo-footer-shell {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  transform: none !important;
  overflow: visible !important;
}

body.farazo-woo-page .farazo-woo-header-shell .farazo-header,
body.farazo-woo-page .farazo-woo-footer-shell .farazo-footer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Do not rebuild the theme's internal WooCommerce grid.
   These rules only release artificial max-width constraints. */
body.woocommerce-cart.farazo-woo-page .woocommerce-cart-form,
body.woocommerce-cart.farazo-woo-page .cart-collaterals,
body.woocommerce-cart.farazo-woo-page .cart-collaterals .cart_totals,
body.woocommerce-checkout.farazo-woo-page .col2-set,
body.woocommerce-checkout.farazo-woo-page #order_review_heading,
body.woocommerce-checkout.farazo-woo-page #order_review {
  max-width: none !important;
}

/* Cart table: prevent long product names from collapsing vertically. */
body.woocommerce-cart.farazo-woo-page table.shop_table.cart {
  width: 100% !important;
  table-layout: auto !important;
}

body.woocommerce-cart.farazo-woo-page table.shop_table.cart .product-name,
body.woocommerce-cart.farazo-woo-page table.shop_table.cart .product-name a {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* Normalize the theme's Shopping Cart > Checkout > Order Complete bar. */
body.farazo-woo-page .checkout-page-title {
  padding-top: 34px !important;
  padding-bottom: 30px !important;
}

body.farazo-woo-page .checkout-breadcrumbs {
  width: min(calc(100% - 48px), 1260px) !important;
  max-width: 1260px !important;
  margin: 0 auto !important;
  font-size: clamp(22px, 2.2vw, 32px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
}

body.farazo-woo-page .checkout-breadcrumbs a,
body.farazo-woo-page .checkout-breadcrumbs span {
  font-size: inherit !important;
  line-height: inherit !important;
}

body.farazo-woo-page .checkout-breadcrumbs .divider {
  margin-left: 18px !important;
  margin-right: 18px !important;
}

/* Keep the WooCommerce content surface consistent behind cart/checkout. */
body.farazo-woo-page #main,
body.farazo-woo-page .site-main {
  background: #ffffff !important;
}

@media (max-width: 767px) {
  body.farazo-woo-page .checkout-page-title {
    padding-top: 22px !important;
    padding-bottom: 20px !important;
  }

  body.farazo-woo-page .checkout-breadcrumbs {
    width: min(calc(100% - 28px), 720px) !important;
    font-size: 17px !important;
    gap: 6px !important;
  }

  body.farazo-woo-page .checkout-breadcrumbs .divider {
    margin-left: 7px !important;
    margin-right: 7px !important;
  }
}

