@font-face {
  font-family: "Tajawal Local";
  src: url("../fonts/tajawal-latin-400-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Tajawal Local";
  src: url("../fonts/tajawal-arabic-400-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

@font-face {
  font-family: "Tajawal Local";
  src: url("../fonts/tajawal-latin-500-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Tajawal Local";
  src: url("../fonts/tajawal-arabic-500-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

@font-face {
  font-family: "Tajawal Local";
  src: url("../fonts/tajawal-latin-700-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Tajawal Local";
  src: url("../fonts/tajawal-arabic-700-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

@font-face {
  font-family: "Tajawal Local";
  src: url("../fonts/tajawal-latin-800-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 800 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Tajawal Local";
  src: url("../fonts/tajawal-arabic-800-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 800 900;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

:root {
  --hc-forest: #163c32;
  --hc-deep: #0e2923;
  --hc-sage: #5c765f;
  --hc-soft-sage: #a8b8a2;
  --hc-mist: #dce6d9;
  --hc-ivory: #f5f1e7;
  --hc-paper: #fbfaf6;
  --hc-sand: #c7a56d;
  --hc-terracotta: #ae6552;
  --hc-ink: #132e27;
  --hc-muted: rgba(19, 46, 39, 0.62);
  --hc-line: rgba(22, 60, 50, 0.13);
  --hc-white-line: rgba(255, 255, 255, 0.63);
  --hc-glass: rgba(251, 250, 246, 0.72);
  --hc-shadow: 0 28px 80px rgba(18, 48, 39, 0.12);
  --hc-shadow-small: 0 14px 38px rgba(18, 48, 39, 0.09);
  --hc-font: "Tajawal Local", "Tajawal", "Segoe UI", Arial, sans-serif;
  --hc-serif: Georgia, "Times New Roman", serif;
  --hc-shell: min(1260px, calc(100% - 48px));
  --hc-header-height: 88px;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--hc-header-height) + 18px);
}

body.hc-site {
  margin: 0;
  color: var(--hc-ink);
  background: var(--hc-ivory);
  font-family: var(--hc-font);
  font-size: 16px;
  line-height: 1.65;
  text-align: left;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
}

.hc-site *,
.hc-site *::before,
.hc-site *::after {
  box-sizing: border-box;
}

.hc-site img {
  max-width: 100%;
  height: auto;
}

.hc-site button,
.hc-site input,
.hc-site textarea,
.hc-site select {
  font: inherit;
}

.hc-site button,
.hc-site a {
  -webkit-tap-highlight-color: transparent;
}

.hc-site a {
  color: inherit;
}

.hc-main {
  min-height: 60vh;
}

.hc-shell {
  width: var(--hc-shell);
  margin-right: auto;
  margin-left: auto;
}

.hc-glass {
  border: 1px solid var(--hc-white-line);
  background: var(--hc-glass);
  box-shadow: var(--hc-shadow);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}

.hc-kicker {
  margin: 0 0 14px;
  color: var(--hc-sage);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  line-height: 1.3;
  text-transform: uppercase;
}

.hc-button,
.hc-link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 48px;
  padding: 12px 19px;
  border: 1px solid var(--hc-forest);
  border-radius: 12px;
  color: #fff;
  background: var(--hc-forest);
  box-shadow: 0 12px 26px rgba(22, 60, 50, 0.17);
  font-size: 12px;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: transform 180ms ease, color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.hc-button:hover,
.hc-button:focus-visible {
  color: #fff;
  background: var(--hc-deep);
  box-shadow: 0 16px 34px rgba(22, 60, 50, 0.23);
  transform: translateY(-2px);
}

.hc-button--small {
  min-height: 42px;
  padding: 10px 15px;
  font-size: 11px;
}

.hc-button--large {
  min-height: 56px;
  padding: 15px 24px;
  font-size: 13px;
}

.hc-button--ivory {
  border-color: var(--hc-ivory);
  color: var(--hc-deep);
  background: var(--hc-ivory);
  box-shadow: 0 14px 30px rgba(6, 28, 22, 0.2);
}

.hc-button--ivory:hover,
.hc-button--ivory:focus-visible {
  color: var(--hc-deep);
  background: #fff;
}

.hc-link-button {
  min-height: auto;
  padding: 7px 1px;
  border: 0;
  border-bottom: 1px solid rgba(22, 60, 50, 0.3);
  border-radius: 0;
  color: var(--hc-forest);
  background: transparent;
  box-shadow: none;
}

.hc-text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--hc-forest);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
  text-decoration: none;
}

.hc-text-link span {
  transition: transform 180ms ease;
}

.hc-text-link:hover span {
  transform: translateX(4px);
}

.hc-text-link--light {
  color: #fff;
}

.hc-status {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 8px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
}

.hc-status--available {
  color: #315b45;
  background: #dcead9;
}

.hc-status--pending {
  color: #815827;
  background: #f1e2c3;
}

.hc-status--request {
  color: #586276;
  background: #e4e7ec;
}

.hc-status--light {
  color: var(--hc-deep);
  background: rgba(255, 255, 255, 0.76);
  backdrop-filter: blur(12px);
}

.hc-site :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(92, 118, 95, 0.28);
  outline-offset: 3px;
}

.hc-skip-link {
  position: fixed;
  z-index: 99999;
  left: 18px;
  top: 18px;
  padding: 10px 14px;
  border-radius: 8px;
  color: #fff;
  background: var(--hc-deep);
  transform: translateY(-180%);
}

.hc-skip-link:focus {
  transform: translateY(0);
}

.screen-reader-text {
  width: 1px;
  height: 1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Header */
.hc-header {
  height: var(--hc-header-height);
  position: fixed;
  z-index: 1000;
  inset: 0 0 auto;
  transition: height 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.hc-header.is-scrolled {
  height: 72px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.58);
  background: rgba(245, 241, 231, 0.78);
  box-shadow: 0 8px 30px rgba(18, 48, 39, 0.06);
  backdrop-filter: blur(22px) saturate(125%);
}

.hc-header__inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.hc-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--hc-forest);
  text-decoration: none;
}

.hc-brand__custom,
.hc-brand__custom .custom-logo-link {
  display: flex;
  align-items: center;
}

.hc-brand__custom img {
  width: auto;
  max-height: 52px;
}

.hc-brand__mark { width: 102px; height: 45px; display: block; object-fit: contain; }
.hc-brand__lockup { width: 150px; height: auto; display: block; object-fit: contain; }
.hc-portal-brand > img { width: 106px; height: 46px; display: block; object-fit: contain; }
.hc-portal-brand--light > img,
.hc-dashboard-preview__brand > img { filter: brightness(0) invert(94%) sepia(11%) saturate(333%) hue-rotate(349deg) brightness(105%); }

.hc-brand__copy,
.hc-portal-brand strong {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.hc-brand__copy strong {
  font-size: 14px;
  font-weight: 850;
  letter-spacing: 0.14em;
}

.hc-brand__copy small {
  margin-top: 6px;
  color: var(--hc-sage);
  font-size: 7px;
  font-weight: 750;
  letter-spacing: 0.2em;
}

.hc-nav {
  display: flex;
  align-items: center;
  gap: 34px;
}

.hc-nav__menu {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.2vw, 32px);
  list-style: none;
}

.hc-nav__menu a {
  color: rgba(14, 41, 35, 0.76);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  transition: color 160ms ease;
}

.hc-nav__menu a:hover {
  color: var(--hc-forest);
}

.hc-nav__actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

.hc-nav-toggle {
  width: 42px;
  height: 42px;
  display: none;
  place-items: center;
  border: 1px solid var(--hc-line);
  border-radius: 12px;
  color: var(--hc-deep);
  background: rgba(255, 255, 255, 0.45);
}

.hc-nav-toggle > span:not(.screen-reader-text) {
  width: 17px;
  height: 1px;
  position: absolute;
  background: currentColor;
  transition: transform 180ms ease;
}

.hc-nav-toggle > span:nth-child(1) { transform: translateY(-4px); }
.hc-nav-toggle > span:nth-child(2) { transform: translateY(4px); }
.hc-nav-toggle[aria-expanded="true"] > span:nth-child(1) { transform: rotate(45deg); }
.hc-nav-toggle[aria-expanded="true"] > span:nth-child(2) { transform: rotate(-45deg); }

/* Landing hero */
.hc-hero {
  min-height: min(890px, 100svh);
  padding: calc(var(--hc-header-height) + 72px) 0 32px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 5% 7%, rgba(195, 214, 191, 0.72), transparent 29rem),
    radial-gradient(circle at 91% 74%, rgba(222, 203, 167, 0.34), transparent 31rem),
    linear-gradient(145deg, #f7f3e9 0%, #e9eee5 55%, #f4efe4 100%);
}

.hc-hero::after {
  content: "";
  width: 150%;
  height: 1px;
  position: absolute;
  left: -25%;
  bottom: 63px;
  background: linear-gradient(90deg, transparent, rgba(22, 60, 50, 0.14), transparent);
}

.hc-hero__orb {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  pointer-events: none;
}

.hc-hero__orb--one {
  width: 430px;
  height: 430px;
  left: -260px;
  top: 230px;
  box-shadow: inset 0 0 80px rgba(255, 255, 255, 0.2);
}

.hc-hero__orb--two {
  width: 220px;
  height: 220px;
  right: -94px;
  top: 90px;
  background: rgba(255, 255, 255, 0.17);
}

.hc-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.86fr);
  align-items: center;
  gap: clamp(52px, 7vw, 112px);
}

.hc-hero__copy {
  position: relative;
  z-index: 2;
}

.hc-hero__copy .hc-kicker {
  display: flex;
  align-items: center;
  gap: 9px;
}

.hc-hero__copy .hc-kicker span {
  width: 8px;
  height: 8px;
  border: 2px solid var(--hc-sage);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(92, 118, 95, 0.11);
}

.hc-hero h1 {
  max-width: 760px;
  margin: 0;
  color: var(--hc-deep);
  font-family: var(--hc-serif);
  font-size: clamp(54px, 6.2vw, 90px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.94;
}

.hc-hero h1 em,
.hc-section-heading h2 em,
.hc-process__intro h2 em,
.hc-final-cta h2 em,
.hc-application-intro h1 em {
  color: var(--hc-sage);
  font-weight: 400;
}

.hc-hero__lead {
  max-width: 635px;
  margin: 27px 0 0;
  color: rgba(14, 41, 35, 0.69);
  font-size: 17px;
  line-height: 1.72;
}

.hc-hero__actions {
  margin-top: 31px;
  display: flex;
  align-items: center;
  gap: 25px;
}

.hc-hero__proof {
  margin-top: 45px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--hc-line);
}

.hc-hero__proof > div {
  padding: 18px 15px 0 0;
  border-right: 1px solid var(--hc-line);
}

.hc-hero__proof > div + div {
  padding-left: 18px;
}

.hc-hero__proof > div:last-child {
  border-right: 0;
}

.hc-hero__proof strong,
.hc-hero__proof span {
  display: block;
}

.hc-hero__proof strong {
  color: var(--hc-forest);
  font-size: 17px;
  font-weight: 800;
}

.hc-hero__proof span {
  margin-top: 2px;
  color: rgba(14, 41, 35, 0.48);
  font-size: 9px;
  font-weight: 650;
}

.hc-hero-visual {
  min-height: 565px;
  display: grid;
  place-items: center;
  position: relative;
}

.hc-hero-visual__glow {
  width: 470px;
  height: 470px;
  position: absolute;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(169, 192, 164, 0.58), rgba(255, 255, 255, 0.1));
  filter: blur(2px);
}

.hc-journey-card {
  width: min(445px, 92%);
  padding: 16px;
  position: relative;
  z-index: 2;
  border-radius: 26px;
  transform: rotate(1.5deg);
}

.hc-journey-card > header {
  padding: 3px 2px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.hc-journey-card > header > div {
  display: flex;
  align-items: center;
  gap: 7px;
}

.hc-journey-card > header small {
  color: var(--hc-muted);
  font-size: 9px;
  font-weight: 700;
}

.hc-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #5b8b65;
  box-shadow: 0 0 0 4px rgba(91, 139, 101, 0.12);
}

.hc-scenic {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(150deg, #87a28b, #d4c9a8);
}

.hc-scenic::before,
.hc-scenic::after {
  content: "";
  position: absolute;
  z-index: -1;
}

.hc-scenic--damascus {
  background: linear-gradient(165deg, #809b88 0%, #bfc9b1 48%, #c9aa7c 49%, #765d45 100%);
}

.hc-scenic--damascus::before {
  width: 190%;
  height: 55%;
  left: -45%;
  bottom: -29%;
  border-radius: 50% 50% 0 0;
  background: #715b45;
  box-shadow: 58px -14px 0 #8f7659, 150px -3px 0 #5f503f;
  transform: rotate(-4deg);
}

.hc-scenic--damascus::after {
  width: 24px;
  height: 84px;
  right: 29%;
  bottom: 18%;
  border-radius: 9px 9px 0 0;
  background: #d8c9a9;
  box-shadow: -104px 35px 0 22px #a78a64, 76px 44px 0 28px #907353;
}

.hc-journey-card__image {
  height: 250px;
  border-radius: 18px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.hc-journey-card__image > span {
  padding: 7px 10px;
  position: absolute;
  left: 12px;
  bottom: 12px;
  border-radius: 7px;
  color: #fff;
  background: rgba(14, 41, 35, 0.46);
  font-size: 8px;
  font-weight: 650;
  backdrop-filter: blur(8px);
}

.hc-scenic__sun {
  width: 43px;
  height: 43px;
  position: absolute;
  right: 14%;
  top: 12%;
  border-radius: 50%;
  background: rgba(248, 225, 171, 0.8);
  box-shadow: 0 0 48px rgba(248, 225, 171, 0.46);
}

.hc-journey-card__title {
  padding: 18px 2px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.hc-journey-card__title p,
.hc-journey-card__title h2 {
  margin: 0;
}

.hc-journey-card__title p {
  color: var(--hc-muted);
  font-size: 8px;
  font-weight: 650;
  text-transform: uppercase;
}

.hc-journey-card__title h2 {
  margin-top: 3px;
  font-family: var(--hc-serif);
  font-size: 25px;
  font-weight: 400;
  letter-spacing: -0.03em;
}

.hc-journey-card__title > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--hc-line);
  border-radius: 50%;
  color: var(--hc-sage);
  font-size: 10px;
  font-weight: 800;
}

.hc-route-line {
  padding: 13px 2px 15px;
  display: flex;
  align-items: center;
}

.hc-route-line span {
  color: rgba(14, 41, 35, 0.5);
  font-size: 7px;
  font-weight: 700;
}

.hc-route-line span::before {
  content: "";
  width: 6px;
  height: 6px;
  display: inline-block;
  margin-right: 4px;
  border: 1px solid var(--hc-sage);
  border-radius: 50%;
}

.hc-route-line .is-active {
  color: var(--hc-forest);
}

.hc-route-line .is-active::before {
  background: var(--hc-sage);
  box-shadow: 0 0 0 3px rgba(92, 118, 95, 0.11);
}

.hc-route-line i {
  height: 1px;
  flex: 1;
  margin: 0 6px;
  background: var(--hc-line);
}

.hc-journey-card > footer {
  padding: 14px 2px 1px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--hc-line);
}

.hc-avatar-stack {
  display: flex;
}

.hc-avatar-stack i {
  width: 28px;
  height: 28px;
  margin-left: -6px;
  display: grid;
  place-items: center;
  border: 2px solid var(--hc-paper);
  border-radius: 50%;
  color: #fff;
  background: var(--hc-sage);
  font-size: 7px;
  font-style: normal;
  font-weight: 700;
}

.hc-avatar-stack i:first-child { margin-left: 0; background: #a07355; }
.hc-avatar-stack i:last-child { background: var(--hc-deep); }

.hc-journey-card > footer p {
  margin: 0;
  line-height: 1.25;
}

.hc-journey-card > footer p strong,
.hc-journey-card > footer p span {
  display: block;
}

.hc-journey-card > footer p strong { font-size: 9px; }
.hc-journey-card > footer p span { margin-top: 3px; color: var(--hc-muted); font-size: 7px; }

.hc-journey-card > footer button {
  width: 31px;
  height: 31px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: var(--hc-forest);
}

.hc-floating-note {
  min-width: 180px;
  padding: 12px;
  display: grid;
  grid-template-columns: 29px 1fr;
  align-items: center;
  gap: 9px;
  position: absolute;
  z-index: 3;
  border-radius: 15px;
}

.hc-floating-note > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: var(--hc-forest);
  background: var(--hc-mist);
  font-size: 9px;
  font-weight: 800;
}

.hc-floating-note p {
  margin: 0;
  color: var(--hc-muted);
  font-size: 7px;
  line-height: 1.35;
}

.hc-floating-note strong {
  display: block;
  color: var(--hc-deep);
  font-size: 9px;
}

.hc-floating-note--top { top: 55px; right: -20px; }
.hc-floating-note--bottom { bottom: 56px; left: -37px; }

.hc-hero__foot {
  margin-top: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(14, 41, 35, 0.43);
  font-size: 9px;
  font-weight: 650;
}

.hc-hero__foot > div {
  display: flex;
  gap: 7px;
}

.hc-hero__foot i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(92, 118, 95, 0.3);
}

/* Shared sections */
.hc-section {
  padding: clamp(95px, 11vw, 155px) 0;
  position: relative;
}

.hc-section-heading h2,
.hc-process__intro h2,
.hc-final-cta h2 {
  margin: 0;
  color: var(--hc-deep);
  font-family: var(--hc-serif);
  font-size: clamp(45px, 5.2vw, 76px);
  font-weight: 400;
  letter-spacing: -0.05em;
  line-height: 0.99;
}

.hc-section-heading--split {
  margin-bottom: 52px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(250px, 0.55fr);
  align-items: end;
  gap: clamp(40px, 8vw, 125px);
}

.hc-section-heading--split > p,
.hc-section-heading--split > div:last-child > p,
.hc-section-heading--center > p {
  margin: 0;
  color: var(--hc-muted);
  font-size: 14px;
  line-height: 1.7;
}

.hc-section-heading--split > div:last-child .hc-text-link {
  margin-top: 17px;
}

.hc-section-heading--center {
  max-width: 750px;
  margin: 0 auto 52px;
  text-align: center;
}

.hc-section-heading--center > p {
  max-width: 610px;
  margin: 20px auto 0;
}

/* About */
.hc-about {
  overflow: hidden;
  background: var(--hc-paper);
}

.hc-about::before {
  content: "";
  width: 380px;
  height: 380px;
  position: absolute;
  right: -220px;
  top: 160px;
  border: 1px solid rgba(22, 60, 50, 0.08);
  border-radius: 50%;
}

.hc-about__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.65fr);
  align-items: start;
  gap: clamp(55px, 9vw, 145px);
}

.hc-about__copy {
  padding-top: 28px;
}

.hc-about__copy p {
  margin: 0 0 20px;
  color: var(--hc-muted);
  font-size: 14px;
}

.hc-about__copy .hc-lead-copy {
  color: var(--hc-ink);
  font-size: 18px;
  line-height: 1.65;
}

.hc-about__copy .hc-text-link {
  margin-top: 8px;
}

.hc-local-grid {
  margin-top: 94px;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, 0.7fr);
  align-items: center;
  gap: clamp(55px, 8vw, 120px);
}

.hc-local-collage {
  min-height: 530px;
  position: relative;
}

.hc-local-collage__large {
  width: 76%;
  height: 480px;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 180px 180px 28px 28px;
  box-shadow: var(--hc-shadow);
}

.hc-local-collage__small {
  width: 40%;
  height: 270px;
  position: absolute;
  right: 0;
  bottom: 0;
  border: 9px solid var(--hc-paper);
  border-radius: 22px 100px 22px 22px;
  box-shadow: var(--hc-shadow-small);
}

.hc-scenic--courtyard {
  background: linear-gradient(145deg, #516f60 0%, #86a08b 44%, #c7ac7f 45%, #826245 100%);
}

.hc-scenic--courtyard::before {
  width: 48%;
  height: 68%;
  left: 12%;
  bottom: 0;
  border-radius: 90px 90px 0 0;
  background: #e3d5b7;
  box-shadow: 180px 50px 0 12px rgba(65, 83, 65, 0.66);
}

.hc-scenic--courtyard::after {
  width: 34%;
  height: 48%;
  left: 19%;
  bottom: 0;
  border-radius: 70px 70px 0 0;
  background: #456051;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.16);
}

.hc-scenic--mountains {
  background: linear-gradient(165deg, #acc1b2 0 45%, #a98e6c 46% 64%, #6c674e 65%);
}

.hc-scenic--mountains::before {
  width: 160%;
  height: 60%;
  left: -45%;
  bottom: -21%;
  border-radius: 50% 50% 0 0;
  background: #70684f;
  transform: rotate(9deg);
}

.hc-local-collage__large > span,
.hc-local-collage__small > span {
  position: absolute;
  left: 22px;
  bottom: 20px;
  z-index: 2;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.hc-local-collage__badge {
  width: 146px;
  height: 146px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  right: 14%;
  top: 40px;
  z-index: 3;
  border-radius: 50%;
}

.hc-local-collage__badge strong {
  font-family: var(--hc-serif);
  font-size: 43px;
  font-weight: 400;
  line-height: 0.9;
}

.hc-local-collage__badge span {
  margin-top: 9px;
  color: var(--hc-muted);
  font-size: 8px;
  line-height: 1.3;
  text-transform: uppercase;
}

.hc-local-points {
  display: grid;
}

.hc-local-points > div {
  padding: 27px 0;
  display: grid;
  grid-template-columns: 43px 1fr;
  gap: 13px;
  border-bottom: 1px solid var(--hc-line);
}

.hc-local-points > div:first-child { border-top: 1px solid var(--hc-line); }

.hc-local-points > div > span {
  width: 33px;
  height: 33px;
  display: grid;
  place-items: center;
  border: 1px solid var(--hc-line);
  border-radius: 50%;
  color: var(--hc-sage);
  font-size: 8px;
  font-weight: 800;
}

.hc-local-points h3,
.hc-local-points p {
  margin: 0;
}

.hc-local-points h3 {
  font-family: var(--hc-serif);
  font-size: 21px;
  font-weight: 400;
  letter-spacing: -0.02em;
}

.hc-local-points p {
  margin-top: 7px;
  color: var(--hc-muted);
  font-size: 12px;
}

.hc-coverage {
  margin-top: 100px;
  padding: 32px 38px;
  display: grid;
  grid-template-columns: minmax(250px, 0.7fr) minmax(0, 1.3fr);
  gap: 22px 70px;
  border-radius: 22px;
}

.hc-coverage h3 {
  margin: 0;
  font-family: var(--hc-serif);
  font-size: 26px;
  font-weight: 400;
  line-height: 1.15;
}

.hc-coverage ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  gap: 8px;
  list-style: none;
}

.hc-coverage li,
.hc-program-tags span {
  padding: 7px 11px;
  border: 1px solid var(--hc-line);
  border-radius: 999px;
  color: rgba(14, 41, 35, 0.72);
  background: rgba(255, 255, 255, 0.52);
  font-size: 9px;
  font-weight: 700;
}

.hc-coverage small {
  grid-column: 1 / -1;
  padding-top: 14px;
  border-top: 1px solid var(--hc-line);
  color: rgba(14, 41, 35, 0.43);
  font-size: 8px;
}

/* Benefits */
.hc-benefits {
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0, rgba(185, 204, 178, 0.35), transparent 28rem),
    var(--hc-ivory);
}

.hc-benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.hc-benefit-card {
  min-height: 270px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease;
}

.hc-benefit-card:hover {
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 24px 58px rgba(18, 48, 39, 0.14);
  transform: translateY(-5px);
}

.hc-benefit-card header {
  display: flex;
  justify-content: space-between;
  color: var(--hc-sage);
  font-size: 9px;
  font-weight: 800;
}

.hc-benefit-card header i {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  border: 1px solid var(--hc-line);
  border-radius: 50%;
  font-style: normal;
  transition: color 180ms ease, background 180ms ease;
}

.hc-benefit-card:hover header i {
  color: #fff;
  background: var(--hc-forest);
}

.hc-benefit-card h3 {
  margin: auto 0 10px;
  font-family: var(--hc-serif);
  font-size: 23px;
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.hc-benefit-card p {
  margin: 0;
  color: var(--hc-muted);
  font-size: 11px;
  line-height: 1.58;
}

/* Programs */
.hc-programs {
  background: var(--hc-paper);
}

.hc-program-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.hc-program-card {
  overflow: hidden;
  border: 1px solid var(--hc-line);
  border-radius: 22px;
  background: var(--hc-ivory);
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.hc-program-card:hover {
  box-shadow: var(--hc-shadow);
  transform: translateY(-5px);
}

.hc-program-card__media {
  height: 260px;
  padding: 17px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.hc-program-card__media::before {
  width: 150%;
  height: 64%;
  left: -25%;
  bottom: -32%;
  border-radius: 50%;
  background: rgba(41, 62, 50, 0.55);
  box-shadow: 40px -30px 0 rgba(132, 108, 77, 0.58);
}

.hc-program-card--damascus .hc-program-card__media { background: linear-gradient(160deg, #91ab96 0 51%, #cdb48a 52%); }
.hc-program-card--aleppo .hc-program-card__media { background: linear-gradient(150deg, #758a76 0 45%, #ba936b 46% 72%, #70533e 73%); }
.hc-program-card--coast .hc-program-card__media { background: linear-gradient(165deg, #99b5ad 0 48%, #5a8884 49% 68%, #8a7a57 69%); }

.hc-program-card__number {
  color: rgba(255, 255, 255, 0.74);
  font-family: var(--hc-serif);
  font-size: 26px;
}

.hc-program-card__body {
  padding: 24px;
}

.hc-card-meta {
  margin: 0 0 8px;
  color: var(--hc-sage);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hc-program-card h3 {
  margin: 0;
  font-family: var(--hc-serif);
  font-size: 27px;
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.hc-program-card__body > p:not(.hc-card-meta) {
  min-height: 69px;
  margin: 14px 0 21px;
  color: var(--hc-muted);
  font-size: 11px;
  line-height: 1.56;
}

.hc-program-card footer {
  padding-top: 16px;
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 8px;
  border-top: 1px solid var(--hc-line);
}

.hc-program-card footer > span {
  padding: 5px 8px;
  border-radius: 6px;
  color: var(--hc-muted);
  background: rgba(220, 230, 217, 0.55);
  font-size: 7px;
  font-weight: 700;
}

.hc-program-card footer a {
  width: 32px;
  height: 32px;
  justify-self: end;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--hc-forest);
  text-decoration: none;
}

.hc-program-tags {
  margin-top: 25px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

/* Process */
.hc-process {
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 0 100%, rgba(123, 151, 124, 0.36), transparent 32rem),
    linear-gradient(135deg, #20483c, var(--hc-deep));
}

.hc-process::before {
  content: "";
  width: 430px;
  height: 430px;
  position: absolute;
  left: -260px;
  top: -150px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
}

.hc-process__layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.75fr) minmax(0, 1.25fr);
  align-items: start;
  gap: clamp(70px, 11vw, 165px);
}

.hc-process__intro {
  position: sticky;
  top: 120px;
}

.hc-process__intro .hc-kicker { color: #b9caaf; }
.hc-process__intro h2 { color: #fff; }
.hc-process__intro h2 em { color: #b9caaf; }

.hc-process__intro > p:not(.hc-kicker) {
  max-width: 430px;
  margin: 23px 0 27px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 14px;
}

.hc-timeline {
  margin: 0;
  padding: 0;
  position: relative;
  list-style: none;
}

.hc-timeline::before {
  content: "";
  width: 1px;
  position: absolute;
  left: 27px;
  top: 31px;
  bottom: 30px;
  background: linear-gradient(#b9caaf, rgba(255, 255, 255, 0.08));
}

.hc-timeline li {
  min-height: 156px;
  padding: 0 0 37px;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 27px;
  position: relative;
}

.hc-timeline li > span {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  z-index: 2;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  color: #d9e2d3;
  background: rgba(14, 41, 35, 0.64);
  font-size: 9px;
  font-weight: 800;
  backdrop-filter: blur(10px);
}

.hc-timeline li > div {
  padding: 1px 0 27px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.hc-timeline small {
  color: #aecaac;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hc-timeline h3 {
  margin: 7px 0 8px;
  color: #fff;
  font-family: var(--hc-serif);
  font-size: 25px;
  font-weight: 400;
  letter-spacing: -0.025em;
}

.hc-timeline p {
  margin: 0;
  color: rgba(255, 255, 255, 0.55);
  font-size: 11px;
}

/* Portal preview */
.hc-portal-preview {
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 15%, rgba(205, 222, 202, 0.62), transparent 27rem),
    var(--hc-ivory);
}

.hc-dashboard-preview {
  min-height: 600px;
  padding: 11px;
  display: grid;
  grid-template-columns: 185px 1fr;
  overflow: hidden;
  border-radius: 26px;
  transform: perspective(1200px) rotateX(1.5deg);
}

.hc-dashboard-preview > aside {
  padding: 19px 14px;
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(170deg, #275044, #102d27);
}

.hc-dashboard-preview__brand {
  display: flex;
  align-items: center;
  gap: 9px;
}

.hc-dashboard-preview__brand > img { width: 58px; height: 28px; display: block; object-fit: contain; }

.hc-dashboard-preview__brand strong,
.hc-dashboard-preview__brand small { display: block; }
.hc-dashboard-preview__brand strong { font-size: 9px; line-height: 1; }
.hc-dashboard-preview__brand small { margin-top: 4px; color: rgba(255,255,255,.48); font-size: 6px; font-weight: 500; }

.hc-dashboard-preview nav {
  margin-top: 34px;
  display: grid;
  gap: 5px;
}

.hc-dashboard-preview nav a {
  padding: 9px 10px;
  border-radius: 8px;
  color: rgba(255,255,255,.53);
  font-size: 8px;
  font-weight: 650;
}

.hc-dashboard-preview nav .is-active {
  color: #fff;
  background: rgba(255,255,255,.1);
}

.hc-dashboard-preview__help {
  margin-top: auto;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  background: rgba(255,255,255,.05);
}

.hc-dashboard-preview__help > span { color: #b8c9ae; font-size: 15px; font-weight: 800; }
.hc-dashboard-preview__help p { margin: 5px 0 0; color: rgba(255,255,255,.42); font-size: 6px; line-height: 1.4; }
.hc-dashboard-preview__help strong { display: block; color: #fff; font-size: 7px; }

.hc-dashboard-preview__main {
  padding: 29px;
  background: rgba(247, 247, 241, 0.73);
}

.hc-dashboard-preview__main > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.hc-dashboard-preview__main > header p,
.hc-dashboard-preview__main > header h3 { margin: 0; }
.hc-dashboard-preview__main > header p { color: var(--hc-muted); font-size: 8px; }
.hc-dashboard-preview__main > header h3 { margin-top: 3px; font-family: var(--hc-serif); font-size: 20px; font-weight: 400; }
.hc-dashboard-preview__main > header button { padding: 9px 12px; border: 0; border-radius: 8px; color: #fff; background: var(--hc-forest); font-size: 7px; font-weight: 700; }

.hc-preview-metrics {
  margin-top: 25px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
}

.hc-preview-metrics article {
  padding: 15px;
  border: 1px solid var(--hc-line);
  border-radius: 12px;
  background: rgba(255,255,255,.65);
}

.hc-preview-metrics span,
.hc-preview-metrics strong,
.hc-preview-metrics small { display: block; }
.hc-preview-metrics span { color: var(--hc-muted); font-size: 7px; }
.hc-preview-metrics strong { margin: 12px 0 5px; font-family: var(--hc-serif); font-size: 24px; font-weight: 400; }
.hc-preview-metrics small { color: #608265; font-size: 6px; }

.hc-preview-lower {
  margin-top: 11px;
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: 10px;
}

.hc-preview-lower > section {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--hc-line);
  border-radius: 13px;
  background: rgba(255,255,255,.58);
}

.hc-preview-lower section > header {
  display: flex;
  justify-content: space-between;
}

.hc-preview-lower h4 { margin: 0; font-family: var(--hc-serif); font-size: 12px; font-weight: 400; }
.hc-preview-lower header > span { color: var(--hc-sage); font-size: 6px; }

.hc-preview-booking {
  padding: 15px 0;
  display: grid;
  grid-template-columns: 25px 1fr auto;
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid var(--hc-line);
}

.hc-preview-booking > i {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  color: var(--hc-sage);
  background: var(--hc-mist);
  font-size: 7px;
  font-style: normal;
  font-weight: 800;
}

.hc-preview-booking p { margin: 0; line-height: 1.25; }
.hc-preview-booking strong,
.hc-preview-booking p > span { display: block; }
.hc-preview-booking strong { font-size: 7px; }
.hc-preview-booking p > span { margin-top: 3px; color: var(--hc-muted); font-size: 6px; }

.hc-preview-alert {
  padding: 15px 0;
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 9px;
  border-bottom: 1px solid var(--hc-line);
}

.hc-preview-alert > span {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #825928;
  background: #f0e1c5;
  font-size: 7px;
  font-weight: 800;
}

.hc-preview-alert p { margin: 0; color: var(--hc-muted); font-size: 6px; line-height: 1.35; }
.hc-preview-alert strong { display: block; color: var(--hc-ink); font-size: 7px; }

.hc-portal-preview__actions {
  margin-top: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}

/* FAQ and CTA */
.hc-faq {
  background: var(--hc-paper);
}

.hc-faq__grid {
  display: grid;
  grid-template-columns: minmax(280px, .66fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(60px, 10vw, 150px);
}

.hc-faq .hc-section-heading {
  position: sticky;
  top: 120px;
}

.hc-faq .hc-section-heading > p:not(.hc-kicker) {
  margin: 22px 0 18px;
  color: var(--hc-muted);
  font-size: 13px;
}

.hc-accordion details {
  border-bottom: 1px solid var(--hc-line);
}

.hc-accordion details:first-child { border-top: 1px solid var(--hc-line); }

.hc-accordion summary {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  color: var(--hc-deep);
  font-family: var(--hc-serif);
  font-size: 19px;
  cursor: pointer;
  list-style: none;
}

.hc-accordion summary::-webkit-details-marker { display: none; }

.hc-accordion summary span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid var(--hc-line);
  border-radius: 50%;
  color: var(--hc-sage);
  font-family: var(--hc-font);
  font-size: 15px;
  transition: transform 180ms ease;
}

.hc-accordion details[open] summary span { transform: rotate(45deg); }

.hc-accordion details > p {
  max-width: 630px;
  margin: -5px 55px 25px 0;
  color: var(--hc-muted);
  font-size: 12px;
  line-height: 1.65;
}

.hc-final-cta {
  padding: 130px 0;
  position: relative;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, #244c40, var(--hc-deep));
}

.hc-final-cta__shape {
  width: 560px;
  height: 560px;
  position: absolute;
  right: -160px;
  top: -280px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 50%;
  box-shadow: inset 0 0 100px rgba(255,255,255,.025), 0 0 0 80px rgba(255,255,255,.018);
}

.hc-final-cta__inner { position: relative; text-align: center; }
.hc-final-cta .hc-kicker { color: #b8c8af; }
.hc-final-cta h2 { color: #fff; font-size: clamp(55px, 7vw, 95px); }
.hc-final-cta h2 em { color: #b8c8af; }
.hc-final-cta__inner > p:not(.hc-kicker) { max-width: 560px; margin: 25px auto 30px; color: rgba(255,255,255,.6); font-size: 14px; }
.hc-final-cta__inner > div { display: flex; justify-content: center; align-items: center; gap: 25px; }

/* Footer */
.hc-footer {
  padding: 70px 0 24px;
  color: rgba(255,255,255,.62);
  background: #0a221d;
}

.hc-footer__top {
  padding-bottom: 47px;
  display: grid;
  grid-template-columns: auto minmax(240px, 1fr) auto;
  align-items: center;
  gap: clamp(35px, 7vw, 100px);
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.hc-brand--light { color: #fff; }
.hc-brand--light .hc-brand__copy small { color: #a8b99e; }
.hc-footer__top > p { max-width: 500px; margin: 0; font-family: var(--hc-serif); font-size: 20px; line-height: 1.4; }

.hc-footer__grid {
  padding: 45px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 35px;
}

.hc-footer__grid > div { display: grid; align-content: start; gap: 9px; }
.hc-footer__label { margin-bottom: 7px; color: #a9baa1; font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.hc-footer__grid a,
.hc-footer__grid span:not(.hc-footer__label) { font-size: 11px; text-decoration: none; }
.hc-footer__grid a:hover { color: #fff; }

.hc-footer__bottom {
  padding-top: 22px;
  display: grid;
  grid-template-columns: auto minmax(300px, 600px);
  justify-content: space-between;
  gap: 40px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.hc-footer__bottom p { margin: 0; color: rgba(255,255,255,.37); font-size: 8px; line-height: 1.5; }

/* Generic page and archive */
.hc-page-hero {
  padding: calc(var(--hc-header-height) + 90px) 0 80px;
  background: linear-gradient(145deg, #f5f1e7, #e6ede3);
}

.hc-page-hero__inner { max-width: 900px; }
.hc-page-hero h1 { margin: 0; font-family: var(--hc-serif); font-size: clamp(48px, 6vw, 82px); font-weight: 400; letter-spacing: -.05em; line-height: .98; }
.hc-page-hero__inner > p:last-child { max-width: 650px; margin: 20px 0 0; color: var(--hc-muted); }
.hc-page-hero--compact { padding-bottom: 70px; }

.hc-prose {
  max-width: 900px;
  margin-top: -35px;
  margin-bottom: 90px;
  padding: clamp(30px, 5vw, 65px);
  border-radius: 24px;
}

.hc-prose > * { max-width: 720px; margin-right: auto; margin-left: auto; }
.hc-prose h2,
.hc-prose h3 { font-family: var(--hc-serif); font-weight: 400; line-height: 1.12; }
.hc-prose h2 { margin-top: 2em; font-size: 34px; }
.hc-prose h3 { margin-top: 1.7em; font-size: 25px; }
.hc-prose p,
.hc-prose li { color: var(--hc-muted); }
.hc-prose__featured { max-width: none; margin: -30px -30px 45px; overflow: hidden; border-radius: 18px; }

.hc-archive__grid {
  padding: 70px 0 110px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.hc-story-card { overflow: hidden; border-radius: 20px; }
.hc-story-card__media { height: 220px; display: block; overflow: hidden; }
.hc-story-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.hc-story-card:hover img { transform: scale(1.04); }
.hc-story-card__body { padding: 24px; }
.hc-story-card h2 { margin: 0 0 12px; font-family: var(--hc-serif); font-size: 25px; font-weight: 400; line-height: 1.1; }
.hc-story-card h2 a { text-decoration: none; }
.hc-story-card__excerpt { color: var(--hc-muted); font-size: 11px; }
.hc-media-fallback { width: 100%; height: 100%; display: block; position: relative; overflow: hidden; background: linear-gradient(145deg, #8ca38e, #d0b58b); }
.hc-media-fallback i { width: 80%; height: 70%; position: absolute; left: -20%; bottom: -40%; border-radius: 50%; background: #5e6c54; }
.hc-media-fallback i:last-child { left: 35%; bottom: -48%; background: #867054; }
.hc-pagination { grid-column: 1 / -1; margin-top: 30px; }
.hc-empty-state { grid-column: 1 / -1; padding: 70px 30px; border-radius: 22px; text-align: center; }
.hc-empty-state__mark { width: 56px; height: 56px; margin: 0 auto 20px; display: grid; place-items: center; border-radius: 18px 18px 18px 6px; color: #fff; background: var(--hc-forest); font-family: var(--hc-serif); }
.hc-empty-state h2 { margin: 0; font-family: var(--hc-serif); font-size: 34px; font-weight: 400; }
.hc-empty-state p { color: var(--hc-muted); }

.hc-js [data-hc-reveal] {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 600ms ease, transform 600ms ease;
}

.hc-js [data-hc-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

/* Partner application */
.hc-application-page {
  min-height: 100svh;
  padding: calc(var(--hc-header-height) + 38px) 0 38px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 5% 20%, rgba(197, 215, 193, .72), transparent 30rem),
    radial-gradient(circle at 95% 82%, rgba(225, 205, 166, .32), transparent 31rem),
    linear-gradient(145deg, #f6f3ea, #e8eee5 56%, #f4eee3);
}

.hc-application-page__orb {
  position: absolute;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 50%;
  pointer-events: none;
}

.hc-application-page__orb--one { width: 390px; height: 390px; left: -245px; top: 31%; }
.hc-application-page__orb--two { width: 210px; height: 210px; right: -85px; top: 100px; background: rgba(255,255,255,.16); }

.hc-application-layout {
  min-height: calc(100svh - var(--hc-header-height) - 76px);
  display: grid;
  grid-template-columns: minmax(280px, .7fr) minmax(620px, 1.3fr);
  align-items: start;
  gap: clamp(42px, 7vw, 105px);
  position: relative;
}

.hc-application-intro {
  min-height: calc(100svh - var(--hc-header-height) - 90px);
  padding: clamp(42px, 8vh, 86px) 0 20px;
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 78px;
}

.hc-application-intro h1 {
  margin: 0;
  font-family: var(--hc-serif);
  font-size: clamp(48px, 5vw, 72px);
  font-weight: 400;
  letter-spacing: -.05em;
  line-height: .98;
}

.hc-application-intro > div > p:last-child {
  max-width: 500px;
  margin: 24px 0 0;
  color: var(--hc-muted);
  font-size: 14px;
}

.hc-application-benefits {
  margin: 39px 0;
  padding: 0;
  display: grid;
  gap: 18px;
  list-style: none;
}

.hc-application-benefits li {
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: start;
  gap: 12px;
}

.hc-application-benefits li > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid var(--hc-line);
  border-radius: 50%;
  color: var(--hc-sage);
  background: rgba(255,255,255,.3);
  font-size: 8px;
  font-weight: 800;
}

.hc-application-benefits p,
.hc-privacy-note p { margin: 0; color: var(--hc-muted); font-size: 10px; line-height: 1.45; }
.hc-application-benefits strong,
.hc-privacy-note strong { display: block; margin-bottom: 2px; color: var(--hc-deep); font-size: 12px; }

.hc-privacy-note {
  margin-top: auto;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: 13px 1fr;
  gap: 12px;
  border-radius: 16px;
}

.hc-privacy-note > span,
.hc-login-card__note > span {
  width: 10px;
  height: 12px;
  margin-top: 4px;
  border: 1.5px solid var(--hc-sage);
  border-radius: 2px 2px 5px 5px;
  position: relative;
}

.hc-privacy-note > span::before,
.hc-login-card__note > span::before {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  left: 50%;
  top: -6px;
  border: 1.5px solid var(--hc-sage);
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  transform: translateX(-50%);
}

.hc-application-card {
  min-height: calc(100svh - var(--hc-header-height) - 76px);
  overflow: hidden;
  border-radius: 28px;
}

.hc-application-card__mobile-title { display: none; }

.hc-wizard-progress {
  padding: 24px clamp(24px, 4vw, 48px) 19px;
  position: relative;
  border-bottom: 1px solid var(--hc-line);
  background: rgba(255,255,255,.16);
}

.hc-wizard-progress__line {
  height: 2px;
  position: absolute;
  left: clamp(48px, 6vw, 75px);
  right: clamp(48px, 6vw, 75px);
  top: 41px;
  overflow: hidden;
  background: rgba(22,60,50,.1);
}

.hc-wizard-progress__line span {
  width: 0;
  height: 100%;
  display: block;
  background: var(--hc-sage);
  transition: width .3s ease;
}

.hc-wizard-progress ol {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  position: relative;
  list-style: none;
}

.hc-wizard-progress li { display: flex; justify-content: center; }
.hc-wizard-progress button { min-width: 66px; padding: 0; display: grid; justify-items: center; gap: 7px; border: 0; color: rgba(14,41,35,.42); background: none; cursor: pointer; }
.hc-wizard-progress button:disabled { cursor: default; }
.hc-wizard-progress button > span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--hc-line); border-radius: 50%; background: rgba(251,250,246,.96); box-shadow: 0 4px 12px rgba(22,60,50,.05); font-size: 9px; font-weight: 800; }
.hc-wizard-progress button small { font-size: 8px; font-weight: 750; }
.hc-wizard-progress li.is-active button,
.hc-wizard-progress li.is-complete button { color: var(--hc-forest); }
.hc-wizard-progress li.is-active button > span { color: #fff; border-color: var(--hc-forest); background: var(--hc-forest); box-shadow: 0 7px 18px rgba(22,60,50,.2); }
.hc-wizard-progress li.is-complete button > span { color: #fff; border-color: var(--hc-sage); background: var(--hc-sage); }

.hc-form-alert { margin: 24px 52px 0; padding: 13px 15px; border: 1px solid rgba(174,101,82,.24); border-radius: 10px; color: #85493c; background: rgba(174,101,82,.09); font-size: 10px; }
.hc-form-alert strong { display: block; }

.hc-form-step {
  padding: clamp(32px, 5vw, 54px) clamp(25px, 5vw, 62px) 26px;
  animation: hc-step-in .25s ease both;
}

@keyframes hc-step-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.hc-form-step__heading { margin-bottom: 29px; }
.hc-form-step__heading > span { color: var(--hc-sand); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.hc-form-step__heading h2 { margin: 5px 0 5px; font-family: var(--hc-serif); font-size: clamp(29px, 3vw, 39px); font-weight: 400; letter-spacing: -.03em; line-height: 1.05; }
.hc-form-step__heading p { margin: 0; color: var(--hc-muted); font-size: 10px; }

.hc-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.hc-form-grid label,
.hc-field-block,
.hc-settlement-form > label { min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.hc-form-grid label > span,
.hc-field-block > span,
.hc-settlement-form label > span,
.hc-choice-fieldset legend { color: var(--hc-deep); font-size: 9px; font-weight: 750; }
.hc-form-grid input,
.hc-form-grid select,
.hc-form-grid textarea,
.hc-field-block textarea,
.hc-settlement-form input,
.hc-settlement-form select,
.hc-settlement-form textarea,
.hc-login-card input[type="text"],
.hc-login-card input[type="password"] {
  width: 100%;
  min-height: 44px;
  padding: 11px 13px;
  outline: 0;
  border: 1px solid rgba(22,60,50,.15);
  border-radius: 10px;
  color: var(--hc-deep);
  background: rgba(255,255,255,.68);
  font-size: 11px;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.hc-form-grid textarea,
.hc-field-block textarea,
.hc-settlement-form textarea { min-height: 96px; resize: vertical; }
.hc-form-grid input:focus,
.hc-form-grid select:focus,
.hc-form-grid textarea:focus,
.hc-field-block textarea:focus,
.hc-settlement-form :is(input,select,textarea):focus,
.hc-login-card :is(input[type="text"],input[type="password"]):focus { border-color: var(--hc-sage); background: #fff; box-shadow: 0 0 0 3px rgba(92,118,95,.12); }
.hc-form-grid small { color: rgba(14,41,35,.45); font-size: 8px; }
.hc-field--wide { grid-column: 1 / -1; }
.hc-form-step [aria-invalid="true"],
.hc-form-step .is-invalid { border-color: var(--hc-terracotta) !important; box-shadow: 0 0 0 3px rgba(174,101,82,.08) !important; }

.hc-form-divider { height: 1px; margin: 30px 0 27px; position: relative; background: var(--hc-line); }
.hc-form-divider span { padding-right: 11px; position: absolute; left: 0; top: 50%; color: var(--hc-sage); background: #f6f6ef; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; transform: translateY(-50%); }

.hc-choice-fieldset { min-width: 0; margin: 0 0 28px; padding: 0; border: 0; }
.hc-choice-fieldset > p { margin: 4px 0 13px; color: rgba(14,41,35,.45); font-size: 8px; }
.hc-choice-fieldset.is-invalid { padding: 9px; margin: -9px -9px 19px; border-radius: 12px; box-shadow: 0 0 0 3px rgba(174,101,82,.08); }
.hc-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.hc-choice,
.hc-check { min-height: 41px; padding: 9px 11px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--hc-line); border-radius: 10px; color: rgba(14,41,35,.72); background: rgba(255,255,255,.48); font-size: 9px; font-weight: 650; cursor: pointer; }
.hc-choice input,
.hc-check input { width: 1px; height: 1px; position: absolute; opacity: 0; }
.hc-choice > span,
.hc-check > span { width: 16px; height: 16px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(22,60,50,.24); border-radius: 4px; background: #fff; }
.hc-choice > span::after,
.hc-check > span::after { content: ""; width: 7px; height: 4px; border-left: 1.5px solid #fff; border-bottom: 1.5px solid #fff; opacity: 0; transform: translateY(-1px) rotate(-45deg); }
.hc-choice:has(input:checked),
.hc-check:has(input:checked) { border-color: rgba(92,118,95,.4); background: rgba(220,230,217,.56); }
.hc-choice input:checked + span,
.hc-check input:checked + span { border-color: var(--hc-sage); background: var(--hc-sage); }
.hc-choice input:checked + span::after,
.hc-check input:checked + span::after { opacity: 1; }

.hc-upload-list { display: grid; gap: 10px; margin-bottom: 23px; }
.hc-upload { min-height: 70px; padding: 13px 15px; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 12px; border: 1px dashed rgba(22,60,50,.22); border-radius: 13px; background: rgba(255,255,255,.43); cursor: pointer; }
.hc-upload:hover { border-color: var(--hc-sage); background: rgba(255,255,255,.73); }
.hc-upload input { width: 1px; height: 1px; position: absolute; opacity: 0; }
.hc-upload > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: var(--hc-sage); background: var(--hc-mist); font-family: var(--hc-serif); font-size: 19px; }
.hc-upload p { min-width: 0; margin: 0; line-height: 1.25; }
.hc-upload strong,
.hc-upload small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hc-upload strong { font-size: 10px; }
.hc-upload small { margin-top: 4px; color: var(--hc-muted); font-size: 8px; }
.hc-upload > i { color: var(--hc-sage); font-size: 8px; font-style: normal; font-weight: 750; text-decoration: underline; }
.hc-upload.has-file { border-style: solid; border-color: rgba(92,118,95,.4); background: rgba(220,230,217,.38); }

.hc-form-note { margin-top: 20px; padding: 13px 15px; display: grid; grid-template-columns: 23px 1fr; gap: 10px; border: 1px solid rgba(199,165,109,.24); border-radius: 12px; background: rgba(235,219,190,.23); }
.hc-form-note > span { width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid rgba(121,88,42,.28); border-radius: 50%; color: #80623c; font-family: var(--hc-serif); font-size: 10px; font-style: italic; }
.hc-form-note p { margin: 0; color: rgba(96,72,39,.68); font-size: 8px; line-height: 1.45; }
.hc-form-note strong { display: block; color: #614b2d; font-size: 9px; }

.hc-review-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.hc-review-grid > section { padding: 15px; border: 1px solid var(--hc-line); border-radius: 12px; background: rgba(255,255,255,.42); }
.hc-review-grid header { display: flex; align-items: center; gap: 8px; margin-bottom: 11px; }
.hc-review-grid header span { width: 23px; height: 23px; display: grid; place-items: center; border: 1px solid var(--hc-line); border-radius: 50%; color: var(--hc-sage); font-size: 7px; font-weight: 800; }
.hc-review-grid h3 { margin: 0; font-size: 10px; }
.hc-review-grid dl { margin: 0; display: grid; gap: 7px; }
.hc-review-grid dl div { display: grid; grid-template-columns: 72px 1fr; gap: 7px; }
.hc-review-grid dt,
.hc-review-grid dd { margin: 0; font-size: 8px; overflow-wrap: anywhere; }
.hc-review-grid dt { color: rgba(14,41,35,.42); }
.hc-review-grid dd { color: var(--hc-ink); font-weight: 650; }

.hc-consent-box { margin-top: 19px; padding: 15px; display: grid; gap: 8px; border: 1px solid var(--hc-line); border-radius: 12px; background: rgba(220,230,217,.24); }
.hc-check { min-height: auto; padding: 0; border: 0; background: transparent !important; font-weight: 500; }
.hc-check p { margin: 0; color: var(--hc-muted); font-size: 8px; line-height: 1.45; }

.hc-form-actions { margin: 5px clamp(25px,5vw,62px) 0; padding: 20px 0 25px; display: flex; justify-content: space-between; gap: 14px; border-top: 1px solid var(--hc-line); }
.hc-form-back { min-height: 45px; padding: 11px 17px; border: 1px solid var(--hc-line); border-radius: 11px; color: var(--hc-sage); background: rgba(255,255,255,.5); font-size: 10px; font-weight: 750; cursor: pointer; }
.hc-form-back:disabled { opacity: 0; pointer-events: none; }
.hc-form-next,
.hc-form-submit { min-width: 145px; }

.hc-application-result { min-height: calc(100svh - var(--hc-header-height) - 76px); display: grid; place-items: center; }
.hc-result-card { max-width: 780px; padding: clamp(40px,7vw,70px); border-radius: 28px; text-align: center; }
.hc-result-card__seal { width: 62px; height: 62px; margin: 0 auto 22px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg,var(--hc-sage),var(--hc-deep)); box-shadow: 0 14px 30px rgba(22,60,50,.2), 0 0 0 8px rgba(92,118,95,.08); }
.hc-result-card__seal span { width: 21px; height: 10px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: translateY(-3px) rotate(-45deg); }
.hc-result-card h1 { margin: 0; font-family: var(--hc-serif); font-size: clamp(42px,6vw,62px); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.hc-result-card > p:not(.hc-kicker) { max-width: 570px; margin: 19px auto; color: var(--hc-muted); font-size: 12px; }
.hc-reference-card { max-width: 470px; margin: 25px auto; padding: 17px; display: flex; flex-direction: column; gap: 5px; border: 1px solid var(--hc-line); border-radius: 14px; background: rgba(220,230,217,.4); }
.hc-reference-card span,
.hc-reference-card small { color: var(--hc-muted); font-size: 8px; }
.hc-reference-card span { font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hc-reference-card strong { color: var(--hc-forest); font-size: 23px; letter-spacing: .08em; }
.hc-result-steps { margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; list-style: none; text-align: left; }
.hc-result-steps li { padding: 14px; display: grid; grid-template-columns: 23px 1fr; gap: 8px; border-top: 1px solid var(--hc-line); }
.hc-result-steps li > span { color: var(--hc-sand); font-size: 8px; font-weight: 800; }
.hc-result-steps p { margin: 0; color: var(--hc-muted); font-size: 8px; line-height: 1.45; }
.hc-result-steps strong { display: block; margin-bottom: 2px; color: var(--hc-deep); font-size: 9px; }

/* Partner portal: isolated application shell */
.page-template-page-templates-partner-portal-php .hc-header,
.page-template-page-templates-partner-portal-php .hc-footer { display: none; }
.page-template-page-templates-partner-portal-php { background: #eef1eb; }

.hc-portal-login { min-height: 100svh; display: grid; grid-template-columns: minmax(420px,1.05fr) minmax(440px,.95fr); background: var(--hc-paper); }
.hc-portal-login__visual { padding: 44px clamp(35px,6vw,85px); display: flex; flex-direction: column; position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 100% 0, rgba(160,187,157,.32), transparent 28rem), linear-gradient(145deg,#275044,var(--hc-deep)); }
.hc-portal-login__visual::after { content: ""; width: 470px; height: 470px; position: absolute; left: -260px; bottom: -200px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.018); }
.hc-portal-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--hc-forest); text-decoration: none; }
.hc-portal-brand > span { width: 36px; height: 36px; border-radius: 12px 12px 12px 4px; }
.hc-portal-brand strong { font-size: 12px; }
.hc-portal-brand small { margin-top: 4px; color: var(--hc-sage); font-size: 7px; font-weight: 500; }
.hc-portal-brand--light { color: #fff; }
.hc-portal-brand--light small { color: rgba(255,255,255,.48); }
.hc-portal-login__story { max-width: 680px; margin: auto 0; position: relative; z-index: 2; }
.hc-portal-login__story .hc-kicker { color: #b8caaf; }
.hc-portal-login__story h1 { margin: 0; font-family: var(--hc-serif); font-size: clamp(50px,6vw,82px); font-weight: 400; letter-spacing: -.05em; line-height: .98; }
.hc-login-route { max-width: 430px; margin-top: 40px; display: flex; align-items: center; }
.hc-login-route span { color: rgba(255,255,255,.68); font-size: 8px; font-weight: 700; }
.hc-login-route span::before { content: ""; width: 7px; height: 7px; margin-right: 5px; display: inline-block; border: 1px solid #b8caaf; border-radius: 50%; }
.hc-login-route i { height: 1px; flex: 1; margin: 0 7px; background: rgba(255,255,255,.16); }
.hc-portal-login__foot { margin: 0; color: rgba(255,255,255,.4); font-size: 8px; }
.hc-portal-login__form { padding: 55px clamp(35px,7vw,100px); display: grid; place-items: center; }
.hc-login-card { width: min(430px,100%); }
.hc-login-card h2 { margin: 0; font-family: var(--hc-serif); font-size: 48px; font-weight: 400; letter-spacing: -.04em; }
.hc-login-card > p:not(.hc-kicker) { margin: 9px 0 28px; color: var(--hc-muted); font-size: 11px; }
.hc-login-card form p { margin: 0 0 15px; }
.hc-login-card form label { display: block; margin-bottom: 7px; color: var(--hc-deep); font-size: 9px; font-weight: 700; }
.hc-login-card .login-remember label { display: flex; align-items: center; gap: 7px; color: var(--hc-muted); font-weight: 500; }
.hc-login-card .login-submit input { width: 100%; min-height: 48px; border: 0; border-radius: 11px; color: #fff; background: var(--hc-forest); font-size: 10px; font-weight: 750; cursor: pointer; }
.hc-login-card__links { display: flex; justify-content: space-between; gap: 20px; }
.hc-login-card__links a { color: var(--hc-sage); font-size: 8px; font-weight: 700; }
.hc-login-card__note { margin-top: 30px; padding: 14px; display: grid; grid-template-columns: 12px 1fr; gap: 10px; border: 1px solid var(--hc-line); border-radius: 12px; background: rgba(220,230,217,.26); }
.hc-login-card__note p { margin: 0; color: var(--hc-muted); font-size: 8px; }
.hc-login-card__note strong { display: block; color: var(--hc-deep); font-size: 9px; }

.hc-partner-portal { min-height: 100svh; padding-left: 238px; color: #17322b; background: #eef1eb; }
.hc-portal-sidebar { width: 238px; padding: 25px 16px 16px; display: flex; flex-direction: column; position: fixed; z-index: 100; inset: 0 auto 0 0; color: #fff; background: linear-gradient(175deg,#234c40,#0e2923); box-shadow: 12px 0 35px rgba(14,41,35,.08); }
.hc-portal-sidebar .hc-portal-brand { padding: 0 8px 23px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.09); }
.hc-portal-sidebar .hc-portal-brand small { color: rgba(255,255,255,.45); }
.hc-portal-sidebar nav { margin-top: 23px; display: grid; gap: 4px; }
.hc-portal-sidebar nav button { min-height: 40px; padding: 9px 10px; display: grid; grid-template-columns: 23px 1fr auto; align-items: center; gap: 8px; border: 0; border-radius: 9px; color: rgba(255,255,255,.54); background: transparent; font-size: 9px; font-weight: 650; text-align: left; cursor: pointer; }
.hc-portal-sidebar nav button:hover,
.hc-portal-sidebar nav button.is-active { color: #fff; background: rgba(255,255,255,.1); }
.hc-portal-sidebar nav button > span { color: rgba(187,207,178,.68); font-size: 7px; }
.hc-portal-sidebar nav button > i { min-width: 19px; min-height: 19px; padding: 4px; display: grid; place-items: center; border-radius: 6px; color: #b9caaf; background: rgba(255,255,255,.08); font-size: 7px; font-style: normal; }
.hc-portal-sidebar nav .hc-portal-sidebar__alert { color: #fff; background: var(--hc-terracotta); }
.hc-portal-sidebar__support { margin-top: auto; padding: 15px; border: 1px solid rgba(255,255,255,.09); border-radius: 13px; background: rgba(255,255,255,.05); }
.hc-portal-sidebar__support > span { color: #b8caaf; font-size: 17px; font-weight: 800; }
.hc-portal-sidebar__support p { margin: 5px 0 10px; color: rgba(255,255,255,.45); font-size: 7px; line-height: 1.45; }
.hc-portal-sidebar__support strong { display: block; color: #fff; font-size: 9px; }
.hc-portal-sidebar__support a { color: #b8caaf; font-size: 8px; font-weight: 700; text-decoration: none; }
.hc-portal-sidebar__user { margin-top: 13px; padding: 13px 7px 0; display: grid; grid-template-columns: 31px 1fr auto; align-items: center; gap: 8px; border-top: 1px solid rgba(255,255,255,.08); }
.hc-portal-sidebar__user > span,
.hc-user-avatar { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; color: #fff; background: #6c856f; font-size: 8px; font-weight: 800; }
.hc-portal-sidebar__user p { min-width: 0; margin: 0; overflow: hidden; color: rgba(255,255,255,.4); font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
.hc-portal-sidebar__user strong { display: block; overflow: hidden; color: #fff; font-size: 8px; text-overflow: ellipsis; }
.hc-portal-sidebar__user > a { color: rgba(255,255,255,.5); text-decoration: none; }

.hc-portal-content { min-width: 0; }
.hc-portal-topbar { height: 68px; padding: 0 clamp(22px,3vw,42px); display: flex; align-items: center; justify-content: space-between; gap: 22px; position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(22,60,50,.09); background: rgba(244,246,241,.82); backdrop-filter: blur(20px); }
.hc-portal-menu { display: none; }
.hc-portal-search { width: min(460px,48vw); position: relative; }
.hc-portal-search > span,
.hc-catalog-search > span { width: 12px; height: 12px; position: absolute; left: 12px; top: 50%; border: 1.5px solid var(--hc-sage); border-radius: 50%; transform: translateY(-56%); }
.hc-portal-search > span::after,
.hc-catalog-search > span::after { content: ""; width: 5px; height: 1.5px; position: absolute; right: -4px; bottom: -2px; background: var(--hc-sage); transform: rotate(45deg); }
.hc-portal-search input { width: 100%; min-height: 38px; padding: 9px 12px 9px 34px; outline: 0; border: 1px solid var(--hc-line); border-radius: 10px; color: var(--hc-deep); background: rgba(255,255,255,.55); font-size: 9px; }
.hc-portal-topbar__actions { display: flex; align-items: center; gap: 15px; }
.hc-portal-topbar__actions > a { color: var(--hc-sage); font-size: 8px; font-weight: 700; text-decoration: none; }
.hc-portal-topbar__actions > button { width: 34px; height: 34px; display: grid; place-items: center; position: relative; border: 1px solid var(--hc-line); border-radius: 9px; background: rgba(255,255,255,.55); }
.hc-portal-topbar__actions > button i { width: 14px; height: 14px; display: grid; place-items: center; position: absolute; right: -4px; top: -4px; border: 2px solid #eef1eb; border-radius: 50%; color: #fff; background: var(--hc-terracotta); font-size: 6px; font-style: normal; }
.hc-notification-bell { width: 11px; height: 13px; border: 1.5px solid var(--hc-sage); border-radius: 7px 7px 3px 3px; }

.hc-portal-view { padding: 34px clamp(22px,3.5vw,48px) 55px; }
.hc-portal-view[hidden] { display: none !important; }
.hc-portal-view.is-active { animation: hc-view-in .25s ease both; }
@keyframes hc-view-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.hc-portal-page-heading { margin-bottom: 27px; display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.hc-portal-page-heading h1 { margin: 0; font-family: var(--hc-serif); font-size: clamp(36px,4vw,53px); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.hc-portal-page-heading > div:first-child > p:last-child { margin: 8px 0 0; color: var(--hc-muted); font-size: 10px; }
.hc-portal-page-heading > div:last-child { display: flex; gap: 9px; }
.hc-portal-secondary-button { min-height: 44px; padding: 10px 15px; border: 1px solid var(--hc-line); border-radius: 10px; color: var(--hc-forest); background: rgba(255,255,255,.58); font-size: 9px; font-weight: 750; cursor: pointer; }
.hc-draft-pill { padding: 8px 11px; border: 1px solid var(--hc-line); border-radius: 999px; color: var(--hc-sage); background: rgba(255,255,255,.48); font-size: 8px; font-weight: 700; }

.hc-portal-metrics,
.hc-traveler-summary,
.hc-settlement-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.hc-portal-metrics article,
.hc-traveler-summary article,
.hc-settlement-summary article { min-width: 0; padding: 18px; border: 1px solid rgba(22,60,50,.1); border-radius: 14px; background: rgba(255,255,255,.62); box-shadow: 0 8px 24px rgba(22,60,50,.04); }
.hc-portal-metrics header { display: flex; justify-content: space-between; color: var(--hc-muted); font-size: 8px; }
.hc-portal-metrics header i { color: rgba(22,60,50,.32); font-style: normal; }
.hc-portal-metrics article > strong,
.hc-traveler-summary strong,
.hc-settlement-summary strong { margin: 15px 0 9px; display: block; font-family: var(--hc-serif); font-size: 28px; font-weight: 400; line-height: 1; }
.hc-portal-metrics footer { display: flex; justify-content: space-between; color: var(--hc-muted); font-size: 7px; }
.hc-portal-metrics footer b { color: #5d7e63; }
.hc-traveler-summary,
.hc-settlement-summary { grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 18px; }
.hc-traveler-summary span,
.hc-settlement-summary span { color: var(--hc-muted); font-size: 8px; }
.hc-traveler-summary small,
.hc-settlement-summary small { color: var(--hc-muted); font-size: 7px; }

.hc-portal-dashboard-grid { margin-top: 13px; display: grid; grid-template-columns: minmax(0,1.48fr) minmax(270px,.52fr); gap: 12px; }
.hc-portal-panel { min-width: 0; padding: 20px; border: 1px solid rgba(22,60,50,.1); border-radius: 15px; background: rgba(255,255,255,.61); box-shadow: 0 9px 28px rgba(22,60,50,.045); }
.hc-portal-panel > header { margin-bottom: 15px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.hc-portal-panel > header h2 { margin: 0; font-family: var(--hc-serif); font-size: 21px; font-weight: 400; }
.hc-portal-panel > header button,
.hc-panel-link { padding: 0; border: 0; color: var(--hc-sage); background: none; font-size: 8px; font-weight: 700; cursor: pointer; }

.hc-booking-list { display: grid; }
.hc-booking-list article { padding: 16px 0; display: grid; grid-template-columns: 42px minmax(170px,1fr) minmax(220px,.8fr) 29px; align-items: center; gap: 13px; border-bottom: 1px solid var(--hc-line); }
.hc-booking-list time { width: 39px; height: 44px; padding: 5px; display: grid; place-items: center; border-radius: 9px; color: var(--hc-sage); background: var(--hc-mist); font-size: 7px; font-weight: 800; line-height: 1; }
.hc-booking-list time strong { display: block; font-family: var(--hc-serif); font-size: 17px; font-weight: 400; }
.hc-booking-list h3 { margin: 5px 0 2px; font-family: var(--hc-serif); font-size: 15px; font-weight: 400; }
.hc-booking-list article > div > p { margin: 0; color: var(--hc-muted); font-size: 7px; }
.hc-booking-list ul { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; list-style: none; }
.hc-booking-list li { color: var(--hc-ink); font-size: 7px; font-weight: 650; }
.hc-booking-list li span { display: block; color: var(--hc-muted); font-size: 6px; font-weight: 500; }
.hc-booking-list article > button { width: 28px; height: 28px; border: 1px solid var(--hc-line); border-radius: 8px; color: var(--hc-sage); background: rgba(255,255,255,.7); }

.hc-portal-attention > header > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; color: #fff; background: var(--hc-terracotta); font-size: 8px; font-weight: 800; }
.hc-attention-item { padding: 14px 0; display: grid; grid-template-columns: 29px 1fr; gap: 9px; border-bottom: 1px solid var(--hc-line); }
.hc-attention-item > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: #6a604f; background: #e8e1d4; font-size: 8px; font-weight: 800; }
.hc-attention-item.is-urgent > span { color: #884c3d; background: #efdbd5; }
.hc-attention-item.is-success > span { color: #37624a; background: #dcead9; }
.hc-attention-item p { margin: 0; color: var(--hc-muted); font-size: 8px; line-height: 1.4; }
.hc-attention-item strong,
.hc-attention-item small { display: block; }
.hc-attention-item strong { color: var(--hc-deep); font-size: 9px; }
.hc-attention-item small { margin-top: 3px; color: rgba(14,41,35,.39); font-size: 7px; }
.hc-panel-link { width: 100%; margin-top: 14px; text-align: left; }
.hc-backend-notices > * { margin: 0 0 9px; padding: 11px; border: 1px solid var(--hc-line); border-radius: 9px; color: var(--hc-muted); background: rgba(255,255,255,.55); font-size: 8px; }

.hc-catalog-toolbar { margin-bottom: 15px; padding: 10px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--hc-line); border-radius: 13px; background: rgba(255,255,255,.55); }
.hc-catalog-search { min-width: 220px; flex: 1; position: relative; }
.hc-catalog-search input { width: 100%; min-height: 38px; padding: 9px 11px 9px 34px; outline: 0; border: 1px solid var(--hc-line); border-radius: 9px; background: rgba(255,255,255,.72); font-size: 9px; }
.hc-catalog-toolbar select { min-height: 38px; padding: 8px 28px 8px 10px; border: 1px solid var(--hc-line); border-radius: 9px; color: var(--hc-muted); background: rgba(255,255,255,.7); font-size: 8px; }
.hc-catalog-toolbar > button { padding: 8px 10px; border: 0; color: var(--hc-sage); background: none; font-size: 8px; font-weight: 700; cursor: pointer; }
.hc-partner-catalog { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.hc-catalog-card { min-width: 0; overflow: hidden; border: 1px solid var(--hc-line); border-radius: 16px; background: rgba(255,255,255,.63); transition: transform .18s ease, box-shadow .18s ease; }
.hc-catalog-card:hover { box-shadow: 0 17px 42px rgba(22,60,50,.1); transform: translateY(-3px); }
.hc-catalog-card__media { height: 155px; padding: 12px; display: flex; align-items: flex-start; justify-content: space-between; position: relative; overflow: hidden; background: linear-gradient(155deg,#8da58f,#c6ad83); }
.hc-catalog-card__media::before { content: ""; width: 150%; height: 70%; position: absolute; left: -30%; bottom: -45%; border-radius: 50%; background: rgba(47,75,57,.58); box-shadow: 60px -24px 0 rgba(128,100,70,.48); }
.hc-catalog-card__media--2 { background: linear-gradient(155deg,#778f7e,#b99168); }
.hc-catalog-card__media--3 { background: linear-gradient(160deg,#9fb7ad,#648b84); }
.hc-catalog-card__media--4 { background: linear-gradient(150deg,#a3aa91,#c19a72); }
.hc-catalog-card__media > span,
.hc-catalog-card__media > i { position: relative; z-index: 2; }
.hc-catalog-card__media > span { color: rgba(255,255,255,.8); font-size: 8px; font-weight: 800; }
.hc-catalog-card__body { padding: 17px; }
.hc-catalog-card h2 { margin: 0; font-family: var(--hc-serif); font-size: 21px; font-weight: 400; line-height: 1.06; }
.hc-catalog-card__body > p:not(.hc-card-meta) { min-height: 50px; margin: 10px 0 13px; color: var(--hc-muted); font-size: 8px; line-height: 1.5; }
.hc-catalog-card dl { margin: 0; padding: 11px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; border-top: 1px solid var(--hc-line); border-bottom: 1px solid var(--hc-line); }
.hc-catalog-card dl div { min-width: 0; }
.hc-catalog-card dt,
.hc-catalog-card dd { margin: 0; font-size: 7px; }
.hc-catalog-card dt { color: var(--hc-muted); }
.hc-catalog-card dd { overflow: hidden; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.hc-catalog-card footer { padding-top: 13px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.hc-catalog-card footer p { margin: 0; }
.hc-catalog-card footer p span,
.hc-catalog-card footer p strong { display: block; }
.hc-catalog-card footer p span { color: var(--hc-muted); font-size: 7px; }
.hc-catalog-card footer p strong { font-size: 12px; }
.hc-add-builder { display: inline-flex; align-items: center; gap: 6px; color: var(--hc-sage); font-size: 8px; font-weight: 750; cursor: pointer; }
.hc-add-builder input { width: 1px; height: 1px; position: absolute; opacity: 0; }
.hc-add-builder > span { width: 23px; height: 23px; display: grid; place-items: center; border: 1px solid var(--hc-line); border-radius: 7px; background: #fff; font-size: 13px; }
.hc-add-builder:has(input:checked) > span { color: #fff; border-color: var(--hc-sage); background: var(--hc-sage); }
.hc-catalog-empty { padding: 70px 25px; border: 1px dashed var(--hc-line); border-radius: 15px; text-align: center; }
.hc-catalog-empty > span { width: 43px; height: 43px; margin: 0 auto 12px; display: grid; place-items: center; border-radius: 50%; color: var(--hc-sage); background: var(--hc-mist); }
.hc-catalog-empty h2 { margin: 0; font-family: var(--hc-serif); font-weight: 400; }
.hc-catalog-empty p { color: var(--hc-muted); font-size: 9px; }

.hc-activity-catalog { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.hc-activity-card { min-width: 0; padding: 17px; border: 1px solid var(--hc-line); border-radius: 15px; background: rgba(255,255,255,.62); }
.hc-activity-card > header { display: flex; align-items: center; justify-content: space-between; }
.hc-activity-card > header > span { color: var(--hc-sage); font-family: var(--hc-serif); font-size: 18px; }
.hc-activity-card .hc-card-meta { margin-top: 27px; }
.hc-activity-card h2 { min-height: 44px; margin: 0; font-family: var(--hc-serif); font-size: 19px; font-weight: 400; line-height: 1.08; }
.hc-activity-card dl { margin: 18px 0; padding: 11px 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--hc-line); border-bottom: 1px solid var(--hc-line); }
.hc-activity-card dt,
.hc-activity-card dd { margin: 0; font-size: 7px; }
.hc-activity-card dt { color: var(--hc-muted); }
.hc-activity-card dd { font-weight: 700; }
.hc-activity-card footer { display: flex; align-items: center; justify-content: space-between; }
.hc-activity-card footer small { color: var(--hc-muted); font-size: 7px; }

.hc-builder-layout { display: grid; grid-template-columns: minmax(0,1fr) 285px; align-items: start; gap: 15px; }
.hc-builder-form { display: grid; gap: 12px; }
.hc-builder-section { padding: 22px; border: 1px solid var(--hc-line); border-radius: 15px; background: rgba(255,255,255,.62); }
.hc-builder-section > header { margin-bottom: 19px; display: grid; grid-template-columns: 31px 1fr; gap: 10px; }
.hc-builder-section > header > span { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid var(--hc-line); border-radius: 50%; color: var(--hc-sage); font-size: 8px; font-weight: 800; }
.hc-builder-section h2,
.hc-builder-section p { margin: 0; }
.hc-builder-section h2 { font-family: var(--hc-serif); font-size: 20px; font-weight: 400; }
.hc-builder-section header p { color: var(--hc-muted); font-size: 8px; }
.hc-builder-selection { display: grid; gap: 7px; }
.hc-builder-empty { padding: 24px; display: grid; grid-template-columns: 33px 1fr; align-items: center; gap: 11px; border: 1px dashed var(--hc-line); border-radius: 11px; }
.hc-builder-empty > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; color: var(--hc-sage); background: var(--hc-mist); }
.hc-builder-empty p { color: var(--hc-muted); font-size: 8px; }
.hc-builder-empty strong { display: block; color: var(--hc-deep); font-size: 9px; }
.hc-builder-item { padding: 10px 11px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 10px; border: 1px solid var(--hc-line); border-radius: 9px; background: rgba(245,241,231,.55); }
.hc-builder-item p { margin: 0; color: var(--hc-muted); font-size: 7px; }
.hc-builder-item strong { display: block; color: var(--hc-deep); font-size: 9px; }
.hc-builder-item b { font-size: 9px; }
.hc-builder-item button { width: 22px; height: 22px; border: 0; border-radius: 6px; color: var(--hc-sage); background: #fff; cursor: pointer; }
.hc-builder-links { margin-top: 10px; display: flex; gap: 16px; }
.hc-builder-links button { padding: 0; border: 0; color: var(--hc-sage); background: none; font-size: 8px; font-weight: 700; cursor: pointer; }
.hc-builder-summary { padding: 22px; position: sticky; top: 86px; border-radius: 16px; color: #fff; background: linear-gradient(155deg,#244c40,var(--hc-deep)); box-shadow: 0 18px 40px rgba(14,41,35,.15); }
.hc-builder-summary .hc-kicker { color: #b8caaf; }
.hc-builder-summary h2 { margin: 0; font-family: var(--hc-serif); font-size: 27px; font-weight: 400; }
.hc-builder-summary__route { margin: 19px 0; padding: 13px; display: grid; grid-template-columns: 35px 1fr; gap: 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; background: rgba(255,255,255,.06); }
.hc-builder-summary__route > span { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 9px; color: var(--hc-deep); background: #dbe5d6; font-size: 8px; font-weight: 800; }
.hc-builder-summary__route p { margin: 0; font-size: 8px; }
.hc-builder-summary__route small { display: block; color: rgba(255,255,255,.45); font-size: 7px; }
.hc-builder-summary dl { margin: 0; }
.hc-builder-summary dl div { padding: 10px 0; display: flex; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.09); }
.hc-builder-summary dt,
.hc-builder-summary dd { margin: 0; font-size: 8px; }
.hc-builder-summary dt { color: rgba(255,255,255,.45); }
.hc-builder-summary dd { font-weight: 700; }
.hc-builder-summary__note { margin-top: 17px; padding: 11px; display: grid; grid-template-columns: 20px 1fr; gap: 8px; border-radius: 9px; color: rgba(255,255,255,.5); background: rgba(255,255,255,.05); font-size: 7px; }
.hc-builder-summary__note > span { width: 19px; height: 19px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.hc-builder-summary__note p { margin: 0; }

.hc-traveler-table > header .hc-catalog-search { max-width: 260px; }
.hc-table-wrap { overflow-x: auto; }
.hc-traveler-table table { width: 100%; border-collapse: collapse; min-width: 720px; }
.hc-traveler-table th { padding: 10px; color: var(--hc-muted); font-size: 7px; font-weight: 650; text-align: left; border-bottom: 1px solid var(--hc-line); }
.hc-traveler-table td { padding: 14px 10px; color: var(--hc-muted); font-size: 8px; border-bottom: 1px solid var(--hc-line); }
.hc-traveler-table td:first-child { display: flex; align-items: center; gap: 8px; }
.hc-table-avatar { width: 29px; height: 29px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: #fff; background: var(--hc-sage); font-size: 7px; font-weight: 800; }
.hc-traveler-table td strong { color: var(--hc-deep); font-size: 8px; }
.hc-traveler-table td strong small { display: block; color: var(--hc-muted); font-size: 6px; font-weight: 500; }
.hc-progress-mini { width: 45px; height: 3px; margin-right: 6px; display: inline-block; overflow: hidden; border-radius: 99px; background: rgba(22,60,50,.1); vertical-align: middle; }
.hc-progress-mini i { height: 100%; display: block; background: var(--hc-sage); }

.hc-modal { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 20px; }
.hc-modal[hidden] { display: none; }
.hc-modal__backdrop { position: absolute; inset: 0; border: 0; background: rgba(7,26,21,.56); backdrop-filter: blur(5px); }
.hc-modal__card { width: min(600px,100%); max-height: calc(100svh - 40px); padding: 24px; position: relative; z-index: 2; overflow: auto; border: 1px solid rgba(255,255,255,.65); border-radius: 18px; background: var(--hc-paper); box-shadow: 0 30px 80px rgba(7,26,21,.26); }
.hc-modal__card > header { margin-bottom: 20px; display: flex; justify-content: space-between; }
.hc-modal__card h2 { margin: 0; font-family: var(--hc-serif); font-size: 28px; font-weight: 400; }
.hc-modal__card header button { width: 30px; height: 30px; border: 1px solid var(--hc-line); border-radius: 9px; color: var(--hc-sage); background: #fff; }
.hc-modal__card .hc-field-block { margin-top: 17px; }
.hc-modal__card > footer { margin-top: 20px; display: flex; justify-content: flex-end; gap: 8px; }

.hc-settlement-layout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); align-items: start; gap: 12px; }
.hc-settlement-list { display: grid; }
.hc-settlement-list article { padding: 14px 0; display: grid; grid-template-columns: 31px 1fr auto auto auto; align-items: center; gap: 11px; border-bottom: 1px solid var(--hc-line); }
.hc-settlement-icon { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; color: var(--hc-sage); background: var(--hc-mist); font-size: 8px; font-weight: 800; }
.hc-settlement-list p,
.hc-settlement-list b { margin: 0; font-size: 9px; }
.hc-settlement-list p small,
.hc-settlement-list b small { display: block; color: var(--hc-muted); font-size: 6px; font-weight: 500; }
.hc-settlement-list time { color: var(--hc-muted); font-size: 7px; }
.hc-settlement-form { display: grid; gap: 14px; }
.hc-settlement-form .hc-form-grid { gap: 11px; }
.hc-upload--compact { min-height: 61px; }
.hc-settlement-form > small { color: var(--hc-muted); font-size: 7px; line-height: 1.5; }

.hc-updates-layout { display: grid; grid-template-columns: 190px minmax(0,1fr); align-items: start; gap: 13px; }
.hc-update-filters { padding: 10px; display: grid; gap: 3px; border: 1px solid var(--hc-line); border-radius: 13px; background: rgba(255,255,255,.58); }
.hc-update-filters button { padding: 10px; display: flex; justify-content: space-between; border: 0; border-radius: 8px; color: var(--hc-muted); background: transparent; font-size: 8px; font-weight: 650; text-align: left; cursor: pointer; }
.hc-update-filters button.is-active { color: var(--hc-forest); background: var(--hc-mist); }
.hc-update-filters button span { font-size: 7px; }
.hc-update-feed { overflow: hidden; border: 1px solid var(--hc-line); border-radius: 14px; background: rgba(255,255,255,.61); }
.hc-update-feed > article { padding: 19px; display: grid; grid-template-columns: 34px 1fr; gap: 12px; border-bottom: 1px solid var(--hc-line); }
.hc-update-feed > article > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; color: var(--hc-sage); background: var(--hc-mist); font-size: 8px; font-weight: 800; }
.hc-update-feed > article.is-urgent > span { color: #864b3c; background: #efdad4; }
.hc-update-feed > article.is-success > span { color: #37624a; background: #dcead9; }
.hc-update-feed article div > p:first-child { display: flex; justify-content: space-between; }
.hc-update-feed p { margin: 0; color: var(--hc-muted); font-size: 8px; }
.hc-update-feed p b { color: var(--hc-sage); font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
.hc-update-feed time { color: rgba(14,41,35,.38); font-size: 7px; }
.hc-update-feed h2 { margin: 7px 0 5px; font-family: var(--hc-serif); font-size: 18px; font-weight: 400; }
.hc-update-feed a,
.hc-update-feed article button { margin-top: 8px; padding: 0; display: inline-block; border: 0; color: var(--hc-sage); background: none; font-size: 8px; font-weight: 700; }

/* Responsive */
@media (max-width: 1180px) {
  .hc-application-layout { grid-template-columns: minmax(250px,.55fr) minmax(590px,1.45fr); gap: 38px; }
  .hc-partner-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hc-activity-catalog { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .hc-portal-dashboard-grid { grid-template-columns: 1fr; }
  .hc-portal-attention { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 12px; }
  .hc-portal-attention > header,
  .hc-portal-attention > .hc-panel-link { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
  :root { --hc-shell: min(760px, calc(100% - 32px)); }
  .hc-application-layout { display: block; }
  .hc-application-intro { display: none; }
  .hc-application-card__mobile-title { padding: 30px 34px 22px; display: block; border-bottom: 1px solid var(--hc-line); }
  .hc-application-card__mobile-title h1 { margin: 0; font-family: var(--hc-serif); font-size: 39px; font-weight: 400; letter-spacing: -.04em; }
  .hc-application-card { min-height: 0; }
  .hc-portal-login { grid-template-columns: .8fr 1.2fr; }
  .hc-portal-login__story h1 { font-size: 50px; }
  .hc-partner-portal { padding-left: 0; }
  .hc-portal-sidebar { transform: translateX(-105%); transition: transform .22s ease; }
  .hc-portal-sidebar.is-open { transform: translateX(0); }
  .hc-portal-menu { width: 35px; height: 35px; display: grid; place-items: center; position: relative; border: 1px solid var(--hc-line); border-radius: 9px; background: rgba(255,255,255,.6); }
  .hc-portal-menu > span:not(.screen-reader-text) { width: 15px; height: 1px; position: absolute; background: var(--hc-sage); }
  .hc-portal-menu > span:first-child { transform: translateY(-3px); }
  .hc-portal-menu > span:nth-child(2) { transform: translateY(3px); }
  .hc-portal-topbar { justify-content: flex-start; }
  .hc-portal-topbar__actions { margin-left: auto; }
  .hc-portal-search { width: min(420px,55vw); }
  .hc-activity-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hc-builder-layout,
  .hc-settlement-layout { grid-template-columns: 1fr; }
  .hc-builder-summary { position: static; }
}

@media (max-width: 720px) {
  .hc-application-page { padding-top: calc(var(--hc-header-height) + 18px); }
  .hc-application-card { border-radius: 20px; }
  .hc-application-card__mobile-title { padding: 25px 20px 18px; }
  .hc-application-card__mobile-title h1 { font-size: 34px; }
  .hc-wizard-progress { padding: 18px 13px 14px; }
  .hc-wizard-progress__line { left: 31px; right: 31px; top: 34px; }
  .hc-wizard-progress button { min-width: 40px; }
  .hc-wizard-progress button > span { width: 30px; height: 30px; }
  .hc-wizard-progress button small { display: none; }
  .hc-form-step { padding: 28px 20px 20px; }
  .hc-form-grid,
  .hc-choice-grid,
  .hc-review-grid { grid-template-columns: 1fr; }
  .hc-field--wide { grid-column: auto; }
  .hc-form-actions { margin-right: 20px; margin-left: 20px; }
  .hc-upload { grid-template-columns: 34px minmax(0,1fr); }
  .hc-upload > i { display: none; }
  .hc-result-steps { grid-template-columns: 1fr; }
  .hc-portal-login { display: block; }
  .hc-portal-login__visual { min-height: 300px; padding: 30px 24px; }
  .hc-portal-login__story { margin: 55px 0; }
  .hc-portal-login__story h1 { font-size: 42px; }
  .hc-login-route { margin-top: 25px; }
  .hc-portal-login__form { padding: 42px 24px; }
  .hc-portal-topbar { height: 60px; padding: 0 14px; gap: 10px; }
  .hc-portal-search { flex: 1; width: auto; }
  .hc-portal-search input { font-size: 0; }
  .hc-portal-topbar__actions > a { display: none; }
  .hc-portal-view { padding: 26px 14px 45px; }
  .hc-portal-page-heading { align-items: flex-start; flex-direction: column; }
  .hc-portal-page-heading > div:last-child { width: 100%; }
  .hc-portal-page-heading > div:last-child > * { flex: 1; }
  .hc-portal-page-heading h1 { font-size: 39px; }
  .hc-portal-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hc-traveler-summary,
  .hc-settlement-summary { grid-template-columns: 1fr; }
  .hc-booking-list article { grid-template-columns: 39px 1fr 27px; }
  .hc-booking-list ul { display: none; }
  .hc-portal-attention { display: block; }
  .hc-catalog-toolbar { align-items: stretch; flex-wrap: wrap; }
  .hc-catalog-search { min-width: 100%; }
  .hc-catalog-toolbar select { flex: 1; }
  .hc-partner-catalog,
  .hc-activity-catalog { grid-template-columns: 1fr; }
  .hc-catalog-card__media { height: 190px; }
  .hc-builder-section,
  .hc-portal-panel { padding: 16px; }
  .hc-settlement-list article { grid-template-columns: 30px 1fr auto; }
  .hc-settlement-list article > .hc-status,
  .hc-settlement-list article > time { display: none; }
  .hc-updates-layout { grid-template-columns: 1fr; }
  .hc-update-filters { display: flex; overflow-x: auto; }
  .hc-update-filters button { flex: 0 0 auto; gap: 8px; }
  .hc-modal { padding: 10px; }
  .hc-modal__card { max-height: calc(100svh - 20px); padding: 19px; }
}

@media (max-width: 430px) {
  .hc-portal-topbar__actions .hc-user-avatar { display: none; }
  .hc-portal-metrics { grid-template-columns: 1fr; }
  .hc-form-next,
  .hc-form-submit { min-width: 132px; }
  .hc-form-actions { gap: 8px; }
  .hc-result-card { padding: 36px 18px; }
  .hc-reference-card strong { font-size: 18px; }
}

/* Live WordPress record states added by the operational layer. */
.hc-portal-login--denied { grid-template-columns: 1fr; }
.hc-portal-flash { margin: 20px clamp(22px,3.5vw,48px) -6px; padding: 13px 16px; display: flex; align-items: center; gap: 9px 18px; border: 1px solid var(--hc-line); border-radius: 12px; font-size: 9px; }
.hc-portal-flash strong { flex: 0 0 auto; }
.hc-portal-flash--success { color: #315b45; background: #e3efe0; }
.hc-portal-flash--error { color: #8a4638; background: #f5e5df; }
.hc-portal-empty { min-height: 115px; padding: 22px; display: grid; align-content: center; justify-items: start; gap: 5px; border: 1px dashed var(--hc-line); border-radius: 13px; color: var(--hc-muted); background: rgba(255,255,255,.28); font-size: 9px; }
.hc-portal-empty strong { color: var(--hc-deep); font-size: 12px; }
.hc-portal-empty button { padding: 0; border: 0; color: var(--hc-sage); background: transparent; font-size: 9px; font-weight: 800; cursor: pointer; }
.hc-booking-options { margin-bottom: 17px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.hc-booking-options .hc-check { padding: 10px; border: 1px solid var(--hc-line); border-radius: 10px; background: rgba(255,255,255,.5); }
.hc-backend-notice { padding: 18px; border: 1px solid var(--hc-line); border-radius: 13px; background: rgba(255,255,255,.62); }
.hc-backend-notice + .hc-backend-notice { margin-top: 9px; }
.hc-backend-notice strong { color: var(--hc-deep); }
.hc-backend-notice p { margin: 6px 0 0; color: var(--hc-muted); font-size: 10px; }

@media (max-width: 720px) {
  .hc-portal-flash { align-items: flex-start; flex-direction: column; }
  .hc-booking-options { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .hc-site *,
  .hc-site *::before,
  .hc-site *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-hc-reveal] { opacity: 1; transform: none; }
}

/* --------------------------------------------------------------------------
   Responsive hardening — 1.1.0
   The original art direction is preserved while every structural grid now
   has an explicit tablet and mobile state. These rules intentionally live at
   the end of the file so upgraded sites also override stale cached selectors.
   -------------------------------------------------------------------------- */

body.hc-site {
  overflow-x: clip;
}

.hc-header__inner,
.hc-hero__grid > *,
.hc-section-heading--split > *,
.hc-about__grid > *,
.hc-local-grid > *,
.hc-coverage > *,
.hc-process__layout > *,
.hc-faq__grid > *,
.hc-footer__top > *,
.hc-footer__bottom > *,
.hc-dashboard-preview > *,
.hc-preview-lower > *,
.hc-portal-panel > *,
.hc-portal-page-heading > * {
  min-width: 0;
}

.hc-button:link,
.hc-button:visited {
  color: #fff;
}

.hc-button--ivory:link,
.hc-button--ivory:visited {
  color: var(--hc-deep);
}

.hc-link-button:link,
.hc-link-button:visited {
  color: var(--hc-forest);
}

/* WordPress generates this body class without the separator used by the
   original selector. PHP also suppresses the public chrome; these are safe
   fallbacks for page caches and child-template overrides. */
.page-template-partner-portal .hc-header,
.page-template-partner-portal .hc-footer,
.page-template-page-templatespartner-portal-php .hc-header,
.page-template-page-templatespartner-portal-php .hc-footer,
.page-template-page-templates-partner-portal-php .hc-header,
.page-template-page-templates-partner-portal-php .hc-footer {
  display: none;
}

.page-template-partner-portal,
.page-template-page-templatespartner-portal-php,
.page-template-page-templates-partner-portal-php {
  background: #eef1eb;
}

/* Correct auto-placement in the two-column local-value rows. */
.hc-local-points > div > span {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.hc-local-points > div > h3,
.hc-local-points > div > p {
  grid-column: 2;
}

/* Readable public-site scale. */
.hc-kicker { font-size: 12px; }
.hc-nav__menu a { font-size: 13px; }
.hc-button,
.hc-link-button,
.hc-text-link { font-size: 13px; }
.hc-button--small { font-size: 12px; }
.hc-status { font-size: 10px; }
.hc-journey-card > header small,
.hc-journey-card__title p,
.hc-journey-card__image > span,
.hc-route-line span { font-size: 10px; }
.hc-journey-card > footer p strong,
.hc-floating-note strong { font-size: 11px; }
.hc-journey-card > footer p span,
.hc-floating-note p { font-size: 10px; }
.hc-hero__proof span,
.hc-hero__foot,
.hc-local-collage__large > span,
.hc-local-collage__small > span,
.hc-coverage li,
.hc-program-tags span { font-size: 11px; }
.hc-coverage small,
.hc-card-meta,
.hc-benefit-card header,
.hc-timeline small { font-size: 10px; }
.hc-benefit-card p,
.hc-program-card__body > p:not(.hc-card-meta),
.hc-timeline p { font-size: 13px; }
.hc-program-card footer > span { font-size: 10px; }
.hc-footer__label,
.hc-footer__bottom p { font-size: 11px; }
.hc-footer__grid a,
.hc-footer__grid span:not(.hc-footer__label) { font-size: 13px; }

/* The dashboard preview is illustrative but must remain legible. */
.hc-dashboard-preview__brand strong { font-size: 11px; }
.hc-dashboard-preview__brand small,
.hc-dashboard-preview__help p,
.hc-preview-metrics small,
.hc-preview-lower header > span,
.hc-preview-booking p > span,
.hc-preview-alert p { font-size: 9px; }
.hc-dashboard-preview nav a,
.hc-dashboard-preview__help strong,
.hc-dashboard-preview__main > header p,
.hc-preview-metrics span,
.hc-preview-booking strong,
.hc-preview-alert strong { font-size: 10px; }
.hc-dashboard-preview__main > header button { min-height: 44px; font-size: 11px; }
.hc-preview-lower h4 { font-size: 16px; }

/* Application and login typography. */
.hc-application-benefits p,
.hc-privacy-note p,
.hc-form-step__heading p,
.hc-form-alert { font-size: 12px; }
.hc-application-benefits strong,
.hc-privacy-note strong { font-size: 13px; }
.hc-wizard-progress button > span,
.hc-wizard-progress button small,
.hc-form-step__heading > span,
.hc-form-grid small,
.hc-form-divider span,
.hc-choice-fieldset > p,
.hc-upload small,
.hc-upload > i,
.hc-form-note p,
.hc-review-grid dt,
.hc-review-grid dd,
.hc-check p,
.hc-result-steps p,
.hc-reference-card span,
.hc-reference-card small { font-size: 11px; }
.hc-form-grid label > span,
.hc-field-block > span,
.hc-settlement-form label > span,
.hc-choice-fieldset legend,
.hc-choice,
.hc-check,
.hc-upload strong,
.hc-form-note strong,
.hc-review-grid h3,
.hc-result-steps strong,
.hc-form-back { font-size: 12px; }
.hc-form-grid input,
.hc-form-grid select,
.hc-form-grid textarea,
.hc-field-block textarea,
.hc-settlement-form input,
.hc-settlement-form select,
.hc-settlement-form textarea,
.hc-login-card input[type="text"],
.hc-login-card input[type="password"] { font-size: 14px; }
.hc-login-card > p:not(.hc-kicker) { font-size: 14px; }
.hc-login-card form label { font-size: 12px; }
.hc-login-card .login-submit input { font-size: 13px; }
.hc-login-card .login-remember label { min-height: 44px; }
.hc-login-card__links a { font-size: 11px; }
.hc-login-card__note p { font-size: 11px; }
.hc-login-card__note strong { font-size: 12px; }

/* Partner workspace typography and touch targets. */
.hc-portal-brand small { font-size: 10px; }
.hc-portal-sidebar nav button { min-height: 44px; font-size: 12px; }
.hc-portal-sidebar nav button > span,
.hc-portal-sidebar nav button > i { font-size: 10px; }
.hc-portal-sidebar__support p,
.hc-portal-sidebar__user p { font-size: 10px; }
.hc-portal-sidebar__support strong,
.hc-portal-sidebar__support a,
.hc-portal-sidebar__user strong { font-size: 11px; }
.hc-portal-search input,
.hc-catalog-search input { font-size: 14px; }
.hc-portal-topbar__actions > a,
.hc-panel-link,
.hc-catalog-toolbar > button,
.hc-add-builder,
.hc-builder-links button,
.hc-update-feed a,
.hc-update-feed article button { font-size: 11px; }
.hc-portal-page-heading > div:first-child > p:last-child,
.hc-portal-flash,
.hc-portal-empty,
.hc-backend-notice p { font-size: 12px; }
.hc-portal-secondary-button,
.hc-draft-pill { font-size: 11px; }
.hc-portal-metrics header,
.hc-portal-metrics footer,
.hc-traveler-summary span,
.hc-settlement-summary span,
.hc-traveler-summary small,
.hc-settlement-summary small { font-size: 10px; }
.hc-booking-list article > div > p,
.hc-booking-list li,
.hc-attention-item p,
.hc-attention-item small,
.hc-backend-notices > *,
.hc-catalog-card dt,
.hc-catalog-card dd,
.hc-catalog-card footer p span,
.hc-activity-card dt,
.hc-activity-card dd,
.hc-activity-card footer small,
.hc-builder-section header p,
.hc-builder-empty p,
.hc-builder-item p,
.hc-builder-summary__route p,
.hc-builder-summary__route small,
.hc-builder-summary dt,
.hc-builder-summary dd,
.hc-builder-summary__note,
.hc-traveler-table th,
.hc-traveler-table td,
.hc-traveler-table td strong small,
.hc-settlement-list p small,
.hc-settlement-list b small,
.hc-settlement-list time,
.hc-settlement-form > small,
.hc-update-filters button span,
.hc-update-feed p,
.hc-update-feed p b,
.hc-update-feed time { font-size: 10px; }
.hc-booking-list li span { font-size: 9px; }
.hc-attention-item strong,
.hc-catalog-card__body > p:not(.hc-card-meta),
.hc-builder-empty strong,
.hc-builder-item strong,
.hc-builder-item b,
.hc-traveler-table td strong,
.hc-settlement-list p,
.hc-settlement-list b,
.hc-update-filters button { font-size: 12px; }
.hc-catalog-toolbar select { font-size: 12px; }

.hc-nav-toggle,
.hc-portal-menu,
.hc-portal-topbar__actions > button,
.hc-modal__card header button,
.hc-program-card footer a,
.hc-booking-list article > button {
  min-width: 44px;
  min-height: 44px;
}

.hc-add-builder,
.hc-builder-links button,
.hc-panel-link,
.hc-wizard-progress button {
  min-height: 44px;
}

.hc-choice:focus-within,
.hc-check:focus-within,
.hc-upload:focus-within,
.hc-add-builder:focus-within {
  outline: 3px solid rgba(92, 118, 95, 0.28);
  outline-offset: 3px;
}

.hc-table-wrap {
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.hc-portal-sidebar__close {
  width: 44px;
  height: 44px;
  display: none;
  place-items: center;
  position: absolute;
  right: 10px;
  top: 10px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 11px;
  color: #fff;
  background: rgba(255,255,255,.08);
  font-size: 23px;
  line-height: 1;
  cursor: pointer;
}

body.admin-bar .hc-header { top: 32px; }

@media (max-width: 1120px) {
  :root { --hc-header-height: 76px; }

  .hc-header,
  .hc-header.is-scrolled { height: var(--hc-header-height); }

  .hc-header__inner { position: relative; }

  .hc-nav-toggle {
    display: grid;
    flex: 0 0 auto;
    position: relative;
    z-index: 1002;
    cursor: pointer;
  }

  .hc-nav {
    width: min(390px, 100%);
    max-height: calc(100svh - var(--hc-header-height) - 20px);
    padding: 18px;
    display: flex;
    align-items: stretch;
    flex-direction: column;
    gap: 15px;
    position: absolute;
    z-index: 1001;
    right: 0;
    top: calc(100% - 3px);
    overflow-y: auto;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 18px;
    background: rgba(247,244,235,.96);
    box-shadow: 0 24px 70px rgba(14,41,35,.18);
    -webkit-backdrop-filter: blur(22px) saturate(120%);
    backdrop-filter: blur(22px) saturate(120%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-10px) scale(.98);
    transform-origin: top right;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }

  .hc-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  .hc-nav__menu {
    display: grid;
    align-items: stretch;
    gap: 3px;
  }

  .hc-nav__menu a {
    min-height: 44px;
    padding: 11px 12px;
    display: flex;
    align-items: center;
    border-radius: 10px;
  }

  .hc-nav__menu a:hover,
  .hc-nav__menu a:focus-visible { background: rgba(220,230,217,.58); }

  .hc-nav__actions {
    padding-top: 13px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    border-top: 1px solid var(--hc-line);
  }

  .hc-nav__actions > * { width: 100%; }
  body.hc-nav-open { overflow: hidden; }
}

@media (max-width: 980px) {
  :root { --hc-shell: min(760px, calc(100% - 36px)); }

  .hc-hero { min-height: 0; padding-top: calc(var(--hc-header-height) + 55px); }

  .hc-hero__grid,
  .hc-section-heading--split,
  .hc-about__grid,
  .hc-local-grid,
  .hc-coverage,
  .hc-process__layout,
  .hc-faq__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .hc-hero__grid { gap: 35px; }
  .hc-floating-note--top { right: 0; }
  .hc-floating-note--bottom { left: 0; }
  .hc-section-heading--split { align-items: start; gap: 22px; }
  .hc-about__grid { gap: 20px; }
  .hc-about__copy { max-width: 680px; padding-top: 0; }
  .hc-local-grid { margin-top: 70px; gap: 45px; }
  .hc-local-collage { width: min(680px, 100%); }
  .hc-local-points { width: min(680px, 100%); }
  .hc-coverage { gap: 24px; }
  .hc-coverage small { grid-column: auto; }

  .hc-benefit-grid,
  .hc-program-grid,
  .hc-archive__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .hc-process__layout { gap: 50px; }
  .hc-process__intro,
  .hc-faq .hc-section-heading { position: static; }
  .hc-process__intro > p:not(.hc-kicker) { max-width: 620px; }

  .hc-dashboard-preview {
    grid-template-columns: 150px minmax(0,1fr);
    transform: none;
  }

  .hc-preview-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .hc-preview-lower { grid-template-columns: minmax(0,1fr); }

  .hc-faq__grid { gap: 42px; }

  .hc-footer__top {
    grid-template-columns: minmax(0,1fr) auto;
    gap: 28px;
  }

  .hc-footer__top > p { grid-column: 1 / -1; grid-row: 2; }
  .hc-footer__bottom { grid-template-columns: minmax(0,1fr); gap: 16px; }

  .hc-page-hero { padding-top: calc(var(--hc-header-height) + 65px); }

  .hc-portal-sidebar {
    width: min(300px, calc(100vw - 48px));
    padding-top: 64px;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .hc-portal-sidebar__close { display: grid; }

  .hc-partner-portal::before {
    content: "";
    display: block;
    position: fixed;
    z-index: 90;
    inset: 0;
    background: rgba(7,26,21,.43);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease;
  }

  .hc-partner-portal:has(.hc-portal-sidebar.is-open)::before {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .hc-portal-menu { width: 44px; height: 44px; flex: 0 0 auto; }
}

@media (max-width: 782px) {
  body.admin-bar .hc-header { top: 46px; }
}

@media (max-width: 720px) {
  :root {
    --hc-shell: calc(100% - 28px);
    --hc-header-height: 72px;
  }

  html { scroll-padding-top: calc(var(--hc-header-height) + 12px); }

  .hc-header,
  .hc-header.is-scrolled {
    border-bottom: 1px solid rgba(22,60,50,.08);
    background: rgba(247,244,235,.9);
    box-shadow: 0 7px 22px rgba(18,48,39,.06);
    -webkit-backdrop-filter: blur(18px) saturate(120%);
    backdrop-filter: blur(18px) saturate(120%);
  }

  .hc-header__inner { gap: 16px; }
  .hc-brand { gap: 8px; }
  .hc-brand__mark { width: 90px; height: 40px; }
  .hc-brand__custom img { max-width: 185px; max-height: 46px; }
  .hc-brand__copy strong { font-size: 12px; }
  .hc-brand__copy small { margin-top: 4px; font-size: 8px; }

  .hc-section { padding: 72px 0; }
  .hc-section-heading--split,
  .hc-section-heading--center { margin-bottom: 34px; }
  .hc-kicker { margin-bottom: 11px; font-size: 11px; letter-spacing: .14em; }

  .hc-hero {
    padding-top: calc(var(--hc-header-height) + 44px);
    padding-bottom: 28px;
  }

  .hc-hero h1 { font-size: clamp(42px, 14vw, 58px); line-height: .98; }
  .hc-section-heading h2,
  .hc-process__intro h2,
  .hc-final-cta h2 { font-size: clamp(38px, 12vw, 52px); line-height: 1; }
  .hc-hero__lead { margin-top: 20px; font-size: 15px; line-height: 1.65; }

  .hc-hero__actions,
  .hc-final-cta__inner > div,
  .hc-portal-preview__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
  }

  .hc-hero__actions .hc-button,
  .hc-final-cta__inner .hc-button,
  .hc-portal-preview__actions .hc-button { width: 100%; }

  .hc-hero__proof { margin-top: 34px; }
  .hc-hero__proof > div { padding: 15px 9px 0 0; }
  .hc-hero__proof > div + div { padding-left: 10px; }
  .hc-hero__proof strong { font-size: 15px; }
  .hc-hero__proof span { font-size: 10px; line-height: 1.35; }

  .hc-hero-visual {
    min-height: 0;
    margin-top: 8px;
    padding: 18px 0 0;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 12px;
  }

  .hc-hero-visual__glow { width: min(420px,100%); height: 420px; top: 5%; }
  .hc-journey-card { width: 100%; padding: 13px; border-radius: 21px; transform: none; }
  .hc-journey-card__image { height: clamp(180px,58vw,230px); }
  .hc-journey-card__title h2 { font-size: 27px; }
  .hc-floating-note { width: calc(100% - 24px); min-width: 0; position: relative; inset: auto; }

  .hc-hero__foot {
    margin-top: 34px;
    align-items: flex-start;
    flex-direction: column;
    gap: 15px;
    font-size: 11px;
  }

  .hc-about__copy p,
  .hc-section-heading--split > p,
  .hc-section-heading--split > div:last-child > p,
  .hc-section-heading--center > p,
  .hc-process__intro > p:not(.hc-kicker),
  .hc-faq .hc-section-heading > p:not(.hc-kicker),
  .hc-final-cta__inner > p:not(.hc-kicker) { font-size: 15px; }

  .hc-about__copy .hc-lead-copy { font-size: 17px; }

  .hc-local-collage { min-height: 390px; }
  .hc-local-collage__large { width: 82%; height: 350px; border-radius: 120px 120px 24px 24px; }
  .hc-local-collage__small { width: 45%; height: 205px; border-width: 6px; }
  .hc-local-collage__badge { width: 112px; height: 112px; padding: 20px; right: 8%; top: 24px; }
  .hc-local-collage__badge strong { font-size: 34px; }
  .hc-local-collage__badge span { font-size: 9px; }
  .hc-local-points > div { padding: 23px 0; grid-template-columns: 42px minmax(0,1fr); gap: 12px; }
  .hc-local-points h3 { font-size: 24px; }
  .hc-local-points p { font-size: 14px; line-height: 1.6; }

  .hc-coverage { margin-top: 65px; padding: 25px 20px; border-radius: 18px; }
  .hc-coverage h3 { font-size: 28px; }
  .hc-coverage ul { gap: 7px; }
  .hc-coverage li { font-size: 11px; }
  .hc-coverage small { font-size: 11px; line-height: 1.55; }

  .hc-benefit-grid,
  .hc-program-grid,
  .hc-archive__grid { grid-template-columns: minmax(0,1fr); }
  .hc-benefit-card { min-height: 230px; padding: 22px; }
  .hc-benefit-card h3 { font-size: 28px; }
  .hc-benefit-card p { font-size: 14px; }
  .hc-program-card__media { height: 220px; }
  .hc-program-card__body { padding: 22px; }
  .hc-program-card h3 { font-size: 30px; }
  .hc-program-card__body > p:not(.hc-card-meta) { min-height: 0; font-size: 14px; }
  .hc-program-card footer { grid-template-columns: auto minmax(0,1fr) auto; }

  .hc-process__layout { gap: 45px; }
  .hc-timeline li { min-height: 0; grid-template-columns: 48px minmax(0,1fr); gap: 15px; }
  .hc-timeline::before { left: 23px; }
  .hc-timeline li > span { width: 48px; height: 48px; font-size: 10px; }
  .hc-timeline h3 { font-size: 25px; }
  .hc-timeline p { font-size: 13px; line-height: 1.55; }

  .hc-dashboard-preview {
    min-height: 0;
    padding: 6px;
    display: block;
    border-radius: 20px;
  }
  .hc-dashboard-preview > aside { display: none; }
  .hc-dashboard-preview__main { padding: 18px; border-radius: 15px; }
  .hc-dashboard-preview__main > header { align-items: flex-start; flex-direction: column; }
  .hc-dashboard-preview__main > header h3 { font-size: 25px; }
  .hc-dashboard-preview__main > header p,
  .hc-dashboard-preview__main > header button { font-size: 11px; }
  .hc-preview-metrics { margin-top: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hc-preview-metrics article { padding: 13px; }
  .hc-preview-metrics span,
  .hc-preview-metrics small { font-size: 10px; }
  .hc-preview-lower { grid-template-columns: minmax(0,1fr); }
  .hc-preview-booking { grid-template-columns: 30px minmax(0,1fr); }
  .hc-preview-booking > .hc-status { grid-column: 2; justify-self: start; }
  .hc-preview-booking strong,
  .hc-preview-alert strong { font-size: 11px; }
  .hc-preview-booking p > span,
  .hc-preview-alert p { font-size: 10px; }

  .hc-accordion summary { min-height: 70px; gap: 16px; font-size: 20px; line-height: 1.25; }
  .hc-accordion details > p { margin-right: 0; font-size: 14px; }

  .hc-final-cta { padding: 82px 0; }
  .hc-final-cta__shape { width: 370px; height: 370px; right: -220px; top: -160px; }

  .hc-footer { padding-top: 55px; }
  .hc-footer__top,
  .hc-footer__grid,
  .hc-footer__bottom { grid-template-columns: minmax(0,1fr); }
  .hc-footer__top { align-items: start; }
  .hc-footer__top > p { grid-column: auto; grid-row: auto; font-size: 20px; }
  .hc-footer__top .hc-button { width: 100%; }
  .hc-footer__grid { gap: 30px; }
  .hc-footer__label { font-size: 11px; }
  .hc-footer__grid a,
  .hc-footer__grid span:not(.hc-footer__label) { min-height: 32px; display: flex; align-items: center; font-size: 14px; }
  .hc-footer__bottom p { font-size: 11px; }

  .hc-page-hero h1 { font-size: clamp(42px,13vw,60px); }
  .hc-archive__grid { padding-top: 50px; }

  /* Application wizard */
  .hc-application-page { padding-top: calc(var(--hc-header-height) + 18px); }
  .hc-application-card { overflow: clip; }
  .hc-application-card__mobile-title h1 { font-size: 38px; }
  .hc-form-alert { margin: 18px 20px 0; }
  .hc-form-step__heading h2 { font-size: 34px; }
  .hc-form-step__heading p { font-size: 13px; line-height: 1.55; }
  .hc-form-grid label > span,
  .hc-field-block > span,
  .hc-settlement-form label > span,
  .hc-choice-fieldset legend { font-size: 13px; }
  .hc-form-grid input,
  .hc-form-grid select,
  .hc-form-grid textarea,
  .hc-field-block textarea,
  .hc-settlement-form input,
  .hc-settlement-form select,
  .hc-settlement-form textarea,
  .hc-login-card input[type="text"],
  .hc-login-card input[type="password"],
  .hc-portal-search input,
  .hc-catalog-search input,
  .hc-catalog-toolbar select { font-size: 16px; }
  .hc-choice,
  .hc-check { min-height: 48px; font-size: 13px; }
  .hc-upload { min-height: 76px; }
  .hc-upload strong { font-size: 13px; }
  .hc-upload small,
  .hc-form-grid small,
  .hc-choice-fieldset > p,
  .hc-form-note p,
  .hc-check p { font-size: 12px; }
  .hc-form-note strong { font-size: 13px; }
  .hc-form-back,
  .hc-form-next,
  .hc-form-submit { min-height: 48px; font-size: 13px; }
  .hc-reference-card strong { max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }

  /* Portal login and workspace */
  .hc-portal-login__visual { min-height: 275px; padding: 28px 22px; }
  .hc-portal-login__story { margin: 45px 0 30px; }
  .hc-portal-login__story h1 { font-size: 42px; }
  .hc-login-route span,
  .hc-portal-login__foot { font-size: 11px; }
  .hc-portal-login__form { padding: 42px 22px; }
  .hc-login-card h2 { font-size: 44px; }
  .hc-login-card > p:not(.hc-kicker) { font-size: 14px; }
  .hc-login-card form label { font-size: 13px; }
  .hc-login-card .login-submit input { min-height: 50px; font-size: 14px; }
  .hc-login-card__links { flex-wrap: wrap; }
  .hc-login-card__links a { min-height: 44px; display: inline-flex; align-items: center; font-size: 12px; }
  .hc-login-card__note p { font-size: 12px; }
  .hc-login-card__note strong { font-size: 13px; }

  .hc-portal-topbar { min-height: 68px; height: auto; padding: 9px 12px; }
  .hc-portal-search { min-width: 0; }
  .hc-portal-search input { min-height: 44px; }
  .hc-portal-topbar__actions { gap: 8px; }
  .hc-portal-topbar__actions > button { width: 44px; height: 44px; }
  .hc-portal-view { padding: 27px 14px 45px; }
  .hc-portal-page-heading { gap: 18px; }
  .hc-portal-page-heading h1 { font-size: 39px; }
  .hc-portal-page-heading > div:first-child > p:last-child { font-size: 13px; line-height: 1.5; }
  .hc-portal-page-heading > div:last-child { flex-wrap: wrap; }
  .hc-portal-secondary-button { min-height: 48px; font-size: 12px; }

  .hc-portal-metrics article,
  .hc-traveler-summary article,
  .hc-settlement-summary article { padding: 15px; }
  .hc-portal-metrics header,
  .hc-portal-metrics footer,
  .hc-traveler-summary span,
  .hc-settlement-summary span,
  .hc-traveler-summary small,
  .hc-settlement-summary small { font-size: 11px; }

  .hc-portal-panel > header {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .hc-portal-panel > header h2 { font-size: 24px; }
  .hc-traveler-table > header .hc-catalog-search { width: 100%; max-width: none; }

  .hc-booking-list article { grid-template-columns: 44px minmax(0,1fr) 44px; }
  .hc-booking-list h3 { font-size: 18px; }
  .hc-booking-list article > div > p { font-size: 11px; }
  .hc-booking-list article > button { width: 44px; height: 44px; }
  .hc-attention-item p { font-size: 12px; }
  .hc-attention-item strong { font-size: 13px; }
  .hc-attention-item small { font-size: 11px; }

  .hc-catalog-toolbar { padding: 9px; }
  .hc-catalog-search { min-width: 100%; }
  .hc-catalog-search input,
  .hc-catalog-toolbar select { min-height: 48px; }
  .hc-catalog-toolbar > button { min-height: 44px; font-size: 12px; }
  .hc-catalog-card h2 { font-size: 26px; }
  .hc-catalog-card__body > p:not(.hc-card-meta) { min-height: 0; font-size: 13px; }
  .hc-catalog-card dt,
  .hc-catalog-card dd,
  .hc-catalog-card footer p span { font-size: 11px; }
  .hc-catalog-card footer p strong { font-size: 15px; }
  .hc-add-builder { min-height: 44px; font-size: 12px; }

  .hc-activity-card h2 { font-size: 23px; }
  .hc-activity-card dt,
  .hc-activity-card dd,
  .hc-activity-card footer small { font-size: 11px; }

  .hc-builder-section h2 { font-size: 24px; }
  .hc-builder-section header p,
  .hc-builder-empty p,
  .hc-builder-item p { font-size: 12px; }
  .hc-builder-empty strong,
  .hc-builder-item strong,
  .hc-builder-item b { font-size: 13px; }
  .hc-builder-item button { width: 44px; height: 44px; }
  .hc-builder-summary__route p,
  .hc-builder-summary dt,
  .hc-builder-summary dd,
  .hc-builder-summary__note { font-size: 12px; }
  .hc-builder-summary__route small { font-size: 11px; }

  .hc-traveler-table table { min-width: 680px; }
  .hc-traveler-table th,
  .hc-traveler-table td,
  .hc-traveler-table td strong small { font-size: 11px; }
  .hc-traveler-table td strong { font-size: 12px; }

  .hc-modal__card header button { width: 44px; height: 44px; }
  .hc-modal__card > footer { flex-wrap: wrap; }
  .hc-modal__card > footer button { min-height: 48px; }

  .hc-settlement-list p,
  .hc-settlement-list b,
  .hc-settlement-list p small,
  .hc-settlement-list b small,
  .hc-settlement-list time,
  .hc-settlement-form > small { font-size: 11px; }
  .hc-update-filters button { min-height: 44px; font-size: 12px; }
  .hc-update-filters button span { font-size: 10px; }
  .hc-update-feed p,
  .hc-update-feed p b,
  .hc-update-feed time,
  .hc-update-feed a,
  .hc-update-feed article button { font-size: 11px; }
  .hc-update-feed h2 { font-size: 23px; }
}

@media (max-width: 430px) {
  :root { --hc-shell: calc(100% - 24px); }

  .hc-brand__custom img { max-width: 165px; }
  .hc-brand__mark { width: 78px; }
  .hc-brand__copy { display: flex; }
  .hc-brand__copy strong { font-size: 11px; }
  .hc-brand__copy small { font-size: 7px; }
  .hc-nav { width: 100%; }

  .hc-hero h1 { font-size: clamp(40px, 13vw, 52px); }
  .hc-hero__proof { grid-template-columns: minmax(0,1fr); }
  .hc-hero__proof > div,
  .hc-hero__proof > div + div { padding: 13px 0; border-right: 0; border-bottom: 1px solid var(--hc-line); }
  .hc-hero__proof > div:last-child { border-bottom: 0; }
  .hc-local-collage { min-height: 340px; }
  .hc-local-collage__large { height: 305px; }
  .hc-local-collage__small { height: 175px; }
  .hc-local-collage__badge { width: 96px; height: 96px; padding: 15px; }
  .hc-local-collage__badge strong { font-size: 28px; }
  .hc-local-collage__badge span { margin-top: 5px; font-size: 8px; }

  .hc-preview-metrics { grid-template-columns: minmax(0,1fr); }
  .hc-preview-lower > section { padding: 13px; }

  .hc-wizard-progress { padding-right: 8px; padding-left: 8px; }
  .hc-wizard-progress__line { left: 28px; right: 28px; }
  .hc-wizard-progress button { min-width: 38px; }
  .hc-form-step { padding-right: 17px; padding-left: 17px; }
  .hc-form-actions { margin-right: 17px; margin-left: 17px; }
  .hc-form-next,
  .hc-form-submit { min-width: 124px; }
  .hc-reference-card strong { font-size: 16px; letter-spacing: .03em; }

  .hc-portal-topbar { gap: 8px; }
  .hc-portal-search input { padding-right: 8px; padding-left: 32px; }
  .hc-portal-page-heading > div:last-child > * { flex: 1 1 100%; }
  .hc-portal-metrics { grid-template-columns: minmax(0,1fr); }
  .hc-catalog-toolbar select { flex: 1 1 100%; }
  .hc-modal__card > footer { align-items: stretch; flex-direction: column-reverse; }
  .hc-modal__card > footer button { width: 100%; }
  .hc-update-feed > article { padding: 15px; grid-template-columns: 30px minmax(0,1fr); }
}

@media (max-width: 340px) {
  .hc-portal-topbar__actions { display: none; }
  .hc-portal-search { width: auto; }
  .hc-journey-card__title > span { width: 38px; height: 38px; }
  .hc-route-line i { margin-right: 3px; margin-left: 3px; }
}

@media (max-width: 980px) and (max-height: 600px) {
  .hc-portal-sidebar { padding-top: 58px; }
  .hc-portal-sidebar nav { margin-top: 12px; }
  .hc-portal-sidebar__support { margin-top: 12px; }
  .hc-portal-sidebar__user { margin-bottom: 8px; }
}
