:root {
  --brand: #f97316;
  --brand-soft: #fff7ed;
  --brand-dark: #1f2937;
  --bg: #ffffff;
  --text: #1f2937;
}

* { box-sizing: border-box; }
body {
  font-family: 'Inter', sans-serif;
  background: var(--bg);
  color: var(--text);
}
a { text-decoration: none; }

.brand-wordmark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .2rem .55rem;
  border-radius: .55rem;
  border: 2px solid var(--brand);
  color: var(--brand);
  font-weight: 900;
  letter-spacing: .08em;
  font-size: 1rem;
}
.brand-logo {
  max-height: 2.4rem;
  max-width: 7rem;
  object-fit: contain;
}

.nav-inline-logo {
  width: 1.25rem;
  height: 1.25rem;
  object-fit: contain;
  border-radius: .35rem;
}
.nav-inline-wordmark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.8rem;
  padding: .08rem .3rem;
  border-radius: .4rem;
  border: 1.5px solid var(--brand);
  color: var(--brand);
  font-weight: 900;
  letter-spacing: .04em;
  font-size: .72rem;
}

.nav-strong {
  color: #111827 !important;
  font-weight: 700;
  font-size: .95rem;
}

.nav-search-trigger {
  min-width: min(100%, 18rem);
  border: 1px solid rgba(17,24,39,.14);
  border-radius: 999px;
  padding: .72rem 1rem;
  background: #fff;
  box-shadow: none;
  color: #111827;
}

.nav-search-trigger:hover,
.nav-search-trigger:focus {
  border-color: rgba(249,115,22,.55);
  box-shadow: 0 0 0 .15rem rgba(249,115,22,.10);
  outline: 0;
}

.nav-pill {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  border: 1px solid rgba(249,115,22,.35);
  background: #fff;
  border-radius: 999px;
  padding: .18rem .45rem .18rem .65rem;
}

.nav-divider {
  width: 1px;
  height: 1.1rem;
  background: rgba(17,24,39,.14);
}

.nav-preferences-btn {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  min-height: 2.85rem;
  padding: .55rem 1rem;
  border: 2px solid var(--brand);
  border-radius: 999px;
  background: #fff;
  color: #111827;
  font-weight: 600;
}
.nav-preferences-btn:hover,
.nav-preferences-btn:focus {
  background: var(--brand-soft);
  outline: 0;
}
.nav-preferences-chevron {
  margin-left: .15rem;
  color: #6b7280;
  font-size: .75rem;
}

.nav-icon-btn,
.nav-profile {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  border: 1px solid rgba(17,24,39,.12);
  background: #fff;
  border-radius: 999px;
  padding: .55rem .8rem;
  color: #111827;
}

.nav-icon-btn {
  width: 2.75rem;
  height: 2.75rem;
  justify-content: center;
  padding: 0;
}

.profile-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: .9rem;
  background: var(--brand);
  color: #fff;
  font-weight: 800;
}

.nav-profile small {
  display: block;
  line-height: 1.1;
  color: #6b7280;
}

.nav-link { color: #4b5563 !important; font-weight: 500; }
.nav-link:hover { color: var(--brand) !important; }

.btn-brand {
  background: var(--brand);
  color: #fff;
  border: none;
  box-shadow: 0 12px 28px rgba(249, 115, 22, .18);
}
.btn-brand:hover { background: #ea580c; color: #fff; }
.btn-outline-dark { border-color: #d1d5db; }

.hero-wrap { padding: 0 0 1.5rem; }
.hero-container {
  width: 100%;
  max-width: none;
  padding: 0;
}
.hero-billboard {
  position: relative;
  overflow: hidden;
  border-radius: 0 0 2rem 2rem;
  padding: 2.4rem 1.3rem;
  min-height: 420px;
  background:
    var(--hero-billboard-image, none),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.75), transparent 30%),
    radial-gradient(circle at 50% 25%, rgba(255,255,255,.35), transparent 43%),
    linear-gradient(180deg, #ffcc9f 0%, #ffb77a 100%);
  background-size: cover, auto, auto, auto;
  background-position: center, center, center, center;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  box-shadow: 0 20px 45px rgba(15, 23, 42, .10);
}
.hero-billboard::before {
  content: '';
  position: absolute;
  inset: -10% auto auto 50%;
  width: 760px;
  height: 760px;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at center, rgba(255,255,255,.22), transparent 47%),
    conic-gradient(from 180deg, rgba(255,255,255,.10), rgba(255,255,255,.02), rgba(255,255,255,.12), rgba(255,255,255,.02), rgba(255,255,255,.10));
  border-radius: 50%;
  opacity: .95;
}
.hero-billboard::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 18%;
  width: 620px;
  height: 620px;
  transform: translateX(-50%);
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.22);
  box-shadow:
    0 0 0 32px rgba(255,255,255,.04),
    0 0 0 72px rgba(255,255,255,.03);
}
.hero-billboard-inner {
  position: relative;
  z-index: 1;
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
  padding-top: 1.1rem;
}
.hero-eyebrow {
  display: inline-flex;
  background: rgba(255,255,255,.45);
  color: #7a3d15;
  border-radius: 999px;
  padding: .4rem .85rem;
  font-weight: 700;
  font-size: .9rem;
}
.hero-title {
  margin: .95rem auto 0;
  max-width: 780px;
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  line-height: 1.05;
  font-weight: 900;
  color: #111827;
}
.hero-subtitle {
  margin: .85rem auto 0;
  max-width: 720px;
  color: rgba(17,24,39,.8);
  font-size: 1.02rem;
}
.hero-searchbar {
  margin: 1.35rem auto 0;
  max-width: 760px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: .5rem;
  align-items: stretch;
  padding: .5rem;
  background: rgba(255,255,255,.95);
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .10);
}
.hero-search-field {
  display: grid;
  gap: .1rem;
  padding: 0;
  text-align: left;
  border-right: 1px solid rgba(17,24,39,.08);
}
.hero-search-field:last-of-type { border-right: 0; }
.hero-filter-trigger {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: .08rem;
  align-content: center;
  padding: .38rem .75rem;
  border: 2px solid transparent;
  border-radius: 999px;
  background: transparent;
  text-align: left;
  color: #111827;
  transition: border-color .18s ease, background .18s ease;
}
.hero-filter-trigger:hover {
  background: rgba(249, 115, 22, .06);
}
.hero-filter-trigger[aria-expanded="true"],
.hero-filter-trigger.active {
  border-color: var(--brand);
  background: #fff;
}
.hero-filter-label {
  font-size: .72rem;
  line-height: 1.1;
  font-weight: 700;
  color: #111827;
}
.hero-filter-value {
  max-width: 100%;
  overflow: hidden;
  color: #6b7280;
  font-size: .92rem;
  font-weight: 500;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero-filter-popover[hidden] { display: none; }
.hero-filter-popover {
  position: fixed;
  z-index: 1080;
  width: min(300px, calc(100vw - 20px));
  padding: 1rem;
  border: 1px solid #e5e7eb;
  border-radius: .75rem;
  background: #fff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .22);
}
.hero-filter-origin-popover {
  display: grid;
  gap: .65rem;
}
.hero-filter-select-label {
  margin: 0;
  color: #171717;
  font-size: .86rem;
  font-weight: 700;
}
.hero-filter-select-wrap {
  position: relative;
}
.hero-filter-select {
  width: 100%;
  height: 46px;
  appearance: none;
  padding: 0 2.6rem 0 1rem;
  border: 1px solid #ded7d3;
  border-radius: .55rem;
  background: #fff;
  color: #766b66;
  font: inherit;
  box-shadow: 0 3px 8px rgba(15, 23, 42, .06);
  outline: 0;
}
.hero-filter-select:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .12);
}
.hero-filter-select-wrap i {
  position: absolute;
  top: 50%;
  right: 1rem;
  color: #9ca3af;
  font-size: .72rem;
  pointer-events: none;
  transform: translateY(-50%);
}
.hero-filter-options-popover {
  max-height: 320px;
  padding: .35rem;
  overflow-y: auto;
  scrollbar-color: #858585 transparent;
  scrollbar-width: thin;
}
.hero-filter-options-popover::-webkit-scrollbar { width: 8px; }
.hero-filter-options-popover::-webkit-scrollbar-thumb {
  border: 2px solid #fff;
  border-radius: 999px;
  background: #858585;
}
.hero-filter-option {
  width: 100%;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .65rem .75rem;
  border: 0;
  border-radius: .55rem;
  background: transparent;
  color: #111827;
  text-align: left;
  font-size: .92rem;
}
.hero-filter-option:hover,
.hero-filter-option.selected {
  background: #fff4ed;
}
.hero-filter-option > i {
  display: none;
  margin-left: auto;
  color: var(--brand);
  font-size: .78rem;
}
.hero-filter-option.selected > i { display: block; }
.country-flag {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background: #f3f4f6;
  font-size: 1.35rem;
  line-height: 1;
}
.hero-search-btn {
  border-radius: 999px;
  padding-inline: 1.2rem;
  white-space: nowrap;
}
.hero-pills,
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .75rem;
  margin-top: 1.1rem;
}
.hero-billboard .hero-pills {
  flex-wrap: nowrap;
  justify-content: flex-start;
  overflow-x: auto;
  padding: .15rem .15rem .55rem;
}
.hero-billboard .quick-pill {
  flex: 0 0 auto;
}
.quick-pill,
.mini-filter {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid rgba(17,24,39,.12);
  border-radius: 999px;
  background: #fff;
  color: #111827;
  padding: .55rem .95rem;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .05);
  font-weight: 600;
}
.mini-filter.active {
  border-color: var(--brand);
  background: var(--brand-soft);
  color: var(--brand);
}
.action-filter-control {
  display: inline-flex;
  position: relative;
}
.action-filter-popover[hidden] {
  display: none;
}
.action-filter-popover {
  position: fixed;
  z-index: 1200;
  overflow: auto;
  border: 1px solid rgba(17,24,39,.10);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .18);
}
.action-filter-feature-popover {
  width: min(260px, calc(100vw - 24px));
  padding: 1rem;
}
.action-filter-sort-popover {
  width: min(146px, calc(100vw - 24px));
  padding: .3rem;
}
.action-filter-pills {
  display: grid;
  gap: .65rem;
  justify-items: start;
}
.action-feature-pill {
  min-height: 2.35rem;
  padding: .45rem 1rem;
  border: 1px solid #e7ddd5;
  border-radius: 999px;
  background: #fff;
  color: #8a6f61;
  font-weight: 600;
  box-shadow: 0 3px 8px rgba(15, 23, 42, .04);
}
.action-feature-pill:hover,
.action-feature-pill.selected {
  border-color: rgba(249, 115, 22, .55);
  background: #fff7ed;
  color: var(--brand);
}
.action-filter-foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.1rem;
}
.action-filter-save {
  min-height: 2.85rem;
  padding: 0 1rem;
  border: 0;
  border-radius: .55rem;
  background: var(--brand);
  color: #fff;
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(249, 115, 22, .18);
}
.action-sort-option {
  width: 100%;
  min-height: 2.25rem;
  display: flex;
  align-items: center;
  padding: .45rem .7rem;
  border: 0;
  border-radius: .35rem;
  background: transparent;
  color: #111827;
  text-align: left;
  font-weight: 600;
}
.action-sort-option:hover {
  background: #fff4ed;
}
.action-sort-option.selected {
  background: var(--brand);
  color: #fff;
}
.quick-pill-arrow {
  margin-left: .35rem;
  color: #9ca3af;
  font-size: .78rem;
}
.quick-pill.active {
  border-color: var(--brand);
  background: var(--brand-soft);
  color: var(--brand);
}
.mini-filter { font-size: .9rem; }
.travel-date-control {
  position: relative;
  display: inline-flex;
}
.travel-date-input {
  display: none;
}
.travel-date-note {
  margin-top: 1rem;
  color: #1f2937;
  font-weight: 600;
}
.travel-calendar {
  position: fixed;
  z-index: 1200;
  width: min(346px, calc(100vw - 24px));
  padding: 1rem;
  border: 1px solid #e5e7eb;
  border-radius: 1.1rem;
  background: #fff;
  box-shadow: 0 20px 55px rgba(15, 23, 42, .22);
}
.travel-calendar[hidden] {
  display: none;
}
.travel-calendar-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 90px auto;
  align-items: center;
  gap: .35rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid #e5e7eb;
}
.travel-calendar-select {
  min-width: 0;
  border: 0;
  background: transparent;
  color: #111827;
  font-weight: 700;
  cursor: pointer;
}
.travel-calendar-nav {
  display: flex;
  gap: .15rem;
}
.travel-calendar-nav button,
.travel-calendar-today {
  display: inline-grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: var(--brand);
}
.travel-calendar-nav button {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  font-size: 1rem;
}
.travel-calendar-nav button:hover {
  background: var(--brand-soft);
}
.travel-calendar-weekdays,
.travel-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
.travel-calendar-weekdays {
  padding: .7rem 0 .35rem;
  color: #8b7b72;
  font-size: .78rem;
  font-weight: 700;
  text-align: center;
}
.travel-calendar-day {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 2.65rem;
  border: 0;
  border-radius: .75rem;
  background: transparent;
  color: #111827;
  font-weight: 600;
}
.travel-calendar-day:hover:not(:disabled) {
  background: var(--brand-soft);
  color: var(--brand);
}
.travel-calendar-day.weekend {
  color: #d72655;
}
.travel-calendar-day.outside {
  color: #b8aaa2;
}
.travel-calendar-day:disabled {
  color: #c9c0bb;
  cursor: not-allowed;
}
.travel-calendar-day.today::after {
  content: '';
  position: absolute;
  right: 30%;
  bottom: .35rem;
  left: 30%;
  height: 2px;
  border-radius: 2px;
  background: var(--brand);
}
.travel-calendar-day.selected {
  background: var(--brand);
  color: #fff;
}
.travel-calendar-day.selected::after {
  background: #fff;
}
.travel-calendar-foot {
  display: flex;
  justify-content: flex-end;
  padding-top: .75rem;
}
.travel-calendar-today {
  min-height: 2.45rem;
  padding: 0 .95rem;
  border: 1px solid #111827;
  border-radius: .65rem;
  color: #111827;
  font-weight: 700;
}
.travel-calendar-today:hover {
  border-color: var(--brand);
  color: var(--brand);
}
.visa-ready-date {
  display: flex;
  align-items: center;
  gap: .4rem;
  color: #8a6f61;
  font-size: .86rem;
}
.visa-ready-date i {
  color: var(--brand);
}
.visa-empty-state {
  padding: 3rem 1.5rem;
  border: 1px dashed #f4b58e;
  border-radius: 1.25rem;
  background: #fffaf7;
  text-align: center;
}
.visa-empty-state i {
  margin-bottom: .75rem;
  color: var(--brand);
  font-size: 2rem;
}
.visa-empty-state p {
  margin: 0;
  color: #6b7280;
}
[data-visa-results] {
  transition: opacity .18s ease, transform .18s ease;
}
body.visa-filter-loading [data-visa-results] {
  opacity: .45;
  transform: translateY(4px);
  pointer-events: none;
}
body.visa-filter-loading [data-ajax-visa-filter] {
  cursor: progress;
}
.section-heading-center {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 1rem;
}

.eyebrow, .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .35rem .8rem;
  border-radius: 999px;
  background: rgba(249, 115, 22, .12);
  color: var(--brand);
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.section-title {
  font-size: clamp(1.9rem, 4vw, 3.1rem);
  font-weight: 800;
  line-height: 1.1;
}
.section-text, .lead { color: #6b7280; }

.hero-panel, .info-card, .visa-card, .service-card, .review-card, .content-panel, .detail-card, .filter-card {
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 1.4rem;
  padding: 1.4rem;
  box-shadow: 0 20px 50px rgba(15, 23, 42, .06);
}
.panel-title { font-weight: 700; font-size: 1.15rem; }
.mini-stat, .approval-pill, .chip, .visa-badge, .service-badge, .rating-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 999px;
}
.mini-stat {
  width: 100%;
  padding: .85rem 1rem;
  background: #fff;
  border: 1px solid rgba(17,24,39,.07);
}
.approval-pill {
  width: 100%;
  justify-content: center;
  padding: .8rem 1rem;
  background: var(--brand-soft);
  color: var(--brand-dark);
  font-weight: 700;
}
.trusted-strip {
  padding: 1.25rem;
  border-radius: 1.5rem;
  background: #fff;
  border: 1px solid rgba(17,24,39,.08);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
}
.trusted-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  color: #111827;
  font-weight: 700;
  opacity: .8;
}
.section-block { padding: 4rem 0; }
.section-block.alt { background: rgba(255,255,255,.6); }
.info-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--brand-soft);
  color: var(--brand);
  margin-bottom: 1rem;
}
.mock-dashboard {
  border-radius: 1.6rem;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(17,24,39,.08);
  box-shadow: 0 20px 50px rgba(15, 23, 42, .08);
}
.mock-header {
  height: .85rem;
  background: linear-gradient(90deg, var(--brand), #fb923c);
}
.mock-body { padding: 1.4rem; }
.mock-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: .9rem;
  padding-bottom: .7rem;
  border-bottom: 1px solid rgba(17,24,39,.08);
}
.mock-progress {
  margin-top: 1rem;
  height: .8rem;
  border-radius: 999px;
  background: #f3f4f6;
  overflow: hidden;
}
.mock-progress-bar {
  height: 100%;
  width: 84%;
  background: linear-gradient(90deg, var(--brand), #fdba74);
}
.feature-list {
  list-style: none;
  padding-left: 0;
  display: grid;
  gap: .7rem;
}
.feature-list li {
  display: flex;
  align-items: center;
  gap: .6rem;
}
.feature-list i { color: var(--brand); }
.step-card {
  background: #fff;
  border-radius: 1.25rem;
  padding: 1.4rem;
  border: 1px solid rgba(17,24,39,.08);
  height: 100%;
}
.step-number {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: .9rem;
  background: var(--brand-soft);
  color: var(--brand);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  margin-bottom: 1rem;
}

.visa-card, .service-card, .review-card { height: 100%; }
.visa-card-compact { padding: 1rem; }
.visa-card-listing {
  display: flex;
  flex-direction: column;
  min-height: 184px;
  padding: 1rem;
  border-radius: 1.35rem;
}
.visa-card-listing .visa-card-head {
  min-height: 72px;
}
.visa-card-listing .visa-copy {
  min-width: 0;
  padding-right: .35rem;
}
.visa-card-listing .visa-copy h5 {
  display: -webkit-box;
  min-height: 2.4em;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: #1f2937;
}
.visa-card-listing .visa-ready-date {
  margin-bottom: 0 !important;
}
.visa-card-listing .visa-thumb {
  width: 5.5rem;
  height: 4.45rem;
  border-radius: .8rem;
}
.visa-card-listing .visa-price-line {
  margin-top: 1rem;
}
.visa-card-listing .price-main {
  font-size: 1.25rem;
  line-height: 1.15;
}
.visa-card-listing .visa-card-link {
  margin-top: 1rem;
}
.home-visa-card-reveal {
  animation: homeVisaReveal .28s ease both;
}
@keyframes homeVisaReveal {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.product-card-link {
  display: block;
  color: inherit;
  height: 100%;
}
.product-card-link:hover .visa-card,
.product-card-link:hover .service-card {
  transform: translateY(-2px);
  box-shadow: 0 24px 50px rgba(15, 23, 42, .10);
}
.product-card-link:focus-visible {
  outline: 0;
}
.product-card-link:focus-visible .visa-card,
.product-card-link:focus-visible .service-card {
  box-shadow: 0 0 0 3px rgba(249,115,22,.18), 0 24px 50px rgba(15, 23, 42, .10);
}
.visa-card-head {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  align-items: flex-start;
}
.visa-copy h5 {
  font-size: 1rem;
  line-height: 1.2;
  margin-bottom: .15rem;
}
.visa-thumb {
  width: 5.6rem;
  height: 4.5rem;
  border-radius: .9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  color: rgba(255,255,255,.95);
  letter-spacing: .04em;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
  flex: 0 0 auto;
}
.visa-thumb-img,
.detail-image,
.product-image {
  display: block;
  object-fit: cover;
  border-radius: .9rem;
  border: 1px solid rgba(17,24,39,.08);
  background: #fff;
}
.visa-thumb-img {
  padding: 0;
}
.detail-image {
  width: 100%;
  max-height: 260px;
}
.product-image {
  width: 100%;
  max-height: 180px;
}
.thumb-1 { background: linear-gradient(135deg, #f59e0b, #ef4444); }
.thumb-2 { background: linear-gradient(135deg, #0ea5e9, #1d4ed8); }
.thumb-3 { background: linear-gradient(135deg, #10b981, #047857); }
.thumb-4 { background: linear-gradient(135deg, #f97316, #fb7185); }
.thumb-5 { background: linear-gradient(135deg, #6366f1, #8b5cf6); }
.thumb-6 { background: linear-gradient(135deg, #0f766e, #14b8a6); }
.visa-price-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .4rem .75rem;
  margin-top: .7rem;
}
.price-main { font-size: 1.25rem; font-weight: 800; }
.price-old { color: #9ca3af; text-decoration: line-through; }
.price-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #fb7185;
  color: #fff;
  padding: .22rem .5rem;
  font-size: .72rem;
  font-weight: 800;
}
.visa-card-link {
  display: inline-flex;
  margin-top: .8rem;
  color: var(--brand);
  font-weight: 700;
}
.product-card-link .visa-card-link {
  pointer-events: none;
}
.visa-badge, .service-badge {
  background: var(--brand-soft);
  color: var(--brand);
  padding: .35rem .75rem;
  font-size: .8rem;
  font-weight: 700;
}
.visa-desc, .review-text { color: #4b5563; }
.rating-pill {
  padding: .35rem .65rem;
  background: var(--brand-soft);
  color: var(--brand-dark);
  font-weight: 700;
}
.trusted-by-band {
  padding: .75rem 0 2.5rem;
}
.trusted-by-inner {
  width: min(100%, 980px);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.4rem;
  align-items: center;
  margin: 0 auto;
  padding-inline: clamp(1.25rem, 5vw, 3rem);
}
.trusted-by-inner h2 {
  margin: 0;
  color: #000;
  font-size: 1.45rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}
.trusted-by-logos {
  min-width: 0;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
}
.trusted-by-logo-track {
  width: max-content;
  display: flex;
  align-items: center;
  animation: trustedByMarquee 24s linear infinite;
  will-change: transform;
}
.trusted-by-logos:hover .trusted-by-logo-track {
  animation-play-state: paused;
}
.trusted-by-logo-set {
  display: flex;
  align-items: center;
  gap: clamp(1.8rem, 4vw, 3.2rem);
  padding-right: clamp(1.8rem, 4vw, 3.2rem);
}
.trusted-by-logo {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #111827;
  font-weight: 900;
  line-height: 1;
  filter: grayscale(1);
  opacity: .95;
}
.trusted-by-logo img {
  width: auto;
  max-width: 128px;
  height: 38px;
  object-fit: contain;
}
.trusted-by-logo span {
  max-width: 130px;
  color: #111827;
  font-size: .95rem;
  text-align: center;
  text-transform: none;
}
.trusted-by-logo:hover,
.trusted-by-logo:focus {
  opacity: 1;
  filter: none;
}
@keyframes trustedByMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .trusted-by-logo-track {
    animation: none;
  }
}
.reviews-map-link-wrap {
  display: flex;
  justify-content: center;
  margin-top: 2.2rem;
}
.reviews-map-link {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  gap: 1.05rem;
  padding: .75rem 1rem .75rem 1.25rem;
  border: 1px solid rgba(17, 24, 39, .14);
  border-radius: 999px;
  background: #fff;
  color: #111827;
  font-size: .9rem;
  font-weight: 800;
  box-shadow: 0 7px 18px rgba(15, 23, 42, .05);
  transition: border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.reviews-map-link i {
  font-size: .9rem;
  transition: transform .18s ease;
}
.reviews-map-link:hover,
.reviews-map-link:focus {
  border-color: rgba(249, 115, 22, .45);
  color: var(--brand);
  box-shadow: 0 10px 24px rgba(249, 115, 22, .10);
  transform: translateY(-1px);
}
.reviews-map-link:hover i,
.reviews-map-link:focus i {
  transform: translateX(3px);
}

.service-heading .section-title {
  font-size: clamp(1.65rem, 2.4vw, 2.05rem);
  color: #000;
}
.service-rail {
  display: flex;
  gap: 1.1rem;
  overflow-x: auto;
  padding: .2rem .85rem 1rem .15rem;
  scroll-snap-type: x proximity;
  scrollbar-color: #8f8f8f transparent;
  scrollbar-width: auto;
}
.service-rail::-webkit-scrollbar {
  height: .75rem;
}
.service-rail::-webkit-scrollbar-track {
  background: transparent;
}
.service-rail::-webkit-scrollbar-thumb {
  background: #8f8f8f;
  border-radius: 999px;
  border: .2rem solid #f8fafc;
}
.service-card-compact {
  min-width: 13.4rem;
  max-width: 13.4rem;
  min-height: 13.25rem;
  scroll-snap-align: start;
}
.service-card.service-card-compact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.05rem 1rem 1.15rem;
  border-radius: .85rem;
  background: #fff;
  border: 1px solid rgba(17,24,39,.18);
  box-shadow: 0 6px 12px rgba(15, 23, 42, .15);
}
.service-card.service-card-compact h5 {
  margin: .25rem 0 .45rem;
  color: #000;
  font-size: .95rem;
  line-height: 1.2;
  font-weight: 800;
}
.service-card.service-card-compact p {
  margin: 0 0 1rem;
  color: #6b7280;
  font-size: .72rem;
  line-height: 1.45;
}
.service-card-price {
  margin-top: auto;
  color: #000;
  font-size: .78rem;
  font-weight: 900;
}
.service-illustration {
  position: relative;
  width: 4.3rem;
  height: 4.3rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff3ea;
  color: var(--brand);
  margin-bottom: .8rem;
  font-size: 1.55rem;
  overflow: hidden;
}
.service-illustration::before,
.service-illustration::after {
  content: '';
  position: absolute;
  width: 1.9rem;
  height: 2.35rem;
  border-radius: .2rem;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(249,115,22,.14);
  box-shadow: 0 6px 14px rgba(15, 23, 42, .08);
}
.service-illustration::before {
  transform: rotate(-10deg);
  left: 1.1rem;
  top: 1rem;
}
.service-illustration::after {
  transform: rotate(8deg);
  right: 1.05rem;
  top: .78rem;
}
.service-illustration i {
  position: relative;
  z-index: 1;
  text-shadow: 0 3px 8px rgba(249, 115, 22, .20);
}
.service-explore-wrap {
  display: flex;
  justify-content: center;
  margin-top: 1.55rem;
}
.service-explore-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  min-height: 3.25rem;
  padding: .55rem .8rem .55rem 1.1rem;
  border: 2px solid var(--brand);
  border-radius: 999px;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.95), rgba(255,255,255,0) 36%),
    linear-gradient(135deg, #fff 0%, #fff7ed 100%);
  color: #111827;
  font-weight: 800;
  box-shadow: 0 16px 34px rgba(249, 115, 22, .16);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.service-explore-icon,
.service-explore-arrow {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.service-explore-icon {
  background: rgba(249, 115, 22, .12);
  color: var(--brand);
}
.service-explore-arrow {
  background: var(--brand);
  color: #fff;
  font-size: .85rem;
  box-shadow: 0 8px 18px rgba(249, 115, 22, .28);
  transition: transform .18s ease;
}
.service-explore-btn:hover,
.service-explore-btn:focus {
  transform: translateY(-2px);
  background: linear-gradient(135deg, #fff7ed 0%, #ffffff 42%, #ffedd5 100%);
  color: #111827;
  box-shadow: 0 22px 44px rgba(249, 115, 22, .24);
  outline: none;
}
.service-explore-btn:hover .service-explore-arrow,
.service-explore-btn:focus .service-explore-arrow {
  transform: translateX(3px);
}

.savings-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.savings-card {
  overflow: hidden;
  border: 1px solid #f0d7d8;
  border-radius: 1.35rem;
  background: linear-gradient(135deg, #fffdfd 0%, #fff4f6 55%, #ffeef2 100%);
  box-shadow: 0 16px 36px rgba(249, 115, 22, .08);
}
.savings-card-top {
  min-height: 150px;
  padding: 1.5rem;
  display: grid;
  align-content: center;
  gap: 1rem;
  border-bottom: 1px dashed rgba(244,114,182,.25);
}
.savings-brand {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
}
.savings-brand img {
  width: 3.25rem;
  height: 3.25rem;
  object-fit: contain;
}
.savings-brand span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.4rem;
  height: 2rem;
  border-radius: .5rem;
  background: var(--brand);
  color: #fff;
  font-weight: 900;
  letter-spacing: .05em;
}
.savings-card-top h3 {
  margin: 0;
  color: #ef476f;
  font-size: 1.15rem;
  font-weight: 800;
}
.savings-card-body {
  padding: 1.35rem 1.5rem 1.5rem;
}
.savings-card-body p {
  margin-bottom: .45rem;
  color: #4b5563;
  line-height: 1.7;
}
.savings-card-body a {
  color: #111827;
  text-decoration: underline;
  font-weight: 700;
}
.savings-learn-btn {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  color: #111827;
  text-decoration: underline;
  font-weight: 700;
}
.savings-learn-btn:hover,
.savings-learn-btn:focus {
  color: var(--brand);
  outline: 0;
}
.savings-modal[hidden] {
  display: none;
}
.savings-modal {
  position: fixed;
  inset: 0;
  z-index: 1080;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.savings-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 39, .46);
}
.savings-modal-card {
  position: relative;
  z-index: 1;
  width: min(94vw, 560px);
  max-height: min(82vh, 620px);
  overflow-y: auto;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 24px 80px rgba(15, 23, 42, .24);
  padding: 1.35rem 1.35rem 1.15rem;
}
.savings-modal-close {
  position: absolute;
  top: .75rem;
  right: .85rem;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 999px;
  background: #f3f4f6;
  color: #111827;
  font-size: 1.35rem;
  line-height: 1;
}
.savings-modal-content h3 {
  margin: 0 2.3rem 1rem 0;
  color: #ef476f;
  font-size: 1.2rem;
  line-height: 1.25;
  font-weight: 800;
}
.savings-modal-content p {
  margin: 0 0 .75rem;
  color: #000;
}
.savings-modal-content ul {
  margin: 0;
  padding-left: 1.15rem;
  color: #000;
}
.savings-modal-content li {
  margin: .45rem 0;
  line-height: 1.45;
}

.dashboard-showcase {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 2rem;
  padding: 1.5rem;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 2rem;
  background: #fff;
  box-shadow: 0 20px 50px rgba(15,23,42,.06);
}
.dashboard-tabs {
  display: grid;
  align-content: start;
}
.dashboard-tab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.45rem 0;
  border: 0;
  border-bottom: 1px solid rgba(17,24,39,.08);
  background: transparent;
  text-align: left;
  color: #334155;
  font-size: 1.05rem;
}
.dashboard-tab.active {
  color: #111827;
  font-weight: 800;
}
.dashboard-tab-title {
  max-width: 85%;
}
.dashboard-tab-icon {
  color: #cbd5e1;
}
.dashboard-tab.active .dashboard-tab-icon {
  color: var(--brand);
}
.dashboard-preview {
  position: relative;
  min-height: 420px;
}
.dashboard-panel {
  display: none;
  min-height: 420px;
  padding: 1.2rem;
  border: 1px solid rgba(17,24,39,.06);
  border-radius: 1.4rem;
  background: linear-gradient(180deg, #fffaf6 0%, #fff 100%);
  box-shadow: inset 0 0 0 1px rgba(249,115,22,.06);
}
.dashboard-panel.active {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 1rem;
  animation: fadeInUp .3s ease;
}
.dashboard-panel-copy h3 {
  margin-bottom: .4rem;
  font-size: 1.7rem;
  font-weight: 900;
}
.dashboard-panel-copy p {
  margin: 0;
  color: #64748b;
  line-height: 1.7;
}
.dashboard-panel-media {
  display: grid;
  place-items: center;
  min-height: 320px;
  border-radius: 1.1rem;
  background: radial-gradient(circle at top, rgba(249,115,22,.10), transparent 46%), #fff;
}
.dashboard-panel-media img {
  width: 100%;
  height: 100%;
  max-height: 360px;
  object-fit: cover;
  border-radius: 1rem;
  border: 1px solid rgba(17,24,39,.08);
}
.dashboard-placeholder {
  width: 100%;
  min-height: 300px;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  background: linear-gradient(135deg, #fff0e6, #fffdfb);
  color: var(--brand);
  font-size: 3.5rem;
}

.simple-card {
  overflow: hidden;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 18px 42px rgba(15,23,42,.06);
}
.simple-card-media {
  min-height: 210px;
  background: linear-gradient(145deg, #fff8f3, #fff);
}
.simple-card-media img {
  width: 100%;
  height: 100%;
  min-height: 210px;
  object-fit: cover;
}
.simple-placeholder {
  min-height: 210px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #fff2e8, #fff);
  color: var(--brand);
  font-size: 3rem;
}
.simple-card-body {
  padding: 1.35rem;
}
.simple-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: .7rem;
  border-radius: 999px;
  border: 1px solid rgba(17,24,39,.12);
  color: var(--brand);
  font-weight: 800;
}
.simple-card-body h3 {
  font-size: 1.35rem;
  font-weight: 800;
}
.simple-card-body p {
  color: #64748b;
  line-height: 1.7;
}
.simple-list {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: grid;
  gap: .55rem;
}
.simple-list li {
  display: flex;
  gap: .55rem;
  color: #374151;
}
.simple-list i {
  color: var(--brand);
  margin-top: .25rem;
}

.site-footer {
  background: #111827;
  color: #fff;
}
.site-footer a { color: #e5e7eb; }
.site-footer .text-muted { color: #cbd5e1 !important; }
.content-copy {
  white-space: pre-line;
  color: #4b5563;
  line-height: 1.8;
}
.page-hero { padding-top: 2rem; }
.visa-detail-hero {
  background: linear-gradient(180deg, #fff8f2, #fff);
}
.visa-detail-copy {
  max-width: 720px;
  font-size: 1.05rem;
}
.visa-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
  margin-top: 1.4rem;
}
.metric-card {
  padding: 1rem 1.1rem;
  border: 1px solid rgba(249, 115, 22, .18);
  border-radius: 1rem;
  background: linear-gradient(180deg, #fff, #fffaf7);
}
.metric-value {
  display: block;
  color: #111827;
  font-size: 1.25rem;
  font-weight: 800;
}
.metric-label {
  color: #8a6f61;
  font-size: .9rem;
}
.note-banner {
  display: flex;
  gap: .85rem;
  padding: 1rem 1.1rem;
  margin-top: 1.5rem;
  border-radius: 1rem;
  background: linear-gradient(90deg, #ffe7f4, #fef3ff);
  color: #3f2a46;
}
.note-banner i {
  margin-top: .2rem;
  color: var(--brand);
}
.process-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  gap: 1rem;
}
.process-calendar,
.timeline-card,
.addon-card {
  border: 1px solid #e6dfd7;
  border-radius: 1rem;
  background: #fff;
}
.process-calendar {
  padding: 1rem;
}
.process-calendar-head,
.timeline-row,
.addon-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
}
.process-calendar-legend {
  display: flex;
  gap: .8rem;
  flex-wrap: wrap;
  font-size: .8rem;
  color: #7f6a5c;
}
.legend-item,
.process-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.legend-dot {
  width: .65rem;
  height: .65rem;
  border-radius: 50%;
  background: #d1d5db;
}
.legend-dot.deadline { background: var(--brand); }
.legend-dot.review { background: #7c3aed; }
.legend-dot.ready { background: #10b981; }
.process-weekdays,
.process-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: .35rem;
}
.process-weekdays {
  margin-top: .85rem;
  margin-bottom: .35rem;
  color: #8b7b72;
  font-size: .8rem;
  text-align: center;
}
.process-day {
  display: grid;
  place-items: center;
  min-height: 2.5rem;
  border: 1px solid #eee3d9;
  border-radius: .7rem;
  color: #1f2937;
  font-weight: 600;
}
.process-day.outside { opacity: .35; }
.process-day.deadline { border-color: var(--brand); background: #fff2e8; }
.process-day.review { border-color: #7c3aed; background: #f4ecff; }
.process-day.ready { border-color: #10b981; background: #e9fbf5; }
.process-day.today {
  box-shadow: inset 0 0 0 2px var(--brand);
}
.process-list {
  display: grid;
  gap: .75rem;
}
.process-item {
  padding: .95rem 1rem;
  border-radius: .9rem;
  border: 1px solid #ece2d8;
  background: #fffaf6;
}
.process-item h6 {
  margin: .55rem 0 .35rem;
  font-weight: 700;
}
.process-item p {
  margin: 0;
  color: #6b7280;
}
.process-chip {
  padding: .25rem .55rem;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand);
  font-size: .8rem;
  font-weight: 700;
}
.addon-card {
  width: 15rem;
  min-width: 15rem;
  max-width: 15rem;
  min-height: 18.5rem;
  padding: 1rem;
  height: auto;
  display: grid;
  grid-template-rows: auto auto minmax(3.8rem, 1fr) auto;
  gap: .75rem;
  overflow: hidden;
}
.addon-card.service-card.service-card-compact {
  padding: 1rem;
  border-radius: .8rem;
}
.addon-card.service-card.service-card-compact h5 {
  display: -webkit-box;
  min-height: 3.6em;
  margin-bottom: 0;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  color: #111827;
  line-height: 1.2;
}
.addon-top {
  align-items: flex-start;
  margin-bottom: .75rem;
}
.addon-top img,
.service-card-image {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: .8rem;
}
.addon-icon {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: .8rem;
  background: #fff3eb;
  color: var(--brand);
  font-size: 1.2rem;
}
.addon-card.service-card.service-card-compact p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  color: #6b7280;
  margin-bottom: 0;
}
.addon-footer {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: stretch;
  gap: .75rem;
  margin-top: auto;
  min-width: 0;
}
.addon-footer strong {
  min-width: 0;
  color: #1f2937;
  font-size: .95rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.addon-footer.compact {
  align-items: stretch;
}
.addon-add-btn {
  width: 100%;
  min-width: 0;
  min-height: 2.4rem;
  justify-content: center;
  border-radius: .5rem;
}
.addon-add-btn .purchase-service-action {
  color: #fff;
}
.addon-add-btn.active {
  background: #fff;
  border-color: var(--brand);
  color: var(--brand);
}
.addon-add-btn.active .purchase-service-action {
  color: var(--brand);
}
.service-card-image {
  margin-bottom: .75rem;
}
.sticky-side {
  position: sticky;
  top: 92px;
}
.visa-purchase-card {
  display: grid;
  gap: .85rem;
}
.purchase-panel {
  display: grid;
  gap: .85rem;
  padding: 1rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, #fff, #fff7f2);
  border: 1px solid #f2dfd2;
}
.purchase-title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
}
.purchase-option-group {
  display: grid;
  gap: .45rem;
}
.purchase-option-label {
  font-size: .88rem;
  font-weight: 700;
  color: #4b5563;
}
.product-option-panel {
  display: grid;
  gap: .85rem;
}
.product-option-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: .85rem;
  border-top: 1px solid #eee3d9;
}
.product-option-total strong {
  color: var(--brand);
  font-size: 1.2rem;
}
.faq-accordion {
  max-width: 860px;
}
.faq-accordion .accordion-item {
  overflow: hidden;
  margin-bottom: .8rem;
  border: 1px solid #eadfd5;
  border-radius: 1rem;
}
.faq-accordion .accordion-button {
  font-weight: 700;
  box-shadow: none;
}
.faq-accordion .accordion-button:not(.collapsed) {
  background: #fff7f1;
  color: var(--brand);
}
.visa-funds-panel {
  background: linear-gradient(180deg, #f6fff9, #ffffff);
}
.visa-funds-card {
  display: grid;
  gap: .2rem;
  padding: 1rem;
  border: 1px solid #d7eadf;
  border-radius: 1rem;
  background: linear-gradient(180deg, #f6fff8, #ffffff);
}
.visa-funds-row,
.visa-funds-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .9rem 0;
}
.visa-funds-row + .visa-funds-row,
.visa-funds-row + .visa-funds-summary {
  border-top: 1px solid #d7eadf;
}
.visa-funds-row span {
  color: #343a40;
  font-weight: 600;
}
.visa-funds-stepper {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: #0f5132;
}
.visa-funds-stepper button {
  width: 2rem;
  height: 2rem;
  border: 1px solid #a7d7b6;
  border-radius: 50%;
  background: #fff;
  color: #0f5132;
  font-size: 1.2rem;
  line-height: 1;
}
.visa-funds-stepper strong {
  min-width: 1.5rem;
  text-align: center;
  font-size: 1.05rem;
}
.visa-funds-summary {
  font-weight: 800;
}
.visa-funds-summary strong {
  font-size: 1.1rem;
  color: #111827;
}
.visa-funds-note {
  margin-top: .65rem;
  color: #a98f86;
  font-size: .85rem;
}
.purchase-field {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .8rem .9rem;
  border: 1px solid #eadcd0;
  border-radius: .9rem;
  background: #fff;
}
.purchase-icon {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--brand);
  background: #fff3eb;
}
.purchase-help {
  margin: -.2rem 0 0;
  color: #8a6f61;
  font-size: .9rem;
}
.purchase-applicants {
  padding: .9rem;
  border: 1px solid #eadcd0;
  border-radius: .9rem;
  background: #fff;
}
.purchase-applicants-head,
.purchase-summary-head {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
}
.purchase-stepper {
  display: grid;
  gap: .75rem;
  margin-top: .8rem;
}
.purchase-stepper-row {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
}
.stepper-controls {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
}
.stepper-controls button {
  width: 2rem;
  height: 2rem;
  border: 1px solid #ddd1c4;
  border-radius: 50%;
  background: #fff;
  color: #8b6a56;
}
.purchase-summary-box {
  padding: 1rem;
  border-radius: .95rem;
  background: linear-gradient(180deg, #fff8f2, #fff);
  border: 1px solid #f1dfd1;
}
.purchase-badge {
  display: inline-flex;
  align-items: center;
  padding: .2rem .55rem;
  border-radius: 999px;
  background: #ea5570;
  color: #fff;
  font-size: .78rem;
}
.purchase-price-row {
  display: flex;
  align-items: baseline;
  gap: .75rem;
  margin-top: .45rem;
}
.purchase-price-row strong {
  color: #ef4444;
  font-size: 1.15rem;
}
.purchase-estimate {
  margin-top: .45rem;
  color: #6b7280;
  font-size: .88rem;
}
.purchase-services {
  display: grid;
  gap: .6rem;
}
.purchase-services-head {
  font-size: 1rem;
  font-weight: 700;
}
.purchase-service-list {
  display: grid;
  gap: .6rem;
}
.purchase-service-card {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  align-items: center;
  width: 100%;
  padding: .85rem .95rem;
  border: 1px solid #eadcd0;
  border-radius: .9rem;
  background: #fff;
  text-align: left;
}
.purchase-service-card.active {
  border-color: var(--brand);
  box-shadow: 0 0 0 1px var(--brand-soft) inset;
}
.purchase-service-main {
  display: grid;
  gap: .2rem;
}
.purchase-service-main small {
  color: #8a6f61;
}
.purchase-service-action {
  flex: 0 0 auto;
  color: var(--brand);
  font-weight: 700;
}
.purchase-selected {
  padding-top: .2rem;
}
.purchase-selected-head {
  font-size: .95rem;
  font-weight: 700;
  margin-bottom: .45rem;
}
.purchase-selected-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .35rem;
}
.purchase-selected-list li {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  color: #6b7280;
}
.checkout-page {
  background: linear-gradient(180deg, #fffaf6 0%, #fff 100%);
}
.checkout-hero {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
}
.checkout-eyebrow {
  color: var(--brand);
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.checkout-steps {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
}
.checkout-step {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .65rem .9rem;
  border: 1px solid #eadcd0;
  border-radius: 999px;
  background: #fff;
  color: #6b7280;
  font-size: .92rem;
}
.checkout-step span {
  width: 1.6rem;
  height: 1.6rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid #eadcd0;
  font-size: .82rem;
}
.checkout-step.is-active {
  color: var(--brand);
  border-color: var(--brand);
  box-shadow: 0 0 0 1px var(--brand-soft) inset;
}
.checkout-step.is-complete {
  background: #fff8f2;
  color: #9a4f1f;
}
.checkout-step.is-complete span {
  background: var(--brand);
  color: #fff;
  border-color: var(--brand);
}
.checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 1rem;
  align-items: start;
}
.checkout-main {
  display: grid;
  gap: 1rem;
}
.checkout-card {
  padding: 1rem;
}
.checkout-product-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.checkout-title {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 800;
}
.checkout-subtitle {
  color: #6b7280;
}
.checkout-product-badge {
  padding: .4rem .8rem;
  border-radius: 999px;
  background: #fff3eb;
  color: var(--brand);
  font-weight: 700;
  white-space: nowrap;
}
.checkout-product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1rem;
}
.checkout-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .5rem .75rem;
  border: 1px solid #eadcd0;
  border-radius: 999px;
  background: #fff;
  color: #4b5563;
}
.checkout-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.checkout-option-groups {
  display: grid;
  gap: .85rem;
}
.checkout-option-group-card {
  padding: 1rem;
  border: 1px solid #eadcd0;
  border-radius: 1rem;
  background: #fff;
}
.checkout-field {
  display: grid;
  gap: .4rem;
}
.checkout-mini-field {
  padding: 0;
  border: 0;
  background: transparent;
}
.checkout-field-strong > span {
  font-size: 1rem;
  font-weight: 800;
}
.checkout-field > span {
  font-weight: 700;
}
.checkout-inline-check {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: #6b7280;
}
.checkout-applicant-selector {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: .9rem 1rem;
  border: 1px solid #eadcd0;
  border-radius: .9rem;
  background: #fff;
}
.checkout-stepper,
.checkout-qty-stepper {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}
.checkout-stepper button,
.checkout-qty-stepper button {
  width: 2rem;
  height: 2rem;
  border: 1px solid #ddd1c4;
  border-radius: 50%;
  background: #fff;
  color: #8b6a56;
}
.checkout-applicant-list {
  display: grid;
  gap: .75rem;
}
.checkout-review-list {
  display: grid;
  gap: .6rem;
}
.checkout-review-layout {
  display: grid;
  gap: .9rem;
}
.checkout-review-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: .85rem 1rem;
  border: 1px solid #eadcd0;
  border-radius: .85rem;
  background: #fff;
  color: #374151;
  font-weight: 600;
}
.checkout-review-item span {
  color: #111827;
}
.checkout-review-item strong {
  text-align: right;
  color: var(--text);
  font-weight: 700;
}
.checkout-review-note-card {
  padding: 1rem;
  border: 1px solid #eadcd0;
  border-radius: 1rem;
  background: linear-gradient(180deg, #fff, #fff8f3);
}
.checkout-notes {
  min-height: 150px;
  resize: vertical;
}
.checkout-applicant-card {
  border: 1px solid #eadcd0;
  border-radius: 1rem;
  padding: 1rem;
  background: #fff;
}
.checkout-applicant-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: .8rem;
}
.checkout-applicant-index {
  color: #8b6a56;
  font-weight: 700;
}
.checkout-services {
  display: grid;
  gap: .85rem;
}
.checkout-document-delivery {
  display: grid;
  gap: .85rem;
}
.checkout-linked-visa-results {
  display: grid;
  gap: .65rem;
}
.checkout-linked-visa-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  text-align: left;
  padding: .85rem 1rem;
  border: 1px solid #eadcd0;
  border-radius: .95rem;
  background: #fff;
  color: #111827;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.checkout-linked-visa-item:hover {
  border-color: rgba(249,115,22,.5);
  box-shadow: 0 8px 18px rgba(249,115,22,.08);
  transform: translateY(-1px);
}
.checkout-linked-visa-item.is-selected {
  border-color: var(--brand);
  background: linear-gradient(180deg, #fff, #fff8f3);
  box-shadow: 0 0 0 1px var(--brand-soft) inset;
}
.checkout-linked-visa-pill {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .28rem .6rem;
  border-radius: 999px;
  background: #fff7ed;
  color: #9a4f1f;
  font-size: .78rem;
  font-weight: 700;
}
.checkout-linked-visa-selected-card {
  padding: .85rem 1rem;
  border: 1px solid #eadcd0;
  border-radius: .95rem;
  background: #fff8f2;
}
.checkout-delivery-card {
  border: 1px solid #eadcd0;
  border-radius: 1rem;
  padding: 1rem;
  background: #fff;
}
.checkout-delivery-options {
  display: grid;
  gap: .65rem;
}
.checkout-delivery-option {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  padding: .85rem .9rem;
  border: 1px solid #eadcd0;
  border-radius: .9rem;
  background: #fff;
  cursor: pointer;
}
.checkout-delivery-option input {
  margin-top: .25rem;
}
.checkout-delivery-option strong {
  display: block;
}
.checkout-delivery-option small {
  display: block;
  color: #8a6f61;
}
.checkout-delivery-address {
  padding: .9rem;
  border-radius: .9rem;
  background: #fff8f2;
  border: 1px solid #f1dfd1;
}
.checkout-map-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
}
.checkout-map-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .45);
}
.checkout-map-dialog {
  position: relative;
  z-index: 1;
  width: min(92vw, 760px);
  margin: 5vh auto;
  background: #fff;
  border-radius: 1.25rem;
  box-shadow: 0 24px 80px rgba(15, 23, 42, .25);
  overflow: hidden;
}
.checkout-map-header,
.checkout-map-search,
.checkout-map-selected,
.checkout-map-actions {
  padding: 1rem 1.1rem;
}
.checkout-map-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #f1e7de;
}
.checkout-map-search {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .75rem;
  align-items: center;
  border-bottom: 1px solid #f1e7de;
}
.checkout-map-suggestions {
  max-height: 160px;
  overflow: auto;
  border-bottom: 1px solid #f1e7de;
}
.checkout-map-suggestion {
  display: grid;
  gap: .15rem;
  width: 100%;
  text-align: left;
  padding: .75rem 1.1rem;
  border: 0;
  border-bottom: 1px solid #f5ede7;
  background: #fff;
}
.checkout-map-suggestion:hover {
  background: #fff8f2;
}
.checkout-map-suggestion strong {
  font-size: .95rem;
}
.checkout-map-suggestion small {
  color: #8a6f61;
}
.checkout-map-canvas {
  height: 320px;
}
.checkout-map-actions {
  display: flex;
  justify-content: flex-end;
  gap: .75rem;
  border-top: 1px solid #f1e7de;
}
.checkout-service-card {
  border: 1px solid #eadcd0;
  border-radius: 1rem;
  padding: 1rem;
  background: #fff;
}
.checkout-service-card.is-selected {
  border-color: var(--brand);
  box-shadow: 0 0 0 1px var(--brand-soft) inset;
  background: linear-gradient(180deg, #fff, #fff8f3);
}
.checkout-service-price {
  color: var(--brand);
  font-weight: 800;
  white-space: nowrap;
}
.checkout-section-head h3 {
  font-size: 1.35rem;
  font-weight: 800;
}
.checkout-service-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}
.checkout-service-note {
  color: #8a6f61;
  font-size: .9rem;
}
.checkout-service-settings {
  display: grid;
  gap: .75rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #f1dfd1;
}
.checkout-inline-field {
  display: grid;
  gap: .35rem;
}
.checkout-inline-field > span {
  font-weight: 700;
}
.checkout-service-qty {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: .85rem 1rem;
  border: 1px solid #eadcd0;
  border-radius: .9rem;
  background: #fff;
}
.checkout-summary {
  padding: 1rem;
  position: sticky;
  top: 92px;
  border-radius: 1rem;
}
.checkout-saving {
  display: flex;
  align-items: center;
  padding: .75rem .9rem;
  border-radius: .85rem;
  background: linear-gradient(90deg, #fff1e4, #f8e0f4);
  color: #444;
  margin-bottom: 1rem;
}
.checkout-summary-lines {
  display: grid;
  gap: .6rem;
}
.checkout-summary-line {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  padding-bottom: .6rem;
  border-bottom: 1px solid #f2e9e2;
}
.checkout-summary-line:last-child {
  border-bottom: 0;
}
.checkout-summary-line small {
  color: #8a6f61;
}
.checkout-summary-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #ece2d8;
}
.checkout-summary-total strong {
  color: var(--brand);
  font-size: 1.35rem;
}
.checkout-summary-note {
  color: #6b7280;
  font-size: .9rem;
  margin-top: .75rem;
}
.checkout-empty {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: .75rem;
  padding: 2rem;
}
.checkout-empty-icon {
  width: 4rem;
  height: 4rem;
  border-radius: 1rem;
  display: grid;
  place-items: center;
  background: #fff3eb;
  color: var(--brand);
  font-size: 1.5rem;
  margin-bottom: .25rem;
}
.checkout-qty-stepper span,
.checkout-stepper span {
  min-width: 1rem;
  text-align: center;
  font-weight: 700;
}

.payment-page {
  background: linear-gradient(180deg, #fffaf6 0%, #ffffff 100%);
  min-height: calc(100vh - 5rem);
}
.payment-hero {
  margin-bottom: 1.25rem;
}
.payment-title {
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  font-weight: 900;
  line-height: 1.08;
  margin: .2rem 0 .35rem;
}
.payment-subtitle {
  color: #8b5e3c;
}
.payment-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .75fr);
  gap: 1.25rem;
  align-items: start;
}
.payment-card,
.payment-summary-card {
  border: 1px solid #ecd9c9;
  border-radius: 1.15rem;
  background: #fff;
  box-shadow: 0 20px 60px rgba(15, 23, 42, .05);
}
.payment-card {
  padding: 1.1rem;
}
.payment-order-banner {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: .9rem 1rem;
  border-radius: 1rem;
  background: linear-gradient(90deg, #fff3e8, #f6e7fb);
  margin-bottom: 1rem;
}
.payment-order-banner strong {
  display: block;
}
.payment-countdown {
  color: var(--brand);
  font-weight: 800;
}
.payment-order-card {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  border: 1px solid #ecd9c9;
  border-radius: 1rem;
  padding: .95rem 1rem;
  background: #fff;
  margin-bottom: 1rem;
}
.payment-order-card small {
  color: #8a6f61;
}
.payment-selected-card {
  border: 1px solid #ecd9c9;
  border-radius: 1rem;
  background: linear-gradient(180deg, #fff, #fffaf7);
  padding: 1rem;
  margin-bottom: 1rem;
}
.payment-selected-head {
  display: flex;
  gap: .9rem;
  align-items: center;
  margin-bottom: 1rem;
}
.payment-selected-icon {
  width: 3rem;
  height: 3rem;
  border-radius: .95rem;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #ffedd5, #fff2f7);
  color: var(--brand);
  font-size: 1rem;
  font-weight: 900;
  flex: 0 0 auto;
}
.payment-selected-head strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 800;
}
.payment-selected-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}
.payment-qris-card {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid #ecd9c9;
  border-radius: 1rem;
  background: linear-gradient(180deg, #fff, #fffaf7);
}
.payment-qris-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .85rem;
}
.payment-qris-image-wrap {
  display: grid;
  place-items: center;
  padding: .85rem;
  border: 1px dashed #e6cdb9;
  border-radius: .9rem;
  background: #fff;
  margin-bottom: .75rem;
}
.payment-qris-image {
  max-width: 280px;
  width: 100%;
  height: auto;
}
.payment-qris-string code {
  display: block;
  word-break: break-all;
  white-space: pre-wrap;
  background: #fff6ef;
  border: 1px solid #f3e0cf;
  border-radius: .7rem;
  padding: .7rem .8rem;
  font-size: .85rem;
  color: #5b463d;
}
.payment-selected-grid span {
  display: block;
  color: #8b5e3c;
  font-size: .86rem;
  margin-bottom: .2rem;
}
.payment-selected-grid strong {
  display: block;
  color: #111827;
  font-weight: 800;
}
.payment-copy-row {
  display: flex;
  gap: .6rem;
  align-items: center;
  flex-wrap: wrap;
}
.payment-tabs {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin-top: 1rem;
  border-bottom: 1px solid #eddccf;
  padding-bottom: .1rem;
}
.payment-tab {
  border: 0;
  background: transparent;
  padding: .6rem .9rem;
  font-weight: 700;
  color: #8b5e3c;
  border-bottom: 2px solid transparent;
}
.payment-tab.is-active {
  color: var(--brand);
  border-bottom-color: var(--brand);
}
.payment-tab-panels {
  margin-top: 1rem;
}
.payment-tab-panel {
  display: none;
  padding: 1rem;
  border: 1px solid #ecd9c9;
  border-radius: .95rem;
  background: #fff;
}
.payment-tab-panel.is-active {
  display: block;
}
.payment-step-list {
  margin: .5rem 0 .75rem 1.2rem;
  color: #374151;
}
.payment-step-list li {
  margin-bottom: .4rem;
}
.payment-detail-notes {
  padding: .85rem .95rem;
  border-radius: .85rem;
  background: #fff8f2;
  border: 1px solid #f3e0cf;
  margin-bottom: .75rem;
}
.payment-detail-notes p {
  color: #374151;
}
.payment-change-method {
  margin-top: 1rem;
}
.payment-method-anchor {
  display: block;
  height: .25rem;
}
.payment-method-panel.is-collapsed .payment-method-groups,
.payment-method-panel.is-collapsed .payment-footer {
  display: none;
}
.payment-method-panel.is-collapsed .payment-method-anchor {
  height: 0;
}
.payment-method-groups {
  display: grid;
  gap: .9rem;
}
.payment-method-group {
  border: 1px solid #ecd9c9;
  border-radius: 1rem;
  padding: 1rem;
  background: #fff;
}
.payment-method-group h4 {
  font-size: 1.05rem;
  font-weight: 800;
  margin-bottom: .25rem;
}
.payment-method-group p {
  color: #8b5e3c;
  margin-bottom: .9rem;
}
.payment-method-items {
  display: grid;
  gap: .65rem;
}
.payment-method-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .8rem .9rem;
  border: 1px solid #eadcd0;
  border-radius: .95rem;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  background: #fff;
}
.payment-method-item:hover {
  border-color: var(--brand);
  box-shadow: 0 6px 20px rgba(249, 115, 22, .08);
  transform: translateY(-1px);
}
.payment-method-item input {
  margin-top: .2rem;
}
.payment-method-item.is-selected {
  border-color: var(--brand);
  background: linear-gradient(180deg, #fff, #fff8f3);
}
.payment-method-chip {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: .8rem;
  display: grid;
  place-items: center;
  background: #fff3ea;
  color: var(--brand);
  font-weight: 900;
  flex: 0 0 auto;
}
.payment-method-copy strong {
  display: block;
}
.payment-method-copy small {
  color: #8a6f61;
}
.payment-summary-card {
  position: sticky;
  top: 92px;
  padding: 1rem;
}
.payment-summary-title {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
}
.payment-summary-lines {
  display: grid;
  gap: .55rem;
}
.payment-summary-line {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .55rem;
  border-bottom: 1px solid #f3e9df;
}
.payment-summary-line:last-child {
  border-bottom: 0;
}
.payment-summary-total {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 1px solid #e9ddd2;
}
.payment-summary-total strong {
  color: var(--brand);
  font-size: 1.45rem;
}
.payment-footer {
  margin-top: 1rem;
}
@media (max-width: 991.98px) {
  .checkout-grid {
    grid-template-columns: 1fr;
  }
  .checkout-summary {
    position: static;
  }
  .checkout-review-item {
    flex-direction: column;
  }
  .checkout-form-grid {
    grid-template-columns: 1fr;
  }
  .checkout-map-dialog {
    width: calc(100vw - 1rem);
    margin: .5rem auto;
  }
  .checkout-map-canvas {
    height: 260px;
  }
  .payment-layout {
    grid-template-columns: 1fr;
  }
  .payment-summary-card {
    position: static;
  }
  .payment-selected-grid {
    grid-template-columns: 1fr;
  }
}
.timeline-card {
  padding: 1rem;
}
.timeline-row {
  padding: .7rem 0;
  border-bottom: 1px solid #f2e9e2;
}
.timeline-row:last-child {
  border-bottom: 0;
}
.feature-list.compact li {
  margin-bottom: .45rem;
}
.document-subhead {
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
}
.document-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  padding-top: 1rem;
  border-top: 1px solid #ece2d8;
}
.document-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.doc-tag {
  display: inline-flex;
  align-items: center;
  padding: .28rem .65rem;
  border: 1px solid rgba(249, 115, 22, .22);
  border-radius: 999px;
  background: #fff7f1;
  color: #c2410c;
  font-size: .8rem;
}
.document-list {
  display: grid;
  gap: .75rem;
}
.document-view-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  width: 100%;
  margin-top: 1rem;
  padding: .85rem 1rem;
  border: 1px solid #e8ddd3;
  border-radius: .75rem;
  background: #fff;
  color: #111827;
  font-weight: 700;
  box-shadow: 0 2px 5px rgba(15, 23, 42, .05);
  transition: border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.document-view-all:hover {
  border-color: rgba(249, 115, 22, .55);
  color: var(--brand);
  box-shadow: 0 5px 14px rgba(249, 115, 22, .1);
}
.document-view-all i {
  font-size: .8rem;
  transition: transform .2s ease;
}
.document-view-all.is-expanded i {
  transform: rotate(180deg);
}
.document-view-all[hidden] {
  display: none;
}
.document-item {
  border: 1px solid #e8ddd3;
  border-radius: .95rem;
  background: #fff;
  overflow: hidden;
}
.document-item summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .95rem 1rem;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
}
.document-item summary::-webkit-details-marker { display: none; }
.document-item[open] summary {
  border-bottom: 1px solid #f0e5dc;
  color: var(--brand);
}
.document-item-body {
  padding: 1rem;
}
.document-item-body p {
  color: #6b7280;
  margin-bottom: .85rem;
}
.document-item-body img {
  width: 100%;
  border-radius: .85rem;
  border: 1px solid #eee3d9;
}
.doc-modal[hidden] { display: none; }
.doc-modal {
  position: fixed;
  inset: 0;
  z-index: 1300;
}
.doc-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 39, .48);
}
.doc-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(640px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  margin: 14px auto;
  padding: 1.25rem;
  overflow: auto;
  border-radius: 1.1rem;
  background: #fff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, .28);
}
.doc-modal-close {
  position: absolute;
  top: .9rem;
  right: 1rem;
  border: 0;
  background: transparent;
  color: #7c6f67;
  font-size: 1.8rem;
  line-height: 1;
}
body.modal-open {
  overflow: hidden;
}

.site-search-modal[hidden] { display: none; }
.site-search-modal {
  position: fixed;
  inset: 0;
  z-index: 1500;
}
.site-search-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17,24,39,.48);
}
.site-search-dialog {
  position: relative;
  z-index: 1;
  width: min(760px, calc(100vw - 20px));
  max-height: calc(100vh - 20px);
  margin: 10px auto;
  overflow: hidden;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 1.35rem;
  background: #fff;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .30);
  display: flex;
  flex-direction: column;
}
.site-search-bar {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1rem 1.15rem;
  border-bottom: 1px solid rgba(17,24,39,.08);
}
.site-search-bar i {
  color: #8b6b5d;
  font-size: 1.1rem;
}
.site-search-bar input {
  font-size: 1.02rem;
}
.site-search-close {
  border: 0;
  background: transparent;
  color: #8b6b5d;
  font-size: 2rem;
  line-height: 1;
  padding: 0 .15rem;
}
.site-search-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: .45rem 1rem 0;
  border-bottom: 1px solid rgba(17,24,39,.08);
}
.site-search-tabs button {
  border: 0;
  background: transparent;
  padding: .75rem .5rem .8rem;
  color: #8b6b5d;
  font-weight: 700;
  border-bottom: 2px solid transparent;
}
.site-search-tabs button.active {
  color: var(--brand);
  border-bottom-color: var(--brand);
}
.site-search-meta {
  padding: .65rem 1rem .3rem;
  color: #8b6b5d;
  font-size: .8rem;
}
.site-search-results {
  overflow: auto;
  padding: 0 1rem 1.1rem;
  overscroll-behavior: contain;
}
.search-section {
  margin-top: .7rem;
}
.search-section-title {
  font-size: .78rem;
  font-weight: 800;
  color: #8b6b5d;
  margin-bottom: .45rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.search-result-list {
  display: grid;
  gap: 0;
}
.search-result-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .9rem;
  align-items: center;
  padding: .95rem .2rem;
  border-bottom: 1px solid rgba(17,24,39,.08);
  color: inherit;
  transition: background .18s ease, transform .18s ease;
}
.search-result-item:hover {
  background: #fffaf5;
  transform: translateX(2px);
}
.search-result-item:last-child { border-bottom: 0; }
.search-result-thumb {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  object-fit: cover;
  background: var(--brand-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--brand);
  font-weight: 900;
  overflow: hidden;
}
.search-result-main strong {
  display: block;
  color: #111827;
  font-size: 1.02rem;
}
.search-result-main small {
  display: block;
  color: #9a7f74;
  margin-top: .15rem;
  font-size: .78rem;
}
.search-result-price {
  text-align: right;
  font-weight: 800;
  color: var(--brand);
  white-space: nowrap;
  font-size: .9rem;
}
.search-result-compare {
  display: block;
  color: #9ca3af;
  text-decoration: line-through;
  font-weight: 500;
  font-size: .76rem;
  margin-top: .15rem;
}
.search-visa-block + .search-visa-block {
  border-top: 1px solid rgba(17,24,39,.06);
}
.search-addon-group {
  margin: .15rem 0 .75rem 3.15rem;
  padding: .65rem .75rem;
  border: 1px solid rgba(249,115,22,.16);
  border-radius: .85rem;
  background: #fffaf7;
}
.search-addon-title {
  font-size: .78rem;
  font-weight: 700;
  color: #4b5563;
  margin-bottom: .45rem;
}
.search-addon-list {
  display: grid;
  gap: .35rem;
}
.search-addon-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .6rem .7rem;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: .7rem;
  color: inherit;
  background: #fff;
}
.search-addon-link:hover {
  border-color: rgba(249,115,22,.35);
  box-shadow: 0 10px 24px rgba(249,115,22,.08);
}
.search-addon-copy {
  min-width: 0;
}
.search-addon-copy strong,
.search-addon-copy small {
  display: block;
}
.search-addon-copy small {
  color: #9a7f74;
  font-size: .76rem;
  margin-top: .15rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-empty {
  padding: 2rem 0 1rem;
  color: #8b6b5d;
  text-align: center;
}
.filter-card { position: sticky; top: 7rem; }

.business-page {
  overflow: hidden;
  background: #fff;
  color: #111;
}
.business-hero {
  padding: 2rem 0 4.5rem;
  background:
    radial-gradient(circle at 84% 12%, rgba(249,115,22,.12), transparent 28%),
    linear-gradient(180deg, #fff 0%, #fffaf5 100%);
}
.business-hero-panel {
  min-height: 520px;
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  align-items: center;
  gap: 3rem;
  padding: 4.5rem;
  border-radius: 2rem;
  background:
    var(--hero-billboard-image, none),
    linear-gradient(135deg, #fff1df, #fffaf4 58%, #ffe3c7);
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  box-shadow: 0 24px 60px rgba(39,25,12,.10);
}
.business-eyebrow,
.business-label {
  color: var(--brand);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .78rem;
}
.business-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .85rem;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
}
.business-hero-copy h1 {
  max-width: 620px;
  margin: 1.2rem 0;
  font-size: clamp(3rem, 6vw, 5.6rem);
  line-height: .97;
  font-weight: 900;
  letter-spacing: -.055em;
}
.business-hero-copy p {
  max-width: 610px;
  margin-bottom: 1.8rem;
  color: #554b43;
  font-size: 1.15rem;
  line-height: 1.7;
}
.business-btn {
  border-radius: .75rem;
  padding: .85rem 1.25rem;
  font-weight: 800;
}
.business-dashboard {
  min-height: 360px;
  display: grid;
  grid-template-columns: 58px 1fr;
  overflow: hidden;
  border: 8px solid #1f1b18;
  border-radius: 1.5rem;
  background: #fff;
  transform: perspective(1200px) rotateY(-5deg) rotateX(2deg);
  box-shadow: 25px 35px 0 rgba(249,115,22,.12), 0 35px 70px rgba(29,20,13,.2);
}
.business-dashboard-sidebar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  padding-top: 1.5rem;
  background: #171717;
}
.dashboard-dot {
  width: 18px;
  height: 18px;
  border-radius: 6px;
  background: #4b4b4b;
}
.dashboard-dot.active { background: var(--brand); }
.business-dashboard-body { padding: 1.5rem; }
.dashboard-topline {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}
.dashboard-topline span {
  width: 32%;
  height: 9px;
  border-radius: 999px;
  background: #ece8e4;
}
.dashboard-topline span:last-child { width: 17%; }
.dashboard-welcome {
  font-size: 1.2rem;
  font-weight: 800;
}
.dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .7rem;
  margin: 1.25rem 0;
}
.dashboard-metrics > div {
  display: grid;
  gap: .25rem;
  padding: 1rem;
  border: 1px solid #eee7e1;
  border-radius: .8rem;
}
.dashboard-metrics small { color: #7b746e; }
.dashboard-metrics strong { font-size: 1.3rem; }
.metric-up { color: #16a34a; font-size: .72rem; font-weight: 800; }
.dashboard-chart {
  height: 145px;
  display: flex;
  align-items: end;
  gap: .65rem;
  padding: 1rem;
  border-radius: 1rem;
  background: #fff8f2;
}
.dashboard-chart span {
  flex: 1;
  min-height: 20%;
  border-radius: .4rem .4rem .15rem .15rem;
  background: linear-gradient(180deg, #ffb36f, var(--brand));
}
.business-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: -1.5rem;
  padding: 0 3rem;
  position: relative;
  z-index: 2;
}
.business-benefit {
  display: flex;
  gap: 1rem;
  padding: 1.35rem;
  border: 1px solid #eee7df;
  border-radius: 1.2rem;
  background: #fff;
  box-shadow: 0 16px 40px rgba(30,22,16,.08);
}
.business-benefit > span,
.reason-icon {
  flex: 0 0 auto;
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: .85rem;
  background: #fff1e5;
  color: var(--brand);
  font-size: 1.15rem;
}
.business-benefit h3,
.business-process-card h3,
.integration-card h3,
.reason-card h3 {
  margin-bottom: .35rem;
  font-size: 1.05rem;
  font-weight: 800;
}
.business-benefit p,
.business-process-card p,
.integration-card p,
.reason-card p {
  margin: 0;
  color: #6c625b;
  line-height: 1.65;
}
.business-partners { padding: 2rem 0 4rem; }
.partner-track {
  display: flex;
  align-items: center;
  gap: 3rem;
  overflow-x: auto;
  padding: 1.5rem 0 .5rem;
  scrollbar-width: none;
}
.partner-track::-webkit-scrollbar { display: none; }
.partner-track strong {
  flex: 0 0 auto;
  color: #181818;
  font-size: 1.25rem;
  letter-spacing: -.04em;
  opacity: .68;
}
.business-section { padding: 6rem 0; }
.business-heading {
  max-width: 760px;
  margin: 0 auto 3.2rem;
  text-align: center;
}
.business-heading h2 {
  margin: .7rem 0 1rem;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.045em;
}
.business-heading p {
  color: #6c625b;
  font-size: 1.05rem;
}
.business-process-grid,
.integration-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.3rem;
}
.business-process-card,
.integration-card {
  padding: 1.5rem;
  border: 1px solid #ece6df;
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 18px 45px rgba(31,23,16,.06);
}
.process-visual,
.integration-visual {
  min-height: 210px;
  display: grid;
  place-items: center;
  position: relative;
  margin-bottom: 1.4rem;
  overflow: hidden;
  border-radius: 1.1rem;
  background: linear-gradient(145deg, #fff7ef, #f5eee8);
  color: var(--brand);
}
.process-visual::before,
.integration-visual::before {
  content: '';
  position: absolute;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(249,115,22,.25);
  border-radius: 32px;
  transform: rotate(25deg);
}
.process-visual > i,
.integration-visual > i {
  position: relative;
  z-index: 2;
  font-size: 4rem;
  filter: drop-shadow(0 15px 20px rgba(249,115,22,.24));
}
.process-number {
  position: absolute;
  top: 1rem;
  left: 1rem;
  color: #c8beb5;
  font-size: .8rem;
  font-weight: 800;
}
.business-use-cases { background: #faf9f7; }
.use-case-shell {
  display: grid;
  grid-template-columns: 370px 1fr;
  min-height: 555px;
  overflow: hidden;
  border: 1px solid #e5ded7;
  border-radius: 1.7rem;
  background: #fcf9f5;
  box-shadow: 0 20px 45px rgba(31,23,16,.11);
}
.use-case-sidebar {
  display: grid;
  grid-template-rows: auto 1fr;
  border-right: 1px solid #ddd5ce;
  background: #fff;
}
.use-case-tab {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.55rem 2rem;
  border: 0;
  border-bottom: 1px solid #eee8e2;
  background: transparent;
  color: #111;
  text-align: left;
  font-size: 1rem;
  font-weight: 800;
  transition: .2s ease;
}
.use-case-tab i { width: 1.5rem; font-size: 1.25rem; }
.use-case-tab:hover,
.use-case-tab.active {
  color: #111;
  background: linear-gradient(90deg, #ffd59f, #fff7ed);
}
.use-case-tab.active { box-shadow: inset 3px 0 0 var(--brand); }
.use-case-contact {
  align-self: end;
  padding: 2rem;
  border-top: 1px solid #ddd5ce;
}
.use-case-contact h3 { font-size: 1.45rem; font-weight: 850; }
.use-case-contact p { color: #625950; line-height: 1.65; }
.use-case-content { position: relative; min-width: 0; }
.use-case-panel {
  display: none;
  min-height: 555px;
  grid-template-rows: 1.05fr .95fr;
  animation: businessFade .35s ease;
}
.use-case-panel.active { display: grid; }
.use-case-illustration {
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  color: var(--brand);
}
.use-case-illustration > i {
  position: relative;
  z-index: 2;
  font-size: 7.5rem;
  filter: drop-shadow(0 22px 22px rgba(249,115,22,.20));
}
.illustration-orbit {
  position: absolute;
  border: 1px solid rgba(249,115,22,.23);
  border-radius: 50%;
}
.orbit-one { width: 280px; height: 190px; transform: rotate(-12deg); }
.orbit-two { width: 390px; height: 260px; transform: rotate(18deg); }
.use-case-testimonial {
  display: grid;
  grid-template-columns: 1fr 190px;
  gap: 2rem;
  align-items: center;
  padding: 2rem 2.5rem;
}
.use-case-quote { display: flex; gap: 1rem; }
.use-case-quote > i { font-size: 2.4rem; color: #111; }
.use-case-quote p { margin: 0; font-size: 1.05rem; line-height: 1.55; }
.use-case-person {
  display: flex;
  align-items: center;
  gap: .8rem;
}
.use-case-person img,
.person-placeholder {
  width: 64px;
  height: 76px;
  border-radius: .8rem;
  object-fit: cover;
}
.person-placeholder {
  display: grid;
  place-items: center;
  background: #e9e4df;
  color: #4b4540;
  font-size: 1.5rem;
  font-weight: 900;
}
.use-case-person strong,
.use-case-person small,
.use-case-person b { display: block; }
.use-case-person small { margin: .2rem 0 .4rem; color: #86776b; line-height: 1.35; }
.use-case-person b { font-size: 1.05rem; letter-spacing: -.03em; }
.integration-section { background: #181716; color: #fff; }
.integration-section .business-heading p,
.integration-section .integration-card p { color: #b8b1aa; }
.integration-card { border-color: #37332f; background: #22201e; }
.integration-visual { background: linear-gradient(145deg, #302a25, #1a1918); }
.business-reasons { background: #fffaf5; }
.reason-price {
  display: block;
  margin: .75rem 0 .35rem;
  color: var(--brand);
  font-size: 1.05rem;
}
.business-detail-order {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1rem;
  margin-top: 1.25rem;
}
.business-detail-order > span {
  color: #6b7280;
}
.business-detail-order > strong {
  font-size: 1.45rem;
}
.business-detail-bottom-order {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  padding: 1.25rem;
  border: 1px solid #eadcd0;
  border-radius: 1rem;
  background: #fff8f3;
}
.business-detail-bottom-order strong {
  display: block;
  font-size: 1.45rem;
}
.business-order-head {
  max-width: 780px;
  margin-bottom: 1.5rem;
}
.business-order-head h1 {
  margin: .5rem 0;
  font-weight: 800;
}
.business-order-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: 1.5rem;
  align-items: start;
}
.business-order-form h2,
.business-order-summary h2 {
  font-weight: 800;
}
.business-order-summary {
  position: sticky;
  top: 92px;
}
.business-order-summary-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin-bottom: 1rem;
  border-radius: 1rem;
  background: #fff0e6;
  color: var(--brand);
  font-size: 1.45rem;
}
.business-order-price {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: 1.25rem 0;
  padding: 1rem 0;
  border-top: 1px solid #eadcd0;
  border-bottom: 1px solid #eadcd0;
}
.business-order-price strong {
  color: var(--brand);
  font-size: 1.3rem;
}
.business-order-service-type {
  display: grid;
  gap: .2rem;
  margin: 1rem 0 0;
  padding: .85rem 1rem;
  border: 1px solid #eadcd0;
  border-radius: .9rem;
  background: #fffaf6;
}
.business-order-service-type span,
.business-order-service-type small {
  color: #8a6f61;
}
.business-order-service-type strong {
  color: #111827;
}
@media (max-width: 991.98px) {
  .business-order-layout {
    grid-template-columns: 1fr;
  }
  .business-order-summary {
    position: static;
  }
}
@media (max-width: 575.98px) {
  .business-detail-bottom-order {
    align-items: stretch;
    flex-direction: column;
  }
}
.reason-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.reason-card {
  min-height: 260px;
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 1.2rem;
  padding: 2rem;
  border: 1px solid #eadfd5;
  border-radius: 1.5rem;
  background: #fff;
}
.reason-icon { width: 4rem; height: 4rem; font-size: 1.5rem; }
.reason-count { color: #baa99a; font-size: .75rem; font-weight: 800; }
.reason-card h3 { margin-top: .5rem; font-size: 1.45rem; }
.reason-card a { display: inline-flex; gap: .55rem; margin-top: 1.1rem; color: var(--brand); font-weight: 800; }
.reason-card a:hover { color: #d94c00; }
.business-detail-page { background: #fffaf5; }
.business-detail-hero {
  padding: 2rem 0 3rem;
  background:
    radial-gradient(circle at 84% 12%, rgba(249,115,22,.10), transparent 28%),
    linear-gradient(180deg, #fffaf5 0%, #fff 100%);
}
.business-back-link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: 1rem;
  color: #6c625b;
  font-weight: 700;
}
.business-back-link:hover { color: var(--brand); }
.business-detail-panel {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 1.5rem;
  align-items: stretch;
}
.business-detail-copy,
.business-detail-card,
.business-detail-main,
.business-detail-sidebar {
  border: 1px solid #eadfd5;
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 18px 42px rgba(15,23,42,.05);
}
.business-detail-copy { padding: 2rem; }
.business-detail-copy h1 {
  margin: 1rem 0 .9rem;
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 900;
  letter-spacing: -.05em;
  line-height: 1.02;
}
.business-detail-copy h1 i {
  color: var(--brand);
  margin-right: .35rem;
}
.business-detail-copy p {
  margin-bottom: 1.4rem;
  color: #5f574f;
  line-height: 1.75;
}
.business-detail-card { padding: 1.5rem; }
.business-detail-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
}
.business-detail-badge {
  display: inline-flex;
  padding: .35rem .65rem;
  border-radius: 999px;
  background: #fff1e5;
  color: var(--brand);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.business-detail-card-body {
  display: grid;
  gap: .8rem;
  color: #4b5563;
  line-height: 1.75;
}
.business-detail-card-body blockquote {
  margin: 0;
  padding: .95rem 1rem;
  border-radius: 1rem;
  background: #fff7f1;
  border: 1px solid rgba(249,115,22,.18);
  color: #4b5563;
  font-style: italic;
}
.business-detail-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 1.5rem;
}
.business-detail-main,
.business-detail-sidebar { padding: 1.5rem; }
.business-detail-main h2,
.business-detail-sidebar h3 {
  margin-bottom: .75rem;
  font-size: 1.35rem;
  font-weight: 900;
}
.business-detail-body {
  display: grid;
  gap: 1rem;
  color: #4b5563;
  line-height: 1.8;
}
.business-article-content {
  display: grid;
  gap: 1.1rem;
  color: #374151;
  line-height: 1.8;
}
.business-article-heading {
  margin: .4rem 0 .15rem;
  font-weight: 900;
  letter-spacing: -.03em;
}
.business-article-heading.level-1 { font-size: 1.8rem; }
.business-article-heading.level-2 { font-size: 1.45rem; }
.business-article-heading.level-3 { font-size: 1.2rem; }
.business-article-paragraph { margin: 0; }
.business-article-quote {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .75rem;
  padding: 1rem 1.1rem;
  border-left: 4px solid var(--brand);
  background: #fff7f1;
  border-radius: 1rem;
  color: #4b5563;
  font-style: italic;
}
.business-article-quote i {
  color: var(--brand);
  font-size: 1.1rem;
  margin-top: .15rem;
}
.business-article-list {
  margin: .25rem 0 0 1.25rem;
  padding: 0;
}
.business-article-list li { margin-bottom: .35rem; }
.business-article-image {
  margin: 0;
  padding: .8rem;
  border: 1px solid #eadfd5;
  border-radius: 1rem;
  background: #fff;
}
.business-article-image img {
  display: block;
  width: 100%;
  border-radius: .8rem;
}
.business-article-image figcaption {
  margin-top: .6rem;
  font-size: .9rem;
  color: #6b7280;
}
.business-article-divider {
  border: 0;
  height: 1px;
  margin: .5rem 0;
  background: linear-gradient(90deg, rgba(249,115,22,.25), rgba(249,115,22,.05));
}
.business-related-list {
  display: grid;
  gap: .75rem;
}
.business-related-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .85rem;
  align-items: start;
  padding: 1rem;
  border: 1px solid #eadfd5;
  border-radius: 1rem;
  color: inherit;
}
.business-related-card i {
  width: 2.35rem;
  height: 2.35rem;
  display: inline-grid;
  place-items: center;
  border-radius: .8rem;
  background: #fff1e5;
  color: var(--brand);
}
.business-related-card strong {
  display: block;
  margin-bottom: .15rem;
}
.business-related-card p {
  margin: 0;
  color: #6c625b;
  line-height: 1.6;
}
@keyframes businessFade {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 991px) {
  .filter-card { position: static; }
  .hero-searchbar {
    grid-template-columns: 1fr;
    border-radius: 1.4rem;
  }
  .hero-search-field {
    border-right: 0;
    border-bottom: 1px solid rgba(17,24,39,.08);
  }
  .hero-search-field:last-of-type { border-bottom: 0; }
  .hero-search-btn { width: 100%; }
  .nav-search-trigger { width: 100%; }
  .site-search-dialog {
    width: calc(100vw - 12px);
    max-height: calc(100vh - 12px);
  }
  .savings-grid,
  .dashboard-showcase { grid-template-columns: 1fr; }
  .dashboard-preview { min-height: auto; }
  .dashboard-panel { min-height: auto; }
  .simple-card-media img,
  .simple-placeholder { min-height: 180px; }
  .business-hero-panel {
    grid-template-columns: 1fr;
    padding: 3rem 2rem;
  }
  .business-dashboard { transform: none; }
  .business-benefit-grid {
    grid-template-columns: 1fr;
    margin-top: 1rem;
    padding: 0;
  }
  .business-detail-panel,
  .business-detail-grid {
    grid-template-columns: 1fr;
  }
  .business-detail-copy,
  .business-detail-card,
  .business-detail-main,
  .business-detail-sidebar {
    padding: 1.25rem;
  }
  .business-process-grid,
  .integration-grid { grid-template-columns: 1fr; }
  .use-case-shell { grid-template-columns: 1fr; }
  .use-case-sidebar {
    border-right: 0;
    border-bottom: 1px solid #ddd5ce;
  }
  .use-case-tabs {
    display: flex;
    overflow-x: auto;
  }
  .use-case-tab {
    flex: 0 0 auto;
    width: auto;
    border-right: 1px solid #eee8e2;
  }
  .use-case-contact { display: none; }
}

@media (max-width: 767px) {
  .site-search-bar {
    padding: .8rem .9rem;
  }
  .site-search-tabs {
    padding-inline: .35rem;
  }
  .site-search-tabs button {
    font-size: .82rem;
  }
  .site-search-results {
    padding-inline: .8rem;
  }
  .search-result-item {
    grid-template-columns: auto 1fr;
  }
  .search-result-price {
    grid-column: 2;
    text-align: left;
    margin-top: -.3rem;
  }
  .search-addon-group {
    margin-left: 0;
  }
  .search-addon-link {
    align-items: flex-start;
    flex-direction: column;
  }
  .search-addon-link .search-result-price {
    margin-top: 0;
  }
  .business-hero { padding-top: 1rem; }
  .business-hero-panel {
    min-height: auto;
    padding: 2.3rem 1.25rem;
    border-radius: 1.4rem;
  }
  .business-hero-copy h1 { font-size: 3rem; }
  .business-dashboard { min-height: 300px; grid-template-columns: 42px 1fr; }
  .business-dashboard-body { padding: .9rem; }
  .dashboard-metrics { grid-template-columns: 1fr; }
  .dashboard-metrics > div:nth-child(n+2) { display: none; }
  .dashboard-chart { height: 110px; }
  .business-section { padding: 4rem 0; }
  .use-case-panel { min-height: 570px; }
  .use-case-testimonial {
    grid-template-columns: 1fr;
    padding: 1.4rem;
  }
  .use-case-illustration > i { font-size: 5rem; }
  .reason-grid { grid-template-columns: 1fr; }
  .reason-card { grid-template-columns: 1fr; min-height: auto; }
  .visa-funds-row,
  .visa-funds-summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .savings-grid {
    grid-template-columns: 1fr;
  }
}

.auth-nav-btn {
  border-radius: 999px;
  padding: .55rem 1rem;
  font-weight: 700;
}

.auth-page {
  background: #fff;
}

.auth-shell {
  position: relative;
  overflow: hidden;
}

.auth-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  min-height: calc(100vh - 5.1rem);
}

.auth-panel {
  position: relative;
}

.auth-form-panel {
  padding: clamp(2rem, 4vw, 4rem) clamp(1.25rem, 4vw, 4rem);
  background: #fff;
}

.auth-form-inner {
  max-width: 34rem;
}

.auth-kicker {
  font-size: .92rem;
  font-weight: 700;
  color: var(--brand);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.auth-title {
  margin-top: .75rem;
  font-weight: 900;
  font-size: clamp(1.9rem, 4vw, 2.6rem);
  line-height: 1.06;
  color: #111827;
}

.auth-subtitle {
  margin-top: .7rem;
  color: #6b7280;
  max-width: 32rem;
}

.auth-note {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .95rem 1rem;
  border-radius: 1rem;
  background: #f8fafc;
  color: #1f2937;
  margin: 1.5rem 0 1.25rem;
}

.auth-note i {
  width: 1.3rem;
  height: 1.3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(17,24,39,.08);
  color: #111827;
  font-size: .72rem;
  flex: 0 0 auto;
  margin-top: .15rem;
}

.auth-account-form,
.auth-register-form {
  display: grid;
  gap: 1rem;
}

.auth-email-card {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: .95rem 1rem;
  border-radius: 1rem;
  background: #f8fafc;
}

.auth-email-avatar {
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--brand);
  color: #fff;
  font-weight: 800;
  flex: 0 0 auto;
}

.auth-email-card strong {
  display: block;
  font-size: .98rem;
  color: #111827;
}

.auth-email-card small {
  display: block;
  color: #6b7280;
}

.auth-choice-grid {
  display: grid;
  gap: .85rem;
}

.auth-choice-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .95rem;
  align-items: start;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(249,115,22,.2);
  border-radius: 1rem;
  background: #fff;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.auth-choice-card:hover {
  box-shadow: 0 14px 35px rgba(15,23,42,.06);
  transform: translateY(-1px);
}

.auth-choice-card input {
  margin-top: .25rem;
  accent-color: var(--brand);
}

.auth-choice-card strong {
  display: block;
  font-size: 1.02rem;
  color: #111827;
}

.auth-choice-card p {
  margin: .2rem 0 0;
  color: #6b7280;
  font-size: .92rem;
}

.auth-choice-card.active {
  border-color: var(--brand);
  background: linear-gradient(180deg, rgba(249,115,22,.04), rgba(249,115,22,.01));
  box-shadow: 0 18px 40px rgba(249,115,22,.10);
}

.auth-continue-btn {
  width: 100%;
  padding: .95rem 1rem;
  border-radius: .9rem;
  font-weight: 800;
}

.auth-privy-btn {
  border: 1px solid rgba(17,24,39,.12);
  background: #fff;
  border-radius: .9rem;
  padding: .9rem 1rem;
  font-weight: 800;
}

.auth-or-divider {
  position: relative;
  display: grid;
  place-items: center;
  margin: .1rem 0;
  color: #9ca3af;
  font-size: .9rem;
}

.auth-password-wrap {
  position: relative;
}

.auth-password-input {
  padding-right: 3rem;
}

.auth-password-toggle {
  position: absolute;
  right: .35rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.1rem;
  height: 2.1rem;
  border: 0;
  background: transparent;
  color: #94a3b8;
}

.auth-policy-text {
  margin-top: .95rem;
  color: #6b7280;
  font-size: .9rem;
  text-align: center;
}

.auth-policy-text a {
  color: var(--brand);
  font-weight: 600;
}

.auth-back-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: 1.2rem;
  color: var(--brand);
  font-weight: 700;
}

.auth-trusted {
  margin-top: 2.5rem;
}

.auth-trusted h2 {
  font-size: 1.15rem;
  font-weight: 800;
  margin-bottom: 1rem;
}

.auth-trusted-row {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem 1.25rem;
  align-items: center;
  filter: grayscale(1);
  opacity: .88;
}

.auth-trusted-row span {
  font-weight: 800;
  letter-spacing: .02em;
  color: #111827;
  opacity: .82;
}

.auth-field-grid {
  display: grid;
  gap: .95rem;
}

.auth-field-grid.two-col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.auth-form-label {
  display: block;
  font-size: .95rem;
  font-weight: 700;
  color: #111827;
  margin-bottom: .45rem;
}

.auth-field-help {
  margin-top: .4rem;
  color: #9ca3af;
  font-size: .8rem;
}

.auth-switch-row {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}

.auth-switch-pill {
  padding: .55rem .95rem;
  border-radius: 999px;
  border: 1px solid rgba(17,24,39,.12);
  color: #111827;
  font-weight: 700;
  background: #fff;
}

.auth-switch-pill.active {
  border-color: var(--brand);
  background: rgba(249,115,22,.08);
  color: var(--brand);
}

.auth-marketing-panel {
  padding: clamp(1.5rem, 3vw, 3rem);
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.6), transparent 33%),
    linear-gradient(135deg, #ffe7c4 0%, #ffd1a8 45%, #ffd8d7 72%, #f8d6ee 100%);
  display: grid;
  align-content: center;
  gap: 2rem;
  position: relative;
  overflow: hidden;
}

.auth-marketing-panel::before {
  content: '';
  position: absolute;
  inset: auto -8% -20% auto;
  width: 34rem;
  height: 34rem;
  background: radial-gradient(circle, rgba(255,255,255,.4), transparent 58%);
  opacity: .45;
  transform: rotate(14deg);
}

.auth-marketing-copy {
  position: relative;
  z-index: 1;
  max-width: 35rem;
  margin-left: auto;
  text-align: center;
}

.auth-marketing-copy h2 {
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  font-weight: 900;
  line-height: 1.08;
  color: #111827;
}

.auth-marketing-copy p {
  margin: .85rem auto 0;
  max-width: 31rem;
  color: rgba(17,24,39,.78);
  font-weight: 600;
  font-size: 1.03rem;
}

.auth-benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem 1rem;
  margin-top: 1.6rem;
  text-align: left;
}

.auth-benefit {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: #111827;
  font-weight: 600;
}

.auth-benefit i {
  color: var(--brand);
}

.auth-preview {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  min-height: 26rem;
}

.auth-preview-window {
  width: min(100%, 31rem);
  border-radius: 1.15rem;
  background: rgba(255,255,255,.96);
  box-shadow: 0 20px 45px rgba(15,23,42,.18);
  border: 1px solid rgba(255,255,255,.55);
  padding: 1rem;
}

.auth-preview-window .topbar {
  border: 0;
  background: transparent;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: .95rem;
}

.auth-preview-brand {
  display: inline-flex;
  align-items: center;
  padding: .2rem .55rem;
  border-radius: .55rem;
  background: var(--brand);
  color: #fff;
  font-weight: 900;
  letter-spacing: .08em;
}

.auth-preview-chip {
  padding: .28rem .65rem;
  border-radius: 999px;
  background: #fff7ed;
  color: var(--brand);
  font-weight: 700;
  font-size: .84rem;
}

.auth-preview-dashboard {
  display: grid;
  gap: .85rem;
}

.auth-preview-card {
  border: 1px solid rgba(249,115,22,.18);
  border-radius: 1rem;
  background: #fff;
  padding: .9rem;
}

.auth-preview-card h4 {
  font-size: 1rem;
  font-weight: 800;
  margin-bottom: .4rem;
}

.auth-preview-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: .85rem;
  color: #6b7280;
  margin-top: .35rem;
}

.auth-preview-progress {
  height: .55rem;
  border-radius: 999px;
  background: #f3f4f6;
  overflow: hidden;
}

.auth-preview-progress span {
  display: block;
  height: 100%;
  width: 68%;
  background: linear-gradient(90deg, #fb923c, #f97316);
  border-radius: inherit;
}

.auth-floating-help {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  border: none;
  border-radius: 999px;
  background: linear-gradient(90deg, #fb923c, #f97316);
  color: #fff;
  font-weight: 700;
  padding: .72rem 1rem;
  box-shadow: 0 12px 25px rgba(249,115,22,.28);
}

.floating-whatsapp {
  position: fixed;
  right: 1.35rem;
  bottom: 1.35rem;
  z-index: 1055;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 3.25rem;
  padding: .65rem 1.25rem .65rem .95rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff7a1a 0%, #ff5f16 100%);
  color: #fff;
  font-weight: 850;
  box-shadow: 0 18px 36px rgba(249, 115, 22, .34);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.floating-whatsapp:hover,
.floating-whatsapp:focus {
  color: #fff;
  transform: translateY(-3px);
  filter: saturate(1.05);
  box-shadow: 0 24px 48px rgba(249, 115, 22, .42);
}

.floating-whatsapp-icon {
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .16);
  border: 1px solid rgba(255, 255, 255, .35);
}

.blog-shell {
  padding: 2.5rem 0 4rem;
}

.blog-hero {
  padding: 2rem;
  border-radius: 1.75rem;
  background: linear-gradient(135deg, rgba(249,115,22,.11), rgba(255,255,255,.98));
  border: 1px solid rgba(249,115,22,.15);
  box-shadow: 0 20px 45px rgba(15,23,42,.05);
}

.blog-kicker,
.blog-detail-kicker {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: var(--brand);
  font-size: .8rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: .75rem;
}

.blog-title,
.blog-detail-title {
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1.05;
  margin: 0;
}

.blog-lead,
.blog-detail-lead {
  color: #6b7280;
  font-size: 1.05rem;
  max-width: 58ch;
}

.blog-feature-card,
.blog-card,
.blog-sidebar-card,
.blog-detail-hero {
  display: grid;
  gap: .75rem;
  border-radius: 1.2rem;
  border: 1px solid rgba(17,24,39,.08);
  background: #fff;
  box-shadow: 0 16px 35px rgba(15,23,42,.05);
}

.blog-feature-card {
  overflow: hidden;
}

.blog-feature-image,
.blog-card-image,
.blog-related-thumb,
.blog-detail-cover {
  display: block;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(249,115,22,.12), rgba(254,242,232,.75));
}

.blog-feature-image {
  min-height: 230px;
}

.blog-feature-image img,
.blog-card-image img,
.blog-related-thumb img,
.blog-detail-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.blog-feature-image.is-placeholder,
.blog-card-image.is-placeholder,
.blog-related-thumb.is-placeholder {
  display: grid;
  place-items: center;
}

.blog-feature-placeholder,
.blog-card-placeholder {
  min-height: inherit;
  display: grid;
  place-items: center;
  color: var(--brand);
  font-weight: 900;
  letter-spacing: .08em;
}

.blog-feature-body,
.blog-card-body {
  padding: 1.2rem;
}

.blog-feature-body h2,
.blog-card-body h3 {
  margin: 0;
  font-weight: 800;
  line-height: 1.25;
}

.blog-feature-body h2 a,
.blog-card-body h3 a,
.blog-read-more {
  color: inherit;
  text-decoration: none;
}

.blog-feature-body p,
.blog-card-body p,
.blog-related-item p {
  color: #6b7280;
  margin: 0;
}

.blog-chip {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  background: var(--brand-soft);
  color: var(--brand);
  border-radius: 999px;
  padding: .35rem .7rem;
  font-size: .78rem;
  font-weight: 700;
}

.blog-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem 1rem;
  color: #9ca3af;
  font-size: .85rem;
}

.blog-read-more {
  color: var(--brand);
  font-weight: 800;
}

.blog-card {
  overflow: hidden;
}

.blog-card-image {
  min-height: 170px;
}

.blog-card-body {
  display: grid;
  gap: .8rem;
}

.blog-detail-shell {
  padding: 2rem 0 4rem;
}

.blog-back-link {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  margin-bottom: 1rem;
  font-weight: 700;
  color: var(--brand);
  text-decoration: none;
}

.blog-detail-hero {
  padding: 1.5rem;
  overflow: hidden;
}

.blog-detail-meta {
  margin: .5rem 0 1rem;
}

.blog-detail-cover {
  border-radius: 1rem;
  min-height: 280px;
}

.blog-prose {
  display: grid;
  gap: 1rem;
  background: #fff;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 1.25rem;
  padding: 1.5rem;
  box-shadow: 0 16px 35px rgba(15,23,42,.05);
}

.blog-prose h1,
.blog-prose h2,
.blog-prose h3 {
  font-weight: 900;
  line-height: 1.15;
  margin: .5rem 0 0;
}

.blog-prose p,
.blog-prose li {
  color: #4b5563;
  line-height: 1.8;
}

.blog-prose ul,
.blog-prose ol {
  padding-left: 1.25rem;
  margin: 0;
  display: grid;
  gap: .6rem;
}

.blog-prose blockquote {
  margin: .5rem 0;
  padding: 1rem 1.2rem;
  border-left: 4px solid var(--brand);
  background: var(--brand-soft);
  border-radius: .8rem;
}

.blog-inline-image {
  margin: .5rem 0 0;
  display: grid;
  gap: .5rem;
}

.blog-inline-image img {
  width: 100%;
  border-radius: 1rem;
  border: 1px solid rgba(17,24,39,.08);
}

.blog-inline-image figcaption {
  color: #6b7280;
  font-size: .9rem;
}

.blog-sidebar {
  position: sticky;
  top: 1rem;
}

.blog-sidebar-card {
  padding: 1.25rem;
}

.blog-related-item {
  display: grid;
  gap: .85rem;
  text-decoration: none;
  color: inherit;
  padding: .85rem;
  border-radius: 1rem;
  border: 1px solid rgba(17,24,39,.08);
}

.blog-related-thumb {
  min-height: 110px;
  border-radius: .85rem;
}

.empty-state {
  text-align: center;
  background: #fff;
  border: 1px dashed rgba(17,24,39,.15);
  border-radius: 1.25rem;
  padding: 2rem;
}

.empty-state h3 {
  font-weight: 800;
  margin-bottom: .5rem;
}

.section-title {
  font-size: 1.6rem;
  font-weight: 900;
}

@media (max-width: 767px) {
  .blog-shell,
  .blog-detail-shell {
    padding-top: 1.5rem;
  }

  .blog-hero,
  .blog-detail-hero,
  .blog-prose,
  .blog-sidebar-card {
    padding: 1rem;
  }

  .blog-feature-image,
  .blog-card-image,
  .blog-related-thumb {
    min-height: 150px;
  }

  .blog-sidebar {
    position: static;
  }
}

@media (max-width: 991px) {
  .auth-grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .auth-marketing-panel {
    min-height: auto;
  }

  .auth-preview {
    min-height: 18rem;
  }
}

@media (max-width: 767px) {
  .auth-field-grid.two-col {
    grid-template-columns: 1fr;
  }

  .auth-form-panel {
    padding-inline: 1rem;
  }

  .auth-marketing-copy {
    text-align: left;
    margin-left: 0;
  }

  .auth-benefits {
    grid-template-columns: 1fr;
  }

  .auth-preview-window {
    width: 100%;
  }
}

.nav-link.active {
  color: #111827 !important;
  text-decoration: underline;
  text-decoration-color: var(--brand);
  text-decoration-thickness: 2px;
  text-underline-offset: .3rem;
}

.nav-alert-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  border: 1px solid rgba(17,24,39,.12);
  border-radius: 999px;
  background: #fff;
  color: #111827;
  padding: .72rem 1rem;
  font-weight: 700;
  box-shadow: 0 10px 20px rgba(15,23,42,.04);
}
.nav-alert-count {
  min-width: 1.25rem;
  height: 1.25rem;
  display: inline-grid;
  place-items: center;
  padding: 0 .28rem;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-size: .68rem;
  line-height: 1;
}

.applications-shell {
  background: #fff;
  min-height: calc(100vh - 5rem);
}

.applications-hero {
  padding: 1.5rem 0 4rem;
}

.applications-hero-copy {
  text-align: center;
  margin: 0 auto 2rem;
  max-width: 42rem;
}

.applications-hero-copy h1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .55rem;
  font-size: clamp(2rem, 4vw, 2.7rem);
  line-height: 1.05;
  font-weight: 900;
  color: #111827;
}

.applications-hero-logo {
  max-width: 7.5rem;
  max-height: 2.6rem;
  object-fit: contain;
}

.applications-hero-wordmark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .16rem .55rem;
  border-radius: .55rem;
  background: var(--brand);
  color: #fff;
  transform: rotate(-3deg);
  font-size: 1.05em;
}

.brand-hero-wordmark {
  display: inline-block;
  margin-left: .35rem;
  padding: .08rem .5rem;
  border-radius: .55rem;
  background: var(--brand);
  color: #fff;
  transform: rotate(-3deg);
}

.applications-hero-copy p {
  margin: .75rem 0 0;
  color: #8b5e3c;
  font-size: 1.05rem;
}

.applications-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}

.applications-timeline {
  padding-top: .75rem;
}

.applications-step {
  display: grid;
  grid-template-columns: 3.2rem minmax(0, 1fr) auto;
  gap: 1.25rem;
  align-items: center;
  position: relative;
  padding: 1rem 0 1.7rem;
}

.applications-step:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 1.55rem;
  top: 3.8rem;
  bottom: -.25rem;
  width: 2px;
  background: #e8eaef;
}

.applications-step-number {
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eff1f6;
  color: #111827;
  font-weight: 800;
  font-size: 1.05rem;
  position: relative;
  z-index: 1;
}

.applications-step-copy h2 {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: #111827;
}

.applications-step-copy p {
  margin: 0;
  color: #8b5e3c;
}

.applications-step-action {
  min-width: 12rem;
  display: flex;
  justify-content: flex-end;
}

.applications-panel-card {
  border-radius: 1.5rem;
  background: #fff;
  border: 1px solid rgba(17,24,39,.08);
  box-shadow: 0 18px 35px rgba(15,23,42,.06);
  padding: 1.25rem;
}

.applications-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
}

.applications-panel-head strong {
  font-size: 1.1rem;
  font-weight: 800;
}

.applications-panel-head span {
  color: #8b5e3c;
  font-size: .9rem;
  font-weight: 600;
}

.applications-order-list {
  display: grid;
  gap: .75rem;
}

.applications-order-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(17,24,39,.08);
  color: #111827;
}

.applications-order-item strong {
  display: block;
}

.applications-order-item small {
  color: #6b7280;
}

.applications-empty {
  display: grid;
  justify-items: center;
  text-align: center;
  padding: 2rem .75rem;
}

.applications-empty img {
  width: 7rem;
  height: 7rem;
  margin-bottom: .75rem;
}

.applications-empty h3 {
  margin: .5rem 0 .35rem;
  font-size: 1.15rem;
  font-weight: 800;
}

.applications-empty p {
  margin: 0;
  color: #8b5e3c;
}

.applications-dashboard {
  padding-top: 1rem;
}

.applications-dashboard-head {
  max-width: 52rem;
  margin-bottom: 1.25rem;
}

.applications-kicker {
  display: inline-block;
  margin-bottom: .55rem;
  color: var(--brand);
  font-size: .85rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.applications-dashboard-head h1,
.application-detail-header h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.05;
  font-weight: 900;
  color: #111827;
}

.applications-dashboard-head p,
.application-detail-header p {
  margin: .65rem 0 0;
  color: #8b5e3c;
  font-size: 1.02rem;
}

.applications-dashboard-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.applications-search-wrap {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .9rem 1rem;
  background: #fff;
  border: 1px solid rgba(17,24,39,.12);
  border-radius: 1rem;
  box-shadow: 0 8px 20px rgba(15,23,42,.05);
}

.applications-search-wrap i {
  color: #9ca3af;
}

.applications-search-input {
  border: 0;
  box-shadow: none !important;
  padding: 0;
  background: transparent;
}

.applications-dashboard-count {
  min-width: 7rem;
  padding: .95rem 1rem;
  border-radius: 1rem;
  background: #fff7ed;
  border: 1px solid rgba(249,115,22,.16);
  text-align: center;
}

.applications-dashboard-count strong {
  display: block;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 900;
  color: #111827;
}

.applications-dashboard-count span {
  color: #8b5e3c;
  font-size: .85rem;
  font-weight: 700;
}

.applications-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.applications-order-cards {
  display: grid;
  gap: 1rem;
}

.applications-order-card {
  background: #fff;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 1.25rem;
  box-shadow: 0 18px 35px rgba(15,23,42,.06);
  padding: 1.2rem;
}

.applications-order-card-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
  margin-bottom: 1rem;
}

.applications-order-card-head h2 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 900;
}

.applications-order-card-head h2 a {
  color: #111827;
  text-decoration: none;
}

.applications-order-card-head p {
  margin: .35rem 0 0;
  color: #8b5e3c;
  font-size: .92rem;
}

.applications-order-card-subtitle {
  margin-top: .2rem;
  color: #8a6f61;
  font-size: .84rem;
}

.applications-order-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
}

.applications-order-card-grid span {
  display: block;
  color: #8b5e3c;
  font-size: .82rem;
  margin-bottom: .2rem;
}

.applications-order-card-grid strong {
  color: #111827;
  font-size: .95rem;
}

.applications-order-card-foot {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(17,24,39,.08);
}

.applications-order-card-note {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: #8b5e3c;
  font-size: .9rem;
}

.applications-order-card-actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}

.application-detail-shell {
  background: #fff;
  min-height: calc(100vh - 5rem);
}

.application-detail-hero {
  padding: 1.25rem 0 3.5rem;
}

.application-detail-back {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  text-decoration: none;
  color: #111827;
  font-weight: 700;
  margin-bottom: 1rem;
}

.application-detail-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
  margin-bottom: 1.25rem;
}

.application-detail-kicker {
  display: inline-block;
  margin-bottom: .3rem;
  color: #8b5e3c;
  font-size: .9rem;
  font-weight: 700;
}

.application-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .72fr);
  gap: 1.5rem;
  align-items: start;
}

.application-banner {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.1rem;
  border-radius: 1.2rem;
  margin-bottom: 1rem;
  border: 1px solid rgba(17,24,39,.08);
}

.application-banner-warning { background: linear-gradient(90deg, #fff7ed, #fce7f3); }
.application-banner-success { background: linear-gradient(90deg, #ecfdf5, #eff6ff); }
.application-banner-danger { background: linear-gradient(90deg, #fef2f2, #fff7ed); }

.application-banner-copy strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 900;
  margin-bottom: .2rem;
}

.application-banner-copy p {
  margin: 0;
  color: #8b5e3c;
}

.application-section {
  background: #fff;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 1.25rem;
  padding: 1rem 1.1rem;
  box-shadow: 0 16px 30px rgba(15,23,42,.04);
  margin-bottom: 1rem;
}

.application-section-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
}

.application-section-head strong {
  font-size: 1.05rem;
  font-weight: 900;
}

.application-section-head span {
  color: #8b5e3c;
  font-size: .88rem;
}

.application-progress-list {
  display: grid;
  gap: .85rem;
}

.application-progress-item {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: .9rem;
  align-items: start;
}

.application-progress-number {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  color: #111827;
  background: #eff1f6;
}

.application-progress-item.done .application-progress-number {
  background: #dcfce7;
  color: #166534;
}

.application-progress-item.current .application-progress-number {
  background: #ffedd5;
  color: #ea580c;
}

.application-progress-body h2 {
  margin: .05rem 0 .25rem;
  font-size: 1rem;
  font-weight: 900;
}

.application-progress-body p {
  margin: 0;
  color: #8b5e3c;
}

.application-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.application-summary-card {
  border-radius: 1rem;
  padding: .9rem 1rem;
  background: #fafafa;
  border: 1px solid rgba(17,24,39,.08);
}

.application-summary-card span {
  display: block;
  color: #8b5e3c;
  font-size: .82rem;
  margin-bottom: .2rem;
}

.application-summary-card strong {
  display: block;
  font-size: .96rem;
  font-weight: 900;
  color: #111827;
}

.application-summary-success { background: #ecfdf5; }
.application-summary-warning { background: #fff7ed; }
.application-summary-danger { background: #fef2f2; }

.application-delivery-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.application-delivery-card {
  border-radius: 1rem;
  padding: .9rem 1rem;
  background: #fafafa;
  border: 1px solid rgba(17,24,39,.08);
}

.application-delivery-card span {
  display: block;
  color: #8b5e3c;
  font-size: .82rem;
  margin-bottom: .2rem;
}

.application-delivery-card strong {
  display: block;
  font-size: .95rem;
  font-weight: 900;
  margin-bottom: .25rem;
}

.application-delivery-card p {
  margin: 0;
  color: #6b7280;
}

.application-notes {
  color: #374151;
  line-height: 1.65;
}

.application-payment-meta {
  display: grid;
  gap: .85rem;
  margin-bottom: 1rem;
}

.application-payment-meta span {
  display: block;
  color: #8b5e3c;
  font-size: .82rem;
  margin-bottom: .15rem;
}

.application-payment-meta strong {
  display: block;
  font-weight: 900;
  color: #111827;
}

.application-price-list {
  display: grid;
  gap: .55rem;
  padding-top: .25rem;
}

.application-price-line,
.application-price-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.application-price-line {
  color: #374151;
}

.application-price-total {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(17,24,39,.08);
  font-size: 1.02rem;
}

.application-price-total strong {
  font-size: 1.05rem;
  color: #ea580c;
}

.application-summary-footnote {
  margin-top: .75rem;
  color: #8b5e3c;
  font-size: .88rem;
  line-height: 1.55;
}

.sticky-top.application-summary-panel {
  top: 6.5rem;
}

.preferences-modal[hidden],
.public-alerts-modal[hidden] {
  display: none;
}

.preferences-modal,
.public-alerts-modal {
  position: fixed;
  inset: 0;
  z-index: 1080;
}

.preferences-backdrop,
.public-alerts-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17,24,39,.52);
}

.preferences-dialog {
  position: relative;
  width: min(760px, calc(100vw - 1.5rem));
  height: min(710px, calc(100vh - 1.5rem));
  display: flex;
  flex-direction: column;
  margin: .75rem auto;
  overflow: hidden;
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15,23,42,.28);
}
.preferences-tabs {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  padding: .8rem .8rem 0;
}
.preferences-tab {
  padding: .95rem .5rem .75rem;
  border: 0;
  border-bottom: 2px solid #ece7e3;
  background: transparent;
  color: #8a7970;
  font-weight: 500;
}
.preferences-tab.active {
  border-bottom-color: var(--brand);
  color: var(--brand);
}
.preferences-panel {
  min-height: 0;
  display: none;
  flex: 1 1 auto;
  padding: 0 .55rem 1rem;
  overflow-y: auto;
}
.preferences-panel.active {
  display: block;
}
.preferences-note {
  margin: .75rem 0;
  color: #7f7068;
  font-size: .78rem;
  line-height: 1.5;
}
.preferences-currency-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.preferences-language-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin-top: .8rem;
}
.preference-card {
  position: relative;
  min-height: 62px;
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr) auto;
  gap: .65rem;
  align-items: center;
  padding: .65rem .8rem;
  border: 1px solid #ddd5d0;
  border-radius: .55rem;
  background: #fff;
  color: #111827;
  text-align: left;
  box-shadow: 0 2px 5px rgba(15,23,42,.05);
}
.preference-card:hover,
.preference-card.selected {
  border-color: var(--brand);
  background: #fffaf7;
}
.preference-card strong,
.preference-card small {
  display: block;
}
.preference-card strong {
  font-size: .95rem;
  font-weight: 500;
}
.preference-card small {
  margin-top: .12rem;
  overflow: hidden;
  color: #96776a;
  font-size: .8rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.preference-card > i {
  display: none;
  color: var(--brand);
}
.preference-card.selected > i {
  display: block;
}
.currency-symbol {
  color: #111827;
  font-size: .8rem;
  text-align: center;
}
.language-flag {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background: #f3f4f6;
}
.language-flag img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.preferences-language-empty {
  min-height: 390px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 1.2rem;
  text-align: center;
}
.preferences-language-empty i {
  color: var(--brand);
  font-size: 5rem;
  opacity: .55;
}
.preferences-language-empty p {
  margin: 0;
  color: #111827;
  font-size: 1.45rem;
}
.preferences-footer {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  gap: .65rem;
  padding: .8rem 1rem;
  border-top: 1px solid #eee7e2;
  background: #fff;
}
.preferences-close-btn {
  padding: .65rem 1rem;
  border: 0;
  border-radius: .55rem;
  background: transparent;
  color: #6b7280;
  font-weight: 600;
}
.preferences-change-btn {
  padding: .68rem 1.2rem;
  border-radius: .55rem;
  font-weight: 700;
}

.public-alerts-dialog {
  position: absolute;
  top: 4.75rem;
  right: 1.25rem;
  width: min(100vw - 2rem, 24rem);
  max-height: calc(100vh - 5.75rem);
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 20px 45px rgba(15,23,42,.22);
  overflow: auto;
}

.public-alerts-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem .9rem .75rem;
  border-bottom: 1px solid #e9ecef;
}

.public-alerts-header strong {
  display: block;
  font-size: 1.15rem;
}
.public-alerts-header small {
  display: block;
  margin-top: .1rem;
  color: #8b6f61;
}

.public-alerts-close {
  border: 0;
  background: transparent;
  font-size: 1.8rem;
  line-height: 1;
  color: #111827;
}

.public-alerts-body {
  padding: 1rem;
}

.public-alert-empty {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: .35rem;
}

.public-alert-empty img {
  width: 6rem;
  height: 6rem;
  margin-bottom: .5rem;
}

.public-alert-empty h2 {
  margin: .2rem 0 0;
  font-size: 1.05rem;
  font-weight: 800;
}

.public-alert-empty p {
  margin: 0;
  color: #8b5e3c;
}

.settings-shell {
  min-height: calc(100vh - 5rem);
  background: linear-gradient(180deg, #fff 0%, #fff7ed 100%);
}

.settings-hero {
  padding: 2rem 0 4rem;
}

.settings-topline {
  max-width: 56rem;
  margin: 0 auto 1.5rem;
  text-align: left;
}

.settings-kicker {
  display: inline-flex;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--brand);
  margin-bottom: .35rem;
}

.settings-topline h1 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 900;
  margin: 0;
}

.settings-topline p {
  margin: .5rem 0 0;
  color: #8b5e3c;
}

.settings-alert {
  max-width: 56rem;
  margin: 0 auto 1rem;
}

.settings-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .7fr);
  gap: 1.5rem;
  align-items: start;
}

.settings-main,
.settings-sidebar {
  min-width: 0;
}

.settings-card,
.settings-profile-card {
  background: #fff;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 1.5rem;
  box-shadow: 0 18px 35px rgba(15,23,42,.06);
  padding: 1.25rem;
}

.settings-card-header {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: baseline;
  margin-bottom: 1rem;
}

.settings-card-header strong {
  font-size: 1.1rem;
  font-weight: 800;
}

.settings-card-header span {
  color: #8b5e3c;
  font-size: .9rem;
}

.settings-form .form-label {
  font-weight: 700;
}

.settings-actions {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: 1.25rem;
}

.settings-profile-card {
  position: sticky;
  top: 6.5rem;
}

.settings-avatar {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--brand);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 900;
  margin-bottom: .9rem;
}

.settings-profile-card strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 800;
}

.settings-profile-card p {
  margin: .25rem 0 0;
  color: #6b7280;
}

.settings-meta {
  display: grid;
  gap: .9rem;
  margin-top: 1.25rem;
}

.settings-meta span {
  display: block;
  color: #8b5e3c;
  font-size: .85rem;
  margin-bottom: .2rem;
}

.settings-meta strong {
  display: block;
  font-size: .98rem;
  font-weight: 700;
}

@media (max-width: 991.98px) {
  .applications-step-action {
    justify-content: flex-start;
  }

  .settings-grid,
  .applications-layout,
  .applications-dashboard-grid,
  .application-detail-grid {
    grid-template-columns: 1fr;
  }

  .settings-profile-card {
    position: static;
  }

  .sticky-top.application-summary-panel {
    position: static;
    top: auto;
  }

  .applications-dashboard-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .applications-dashboard-count {
    min-width: 0;
  }

  .applications-order-card-grid,
  .application-summary-grid,
  .application-delivery-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 575.98px) {
  .applications-step {
    grid-template-columns: 2.75rem minmax(0, 1fr);
  }

  .applications-step-action {
    grid-column: 1 / -1;
    margin-left: 3.7rem;
  }

  .applications-order-card-head,
  .applications-order-card-foot,
  .application-detail-header,
  .application-banner,
  .application-section-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .applications-order-card-grid,
  .application-summary-grid,
  .application-delivery-grid {
    grid-template-columns: 1fr;
  }

  .applications-order-card-actions {
    width: 100%;
  }

  .applications-order-card-actions .btn,
  .application-banner .btn,
  .application-detail-sidebar .btn {
    width: 100%;
  }
}

.public-alerts-list {
  display: grid;
  gap: .6rem;
}

.public-alert-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .75rem;
  align-items: start;
  padding: .75rem .8rem;
  border-radius: .9rem;
  background: #f8fafc;
  color: #111827;
}

.public-alert-icon {
  width: 2.35rem;
  height: 2.35rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ecfdf5;
  color: #059669;
}
.paid-status {
  padding: .25rem .5rem;
  border-radius: 999px;
  background: #dcfce7;
  color: #047857;
  font-weight: 700;
}

.public-alert-dot {
  width: .72rem;
  height: .72rem;
  border-radius: 50%;
  margin-top: .3rem;
  background: #f97316;
}

.public-alert-dot.info { background: #3b82f6; }
.public-alert-dot.success { background: #10b981; }
.public-alert-dot.warning { background: #f59e0b; }

.public-alert-content strong {
  display: block;
  font-size: .95rem;
}

.public-alert-content span {
  display: block;
  color: #6b7280;
  font-size: .85rem;
}

.public-alert-item small {
  color: #9ca3af;
  white-space: nowrap;
}

body.modal-open {
  overflow: hidden;
}

@media (max-width: 991px) {
  .applications-layout {
    grid-template-columns: 1fr;
  }

  .applications-step {
    grid-template-columns: 3rem 1fr;
  }

  .applications-step-action {
    grid-column: 1 / -1;
    justify-content: flex-start;
    margin-left: 3.8rem;
  }
}

@media (max-width: 767px) {
  .preferences-dialog {
    width: calc(100vw - 1rem);
    height: calc(100vh - 1rem);
    margin: .5rem auto;
    border-radius: 1rem;
  }

  .preferences-currency-grid,
  .preferences-language-grid {
    grid-template-columns: 1fr;
  }

  .preferences-language-empty {
    min-height: 280px;
  }

  .preferences-language-empty p {
    font-size: 1.15rem;
  }

  .public-alerts-dialog {
    top: 4.25rem;
    right: .5rem;
    width: calc(100vw - 1rem);
    max-height: calc(100vh - 4.75rem);
  }
}

@media (max-width: 767px) {
  .container {
    padding-inline: .9rem;
  }

  .section-block {
    padding: 2.4rem 0;
  }

  .hero-wrap {
    padding-top: .5rem;
  }

  .hero-billboard {
    min-height: auto;
    padding: 1.25rem .85rem 1rem;
    border-radius: 1.25rem;
  }

  .hero-billboard::before,
  .hero-billboard::after {
    opacity: .25;
    transform: translateX(-50%) scale(.72);
  }

  .hero-title {
    font-size: clamp(1.9rem, 8vw, 2.5rem);
  }

  .hero-subtitle {
    font-size: .95rem;
  }

  .hero-searchbar,
  .checkout-hero,
  .dashboard-showcase,
  .savings-grid,
  .process-layout,
  .visa-metrics,
  .auth-grid,
  .checkout-grid,
  .payment-layout {
    grid-template-columns: 1fr !important;
  }

  .checkout-hero {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .hero-searchbar {
    border-radius: 1.25rem;
    padding: .45rem;
    gap: .35rem;
  }

  .hero-search-field {
    padding: 0;
  }

  .hero-filter-trigger {
    min-height: 54px;
    padding: .4rem .65rem;
  }

  .hero-pills,
  .hero-actions,
  .document-tags,
  .nav-pill,
  .visa-price-line,
  .checkout-steps {
    justify-content: flex-start;
  }

  .hero-pills,
  .service-rail {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: .6rem;
  }

  .hero-actions {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding: .1rem .1rem .55rem;
  }

  .hero-actions .mini-filter {
    flex: 0 0 auto;
  }

  .trusted-by-inner {
    grid-template-columns: 1fr;
    justify-items: flex-start;
    gap: 1rem;
    padding-inline: .4rem;
  }

  .trusted-by-logos {
    width: 100%;
    justify-content: flex-start;
    gap: 1.25rem;
    overflow: hidden;
  }

  .trusted-by-logo {
    flex: 0 0 auto;
  }

  .visa-card,
  .service-card,
  .review-card,
  .content-panel,
  .detail-card,
  .filter-card,
  .checkout-card,
  .checkout-summary,
  .purchase-panel,
  .document-list,
  .timeline-card,
  .visa-funds-card,
  .auth-panel {
    padding: 1rem !important;
    border-radius: 1rem !important;
  }

  .visa-card-head,
  .addon-top,
  .checkout-applicant-selector,
  .checkout-review-layout,
  .document-head,
  .document-subhead,
  .purchase-stepper-row,
  .purchase-summary-head,
  .purchase-price-row,
  .process-calendar-head,
  .timeline-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .visa-thumb {
    width: 4.6rem;
    height: 3.8rem;
  }

  .visa-card-listing .visa-card-head {
    flex-direction: row;
    align-items: flex-start;
  }

  .visa-card-listing .visa-thumb {
    width: 5rem;
    height: 4.1rem;
  }

  .visa-metrics {
    gap: .65rem;
  }

  .metric-card {
    padding: .85rem .95rem;
  }

  .process-calendar,
  .process-list,
  .checkout-summary,
  .payment-summary-card,
  .auth-marketing-panel {
    width: 100%;
  }

  .process-grid {
    gap: .25rem;
  }

  .process-day {
    min-height: 2.2rem;
    font-size: .88rem;
  }

  .process-list {
    margin-top: .25rem;
  }

  .content-panel h3,
  .section-title,
  .checkout-hero .section-title {
    word-break: break-word;
  }

  .checkout-steps {
    gap: .45rem;
    overflow-x: auto;
    padding-bottom: .25rem;
    flex-wrap: nowrap;
  }

  .checkout-step {
    white-space: nowrap;
    padding: .5rem .75rem;
  }

  .checkout-summary {
    position: static;
  }

  .purchase-applicants-head,
  .purchase-summary-head,
  .purchase-selected-head {
    flex-wrap: wrap;
  }

  .purchase-field,
  .checkout-field,
  .form-control,
  .form-select {
    width: 100%;
  }

  .checkout-map-dialog,
  .site-search-dialog,
  .public-alerts-dialog {
    width: calc(100vw - 1rem);
    max-height: calc(100vh - 1rem);
  }

  .auth-marketing-panel {
    padding: 1rem;
    min-height: auto;
  }

  .auth-preview {
    min-height: auto;
  }

  .auth-preview-window {
    transform: scale(.95);
    transform-origin: top center;
  }

  .public-alert-item {
    grid-template-columns: auto 1fr;
  }

  .public-alert-item small {
    grid-column: 2;
    white-space: normal;
  }

  .site-footer .row > * {
    width: 100%;
  }
}
