/* Marketing companion to portal-material-20260913.css.
   Scoped to the landing page. The hero photograph, copy, role calendar, and
   full-color step marks retain their existing content and behavior. */
body.landing-polished {
  --landing-ink: #182536;
  --landing-muted: #516378;
  --landing-blue: #0069df;
  --landing-line: rgba(39,66,98,.13);
  --landing-glass: linear-gradient(145deg, rgba(255,255,255,.58), rgba(255,255,255,.28) 55%, rgba(238,248,255,.38));
  --landing-shadow: inset 0 1px 0 rgba(255,255,255,.8), inset 0 -1px 0 rgba(255,255,255,.24), 0 2px 5px rgba(34,62,98,.035), 0 16px 40px -12px rgba(34,62,98,.18);
  --landing-font: -apple-system, BlinkMacSystemFont, "Geist", "Segoe UI", sans-serif;
  font-family: var(--landing-font);
  color: var(--landing-ink);
  background: radial-gradient(ellipse at 12% 12%, rgba(255,255,255,.85), transparent 52%),
    radial-gradient(ellipse at 94% 38%, rgba(161,198,232,.48), transparent 54%),
    radial-gradient(ellipse at 42% 94%, rgba(244,249,255,.7), transparent 56%),
    linear-gradient(155deg, #e8f2fa, #c9ddf0);
  background-attachment: fixed;
}

/* Preserve the logo position; the right-side menu expands at every viewport. */
.landing-polished .hero-nav {
  inset: 4px 0 auto;
  width: min(1192px, calc(100% - 48px));
  min-height: 58px;
  margin-inline: auto;
  padding: 8px 12px 8px 16px;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  pointer-events: none;
}
.landing-polished .hero-nav .brand-lockup { gap: 6px; align-items: center; }
.landing-polished .hero-nav .brand-lockup img { width: 40px; height: 40px; filter: none; }
.landing-polished .hero-nav .brand-lockup strong {
  font-size: 17px; font-weight: 650; letter-spacing: -.035em;
}
.landing-polished .menu-cluster { margin-top: 0; }
.landing-polished .menu-toggle {
  width: 44px; height: 44px; border-radius: 999px;
  background: linear-gradient(145deg, rgba(255,255,255,.24), rgba(255,255,255,.08));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 2px 6px rgba(0,9,24,.12);
}
.landing-polished .hero-menu a {
  border-radius: 999px;
  font-family: var(--landing-font); font-weight: 550;
}
.landing-polished .hero-menu { top: 54px; gap: 6px; }
.landing-polished .hero-menu a { min-height: 44px; background: rgba(18,35,55,.92); }
.landing-polished .fixa-hero-photo > .demo-cta--hero {
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.64);
  background: linear-gradient(145deg, rgba(255,255,255,.23), rgba(255,255,255,.07));
  box-shadow: inset 0 1px 1px rgba(255,255,255,.6), inset 0 -1px 0 rgba(255,255,255,.16), 0 6px 20px rgba(0,9,24,.18);
  -webkit-backdrop-filter: blur(24px) saturate(1.35);
  backdrop-filter: blur(24px) saturate(1.35);
}
.landing-polished .fixa-hero-photo > .demo-cta--hero::before { content: none; }
.landing-polished .fixa-hero-photo > .demo-cta--hero:hover {
  background: linear-gradient(145deg, rgba(255,255,255,.32), rgba(255,255,255,.12));
  transform: none;
}

/* A continuous canvas connects the requested sections without new layout chrome. */
.landing-polished :is(.fixa-hero, .intro, .how, .price-section, .roles-frame, .roles-section, .faq-section, .closing, footer) {
  background: transparent;
  color: var(--landing-ink);
}
.landing-polished :is(.how, .price-section, .faq-section) {
  padding-inline: clamp(24px, 6vw, 96px);
}
.landing-polished :is(.intro h2, .how h2, .roles-heading h2) {
  color: var(--landing-ink); font-weight: 650;
  letter-spacing: -.045em; line-height: 1.1;
}
.landing-polished :is(.intro-copy p, .roles-heading > p) { color: var(--landing-muted); }
.landing-polished .more-line span { background: rgba(0,105,223,.1); color: var(--landing-blue); font-family: Georgia, "Times New Roman", serif; font-style: italic; }
.landing-polished .closing-copy h2 em {
  color: var(--landing-blue);
  text-shadow: 2px 2px 0 rgba(24,29,31,.16), 5px 5px 0 rgba(24,29,31,.13), 8px 8px 0 rgba(24,29,31,.1), 13px 14px 18px rgba(24,29,31,.24);
}
.landing-polished .soft-pill {
  background: var(--landing-glass);
  border: 1px solid rgba(255,255,255,.95);
  color: var(--landing-muted);
  box-shadow: var(--landing-shadow), 0 0 0 1px rgba(39,66,98,.2), 0 6px 18px rgba(34,62,98,.12);
  font-family: var(--landing-font); font-weight: 550;
  -webkit-backdrop-filter: blur(24px) saturate(1.35);
  backdrop-filter: blur(24px) saturate(1.35);
}
.landing-polished .dark-pill,
.landing-polished .soft-pill.dark-pill {
  background: var(--landing-glass);
  border: 1px solid rgba(255,255,255,.95);
  color: var(--landing-muted);
  box-shadow: var(--landing-shadow), 0 0 0 1px rgba(39,66,98,.22), 0 8px 22px rgba(34,62,98,.14);
  -webkit-backdrop-filter: blur(24px) saturate(1.4);
  backdrop-filter: blur(24px) saturate(1.4);
}
.landing-polished .night-bridge {
  height: auto; aspect-ratio: 1672 / 941;
  margin: 0 12px; border-radius: 24px; overflow: hidden;
  box-shadow: 0 16px 40px -16px rgba(34,62,98,.22);
}
.landing-polished .night-bridge img { width: 100%; height: auto; object-fit: contain; }
.landing-polished :is(.how .step-cards li, .calm-strip, .cost-compare, .roles-card, .faq-list) {
  background: var(--landing-glass);
  border: 1px solid rgba(255,255,255,.76);
  border-radius: 24px;
  box-shadow: var(--landing-shadow);
  -webkit-backdrop-filter: blur(24px) saturate(1.25);
  backdrop-filter: blur(24px) saturate(1.25);
}
.landing-polished .how .step-cards li { padding: 32px 24px; }
.landing-polished .how .step-cards div > span { color: var(--landing-blue); }
.landing-polished .how .step-cards h3 { color: var(--landing-ink); font-weight: 600; }
.landing-polished .how .step-cards p { color: var(--landing-muted); }
/* Do not filter, recolor or place new backgrounds behind the step marks. */

/* Oversized editorial type, with a quiet wash of light through the glass. */
.landing-polished .calm-strip {
  position: relative; isolation: isolate; min-height: 800px;
  padding: clamp(88px, 9vw, 144px) clamp(28px, 5vw, 84px);
  color: var(--landing-ink);
  background: radial-gradient(ellipse at 82% 75%, rgba(112,177,241,.25), transparent 58%),
    radial-gradient(ellipse at 12% 4%, rgba(255,255,255,.9), transparent 60%), var(--landing-glass);
}
.landing-polished .calm-strip::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  width: 68%; aspect-ratio: 1; right: -20%; top: -30%;
  border: 1px solid rgba(255,255,255,.58); border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(255,255,255,.08), 0 0 0 96px rgba(255,255,255,.05);
}
.landing-polished .calm-strip > p {
  margin: 0 0 clamp(44px, 5vw, 72px); color: var(--landing-muted);
  font-size: 15px; font-weight: 550; letter-spacing: .015em;
}
.landing-polished .calm-strip h2 {
  display: grid; gap: clamp(16px, 2.2vw, 34px); width: 100%; max-width: 1440px; margin-inline: auto;
  font-size: clamp(54px, 9.1vw, 148px); font-weight: 600;
  line-height: 1.02; letter-spacing: -.065em;
}
.landing-polished .outcome-line { display: block; text-align: left; }
.landing-polished .outcome-line:nth-child(2) { text-align: center; }
.landing-polished .outcome-line:last-child { text-align: right; }
.landing-polished .calm-strip h2 em {
  font-family: Georgia, "Times New Roman", serif; font-style: italic;
  font-weight: 400; color: var(--landing-blue); letter-spacing: -.06em;
}
.landing-polished .price-section h2 { color: var(--landing-ink); font-weight: 600; }
.landing-polished .price-section h2 em,
.landing-polished .price-inline-kicker {
  font-family: var(--landing-font); font-style: normal;
  font-weight: 500; color: var(--landing-muted); letter-spacing: -.035em;
}
.landing-polished .price-inline-kicker { align-self: flex-start; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-weight: 400; }
.landing-polished .cost-meta span { color: var(--landing-muted); }
.landing-polished .cost-meta strong { color: var(--landing-ink); font-weight: 650; }
.landing-polished .cost-track { background: rgba(67,106,150,.1); box-shadow: inset 0 1px 2px rgba(34,62,98,.07); }
.landing-polished .cost-bar--lad { background: linear-gradient(90deg, #087af2, #0068de); box-shadow: none; }
.landing-polished .cost-bar--hire { background: linear-gradient(90deg, #738aa3, #354d69); }
.landing-polished .cost-note { border-color: var(--landing-line); color: var(--landing-muted); }
.landing-polished .get-started,
.landing-polished .demo-cta--closing {
  border: 1px solid rgba(0,91,200,.24); border-radius: 12px;
  background: linear-gradient(#087af2, #0068de); color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 3px 8px rgba(0,93,202,.16);
  font-weight: 600; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.landing-polished .get-started:hover,
.landing-polished .demo-cta--closing:hover { background: linear-gradient(#0671e3, #005fcb); transform: none; }

.landing-polished .roles-section { border: 0; }
.landing-polished :is(.roles-section, .roles-card)::before { content: none; }
.landing-polished .roles-heading { border-color: var(--landing-line); }
.landing-polished :is(.roles-eyebrow, .role-kicker) {
  color: var(--landing-blue); font-family: var(--landing-font);
  font-size: 13px; font-weight: 600; letter-spacing: .01em; text-transform: none;
}
.landing-polished .roles-rail { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.55); }
.landing-polished .roles-pill {
  background: linear-gradient(145deg, rgba(255,255,255,.6), rgba(255,255,255,.16));
  border: 1px solid rgba(255,255,255,.82);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.9), 0 6px 14px -6px rgba(34,62,98,.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.3);
  backdrop-filter: blur(12px) saturate(1.3);
}
.landing-polished .roles-rail button { color: var(--landing-ink); }
.landing-polished .roles-rail button > span,
.landing-polished .roles-rail button.is-active { color: var(--landing-blue); }
.landing-polished .roles-rail button > small,
.landing-polished .roles-rail button.is-active > small { color: var(--landing-muted); }
.landing-polished .roles-card-inner .role-copy > p {
  color: var(--landing-ink); font-size: clamp(21px, 2vw, 28px);
  font-weight: 550; line-height: 1.3; letter-spacing: -.03em;
}
.landing-polished .role-proof { color: var(--landing-muted); }
.landing-polished .role-proof i { background: var(--landing-blue); box-shadow: 0 0 0 4px rgba(0,105,223,.08); }
.landing-polished .role-visual {
  height: auto; min-height: 0; aspect-ratio: 1672 / 941;
  border: 1px solid rgba(255,255,255,.6); border-radius: 18px;
  background: transparent; box-shadow: 0 4px 14px rgba(34,62,98,.1);
}
.landing-polished .role-visual img { border-radius: inherit; object-fit: cover; }
/* The generated dispatch photograph already contains the incoming-call UI. */
.landing-polished .role-phone { display: none; }
/* Keep the existing calendar illustration and its palette intact. */

.landing-polished .faq-list { padding: 0 28px; }
.landing-polished .faq-list details { border-color: var(--landing-line); }
.landing-polished .faq-list details:last-child { border-bottom: 0; }
.landing-polished .faq-list summary {
  min-height: 86px; color: var(--landing-ink);
  font-size: clamp(19px, 2.1vw, 26px); font-weight: 550; letter-spacing: -.025em;
}
.landing-polished .faq-list summary::after {
  color: var(--landing-blue); border-color: rgba(72,103,140,.2); background: rgba(255,255,255,.3);
}
.landing-polished .faq-list details[open] summary::after { background: rgba(0,105,223,.08); }
.landing-polished .faq-list details p { color: var(--landing-muted); line-height: 1.65; }
.landing-polished :is(a, button, summary):focus-visible { outline: 3px solid var(--landing-blue); outline-offset: 4px; }
.landing-polished .hero-nav :is(a, button):focus-visible { outline-color: #fff; }

@media (max-width: 860px) {
  .landing-polished .roles-rail button { background: rgba(255,255,255,.2); border-color: rgba(255,255,255,.55); }
  .landing-polished .roles-rail button.is-active { background: var(--landing-glass); box-shadow: var(--landing-shadow); }
  .landing-polished .roles-section .role-visual { height: auto; min-height: 0; aspect-ratio: 1672 / 941; }
}
@media (max-width: 720px) {
  .landing-polished .hero-nav { inset: 3px 0 auto; width: calc(100% - 24px); padding: 8px 10px; }
  .landing-polished .hero-nav .brand-lockup img { width: 36px; height: 36px; }
  .landing-polished .hero-nav .brand-lockup strong { font-size: 15px; }
  .landing-polished .hero-menu { top: 54px; gap: 6px; }
  .landing-polished .hero-menu a { min-height: 44px; background: rgba(18,35,55,.92); }
  .landing-polished .night-bridge { margin-inline: 12px; border-radius: 20px; }
  .landing-polished .calm-strip { min-height: 640px; padding: 72px 24px; margin-inline: 12px; }
  .landing-polished .calm-strip h2 { font-size: clamp(42px, 10.8vw, 72px); gap: 30px; letter-spacing: -.055em; }
  .landing-polished .outcome-line { max-width: 100%; }
  .landing-polished .outcome-line span { display: block; }
  .landing-polished .calm-strip::before { width: 140%; right: -85%; top: 10%; }
  .landing-polished .how .step-cards li { padding: 26px 20px; }
  .landing-polished .faq-list { padding-inline: 18px; border-radius: 20px; }
  .landing-polished .faq-list summary { min-height: 76px; gap: 14px; }
  .landing-polished .faq-list details p { margin-right: 0; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .landing-polished :is(.step-cards li, .calm-strip, .cost-compare, .roles-card, .faq-list, .soft-pill) { background: #eef5fb; }
  .landing-polished .hero-menu a,
  .landing-polished .menu-toggle { background: #233449; }
}
@media (prefers-reduced-transparency: reduce) {
  .landing-polished :is(.step-cards li, .calm-strip, .cost-compare, .roles-card, .faq-list, .soft-pill) {
    background: #eef5fb; backdrop-filter: none; -webkit-backdrop-filter: none;
  }
  .landing-polished .hero-menu a,
  .landing-polished .menu-toggle { background: #233449; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  .landing-polished :is(.hero-menu a, .roles-pill, .roles-card-inner, .get-started, .demo-cta) { transition: none; animation: none; }
}
