html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

/* These images belong only to the compact mobile cards. */
.path-step > .path-mobile-media {
  display: none !important;
}

@media (max-width: 700px) {
  .path-step > .path-mobile-media {
    display: block !important;
  }

  .hero-scroll {
    position: static;
    left: auto;
    bottom: auto;
    width: max-content;
    margin-top: 22px;
    transform: none;
  }
}

/* Five-step collaboration story. */
.client-journey {
  padding: 110px 0;
  background: var(--paper);
}

.journey-head {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 64px;
}

.journey-head > .section-label {
  grid-column: 1 / -1;
}

.journey-head h2 {
  margin: 0;
  font: 400 clamp(52px, 6vw, 88px)/.94 Bodoni Moda;
}

.journey-head p {
  margin: 0;
  color: #6c6259;
  font-size: 15px;
  line-height: 1.75;
}

.journey-list {
  display: grid;
  gap: 22px;
}

.journey-step {
  min-height: 610px;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  border: 1px solid var(--line);
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255, 255, 255, .2);
}

.journey-step:nth-child(even) .journey-media {
  order: 2;
}

.journey-media {
  min-height: 610px;
  overflow: hidden;
}

.journey-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .8s;
}

.journey-step:hover .journey-media img {
  transform: scale(1.025);
}

.journey-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, 5vw, 76px);
}

.journey-copy > span {
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 9px;
}

.journey-copy h3 {
  margin: 20px 0;
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1;
}

.journey-copy p {
  margin: 0;
  color: #665d55;
  font-size: 14px;
  line-height: 1.75;
}

.journey-copy ul {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  border-top: 1px solid var(--line);
}

.journey-copy li {
  position: relative;
  padding: 12px 0 12px 24px;
  border-bottom: 1px solid var(--line);
  color: #6c6259;
  font-size: 11px;
  line-height: 1.5;
}

.journey-copy li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--wine);
}

.assistant-launch {
  height: 52px;
  padding-right: 13px;
}

.assistant-launch > span {
  width: 38px;
  height: 38px;
  font-size: 15px;
}

@media (max-width: 760px) {
  .client-journey {
    padding: 78px 0;
  }

  .journey-head {
    display: block;
    margin-bottom: 34px;
  }

  .journey-head h2 {
    margin: 16px 0 22px;
    font-size: 49px;
  }

  .journey-step {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .journey-step:nth-child(even) .journey-media {
    order: 0;
  }

  .journey-media {
    min-height: 0;
    height: 58vh;
    max-height: 520px;
  }

  .journey-copy {
    padding: 28px 22px 32px;
  }

  .journey-copy h3 {
    font-size: 38px;
  }

  .assistant-launch small {
    display: none;
  }

  .assistant-launch {
    width: 52px;
    padding: 6px;
  }

  .assistant-launch > i {
    position: absolute;
    right: 2px;
    top: 2px;
  }
}

/* Selected cards and journey states must stay legible over the glass system. */
.format-grid article.selected {
  color: #f5ede2 !important;
  border-color: rgba(255,255,255,.24) !important;
  background: linear-gradient(145deg,rgba(126,48,59,.94),rgba(83,28,37,.88)) !important;
  box-shadow: 0 26px 58px rgba(107,39,49,.28), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.format-grid article.selected h3,
.format-grid article.selected p,
.format-grid article.selected strong,
.format-grid article.selected li { color: #f5ede2 !important; }
.format-grid article.selected small { color: #dfb77d !important; }
.format-grid article.selected .format-copy ul { border-color: rgba(255,255,255,.18); }
.format-grid article.selected .format-copy li { border-color: rgba(255,255,255,.16); }

.journey-step.active,
.journey-step.active:nth-child(even) {
  color: #f2eadf !important;
  border-color: rgba(181,139,83,.65) !important;
  background: linear-gradient(145deg,rgba(40,35,30,.98),rgba(24,21,18,.96)) !important;
  box-shadow: 0 26px 64px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.13) !important;
}

.journey-step.active .journey-trigger,
.journey-step.active .journey-trigger b {
  color: #f2eadf !important;
  opacity: 1 !important;
}

.journey-step.active .journey-trigger small { color: #b9afa4 !important; }

.journey-progress {
  box-sizing: border-box;
  width: min(1180px,calc(100% - 48px)) !important;
  max-width: calc(100% - 48px);
  margin-inline: auto !important;
  padding: 10px 14px !important;
  overflow: hidden;
}

.journey-progress span.active {
  color: #2a2119 !important;
  border-color: rgba(181,139,83,.85) !important;
  background: linear-gradient(145deg,#d6ad73,#b58b53) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 0 0 5px rgba(181,139,83,.12) !important;
}

.journey-progress span.current {
  color: #fff !important;
  border-color: rgba(255,255,255,.22) !important;
  background: linear-gradient(145deg,#8d3543,#6b2731) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 0 0 6px rgba(107,39,49,.18) !important;
}

.journey-progress i::after {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  color: #d8cec2 !important;
  background: rgba(255,255,255,.07) !important;
}

@media (max-width: 800px) {
  .journey-progress {
    width: calc(100% - 34px) !important;
    max-width: calc(100% - 34px);
  }

  .journey-progress i::after { display: none; }
}

/* Liquid-glass contrast and layout corrections. */
#leadForm,
.assistant-panel {
  color: var(--ink) !important;
  border-color: rgba(255,255,255,.72) !important;
  background:
    linear-gradient(145deg, rgba(248,243,234,.92), rgba(230,222,211,.78)) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

#leadForm h3,
.assistant-panel h3,
#leadForm label,
#assistantForm label > span,
.assistant-panel .assistant-close {
  color: var(--ink) !important;
}

#leadForm input,
#assistantForm input,
#assistantForm select,
#assistantForm textarea {
  color: #24201c !important;
  border-bottom-color: rgba(94,76,58,.45) !important;
}

#leadForm input::placeholder,
#assistantForm input::placeholder,
#assistantForm textarea::placeholder {
  color: #756d65 !important;
  opacity: 1;
}

#leadForm .contact-hint,
#leadForm .form-note,
.assistant-panel .assistant-note {
  color: #6f665e !important;
}

.dark .chips button.active,
.dark .soft.active,
.day-builder .chips button.active {
  color: white !important;
  border-color: rgba(255,255,255,.28) !important;
  background: linear-gradient(135deg, rgba(139,54,66,.96), rgba(107,39,49,.84)) !important;
  box-shadow: 0 16px 36px rgba(107,39,49,.3), inset 0 1px 0 rgba(255,255,255,.28) !important;
}

.chips,
.brief-card .chips {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  justify-content: flex-start;
  overflow: visible;
}

.brief-card {
  min-width: 0;
  overflow: hidden;
}

.brief-card .chips button {
  min-width: 0;
  max-width: 100%;
  flex: 1 1 150px;
  white-space: normal;
}

.address-field > div {
  align-items: center;
  gap: 12px;
}

.address-field button {
  flex: 0 0 auto;
  min-height: 40px;
  margin: 5px 0 6px;
  padding: 11px 17px !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  border-radius: 100px !important;
  color: white !important;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06)) !important;
}

.address-field button:hover {
  color: #171512 !important;
  background: linear-gradient(135deg, rgba(209,170,112,.98), rgba(181,139,83,.9)) !important;
  transform: translateY(-2px) !important;
}

.day-flow {
  color: #eee5d8 !important;
  border-color: rgba(255,255,255,.25) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.17), rgba(255,255,255,.07)) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.day-flow span {
  color: #bdb3a8 !important;
}

.day-flow span.active {
  color: #d8ac6d !important;
}

.day-flow i {
  color: #8f857a !important;
}

@media (max-width: 760px) {
  #leadForm,
  .assistant-panel {
    background: linear-gradient(145deg, rgba(248,243,234,.96), rgba(230,222,211,.9)) !important;
  }

  .brief-card .chips button {
    flex-basis: calc(50% - 6px);
  }

  .address-field > div {
    align-items: stretch;
  }

  .address-field button {
    width: 100%;
    margin-top: 4px;
  }
}

/* Final selected-state corrections: keep after every glass override. */
.format-grid article.selected {
  color: #f5ede2 !important;
  border-color: rgba(255,255,255,.24) !important;
  background: linear-gradient(145deg,rgba(126,48,59,.94),rgba(83,28,37,.88)) !important;
  box-shadow: 0 26px 58px rgba(107,39,49,.28), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.format-grid article.selected h3,
.format-grid article.selected p,
.format-grid article.selected strong,
.format-grid article.selected li { color: #f5ede2 !important; }
.format-grid article.selected small { color: #dfb77d !important; }
.format-grid article.selected .format-copy ul { border-color: rgba(255,255,255,.18); }
.format-grid article.selected .format-copy li { border-color: rgba(255,255,255,.16); }

.journey-step.active,
.journey-step.active:nth-child(even) {
  color: #f2eadf !important;
  border-color: rgba(181,139,83,.65) !important;
  background: linear-gradient(145deg,rgba(40,35,30,.98),rgba(24,21,18,.96)) !important;
  box-shadow: 0 26px 64px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.13) !important;
}

.journey-step.active .journey-trigger,
.journey-step.active .journey-trigger b {
  color: #f2eadf !important;
  opacity: 1 !important;
}
.journey-step.active .journey-trigger small { color: #b9afa4 !important; }

.journey-progress {
  box-sizing: border-box;
  width: min(1180px,calc(100% - 48px)) !important;
  max-width: calc(100% - 48px);
  margin-inline: auto !important;
  padding: 10px 14px !important;
  overflow: hidden;
}

.journey-progress span.active {
  color: #2a2119 !important;
  border-color: rgba(181,139,83,.85) !important;
  background: linear-gradient(145deg,#d6ad73,#b58b53) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 0 0 5px rgba(181,139,83,.12) !important;
}

.journey-progress span.current {
  color: #fff !important;
  border-color: rgba(255,255,255,.22) !important;
  background: linear-gradient(145deg,#8d3543,#6b2731) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 0 0 6px rgba(107,39,49,.18) !important;
}

.journey-progress i::after {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  color: #d8cec2 !important;
  background: rgba(255,255,255,.07) !important;
}

@media (max-width: 800px) {
  .journey-progress {
    width: calc(100% - 34px) !important;
    max-width: calc(100% - 34px);
  }
  .journey-progress i::after { display: none; }
}

.shared-panel .addon-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nda-media::before {
  content: 'NDA';
  position: absolute;
  z-index: 2;
  top: 14px;
  left: 16px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 100px;
  color: white;
  font: 500 8px Manrope;
  letter-spacing: .14em;
}

.nda-media img {
  filter: saturate(.65) brightness(.72);
}

@media (max-width: 760px) {
  .shared-panel .addon-grid {
    grid-template-columns: 1fr;
  }
}

/* Cinematic visual direction for section 05. */
.client-journey {
  position: relative;
  color: #f2eadf;
  background:
    radial-gradient(circle at 82% 10%, rgba(107,39,49,.26), transparent 31%),
    radial-gradient(circle at 12% 72%, rgba(181,139,83,.12), transparent 26%),
    #171512;
  overflow: hidden;
}

.client-journey::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 14vw 100%;
  mask-image: linear-gradient(90deg, transparent, black 18%, black 82%, transparent);
}

.client-journey .journey-head,
.client-journey .journey-progress,
.client-journey .journey-list {
  position: relative;
  z-index: 1;
}

.client-journey .journey-head {
  border-bottom: 1px solid rgba(255,255,255,.13);
  padding-bottom: 46px;
}

.client-journey .journey-head p {
  color: #aaa097;
}

.journey-progress {
  position: sticky;
  top: 14px;
  z-index: 4 !important;
  padding: 13px 16px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 100px;
  background: rgba(23,21,18,.82);
  backdrop-filter: blur(14px);
}

.journey-progress span {
  border-color: #5b5148;
  color: #8f867c;
  background: #1d1a17;
}

.journey-progress span.active {
  border-color: var(--gold);
  color: #171512;
  background: var(--gold);
  box-shadow: 0 0 0 6px rgba(181,139,83,.11);
}

.journey-progress i {
  position: relative;
  background: #4b433c;
}

.journey-progress i::after {
  content: '→';
  position: absolute;
  left: 50%;
  top: 50%;
  padding: 0 8px;
  color: #756b62;
  background: #1a1714;
  transform: translate(-50%,-50%);
  font-style: normal;
  font-size: 10px;
}

.journey-list {
  counter-reset: journey;
}

.journey-step,
.journey-step:nth-child(even) {
  border-color: #4b433c;
  background: rgba(255,255,255,.025);
  box-shadow: none;
}

.journey-step.active {
  border-color: rgba(181,139,83,.72);
  background: #201c18;
  box-shadow: 0 24px 70px rgba(0,0,0,.32);
}

.journey-trigger {
  color: #f2eadf;
  transition: background .3s;
}

.journey-step:not(.active) .journey-trigger:hover {
  background: rgba(181,139,83,.07);
}

.journey-trigger > span {
  border-color: #5b5148;
  color: var(--gold);
  background: #1d1a17;
}

.journey-step.active .journey-trigger > span {
  border-color: var(--gold);
  color: #171512;
  background: var(--gold);
}

.journey-trigger small {
  color: var(--gold);
}

.journey-trigger b {
  color: #f2eadf;
}

.journey-trigger i {
  border-color: #5b5148;
  color: #c7baaa;
}

.journey-step.active .journey-trigger i {
  border-color: var(--wine);
  color: white;
  background: var(--wine);
}

.journey-step.active .journey-panel {
  border-top-color: #4b433c;
}

.journey-panel .journey-media {
  position: relative;
}

.journey-panel .journey-media::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 60%, rgba(32,28,24,.78)), linear-gradient(0deg, rgba(12,10,8,.28), transparent 45%);
}

.journey-panel .journey-copy {
  position: relative;
  background: linear-gradient(135deg, #211d19, #191613);
}

.journey-panel .journey-copy::before {
  content: 'GROMOV PRODUCTION';
  position: absolute;
  right: 30px;
  top: 24px;
  color: rgba(255,255,255,.1);
  font-size: 8px;
  letter-spacing: .18em;
}

.journey-panel .journey-copy p,
.journey-panel .journey-copy li {
  color: #aaa097;
}

.journey-panel .journey-copy ul,
.journey-panel .journey-copy li {
  border-color: #4b433c;
}

.journey-panel .journey-copy li::before {
  color: var(--gold);
}

.journey-next {
  border-color: var(--gold);
  background: var(--gold);
  color: #171512;
  transition: transform .25s, box-shadow .25s;
}

.journey-next:hover {
  transform: translateX(5px);
  box-shadow: 0 12px 28px rgba(181,139,83,.18);
}

@media (max-width: 760px) {
  .client-journey .journey-head {
    padding-bottom: 30px;
  }

  .journey-progress {
    top: 8px;
    padding: 10px;
  }

  .journey-progress i::after {
    display: none;
  }

  .journey-panel .journey-media::after {
    background: linear-gradient(0deg, #201c18 0, transparent 30%);
  }

  .journey-panel .journey-copy::before {
    right: 20px;
    top: 17px;
  }
}

/* Balanced assistant layer: centered, bounded and never colliding with the page. */
.sticky-config {
  display: none !important;
}

.assistant-backdrop {
  position: fixed;
  z-index: 23;
  inset: 0;
  display: block;
  border: 0;
  background: rgba(18, 15, 13, .68);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}

body.assistant-open {
  overflow: hidden;
}

body.assistant-open .assistant-backdrop {
  opacity: 1;
  pointer-events: auto;
}

body.assistant-open .assistant-launch {
  opacity: 0;
  pointer-events: none;
}

.assistant-panel {
  position: fixed;
  z-index: 24;
  left: 50%;
  right: auto;
  top: 50%;
  bottom: auto;
  width: min(680px, calc(100vw - 48px));
  max-height: calc(100svh - 48px);
  padding: 30px 34px;
  transform: translate(-50%, -47%) scale(.97);
  overflow-y: auto;
}

.assistant-panel.open {
  transform: translate(-50%, -50%) scale(1);
}

.assistant-panel h3 {
  margin: 10px 0 16px;
  font-size: 42px;
}

.assistant-mode,
.assistant-channels {
  grid-template-columns: repeat(4, 1fr);
}

.assistant-mode {
  grid-template-columns: 1fr 1fr;
}

#assistantForm {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 22px;
}

#assistantForm label[data-callback-time],
#assistantForm label:has(textarea),
#assistantForm .assistant-call,
#assistantForm .assistant-note {
  grid-column: 1 / -1;
}

#assistantForm textarea {
  min-height: 48px;
}

.assistant-launch {
  right: 20px;
  bottom: 20px;
}

@media (max-width: 700px) {
  .assistant-panel {
    width: calc(100vw - 24px);
    max-height: calc(100svh - 24px);
    padding: 24px 20px;
    border-radius: 20px;
  }

  .assistant-panel h3 {
    font-size: 34px;
  }

  .assistant-channels {
    grid-template-columns: 1fr 1fr;
  }

  #assistantForm {
    grid-template-columns: 1fr;
  }

  #assistantForm label,
  #assistantForm label[data-callback-time],
  #assistantForm label:has(textarea),
  #assistantForm .assistant-call,
  #assistantForm .assistant-note {
    grid-column: 1;
  }
}

/* Scroll hint belongs to the foot of the first screen. */
.w-hero > .hero-scroll {
  left: 50%;
  right: auto;
  bottom: 28px;
  margin: 0;
  transform: translateX(-50%);
}

/* Compact expandable questions. */
.faq-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.faq .faq-card {
  border-radius: 16px;
}

.faq-card summary {
  min-height: 92px;
  display: grid;
  grid-template-columns: 52px 1fr 36px;
  align-items: center;
  gap: 18px;
  padding: 18px 22px;
}

.faq-card .faq-icon {
  width: 48px;
  height: 48px;
  margin: 0;
  font-size: 20px;
}

.faq-card summary > i {
  position: static;
}

.faq-card summary b {
  font-size: 24px;
}

.faq-card p {
  padding: 0 92px 24px !important;
}

/* The format selector now behaves like a real choice. */
.path-step > b {
  width: auto;
  min-width: 76px;
  padding: 0 12px;
  border-radius: 100px;
  font: 500 8px Manrope;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.path-step > div > small {
  display: block;
  margin-bottom: 8px;
  color: var(--gold);
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.path-step.chosen {
  border-color: var(--wine);
}

.path-step.chosen > b {
  background: var(--wine);
  border-color: var(--wine);
  color: white;
}

/* The assistant is a complete lead form, not a redirect. */
.assistant-panel {
  width: min(440px, calc(100vw - 32px));
  max-height: min(760px, calc(100svh - 115px));
  overflow-y: auto;
}

.assistant-mode {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 18px 0 8px;
}

.assistant-mode button {
  border: 1px solid var(--line);
  border-radius: 100px;
  padding: 13px;
  background: transparent;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 9px;
  cursor: pointer;
}

.assistant-mode button.active,
.assistant-channels button.active {
  background: var(--wine);
  border-color: var(--wine);
  color: white;
}

#assistantForm label {
  display: grid;
  gap: 5px;
  margin-top: 13px;
}

#assistantForm label > span {
  color: #756b62;
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: .1em;
}

#assistantForm input,
#assistantForm select,
#assistantForm textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  padding: 10px 0;
  background: transparent;
  color: var(--ink);
  font: 400 14px Manrope;
  outline: none;
}

#assistantForm textarea {
  min-height: 58px;
  resize: vertical;
}

#assistantForm .assistant-call {
  margin-top: 17px;
}

.assistant-note {
  margin: 10px 0 0;
  color: #81776e;
  font-size: 8px;
  text-align: center;
}

@media (max-width: 700px) {
  .w-hero > .hero-scroll {
    position: absolute;
    left: 50%;
    bottom: 18px;
    margin: 0;
    transform: translateX(-50%);
  }

  .faq-card summary {
    grid-template-columns: 44px 1fr 32px;
    gap: 12px;
    min-height: 82px;
    padding: 14px;
  }

  .faq-card .faq-icon {
    width: 42px;
    height: 42px;
  }

  .faq-card summary b {
    font-size: 20px;
  }

  .faq-card p {
    padding: 0 16px 18px 70px !important;
  }

  .path-step > b {
    min-width: 0;
    width: auto;
    padding: 0 10px;
  }
}

/* Final compact launcher: never extends beyond the viewport. */
.assistant-launch,
.assistant-launch.visible {
  right: 14px;
  bottom: 14px;
  width: 54px;
  min-width: 54px;
  height: 54px;
  padding: 6px;
  gap: 0;
  border-radius: 50%;
}

.assistant-launch > span {
  width: 40px;
  height: 40px;
}

.assistant-launch > small {
  display: none !important;
}

.assistant-launch > i {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 8px;
  height: 8px;
}

/*
 * Page geometry reset.
 * The legacy full-bleed carousels used viewport-based side padding. That made
 * the document itself wider than the visible page and allowed the browser to
 * restore a large horizontal scroll offset. Keep horizontal movement inside
 * the carousels and make every top-level surface belong to the viewport.
 */
html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-inline: 0;
  overflow-x: hidden;
}

main,
main > section,
.w-nav,
footer {
  position: relative;
  left: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-left: 0;
  margin-right: 0;
  transform: none;
}

.wrap,
.day-builder > .wrap {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: calc(100% - 48px);
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}

.reviews-section,
.backstage-section {
  contain: paint;
}

.reviews-track,
.backstage-track {
  width: min(1180px, calc(100% - 48px));
  max-width: calc(100% - 48px);
  margin-inline: auto;
  padding-inline: 0;
  overscroll-behavior-inline: contain;
}

.assistant-launch,
.assistant-launch.visible {
  position: fixed !important;
  top: auto !important;
  right: 64px !important;
  bottom: 24px !important;
  left: auto !important;
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  transform: none !important;
}

/* A quiet breathing cue: noticeable, but not distracting. */
.assistant-launch.visible {
  animation: assistant-soft-blink 2.6s ease-in-out infinite;
}

.assistant-launch.visible > span {
  animation: assistant-soft-scale 2.6s ease-in-out infinite;
}

.assistant-launch.visible:hover,
.assistant-launch.visible:focus-visible,
.assistant-launch.visible:hover > span,
.assistant-launch.visible:focus-visible > span {
  animation-play-state: paused;
  opacity: 1;
}

@keyframes assistant-soft-blink {
  0%, 100% {
    opacity: .78;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
  }
  50% {
    opacity: 1;
    box-shadow: 0 16px 38px rgba(107, 39, 49, .34);
  }
}

@keyframes assistant-soft-scale {
  0%, 100% { transform: scale(.94); }
  50% { transform: scale(1.04); }
}

@media (prefers-reduced-motion: reduce) {
  .assistant-launch.visible,
  .assistant-launch.visible > span {
    animation: none;
  }
}

@media (max-width: 800px) {
  .assistant-launch,
  .assistant-launch.visible {
    right: 48px !important;
    bottom: 20px !important;
  }

  .wrap,
  .day-builder > .wrap,
  .reviews-track,
  .backstage-track {
    width: calc(100% - 34px) !important;
    max-width: calc(100% - 34px);
  }
}

/* Interactive post-application journey. */
.client-journey {
  background: var(--soft);
}

.journey-progress {
  display: flex;
  align-items: center;
  margin-bottom: 22px;
}

.journey-progress span {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: #8a7e72;
  font: 400 13px Bodoni Moda;
  transition: .35s ease;
}

.journey-progress span.active {
  color: white;
  border-color: var(--wine);
  background: var(--wine);
  transform: scale(1.08);
}

.journey-progress i {
  flex: 1;
  height: 1px;
  background: var(--line);
}

.journey-list {
  gap: 10px;
}

.journey-step,
.journey-step:nth-child(even) {
  min-height: 0;
  display: block;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.28);
  transition: border-color .35s, box-shadow .35s;
}

.journey-step.active {
  border-color: var(--gold);
  box-shadow: 0 18px 45px rgba(57, 39, 25, .09);
}

.journey-trigger {
  width: 100%;
  min-height: 92px;
  display: grid;
  grid-template-columns: 48px minmax(180px, .7fr) 1fr 38px;
  gap: 20px;
  align-items: center;
  padding: 17px 22px;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.journey-trigger > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--gold);
  font: 400 14px Bodoni Moda;
}

.journey-step.active .journey-trigger > span {
  color: white;
  border-color: var(--wine);
  background: var(--wine);
}

.journey-trigger small {
  color: #81766c;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.journey-trigger b {
  font: 400 25px Bodoni Moda;
}

.journey-trigger i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  font-style: normal;
}

.journey-panel {
  max-height: 0;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  overflow: hidden;
  opacity: 0;
  transition: max-height .7s ease, opacity .35s ease;
}

.journey-step.active .journey-panel {
  max-height: 760px;
  opacity: 1;
  border-top: 1px solid var(--line);
}

.journey-panel .journey-media {
  min-height: 520px;
  order: 0 !important;
}

.journey-panel .journey-copy {
  min-width: 0;
}

.journey-next {
  align-self: flex-start;
  margin-top: 28px;
  padding: 13px 19px;
  border: 1px solid var(--wine);
  border-radius: 100px;
  background: var(--wine);
  color: white;
  font: 500 9px Manrope;
  text-transform: uppercase;
  letter-spacing: .1em;
  cursor: pointer;
}

@media (max-width: 760px) {
  .journey-head {
    margin-bottom: 28px;
  }

  .journey-progress span {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
  }

  .journey-trigger {
    min-height: 84px;
    grid-template-columns: 42px 1fr 34px;
    gap: 12px;
    padding: 14px;
  }

  .journey-trigger > span {
    width: 40px;
    height: 40px;
  }

  .journey-trigger small {
    grid-column: 2;
    align-self: end;
  }

  .journey-trigger b {
    grid-column: 2;
    font-size: 21px;
    align-self: start;
  }

  .journey-trigger i {
    grid-column: 3;
    grid-row: 1 / 3;
  }

  .journey-panel {
    grid-template-columns: 1fr;
  }

  .journey-step.active .journey-panel {
    max-height: 1100px;
  }

  .journey-panel .journey-media {
    min-height: 0;
    height: 48vh;
    max-height: 430px;
  }
}

/* Final clean manual version of section 05. */
.client-journey {
  color: var(--ink);
  background: var(--soft);
}

.client-journey::before {
  display: none;
}

.client-journey .journey-head {
  border-color: var(--line);
}

.client-journey .journey-head h2 {
  color: var(--ink);
  opacity: 1;
}

.client-journey .journey-head p {
  color: #6c6259;
  opacity: 1;
}

.journey-progress {
  position: relative;
  top: auto;
  border-color: #4b4640;
  background: #37342f;
}

.journey-progress span {
  border-color: #665b50;
  color: #f1e8dc;
  background: #211e1a;
}

.journey-progress span.active {
  border-color: var(--wine);
  color: white;
  background: var(--wine);
  box-shadow: 0 0 0 7px rgba(181,139,83,.13);
}

.journey-progress i {
  background: #a99b89;
}

.journey-progress i::after {
  background: #37342f;
  color: #d7c8b2;
}

.journey-step,
.journey-step:nth-child(even) {
  opacity: 1;
  transform: none;
  border-color: #6b635b;
  background: rgba(255,255,255,.28);
}

.journey-trigger {
  color: var(--ink);
}

.journey-trigger > span {
  border-color: var(--line);
  color: var(--gold);
  background: #1d1a17;
}

.journey-trigger small {
  color: #756b62;
}

.journey-trigger b {
  color: var(--ink);
  opacity: 1;
}

.journey-trigger i {
  border-color: var(--line);
  color: #756b62;
  background: transparent;
}

.journey-step.active {
  border-color: var(--gold);
  background: #201c18;
}

.journey-step.active .journey-trigger,
.journey-step.active .journey-trigger b {
  color: #f2eadf;
}

.journey-step.active .journey-trigger small {
  color: #b7ab9d;
}

.journey-step.active .journey-trigger > span,
.journey-step.active .journey-trigger i {
  border-color: var(--wine);
  color: white;
  background: var(--wine);
}

.journey-step.active .journey-panel {
  border-top-color: #4b433c;
}

.journey-panel .journey-copy {
  color: #f2eadf;
  background: linear-gradient(135deg, #211d19, #191613);
}

.journey-panel .journey-copy h3 {
  color: #f2eadf;
}

/* Unified liquid-glass interface. */
:root {
  --glass-light: rgba(255,255,255,.34);
  --glass-light-strong: rgba(255,255,255,.52);
  --glass-dark: rgba(24,21,18,.48);
  --glass-wine: rgba(107,39,49,.82);
  --glass-stroke: rgba(255,255,255,.56);
  --glass-shadow: 0 16px 38px rgba(55,39,24,.12), inset 0 1px 0 rgba(255,255,255,.72), inset 0 -1px 0 rgba(92,67,42,.08);
}

.pill,
.soft,
.chips button,
.format-toggle,
.addon-grid button,
.address-field button,
.review-controls button,
.backstage-controls button,
.all-projects button,
.journey-next,
.assistant-mode button,
.assistant-channels button,
.assistant-call,
.send {
  border-color: rgba(181,139,83,.42) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.68), rgba(255,255,255,.18) 48%, rgba(181,139,83,.10)) !important;
  box-shadow: var(--glass-shadow) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.35);
  backdrop-filter: blur(18px) saturate(1.35);
  transition: transform .28s ease, box-shadow .28s ease, background .28s ease, border-color .28s ease !important;
}

.pill:hover,
.soft:hover,
.chips button:hover,
.format-toggle:hover,
.addon-grid button:hover,
.review-controls button:hover,
.backstage-controls button:hover,
.all-projects button:hover,
.journey-next:hover,
.assistant-mode button:hover,
.assistant-channels button:hover,
.assistant-call:hover,
.send:hover {
  transform: translateY(-3px) scale(1.015) !important;
  border-color: rgba(181,139,83,.78) !important;
  box-shadow: 0 22px 48px rgba(55,39,24,.18), inset 0 1px 0 rgba(255,255,255,.86), inset 0 -1px 0 rgba(92,67,42,.1) !important;
}

.hero-contact,
.send,
.assistant-call,
.journey-next,
.chips button.active,
.assistant-mode button.active,
.assistant-channels button.active,
.addon-grid button.active,
.format-grid article.selected .format-toggle {
  color: white !important;
  border-color: rgba(255,255,255,.28) !important;
  background:
    linear-gradient(135deg, rgba(139,54,66,.96), rgba(107,39,49,.82) 58%, rgba(64,22,29,.88)) !important;
  box-shadow: 0 18px 42px rgba(107,39,49,.28), inset 0 1px 0 rgba(255,255,255,.3), inset 0 -1px 0 rgba(24,7,10,.24) !important;
}

.w-hero .pill.light,
.works .all-projects button,
.dark .soft,
.dark .chips button {
  color: white;
  border-color: rgba(255,255,255,.38) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.20), rgba(255,255,255,.06)) !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.28) !important;
}

.format-selector-note,
.brief-progress,
.brief-path-note,
.day-flow,
.day-complete,
.summary,
#leadForm,
.assistant-panel,
.journey-progress,
.faq-card,
.review-slide,
.product-builder {
  border-color: rgba(181,139,83,.34) !important;
  background:
    linear-gradient(145deg, var(--glass-light-strong), rgba(255,255,255,.18)) !important;
  box-shadow: var(--glass-shadow) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.28);
  backdrop-filter: blur(22px) saturate(1.28);
}

.day-card,
.brief-card,
.format-grid article,
.journey-step {
  border-color: rgba(181,139,83,.32) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.38), rgba(255,255,255,.12)) !important;
  box-shadow: 0 14px 34px rgba(55,39,24,.07), inset 0 1px 0 rgba(255,255,255,.62) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  backdrop-filter: blur(16px) saturate(1.2);
}

.day-card:hover,
.brief-card:hover,
.format-grid article:hover,
.journey-step:hover {
  border-color: rgba(181,139,83,.74) !important;
  box-shadow: 0 22px 48px rgba(55,39,24,.13), inset 0 1px 0 rgba(255,255,255,.8) !important;
}

.dark .day-card,
.result .summary,
.journey-step.active,
.journey-step.active:nth-child(even) {
  border-color: rgba(255,255,255,.18) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.025)) !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.14) !important;
}

.journey-progress {
  border-color: rgba(255,255,255,.18) !important;
  background: linear-gradient(135deg, rgba(61,57,52,.88), rgba(36,32,28,.82)) !important;
  box-shadow: 0 18px 44px rgba(39,29,20,.18), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.journey-trigger {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.journey-step.active .journey-trigger {
  background: linear-gradient(90deg, rgba(255,255,255,.07), transparent) !important;
}

.assistant-launch,
.assistant-launch.visible {
  border-color: rgba(255,255,255,.32) !important;
  background: linear-gradient(145deg, rgba(42,37,33,.86), rgba(20,18,16,.72)) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.24) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.35);
  backdrop-filter: blur(20px) saturate(1.35);
}

.assistant-launch > span,
.brief-num,
.faq-icon,
.journey-trigger > span,
.journey-trigger > i,
.journey-progress span {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 8px 22px rgba(65,42,26,.14);
}

@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
  .format-selector-note,
  .brief-progress,
  .brief-path-note,
  .day-flow,
  .day-complete,
  .summary,
  #leadForm,
  .assistant-panel,
  .faq-card,
  .review-slide,
  .product-builder {
    background: rgba(248,243,234,.94) !important;
  }
}

@media (max-width: 760px) {
  .pill,
  .soft,
  .chips button,
  .format-toggle,
  .addon-grid button,
  .journey-next,
  .send {
    -webkit-backdrop-filter: blur(12px) saturate(1.2);
    backdrop-filter: blur(12px) saturate(1.2);
  }
}

/* Keep these corrections after the glass system so they win the cascade. */

/* Inline swipeable video portfolio. */
.video-swipe-head { display:flex; justify-content:space-between; align-items:center; margin:0 0 14px; color:#a99f95; text-transform:uppercase; letter-spacing:.11em; font-size:9px; }
.video-swipe-head b { color:#d6ad73; font-weight:500; }
.video-swipe-head i { font-style:normal; }
.video-format-grid {
  display:flex !important;
  grid-template-columns:none !important;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:0 max(0px,calc((100vw - 1180px)/2)) 18px;
}
.video-format-grid::-webkit-scrollbar { display:none; }
.video-format-grid article {
  flex:0 0 min(1040px,88vw);
  min-height:620px;
  padding:0 !important;
  overflow:hidden;
  scroll-snap-align:center;
  display:grid !important;
  grid-template-columns:1.35fr 1fr;
}
.inline-video { position:relative; min-width:0; min-height:620px; background:#090807; }
.inline-video video { display:block; width:100%; height:100%; object-fit:contain; background:#090807; }
.inline-video>span { position:absolute; left:18px; bottom:16px; padding:8px 11px; border:1px solid rgba(255,255,255,.22); border-radius:100px; color:#fff; background:rgba(16,14,12,.58); backdrop-filter:blur(12px); text-transform:uppercase; letter-spacing:.08em; font-size:8px; pointer-events:none; }
.video-work-copy { padding:34px; display:flex; flex-direction:column; }
.video-work-copy .video-format-icon { display:grid; }
.video-work-copy small { margin-top:34px; }
.video-work-copy h3 { margin:10px 0 0; }
.video-work-copy h4 { margin:5px 0 20px; color:#d6ad73; font:400 22px Bodoni Moda,serif; }
.video-work-copy p { margin:0; }
.video-work-copy>a { margin-top:18px; color:#d6ad73; text-transform:uppercase; letter-spacing:.08em; font-size:8px; }
.video-work-copy button { width:100%; margin-top:auto; }
@media(max-width:760px){
  .video-format-grid{margin-inline:calc((100vw - 100%)/-2);padding-inline:17px}
  .video-format-grid article{flex-basis:88vw;min-height:0;grid-template-columns:1fr}
  .inline-video{min-height:0;height:54vh;max-height:480px}
  .video-work-copy{min-height:410px;padding:24px}
}

/* Portfolio is a product fork, not a separate destination. */
.portfolio-switch { display:flex; gap:10px; margin-bottom:28px; }
.portfolio-switch button { flex:1; padding:17px; border:1px solid rgba(255,255,255,.28); border-radius:100px; color:#eee5d8; background:rgba(255,255,255,.07); text-transform:uppercase; letter-spacing:.1em; cursor:pointer; }
.portfolio-switch button.active { color:#fff; border-color:rgba(255,255,255,.3); background:linear-gradient(135deg,#8b3642,#6b2731); }
.portfolio-pane { animation:portfolioIn .45s ease both; }
@keyframes portfolioIn { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
.photo-gallery-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:16px; }
.gallery-cover { position:relative; min-height:520px; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:24px; color:#fff; background:#171512; cursor:pointer; text-align:left; }
.gallery-cover:not(.gallery-cover-main) { min-height:520px; }
.gallery-cover img { width:100%; height:100%; object-fit:cover; transition:transform .75s ease; }
.gallery-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(12,9,8,.82),transparent 60%); }
.gallery-cover:hover img { transform:scale(1.035); }
.gallery-cover>span { position:absolute; z-index:2; left:30px; right:30px; bottom:28px; display:grid; gap:8px; }
.gallery-cover small { color:#d2b07d; text-transform:uppercase; letter-spacing:.11em; }
.gallery-cover b { font:400 38px/1.05 Bodoni Moda,serif; }
.gallery-cover i { font-style:normal; text-transform:uppercase; letter-spacing:.1em; font-size:9px; }
.video-format-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.video-format-grid article { min-height:410px; padding:30px; border:1px solid rgba(255,255,255,.2); border-radius:24px; background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.025)); display:flex; flex-direction:column; }
.video-format-icon { width:62px; height:62px; padding:16px; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:#e6bd83; background:rgba(255,255,255,.08); }
.video-format-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.video-format-grid small { margin-top:42px; color:#c49a61; text-transform:uppercase; letter-spacing:.11em; }
.video-format-grid h3 { margin:12px 0; font-size:42px; }
.video-format-grid p { color:#aaa097; line-height:1.7; }
.video-format-grid button { margin-top:auto; padding:15px 18px; border:1px solid rgba(255,255,255,.3); border-radius:100px; color:#fff; background:rgba(255,255,255,.06); text-transform:uppercase; letter-spacing:.08em; cursor:pointer; }
.portfolio-viewer { position:fixed; z-index:80; inset:0; display:grid; grid-template-rows:auto minmax(0,1fr) auto auto; gap:14px; padding:18px; color:#f4ede3; background:rgba(16,14,12,.96); backdrop-filter:blur(22px); opacity:0; visibility:hidden; pointer-events:none; transition:.3s; }
.portfolio-viewer.open { opacity:1; visibility:visible; pointer-events:auto; }
.portfolio-viewer-head { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.portfolio-viewer-head span { color:#c59a61; font-size:10px; letter-spacing:.12em; }
.portfolio-viewer-head strong { font:400 24px Bodoni Moda,serif; }
.portfolio-viewer-head button { justify-self:end; width:46px; height:46px; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#fff; background:rgba(255,255,255,.08); font-size:24px; }
.portfolio-stage { min-height:0; display:grid; grid-template-columns:58px minmax(0,1fr) 58px; gap:14px; align-items:center; }
.portfolio-stage>img,.portfolio-stage>video { width:100%; height:100%; min-height:0; object-fit:contain; border-radius:18px; background:#090807; }
.portfolio-stage>button { width:52px; height:52px; border:1px solid rgba(255,255,255,.3); border-radius:50%; color:#fff; background:rgba(255,255,255,.08); font-size:20px; }
.portfolio-thumbs { display:flex; justify-content:center; gap:7px; overflow-x:auto; }
.portfolio-thumbs button { width:58px; height:44px; padding:0; overflow:hidden; border:1px solid transparent; border-radius:7px; opacity:.48; background:none; }
.portfolio-thumbs button.active { border-color:#c59a61; opacity:1; }
.portfolio-thumbs img { width:100%; height:100%; object-fit:cover; }
.video-quality-note { width:min(920px,100%); justify-self:center; display:flex; justify-content:space-between; align-items:center; gap:22px; padding:12px 16px; border:1px solid rgba(255,255,255,.18); border-radius:14px; color:#bdb2a7; background:rgba(255,255,255,.06); font-size:11px; }
.video-quality-note[hidden] { display:none; }
.video-quality-note b { color:#d5a968; text-transform:uppercase; letter-spacing:.09em; }
.video-quality-note a { flex:0 0 auto; padding:10px 15px; border:1px solid rgba(255,255,255,.28); border-radius:100px; color:#fff; text-transform:uppercase; letter-spacing:.08em; font-size:9px; }
.viewer-return { width:min(760px,100%); justify-self:center; padding:17px; border:1px solid rgba(255,255,255,.28); border-radius:100px; color:#fff; background:linear-gradient(135deg,#8b3642,#6b2731); text-transform:uppercase; letter-spacing:.1em; cursor:pointer; }
@media(max-width:760px){
  .photo-gallery-grid,.video-format-grid{grid-template-columns:1fr}
  .gallery-cover,.gallery-cover:not(.gallery-cover-main){min-height:66vh}
  .portfolio-stage{grid-template-columns:40px minmax(0,1fr) 40px;gap:6px}
  .portfolio-stage>button{width:38px;height:38px}
  .portfolio-viewer{padding:12px 8px}
  .portfolio-viewer-head{grid-template-columns:1fr 1fr auto}
  .portfolio-viewer-head strong{font-size:18px}
  .video-quality-note{align-items:flex-start;flex-direction:column}
  .video-quality-note a{width:100%;text-align:center}
}

.faq-icon svg {
  display: block;
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.faq-card[open] .faq-icon svg { stroke-width: 1.6; }

.vertical-poster video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #171512;
}
.vertical-poster.is-playing::after { opacity: 0; }
.vertical-poster.is-playing small { opacity: 0; }
.vertical-poster.is-playing button {
  top: auto;
  left: auto;
  right: 14px;
  bottom: 14px;
  width: 44px;
  height: 44px;
  transform: none;
  opacity: .72;
}

/* A consistent vector icon for every selectable result. */
.icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
.addon-grid button > span:not(.addon-media) {
  display: flex !important;
  align-items: center;
}
.addon-icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  margin-right: 13px;
  padding: 10px;
  border: 1px solid rgba(181,139,83,.5);
  border-radius: 50%;
  background: linear-gradient(145deg,rgba(255,255,255,.78),rgba(181,139,83,.18));
  box-shadow: 0 10px 24px rgba(55,39,24,.12), inset 0 1px 0 rgba(255,255,255,.85);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.addon-grid button.active .addon-icon {
  border-color: rgba(255,255,255,.3);
  background: rgba(255,255,255,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
}

/* FAQ: an opened answer must keep a dark, readable surface. */
.faq .faq-card[open] {
  color: #f5ede2 !important;
  border-color: rgba(181,139,83,.68) !important;
  background: linear-gradient(145deg,rgba(126,48,59,.96),rgba(78,27,35,.92)) !important;
  box-shadow: 0 22px 52px rgba(107,39,49,.24), inset 0 1px 0 rgba(255,255,255,.2) !important;
}
.faq .faq-card[open] summary b { color: #fff8ef !important; }
.faq .faq-card[open] summary small { color: #dfb77d !important; }
.faq .faq-card[open] summary > i {
  color: #fff !important;
  border-color: rgba(255,255,255,.45) !important;
}
.faq .faq-card[open] p { color: #eadfd5 !important; }

/* Product images meet and follow the rounded card edge. */
.addon-grid button {
  display: flex;
  flex-direction: column;
  padding: 0 0 24px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
}
.addon-grid button .addon-media {
  flex: 0 0 auto;
  width: 100%;
  height: 220px;
  margin: 0 !important;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}
.addon-grid button .addon-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.addon-grid button > span:not(.addon-media),
.addon-grid button > small {
  margin-left: 28px;
  margin-right: 28px;
}
.addon-grid button > span:not(.addon-media) { margin-top: 24px; }
.addon-grid button > small { margin-top: 10px; }

@media (max-width: 760px) {
  .addon-grid button .addon-media { height: clamp(210px,42vw,350px); }
}

/* Final selected-state corrections. */
.format-grid article.selected {
  color: #f5ede2 !important;
  border-color: rgba(255,255,255,.24) !important;
  background: linear-gradient(145deg,rgba(126,48,59,.94),rgba(83,28,37,.88)) !important;
  box-shadow: 0 26px 58px rgba(107,39,49,.28), inset 0 1px 0 rgba(255,255,255,.24) !important;
}
.format-grid article.selected h3,
.format-grid article.selected p,
.format-grid article.selected strong,
.format-grid article.selected li { color: #f5ede2 !important; }
.format-grid article.selected small { color: #dfb77d !important; }

.journey-step.active,
.journey-step.active:nth-child(even) {
  color: #f2eadf !important;
  border-color: rgba(181,139,83,.65) !important;
  background: linear-gradient(145deg,rgba(40,35,30,.98),rgba(24,21,18,.96)) !important;
  box-shadow: 0 26px 64px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.13) !important;
}
.journey-step.active .journey-trigger,
.journey-step.active .journey-trigger b { color: #f2eadf !important; opacity: 1 !important; }
.journey-step.active .journey-trigger small { color: #b9afa4 !important; }

.journey-progress {
  box-sizing: border-box;
  width: min(1180px,calc(100% - 48px)) !important;
  max-width: calc(100% - 48px);
  margin-inline: auto !important;
  padding: 10px 14px !important;
  overflow: hidden;
}
.journey-progress span.active {
  color: #2a2119 !important;
  border-color: rgba(181,139,83,.85) !important;
  background: linear-gradient(145deg,#d6ad73,#b58b53) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 0 0 5px rgba(181,139,83,.12) !important;
}
.journey-progress span.current {
  color: #fff !important;
  border-color: rgba(255,255,255,.22) !important;
  background: linear-gradient(145deg,#8d3543,#6b2731) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 0 0 6px rgba(107,39,49,.18) !important;
}
.journey-progress i::after {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  color: #d8cec2 !important;
  background: rgba(255,255,255,.07) !important;
}
@media (max-width: 800px) {
  .journey-progress { width: calc(100% - 34px) !important; max-width: calc(100% - 34px); }
  .journey-progress i::after { display: none; }
}
#leadForm,
.assistant-panel {
  color: var(--ink) !important;
  border-color: rgba(255,255,255,.72) !important;
  background: linear-gradient(145deg, rgba(248,243,234,.92), rgba(230,222,211,.82)) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

#leadForm h3,
.assistant-panel h3,
#leadForm label,
#assistantForm label > span,
.assistant-panel .assistant-close {
  color: var(--ink) !important;
}

#leadForm input,
#assistantForm input,
#assistantForm select,
#assistantForm textarea {
  color: #24201c !important;
  border-bottom-color: rgba(94,76,58,.45) !important;
}

#leadForm input::placeholder,
#assistantForm input::placeholder,
#assistantForm textarea::placeholder {
  color: #756d65 !important;
  opacity: 1;
}

#leadForm .contact-hint,
#leadForm .form-note,
.assistant-panel .assistant-note {
  color: #6f665e !important;
}

.dark .chips button.active,
.dark .soft.active,
.day-builder .chips button.active {
  color: white !important;
  border-color: rgba(255,255,255,.28) !important;
  background: linear-gradient(135deg, rgba(139,54,66,.96), rgba(107,39,49,.84)) !important;
  box-shadow: 0 16px 36px rgba(107,39,49,.3), inset 0 1px 0 rgba(255,255,255,.28) !important;
}

.chips,
.brief-card .chips {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  justify-content: flex-start;
}

.brief-card {
  min-width: 0;
  overflow: hidden;
}

.brief-card .chips button {
  min-width: 0;
  max-width: 100%;
  flex: 1 1 150px;
  white-space: normal;
}

.address-field > div {
  align-items: center;
  gap: 12px;
}

.address-field button {
  flex: 0 0 auto;
  min-height: 40px;
  margin: 5px 0 6px;
  padding: 11px 17px !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  border-radius: 100px !important;
  color: white !important;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06)) !important;
}

.day-flow {
  color: #eee5d8 !important;
  border-color: rgba(255,255,255,.25) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.17), rgba(255,255,255,.07)) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.day-flow span { color: #bdb3a8 !important; }
.day-flow span.active { color: #d8ac6d !important; }
.day-flow i { color: #8f857a !important; }

@media (max-width: 760px) {
  #leadForm,
  .assistant-panel {
    background: linear-gradient(145deg, rgba(248,243,234,.96), rgba(230,222,211,.92)) !important;
  }

  .brief-card .chips button {
    flex-basis: calc(50% - 6px);
  }

  .address-field > div {
    align-items: stretch;
  }

  .address-field button {
    width: 100%;
    margin-top: 4px;
  }
}
