/* =========================================================
   EASY WAY MASTER SHARED THEME â€” POWERSHELL V1
   Exact shell used by Index and every inner page.
   ========================================================= */

:root {
  --ew-navy: #071d33;
  --ew-navy-2: #0a3652;
  --ew-blue: #1769e0;
  --ew-blue-dark: #1157bd;
  --ew-cyan: #18b8b0;
  --ew-gold: #f2a531;
  --ew-ink: #17344e;
  --ew-muted: #607688;
  --ew-line: rgba(18, 70, 101, .11);
  --ew-shadow: 0 20px 52px rgba(7, 29, 51, .12);
}

body {
  --navy: var(--ew-navy);
  --navy-2: var(--ew-navy-2);
  --teal: var(--ew-blue);
  --teal-dark: var(--ew-blue-dark);
  --gold: var(--ew-gold);
  --ink: var(--ew-ink);
  --muted: var(--ew-muted);
  --line: #dbe4ec;
  --container: 1320px;
  color: var(--ew-ink);
}

/* Topbar */
.topbar {
  color: rgba(255,255,255,.88);
  font-size: .69rem;
  background: linear-gradient(90deg, #061625 0%, #082844 62%, #0a3653 100%);
  border-bottom: 1px solid rgba(104,182,255,.16);
}

.topbar__inner {
  min-height: 34px;
}

.topbar span {
  color: #9fc2dc;
}

.topbar__links a {
  color: #dcecf8;
}

/* Header */
.site-header {
  background: rgba(255,255,255,.97);
  border-bottom-color: rgba(194,211,225,.86);
}

.site-header.is-scrolled {
  box-shadow: 0 12px 34px rgba(7,29,51,.11);
}

.nav-wrap {
  min-height: 70px;
}

.brand__mark {
  width: 48px;
  height: 48px;
  background: linear-gradient(145deg, #0b2b49, var(--ew-blue));
  box-shadow: 0 10px 22px rgba(23,105,224,.21);
}

.brand__mark > span {
  color: var(--ew-gold);
}

.brand__text strong {
  font-size: 1rem;
}

.brand__text small {
  color: #087f83;
  font-size: .68rem;
}

.site-nav {
  overflow: visible;
}

.site-nav .nav-direct,
.site-nav .nav-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 70px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #29445d;
  font: inherit;
  font-size: .84rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

.site-nav .nav-direct::after,
.site-nav .nav-trigger::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 15px;
  height: 2px;
  background: linear-gradient(90deg, var(--ew-blue), var(--ew-cyan));
  transition: right .2s ease;
}

.site-nav .nav-direct:hover::after,
.site-nav .nav-trigger:hover::after,
.site-nav .nav-item.is-open > .nav-trigger::after,
.site-nav .nav-direct[aria-current="page"]::after,
.site-nav .nav-trigger[aria-current="page"]::after,
.site-nav .nav-item--current > .nav-trigger::after {
  right: 0;
}

.site-nav .nav-direct[aria-current="page"],
.site-nav .nav-trigger[aria-current="page"],
.site-nav .nav-item--current > .nav-trigger {
  color: var(--ew-blue);
}

.nav-item {
  position: relative;
  display: flex;
  align-items: center;
}

.nav-trigger > span {
  font-size: 1rem;
  transform: translateY(-1px);
  transition: transform .2s ease;
}

.nav-item.is-open > .nav-trigger > span {
  transform: rotate(180deg);
}

/* Dropdowns */
.nav-dropdown {
  position: absolute;
  z-index: 50;
  top: calc(100% - 8px);
  left: 50%;
  width: 360px;
  padding: 12px;
  border: 1px solid rgba(15,68,97,.14);
  border-radius: 18px;
  background: rgba(255,255,255,.985);
  box-shadow: 0 24px 55px rgba(7,29,51,.18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%,10px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.nav-dropdown::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -7px;
  width: 14px;
  height: 14px;
  border-left: 1px solid rgba(15,68,97,.14);
  border-top: 1px solid rgba(15,68,97,.14);
  background: #fff;
  transform: translateX(-50%) rotate(45deg);
}

.nav-dropdown--mega {
  left: 0;
  width: min(690px,78vw);
  grid-template-columns: repeat(2,minmax(0,1fr));
  transform: translate(-32%,10px);
}

.nav-dropdown--mega::before {
  left: 33%;
}

.nav-dropdown--right {
  left: auto;
  right: 0;
  transform: translate(0,10px);
}

.nav-dropdown--right::before {
  left: auto;
  right: 34px;
  transform: rotate(45deg);
}

.nav-item:hover > .nav-dropdown,
.nav-item:focus-within > .nav-dropdown,
.nav-item.is-open > .nav-dropdown {
  display: grid;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%,0);
}

.nav-item:hover > .nav-dropdown--mega,
.nav-item:focus-within > .nav-dropdown--mega,
.nav-item.is-open > .nav-dropdown--mega {
  transform: translate(-32%,0);
}

.nav-item:hover > .nav-dropdown--right,
.nav-item:focus-within > .nav-dropdown--right,
.nav-item.is-open > .nav-dropdown--right {
  transform: translate(0,0);
}

.nav-dropdown a {
  display: grid;
  gap: 3px;
  padding: 13px 14px;
  border-radius: 12px;
  color: #17344e;
  transition: background .16s ease, transform .16s ease;
}

.nav-dropdown a:hover,
.nav-dropdown a:focus-visible,
.nav-dropdown a[aria-current="page"] {
  background: linear-gradient(135deg, rgba(23,105,224,.08), rgba(24,184,176,.08));
  transform: translateX(2px);
}

.nav-dropdown strong {
  font-size: .88rem;
}

.nav-dropdown small {
  color: #6b8092;
  font-size: .72rem;
  line-height: 1.45;
  white-space: normal;
}

/* Buttons */
.button {
  border-color: var(--ew-blue);
  background: var(--ew-blue);
  box-shadow: 0 11px 25px rgba(23,105,224,.20);
}

.button:hover {
  background: var(--ew-blue-dark);
  box-shadow: 0 15px 32px rgba(23,105,224,.27);
}

.button--gold {
  color: var(--ew-navy);
  border-color: var(--ew-gold);
  background: var(--ew-gold);
  box-shadow: none;
}

.button--gold:hover {
  background: #e5a23a;
}

.button:focus-visible,
.site-nav a:focus-visible,
.nav-trigger:focus-visible,
.menu-toggle:focus-visible,
.quick-action:focus-visible {
  outline: 3px solid rgba(242,165,49,.86);
  outline-offset: 4px;
}

/* Scroll compaction */
.site-header,
.nav-wrap,
.brand__mark,
.brand__text strong,
.brand__text small,
.site-nav .nav-direct,
.site-nav .nav-trigger {
  transition:
    min-height .2s ease,
    width .2s ease,
    height .2s ease,
    font-size .2s ease,
    box-shadow .2s ease;
}

.site-header.is-scrolled .nav-wrap {
  min-height: 60px;
}

.site-header.is-scrolled .brand__mark {
  width: 40px;
  height: 40px;
}

.site-header.is-scrolled .brand__text strong {
  font-size: .91rem;
}

.site-header.is-scrolled .brand__text small {
  font-size: .62rem;
}

.site-header.is-scrolled .site-nav .nav-direct,
.site-header.is-scrolled .site-nav .nav-trigger {
  min-height: 60px;
}

/* Footer */
.footer {
  background: #05131f;
}

.brand--footer .brand__mark {
  background: linear-gradient(145deg,var(--ew-blue),#18a8ab);
}

.footer__responsibility {
  max-width: 390px;
  margin: 15px 0 0;
  color: #9db0bf;
  font-size: .7rem;
  line-height: 1.6;
}

/* Floating WhatsApp */
.quick-actions {
  position: fixed;
  z-index: 80;
  right: 18px;
  bottom: 18px;
  display: grid;
  gap: 10px;
  justify-items: end;
}

.quick-action {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  padding: 0 17px;
  border: 1px solid rgba(15,125,120,.18);
  border-radius: 999px;
  background: #fff;
  color: #0b6762;
  box-shadow: 0 14px 36px rgba(7,29,51,.22);
  font-size: .78rem;
  font-weight: 900;
  transition: transform .18s ease;
}

.quick-action:hover {
  transform: translateY(-2px);
}

.quick-action::before {
  content: "WA";
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: #0f8f86;
  color: #fff;
  font-size: .58rem;
  font-weight: 900;
}

.quick-action__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  opacity: .7;
}

/* Mobile navigation: the same breakpoint on every page */
@media (max-width: 1240px) {
  .menu-toggle {
    display: block;
  }

  .site-nav {
    position: absolute;
    left: 20px;
    right: 20px;
    top: calc(100% + 8px);
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--ew-shadow);
    white-space: normal;
  }

  .site-nav.is-open {
    display: flex;
  }

  .site-nav .nav-direct,
  .site-nav .nav-trigger {
    min-height: auto;
    width: 100%;
    justify-content: space-between;
    padding: 11px 12px;
  }

  .site-nav .nav-direct::after,
  .site-nav .nav-trigger::after {
    display: none;
  }

  .site-nav .button {
    margin-top: 8px;
  }

  .nav-item {
    display: block;
    width: 100%;
  }

  .nav-dropdown,
  .nav-dropdown--mega,
  .nav-dropdown--right {
    position: static;
    width: 100%;
    max-height: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr;
    padding: 0 8px;
    border: 0;
    border-radius: 12px;
    box-shadow: none;
    background: #f4f8fb;
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    transform: none !important;
    transition: max-height .28s ease, padding .28s ease, margin .28s ease;
  }

  .nav-dropdown::before {
    display: none;
  }

  .nav-item:hover > .nav-dropdown,
  .nav-item:focus-within > .nav-dropdown {
    max-height: 0;
    padding: 0 8px;
    pointer-events: none;
  }

  .nav-item.is-open > .nav-dropdown {
    max-height: 720px;
    margin-bottom: 8px;
    padding: 8px;
    pointer-events: auto;
  }

  .nav-dropdown a {
    padding: 10px 11px;
  }

  .nav-dropdown small {
    display: none;
  }
}

@media (max-width: 760px) {
  .container {
    width: min(calc(100% - 28px),var(--container));
  }

  .topbar__inner {
    min-height: 29px;
  }

  .topbar p span,
  .topbar__links a:first-child {
    display: none;
  }

  .nav-wrap,
  .site-header.is-scrolled .nav-wrap {
    min-height: 58px;
  }

  .brand__mark,
  .site-header.is-scrolled .brand__mark {
    width: 38px;
    height: 38px;
  }

  .brand__text strong,
  .site-header.is-scrolled .brand__text strong {
    font-size: .78rem;
  }

  .brand__text small,
  .site-header.is-scrolled .brand__text small {
    font-size: .54rem;
  }

  .quick-actions {
    right: 12px;
    bottom: 12px;
  }

  .quick-action {
    width: 46px;
    min-width: 46px;
    height: 46px;
    padding: 0;
    justify-content: center;
  }

  .quick-action > span {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header,
  .nav-wrap,
  .brand__mark,
  .brand__text strong,
  .brand__text small,
  .site-nav .nav-direct,
  .site-nav .nav-trigger,
  .quick-action {
    transition: none;
  }
}

/* ===== EASY WAY HEADER SHELL LOCK START =====
   This block loads after page-specific CSS.
   It makes Index and inner-page navigation geometrically identical.
   ================================================================ */

/* Exact desktop geometry from the approved Index */
body .nav-wrap {
  min-height: 70px;
  gap: 22px;
}

body .site-nav {
  gap: 15px;
  font-size: .82rem;
  white-space: nowrap;
}

body .site-nav .nav-direct,
body .site-nav .nav-trigger {
  min-height: 70px;
  font-size: .84rem;
  font-weight: 700;
}

body .brand__mark {
  width: 48px;
  height: 48px;
}

body .brand__text strong {
  font-size: 1rem;
}

body .brand__text small {
  font-size: .68rem;
}

body .topbar__inner {
  min-height: 34px;
}

/* Exact compact-on-scroll geometry */
body .site-header.is-scrolled .nav-wrap {
  min-height: 60px;
}

body .site-header.is-scrolled .site-nav .nav-direct,
body .site-header.is-scrolled .site-nav .nav-trigger {
  min-height: 60px;
}

body .site-header.is-scrolled .brand__mark {
  width: 40px;
  height: 40px;
}

body .site-header.is-scrolled .brand__text strong {
  font-size: .91rem;
}

body .site-header.is-scrolled .brand__text small {
  font-size: .62rem;
}

/* Exact menu geometry after the shared mobile breakpoint */
@media (max-width: 1240px) {
  body .nav-wrap {
    min-height: 70px;
    gap: 18px;
  }

  body .site-nav {
    gap: 0;
    font-size: .84rem;
    white-space: normal;
  }

  body .site-nav .nav-direct,
  body .site-nav .nav-trigger {
    min-height: auto;
    width: 100%;
    padding: 11px 12px;
  }
}

/* Exact phone geometry from the Index */
@media (max-width: 760px) {
  body .topbar__inner {
    min-height: 29px;
  }

  body .nav-wrap,
  body .site-header.is-scrolled .nav-wrap {
    min-height: 58px;
  }

  body .brand__mark,
  body .site-header.is-scrolled .brand__mark {
    width: 38px;
    height: 38px;
  }

  body .brand__text strong,
  body .site-header.is-scrolled .brand__text strong {
    font-size: .78rem;
  }

  body .brand__text small,
  body .site-header.is-scrolled .brand__text small {
    font-size: .54rem;
  }
}

/* ===== EASY WAY HEADER SHELL LOCK END ===== */

/* ===== EASY WAY HEADER SHELL LOCK START =====
   This block loads after page-specific CSS.
   It makes Index and inner-page navigation geometrically identical.
   ================================================================ */

/* Exact desktop geometry from the approved Index */
body .nav-wrap {
  min-height: 70px;
  gap: 22px;
}

body .site-nav {
  gap: 15px;
  font-size: .82rem;
  white-space: nowrap;
}

body .site-nav .nav-direct,
body .site-nav .nav-trigger {
  min-height: 70px;
  font-size: .84rem;
  font-weight: 700;
}

body .brand__mark {
  width: 48px;
  height: 48px;
}

body .brand__text strong {
  font-size: 1rem;
}

body .brand__text small {
  font-size: .68rem;
}

body .topbar__inner {
  min-height: 34px;
}

/* Exact compact-on-scroll geometry */
body .site-header.is-scrolled .nav-wrap {
  min-height: 60px;
}

body .site-header.is-scrolled .site-nav .nav-direct,
body .site-header.is-scrolled .site-nav .nav-trigger {
  min-height: 60px;
}

body .site-header.is-scrolled .brand__mark {
  width: 40px;
  height: 40px;
}

body .site-header.is-scrolled .brand__text strong {
  font-size: .91rem;
}

body .site-header.is-scrolled .brand__text small {
  font-size: .62rem;
}

/* Exact menu geometry after the shared mobile breakpoint */
@media (max-width: 1240px) {
  body .nav-wrap {
    min-height: 70px;
    gap: 18px;
  }

  body .site-nav {
    gap: 0;
    font-size: .84rem;
    white-space: normal;
  }

  body .site-nav .nav-direct,
  body .site-nav .nav-trigger {
    min-height: auto;
    width: 100%;
    padding: 11px 12px;
  }
}

/* Exact phone geometry from the Index */
@media (max-width: 760px) {
  body .topbar__inner {
    min-height: 29px;
  }

  body .nav-wrap,
  body .site-header.is-scrolled .nav-wrap {
    min-height: 58px;
  }

  body .brand__mark,
  body .site-header.is-scrolled .brand__mark {
    width: 38px;
    height: 38px;
  }

  body .brand__text strong,
  body .site-header.is-scrolled .brand__text strong {
    font-size: .78rem;
  }

  body .brand__text small,
  body .site-header.is-scrolled .brand__text small {
    font-size: .54rem;
  }
}

/* ===== EASY WAY HEADER SHELL LOCK END ===== */
