/* One identical site header for Solutions, Gallery, Case Studies, Resources,
   Catalog and Contact. Loaded last so legacy page-specific rules cannot win. */
header .topbar {
  display: block !important;
}

/* Keep the upper contact line aligned with the logo and quote button below. */
header .topbar .container,
header .topbar .container.topbar-inner {
  width: min(1420px, calc(100% - 80px)) !important;
  max-width: 1420px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

header .nav-shell {
  height: auto !important;
  min-height: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

header .nav-shell .container.nav {
  width: min(1420px, calc(100% - 80px)) !important;
  max-width: 1420px !important;
  min-height: 76px !important;
  height: auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 190px minmax(0, 1fr) 152px !important;
  gap: 16px !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}

header .brand {
  flex: initial !important;
  flex-basis: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  color: var(--green) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

header .brand-indoff {
  color: var(--green) !important;
  font-size: 42px !important;
  line-height: .9 !important;
}

header .brand small {
  display: block !important;
  color: #1c2925 !important;
  font-size: 9px !important;
  letter-spacing: .16em !important;
  margin-top: 8px !important;
  white-space: nowrap !important;
}

header .main-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

header .main-nav a,
header .main-nav a[href="projects"],
header .main-nav a[href="case-studies"],
header .main-nav a[href="resources"],
header .main-nav a[href="https://www.indoff.com/shop/"] {
  display: inline-block !important;
  color: #1c2925 !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  padding: 30px 0 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

header .main-nav a[aria-current="page"] {
  color: var(--green-3, #0d7255) !important;
}

header .main-nav a[aria-current="page"]::after {
  bottom: 19px !important;
  height: 3px !important;
  background: var(--green-3, #0d7255) !important;
}

header .nav-cta {
  width: 152px !important;
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid var(--green) !important;
  border-radius: 8px !important;
  background: var(--green) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

@media (min-width: 1181px) and (max-width: 1450px) {
  header .nav-shell .container.nav {
    width: calc(100% - 60px) !important;
    max-width: 1420px !important;
    grid-template-columns: 190px minmax(0, 1fr) 152px !important;
    gap: 12px !important;
  }
  header .brand-indoff { font-size: 42px !important; }
  header .brand small { font-size: 8px !important; }
  header .main-nav { gap: 14px !important; min-width: 0 !important; }
  header .main-nav a { font-size: 11.5px !important; }
  header .nav-cta {
    width: 152px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 10.5px !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  header .nav-shell .container.nav {
    display: flex !important;
    min-height: 72px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  header .main-nav { display: none !important; }
  header .menu { display: block !important; margin-left: auto !important; }
  header .nav-cta { margin-left: 0 !important; }
}

@media (max-width: 900px) {
  header .topbar .container,
  header .topbar .container.topbar-inner {
    width: calc(100% - 28px) !important;
  }
  header .nav-shell .container.nav {
    width: min(100% - 28px, 1188px) !important;
    display: flex !important;
    min-height: 72px !important;
    padding: 0 !important;
  }
  header .main-nav { display: none !important; }
  header .menu { display: block !important; margin-left: auto !important; }
  header .nav-cta { margin-left: auto !important; }
}

/* Rectangular Ask Mark button — shared by every public page. */
.floating-call.ask-ai-launcher,
.ask-mark-trigger {
  width: 184px !important;
  min-width: 184px !important;
  height: 72px !important;
  min-height: 72px !important;
  max-width: calc(100vw - 28px) !important;
  padding: 12px 17px !important;
  border: 0 !important;
  border-radius: 12px !important;
  clip-path: none !important;
  background: linear-gradient(145deg, #087254, #063b2b) !important;
  color: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .28)) !important;
  transition: transform .2s ease, filter .2s ease, background .2s ease !important;
}

.floating-call.ask-ai-launcher strong,
.ask-mark-trigger span {
  font-size: 18px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: .035em !important;
  text-align: center !important;
}

.floating-call.ask-ai-launcher span,
.ask-mark-trigger small {
  margin-top: 6px !important;
  font-size: 9px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  opacity: .92 !important;
}

.floating-call.ask-ai-launcher:hover,
.floating-call.ask-ai-launcher:focus-visible,
.ask-mark-trigger:hover,
.ask-mark-trigger:focus-visible {
  background: linear-gradient(145deg, #0a8663, #064735) !important;
  transform: translateY(-3px) scale(1.035) !important;
  filter: drop-shadow(0 16px 22px rgba(0, 0, 0, .34)) !important;
}

.ask-ai-panel { bottom: 88px !important; }
.ask-mark-panel { bottom: 80px !important; }

@media (max-width: 700px) {
  .floating-call.ask-ai-launcher,
  .ask-mark-trigger {
    right: 12px !important;
    width: 160px !important;
    min-width: 0 !important;
    height: 62px !important;
    min-height: 62px !important;
    max-width: calc(100vw - 24px) !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
  }
  .floating-call.ask-ai-launcher strong,
  .ask-mark-trigger span { font-size: 15px !important; }
  .floating-call.ask-ai-launcher span,
  .ask-mark-trigger small { font-size: 8px !important; margin-top: 4px !important; }
  .ask-ai-panel { right: 0 !important; bottom: 74px !important; width: min(340px, calc(100vw - 24px)) !important; }
  .ask-mark-panel { right: 0 !important; bottom: 72px !important; width: min(340px, calc(100vw - 24px)) !important; }
}

@media (max-width: 600px) {
  header .topbar .container.topbar-inner {
    justify-content: center !important;
    text-align: center !important;
  }
  header .topbar .top-contact {
    max-width: 100% !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 9px !important;
    letter-spacing: .02em !important;
    white-space: nowrap !important;
  }
  header .nav-shell .container.nav {
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 8px 0 10px !important;
  }
  header .brand { max-width: calc(100% - 54px) !important; }
  header .brand-indoff { font-size: 36px !important; }
  header .brand small { font-size: 7px !important; margin-top: 5px !important; }
  header .menu { margin-left: auto !important; }
  header .nav-cta {
    order: 3 !important;
    width: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
  }
}

/* Shared Ask Mark AI panel used on every public page. */
.ask-ai-launcher{position:fixed!important;right:22px!important;bottom:22px!important;z-index:10001!important;cursor:pointer!important;font-family:inherit!important}
.ask-ai-panel{position:fixed;right:24px;bottom:96px;width:min(390px,calc(100vw - 28px));height:min(620px,calc(100vh - 125px));z-index:10000;background:#fff;border:1px solid #d9e5df;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.24);overflow:hidden;display:none;flex-direction:column}
.ask-ai-panel.open{display:flex;animation:askAiIn .22s ease-out}@keyframes askAiIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.ask-ai-head{background:linear-gradient(135deg,#063b2b,#08704f);color:#fff;padding:17px 18px;display:flex;align-items:center;justify-content:space-between}.ask-ai-title strong{display:block;font-size:16px;letter-spacing:.02em}.ask-ai-title span{display:block;font-size:10px;opacity:.84;margin-top:3px;letter-spacing:.05em}.ask-ai-close{border:0;background:rgba(255,255,255,.13);color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:19px}.ask-ai-messages{flex:1;overflow:auto;padding:16px;background:#f6f9f7}.ask-msg{max-width:86%;padding:11px 13px;border-radius:14px;margin:0 0 10px;font-size:13px;line-height:1.48;white-space:pre-wrap}.ask-msg.bot{background:#fff;border:1px solid #dce7e2;border-bottom-left-radius:4px;color:#26352f}.ask-msg.user{margin-left:auto;background:#08704f;color:#fff;border-bottom-right-radius:4px}.ask-ai-chips{display:flex;gap:7px;flex-wrap:wrap;padding:0 16px 11px;background:#f6f9f7}.ask-chip{border:1px solid #bfd4ca;background:#fff;color:#075b43;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;cursor:pointer}.ask-ai-input{padding:12px;background:#fff;border-top:1px solid #dce7e2;display:grid;grid-template-columns:1fr auto;gap:8px}.ask-ai-input textarea{resize:none;min-height:44px;max-height:100px;border:1px solid #cddbd4;border-radius:11px;padding:11px 12px;font:inherit;font-size:13px;outline:none}.ask-ai-input textarea:focus{border-color:#08704f;box-shadow:0 0 0 3px rgba(8,112,79,.09)}.ask-ai-send{border:0;border-radius:11px;background:#08704f;color:#fff;padding:0 15px;font-weight:900;cursor:pointer}.ask-ai-foot{padding:8px 12px 10px;background:#fff;color:#75827d;font-size:9px;line-height:1.35;text-align:center}.ask-ai-handoff{color:#08704f;font-weight:800;text-decoration:none}.ask-ai-handoff-wrap{padding:10px 16px 12px;background:#f6f9f7;border-top:1px solid #e1ebe6}.ask-ai-project-btn{width:100%;border:0;border-radius:11px;background:#063b2b;color:#fff;padding:12px 14px;font-weight:900;font-size:11px;letter-spacing:.03em;cursor:pointer;box-shadow:0 8px 20px rgba(6,59,43,.16)}.ask-ai-handoff-note{font-size:9px;color:#718078;text-align:center;margin-top:6px}
@media(max-width:700px){html,body{max-width:100%;overflow-x:hidden}.ask-ai-launcher{right:12px!important;bottom:12px!important}.ask-ai-panel{left:12px!important;right:12px!important;bottom:80px!important;width:auto!important;max-width:none!important;height:min(620px,calc(100dvh - 104px))!important;max-height:calc(100dvh - 104px)!important;box-sizing:border-box!important}.ask-ai-head,.ask-ai-messages,.ask-ai-chips,.ask-ai-input,.ask-ai-foot,.ask-ai-handoff-wrap{box-sizing:border-box!important;max-width:100%!important}.ask-ai-messages{min-height:0!important;overflow-y:auto!important}.ask-msg{max-width:92%!important;overflow-wrap:anywhere}.ask-ai-input{grid-template-columns:minmax(0,1fr) auto!important}.ask-ai-input textarea{min-width:0!important;width:100%!important;box-sizing:border-box!important}}
@media(max-width:430px){.ask-ai-panel{left:8px!important;right:8px!important;bottom:74px!important;height:calc(100dvh - 90px)!important;max-height:calc(100dvh - 90px)!important}.ask-ai-head{padding:13px 14px!important}.ask-ai-messages{padding:12px!important}.ask-ai-chips{padding:0 12px 9px!important}.ask-ai-foot{padding:6px 8px 8px!important}}
