/* MONT Pro: bounded light effects over the approved Premium layout.
   Local assets only; the optional arrival effect runs once, for at most 4.8s. */
.mont-pro {
  --pro-edge: rgba(160, 196, 222, .28);
  --pro-sapphire: rgba(42, 138, 211, .16);
  --pro-copper: rgba(197, 115, 72, .13);
  --pro-pearl: #e5f2fc;
}

/* Pin heading text to the product palette, including embedded light-theme views. */
.mont-pro-public :is(h1,h2,h3,h4) {
  color: var(--premium-text);
  -webkit-text-fill-color: currentColor;
}

.mont-pro .topbar {
  background: linear-gradient(110deg, #08121d, #050a12 58%, #101017);
  border-bottom-color: var(--pro-edge);
  box-shadow: 0 8px 32px #0003;
}
.mont-pro .hero-home,
.mont-pro .house-explorer {
  border-color: var(--pro-edge);
  border-radius: 14px;
  box-shadow: inset 0 1px 0 #d5ecff10, 0 12px 40px #0003;
}
.mont-pro .hero-home { isolation: isolate; }
.mont-pro .hero-home::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 80% 16%, var(--pro-sapphire), transparent 60%),
    radial-gradient(ellipse at 12% 92%, var(--pro-copper), transparent 55%);
}
.mont-pro-public .hero-home::before {
  inset: -6%;
  background: radial-gradient(ellipse at 86% 18%, #2e8dbc36, transparent 60%),
    radial-gradient(ellipse at 38% 86%, #36526c33, transparent 55%),
    linear-gradient(110deg, #050b1000 36%, #142a3a22);
}
.mont-pro .hero-home::after {
  content: '';
  position: absolute;
  z-index: 3;
  inset: 0 18% auto;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, #95d3ff99, #e2c2a480, transparent);
}
.mont-pro .hero-copy h1 em { color: var(--pro-pearl); font-weight: 400; }
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .mont-pro .hero-copy h1 em {
    background: linear-gradient(105deg, #a9d9fa, #eff7ff 44%, #e3c4a9 88%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}
.mont-pro .house-explorer {
  background: radial-gradient(ellipse at 100% 0, var(--pro-sapphire), transparent 50%), #070f19;
}
.mont-pro .house-options button[aria-pressed=true] {
  background: linear-gradient(135deg, #153650, #10263b);
  border-color: #82c5ff;
  box-shadow: inset 0 1px 0 #d5ecff18;
}

.mont-pro-public .button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: #65b8f680;
  border-radius: 8px;
  background: linear-gradient(120deg, #075cb0, #084982 72%, #123c60);
  box-shadow: inset 0 1px 0 #d5ecff30, 0 10px 28px #006bbd26;
}
.mont-pro-public .button::after {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 42%;
  pointer-events: none;
  opacity: 0;
  transform: translateX(-250%) skewX(-18deg);
  background: linear-gradient(90deg, transparent, #e2f5ff14, transparent);
}
.mont-pro-public .button:hover,
.mont-pro-public .button:focus-visible {
  background: linear-gradient(120deg, #0969bd, #0a518e 72%, #16486f);
  box-shadow: inset 0 1px 0 #d5ecff40, 0 12px 32px #006bbd38;
}
.mont-pro-public .button-warm {
  border-color: #df9b7280;
  background: linear-gradient(120deg, #aa431f, #7e2f20 72%, #632b26);
  box-shadow: inset 0 1px 0 #ffdbbc30, 0 10px 28px #a0451e26;
}
.mont-pro-public .button-warm:hover,
.mont-pro-public .button-warm:focus-visible {
  background: linear-gradient(120deg, #b64924, #8e3725 72%, #72322b);
  box-shadow: inset 0 1px 0 #ffdbbc40, 0 12px 32px #a0451e38;
}
.mont-pro-public .button:disabled { transform: none; box-shadow: none; }

.mont-pro .gateway-card,
.mont-pro .illustrated-services .service-card {
  border-color: var(--pro-edge);
  border-radius: 12px;
  background: linear-gradient(135deg, #101d2b, #09121d 68%);
  box-shadow: inset 0 1px 0 #d5ecff0d;
}
.mont-pro .gateway-card:focus-within,
.mont-pro .illustrated-services .service-card:focus-within { border-color: var(--premium-focus); }

/* Directions are actions, not a numbered sequence. */
.mont-pro .gateway-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mont-pro .gateway-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-width: 0;
  min-height: 250px;
  padding: 22px;
}
.mont-pro .gateway-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #8acfff40;
  border-radius: 10px;
  background: #71bdff12;
  color: #a2dcff;
}
.mont-pro .gateway-orange .gateway-icon,
.mont-pro .gateway-red .gateway-icon { color: #efc7a5; background: #dba16d12; border-color: #deb18b40; }
.mont-pro .gateway-icon .premium-icon { width: 24px; height: 24px; }
.mont-pro .gateway-card h2 {
  margin: 16px 0 8px;
  font: 650 19px/1.4 var(--premium-body);
  color: var(--premium-text);
}
.mont-pro .gateway-card p { color: var(--premium-muted); font-size: 15px; line-height: 1.65; }
.mont-pro .gateway-card .gateway-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 20px;
  color: #a2dcff;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.5;
}
.mont-pro .gateway-action .premium-icon { width: 18px; height: 18px; flex-basis: 18px; }
.mont-pro :is(.hero-proof,.b2b-grid,.benefits-grid,.package-icon) .premium-icon { color: #a2dcff; }
.mont-pro .hero-proof .premium-icon { width: 18px; height: 18px; flex-basis: 18px; margin-top: 3px; }
.mont-pro .b2b-grid > article > .premium-icon { width: 26px; height: 26px; }
.mont-pro .package-icon { display: inline-flex; }
.mont-pro .packages-grid article { display: flex; flex-direction: column; }
.mont-pro .packages-grid article > a {
  position: static;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: auto;
  height: auto;
  min-height: 44px;
  margin-top: 20px;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 14px;
  color: #a2dcff;
}
.mont-pro .packages-grid article > a .premium-icon { flex-basis: 18px; width: 18px; height: 18px; }
.mont-pro .hero-actions { flex-wrap: wrap; gap: 16px 24px; }
.mont-pro-public .text-link { min-height: 44px; font-size: 14px; }

/* Keep the primary routes visible and preserve room for the phone safe area. */
.mont-pro-public .public-header {
  grid-template-columns: auto minmax(0, 1fr) auto;
  background: #08121d;
  border-bottom-color: #8abbd24d;
  box-shadow: inset 0 1px 0 #d5ecff14, 0 10px 30px #0003;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.mont-pro-public .public-header::after {
  content: '';
  position: absolute;
  inset: auto 18% -1px;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, #b4dcee80, transparent);
}
.mont-pro-public .header-actions { display: flex; align-items: center; gap: 14px; }
.mont-pro-public .header-actions > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; white-space: nowrap; }
.mont-pro-public .header-call { color: var(--premium-muted); }
.mont-pro-public .header-cabinet { color: var(--premium-link); }
.mont-pro-public .header-actions .button-small { padding-inline: 14px; gap: 10px; }
.mont-pro-public .header-actions .premium-icon { width: 18px; height: 18px; flex-basis: 18px; }
.mont-pro-public .mobile-quick-actions { display: none; }
.mont-pro-public #contact-form { scroll-margin-top: 92px; }
.mont-pro-public .panel-actions { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 20px; }
.mont-pro-public .panel-actions > a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--premium-link); font-size: 15px; font-weight: 750; }
.mont-pro-public .engineering-details { margin: 16px 2.2vw 0; border: 1px solid var(--pro-edge); border-radius: 12px; background: #09121d; }
.mont-pro-public :is(.engineering-details,.benefits-panel) > summary { padding: 18px 22px; min-height: 56px; color: var(--premium-text); font-size: 17px; font-weight: 650; cursor: pointer; }
.mont-pro-public .engineering-details > summary small { display: block; margin-top: 6px; color: var(--premium-muted); font-size: 14px; font-weight: 400; }
.mont-pro-public .engineering-details .technical-grid { padding: 8px; }
.mont-pro-public .engineering-details .tech-card { min-height: 280px; }
.mont-pro-public .choice-section { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.mont-pro-public .packages-intro { max-width: 70ch; margin: 0 auto 28px; color: var(--premium-muted); font-size: 16px; line-height: 1.7; text-align: center; }
.mont-pro-public .packages-grid small { margin-top: 18px; font-size: 13px; }
.mont-pro-public .packages-grid h3 { font-size: 21px; }
.mont-pro-public .packages-grid li { font-size: 16px; }
.mont-pro-public .choice-section > .benefits-panel { padding: 0; }
.mont-pro-public .benefits-panel[open] > .benefits-grid { padding: 20px; }
.mont-pro-public .case-section { grid-template-columns: minmax(0, 1fr); padding-block: 48px; }
.mont-pro-public .case-copy { max-width: 1050px; margin-inline: auto; }
.mont-pro-public .case-copy h2 { font-size: 30px; }
.mont-pro-public .case-copy ul { display: flex; flex-wrap: wrap; gap: 8px 20px; columns: auto; margin-block: 16px; }
.mont-pro-public .case-copy li { font-size: 15px; }
.mont-pro-public [data-package-field][hidden] { display: none; }
@media (max-width: 980px) {
  .mont-pro .gateway-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mont-pro-public .public-header { grid-template-columns: 146px minmax(0, 1fr) 44px; gap: 12px; }
  .mont-pro-public .header-actions { grid-column: 2; justify-content: flex-end; }
  .mont-pro-public .header-actions :is(.header-call,.button-small) { display: none; }
  .mont-pro-public .has-quick-actions { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  .mont-pro-public .mobile-quick-actions { position: fixed; inset: auto 0 0; z-index: 99; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #8abbd24d; background: #08121d; box-shadow: inset 0 1px 0 #d5ecff14, 0 -8px 28px #0003; }
  .mont-pro-public .mobile-quick-actions > a { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 8px; border: 1px solid var(--pro-edge); border-radius: 8px; background: #102030; box-shadow: inset 0 1px 0 #d5ecff12; color: var(--premium-text); font-size: 14px; font-weight: 700; }
  .mont-pro-public .mobile-quick-actions > a:nth-child(2) { background: #07569b; border-color: #65b8f680; }
  .mont-pro-public.premium-menu-open .mobile-quick-actions { display: none; }
  .mont-pro-public #contact-form { scroll-margin-top: 80px; }
}
/* A dark, near-opaque surface keeps navigation readable over any page content.
   Browsers without blur retain the solid surface above. Form/workspace paint is unchanged. */
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .mont-pro-public :is(.public-header,.mobile-quick-actions) {
    background: #08121df2;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }
}
@media (max-width: 560px) {
  .mont-pro .gateway-card { padding: 18px 16px; min-height: 260px; }
  .mont-pro .gateway-card h2 { font-size: 18px; }
  .mont-pro .gateway-card p { font-size: 14px; }
}
@media (max-width: 359px) {
  .mont-pro .gateway-strip { grid-template-columns: minmax(0, 1fr); }
  .mont-pro .gateway-card { min-height: 225px; }
  .mont-pro-public .public-header { grid-template-columns: 120px minmax(0, 1fr) 44px; gap: 8px; padding-inline: 12px; }
  .mont-pro-public .public-header .brand-header { width: 120px; }
}
.mont-pro .service-section {
  background: radial-gradient(ellipse at 88% 4%, var(--pro-sapphire), transparent 42%), #070d15;
}
.mont-pro .cabinet-panel,
.mont-pro .utility-card {
  border-color: var(--pro-edge);
  border-radius: 14px;
  background: radial-gradient(ellipse at 100% 0, var(--pro-copper), transparent 45%),
    radial-gradient(ellipse at 0 100%, var(--pro-sapphire), transparent 55%), #0a131e;
  box-shadow: inset 0 1px 0 #d5ecff18, 0 18px 48px #0003;
}

/* A shorter public overview; detailed illustrations live on the services page. */
.mont-pro-public .home-light .hero-board { grid-template-columns: minmax(0, 1fr); min-height: 0; }
.mont-pro-public .home-light .hero-home { min-height: 530px; }
.mont-pro-public .home-light .hero-copy { width: min(820px, 100%); padding: 56px 5vw; }
.mont-pro-public .home-light .hero-copy h1 { font-size: clamp(36px, 4.4vw, 64px); line-height: 1.14; }
.mont-pro-public .home-light .hero-copy > p { max-width: 530px; }
.mont-pro-public .home-light .gateway-card { min-height: 205px; padding: 20px; }
.mont-pro-public .home-light .gateway-icon { width: 36px; height: 36px; }
.mont-pro-public .home-light .gateway-card h2 { margin-top: 12px; }
.mont-pro-public .home-light .gateway-card .gateway-action { padding-top: 14px; }
.mont-pro-public .home-light .section-pad { padding-block: 56px; }
.mont-pro-public .home-light .section-head { margin-bottom: 28px; }
.mont-pro-public .home-light .section-head h2 { font-size: clamp(26px, 3vw, 36px); }
.mont-pro-public .home-service-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.mont-pro-public .home-service-links > a { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 68px; padding: 14px 18px; border: 1px solid var(--pro-edge); border-radius: 8px; background: #0c1825; color: var(--premium-text); font-size: 16px; font-weight: 700; line-height: 1.45; }
.mont-pro-public .home-service-links > a > span { flex: 1; min-width: 0; }
.mont-pro-public .home-service-links .premium-icon { flex-shrink: 0; color: var(--premium-link); }
.mont-pro-public .home-service-links > a:is(:hover,:focus-visible) { background: #142638; border-color: var(--premium-focus); }
.mont-pro-public .home-services-note { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--pro-edge); }
.mont-pro-public .home-services-note .eyebrow { font-size: 12px; }
.mont-pro-public .home-services-note h3 { margin: 8px 0; font-size: 20px; }
.mont-pro-public .home-services-note p { max-width: 58ch; margin: 0; color: var(--premium-muted); font-size: 14px; line-height: 1.6; }
.mont-pro-public .home-service-more { margin-top: 16px; color: var(--premium-link); }
.mont-pro-public .home-light .choice-section { grid-template-columns: minmax(0, 1fr); padding-block: 24px; }
.mont-pro-public .home-light .home-packages { padding: 0; }
.mont-pro-public .home-packages > summary { padding: 22px 24px; cursor: pointer; color: var(--premium-text); }
.mont-pro-public .home-packages > summary h2 { display: inline; font-size: 22px; line-height: 1.4; }
.mont-pro-public .home-packages > summary > span { display: block; margin-top: 6px; color: var(--premium-muted); font-size: 14px; }
.mont-pro-public .home-package-content { padding: 0 24px 24px; }
.mont-pro-public .home-light .timeline { margin-top: 32px; }
.mont-pro-public .home-light .timeline h3 { margin: 12px 0 8px; font-size: 16px; }
.mont-pro-public .home-light .timeline li { padding-top: 24px; }
.mont-pro-public .home-light .contact-intro { grid-template-columns: minmax(0, 1fr); }
.mont-pro-public .home-light :is(.gateway-card,.home-services-note) { scroll-margin-top: 100px; }
.mont-pro-public .services-house-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 32px; align-items: center; }
.mont-pro-public .services-house-layout .case-section { border: 0; background: none; padding-block: 0; }
.mont-pro-public .services-house-layout .case-copy ul { display: block; }
.mont-pro-public .services-example .engineering-details { margin: 32px 0 0; }
.mont-pro-public .services-guides { display: grid; gap: 12px; padding-top: 0; padding-bottom: 0; }
.mont-pro-public .service-guide { min-width: 0; border: 1px solid var(--pro-edge); border-radius: 10px; background: #07101a; }
.mont-pro-public .service-guide > summary { padding: 22px 24px; color: var(--premium-text); font-size: 18px; font-weight: 700; line-height: 1.5; cursor: pointer; }
.mont-pro-public .service-guide > .section-pad { padding: 24px; }
.mont-pro-public .services-guides > .benefits-panel { padding: 0; }
.mont-pro-public .services-guides .benefits-grid { padding: 24px; }
.mont-pro-public .premium-services-page :is(#systems,.service-guide) { scroll-margin-top: 110px; }
@media (max-width: 980px) {
  .mont-pro-public .home-light .gateway-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mont-pro-public .home-service-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mont-pro-public .services-house-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 680px) {
  .mont-pro-public .home-light .hero-home { min-height: 0; }
  .mont-pro-public .home-light .hero-copy { padding: 32px 18px; }
  .mont-pro-public .home-light .hero-copy h1 { font-size: 30px; line-height: 1.2; }
  .mont-pro-public .home-light .gateway-card { min-height: 0; padding: 16px; }
  .mont-pro-public .home-light .gateway-card h2 { font-size: 17px; }
  .mont-pro-public .home-light .gateway-card p { font-size: 14px; line-height: 1.5; }
  .mont-pro-public .home-light .gateway-card .gateway-action { gap: 6px; font-size: 13px; }
  .mont-pro-public .home-light .section-pad { padding-block: 36px; }
  .mont-pro-public .home-light .choice-section { padding-block: 16px; }
  .mont-pro-public .home-service-links { grid-template-columns: minmax(0, 1fr); }
  .mont-pro-public .home-service-links > a { min-height: 58px; }
  .mont-pro-public .home-services-note { align-items: flex-start; flex-direction: column; gap: 8px; }
  .mont-pro-public .home-packages > summary { padding: 20px 16px; }
  .mont-pro-public .home-packages > summary h2 { font-size: 20px; }
  .mont-pro-public .home-package-content { padding: 0 16px 16px; }
  .mont-pro-public .home-light .timeline { margin-top: 24px; }
  .mont-pro-public .home-light .timeline li { padding-top: 0; padding-bottom: 24px; }
  .mont-pro-public .home-light .timeline h3 { margin-top: 4px; }
  .mont-pro-public .service-guide > summary { padding: 18px 16px; font-size: 16px; }
  .mont-pro-public .service-guide > .section-pad { padding: 20px 16px; }
}
@media (max-width: 360px) {
  .mont-pro-public .home-light .hero-copy h1 { font-size: 26px; }
  .mont-pro-public .home-light .gateway-card { padding: 14px 12px; }
}

/* Workspaces share quiet lighting; forms, tables and statuses stay stationary. */
.mont-premium-workbench.mont-pro .topbar {
  background: linear-gradient(110deg, #08121d, #050a12 58%, #101017);
}
.mont-premium-workbench.mont-pro :is(.wh-heading,.agent-heading,.cabinet-hero,.premium-hero,.master-header) {
  background: radial-gradient(ellipse at 100% 0, var(--pro-sapphire), transparent 65%);
  border-bottom-color: var(--pro-edge);
}
.mont-premium-workbench.mont-pro :is(.card,.cabinet-card,.wh-panel,.agent-panel,.master-card) {
  box-shadow: inset 0 1px 0 #d5ecff0d;
}

@keyframes mont-pro-arrival {
  0% { opacity: .68; transform: translate3d(-2%, 1%, 0) scale(1.04); }
  55% { opacity: 1; transform: translate3d(2%, -1%, 0) scale(1.025); }
  100% { opacity: 1; transform: none; }
}
@keyframes mont-pro-sweep {
  0% { opacity: 0; transform: translateX(-250%) skewX(-18deg); }
  20%, 70% { opacity: 1; }
  100% { opacity: 0; transform: translateX(350%) skewX(-18deg); }
}
@media (prefers-reduced-motion: no-preference) {
  .mont-pro-public .hero-home.is-light-arriving::before { animation: mont-pro-arrival 4.8s ease-out 1; }
  .mont-pro-public .mobile-quick-actions > a {
    transition: background-color .18s ease-out, border-color .18s ease-out;
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .mont-pro-public a.button:not([aria-disabled=true]):is(:hover,:focus-visible)::after {
    animation: mont-pro-sweep 1.1s ease-out 1;
  }
  .mont-pro .gateway-card:hover,
  .mont-pro .illustrated-services .service-card:hover {
    border-color: #78a9cc;
    box-shadow: inset 0 1px 0 #d5ecff1c, 0 10px 26px #0003;
  }
}
.mont-pro-public .mobile-quick-actions > a:is(:active,:focus-visible) {
  border-color: var(--premium-focus);
  background: #183148;
}
.mont-pro-public .mobile-quick-actions > a:nth-child(2):is(:active,:focus-visible) { background: #07569b; }
@media (prefers-reduced-motion: reduce) {
  .mont-pro .hero-home::before,
  .mont-pro-public .button::after { animation: none; transform: none; }
  .mont-pro-public .button::after { display: none; }
  .mont-pro-public .button:is(:hover,:focus-visible) { transform: none; }
}
@media (forced-colors: active) {
  .mont-pro .hero-copy h1 em {
    background: none;
    color: CanvasText;
    -webkit-text-fill-color: CanvasText;
  }
  .mont-pro .hero-home::before,
  .mont-pro .hero-home::after,
  .mont-pro-public .button::after,
  .mont-pro-public .public-header::after { display: none; }
  .mont-pro-public :is(.public-header,.mobile-quick-actions) {
    background: Canvas;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
