/* Upcloud Accounting site styles, scoped to .upc for GoHighLevel. Generated by tools/export-ghl.js */
.upc :is(h1, h2, h3, h4, h5, h6, p, ul, ol, li, blockquote, figure, figcaption, table, th, td, span, strong, em, b, small, label, time, button, input, select, textarea) { font-family: inherit; color: inherit; }
.upc :is(h1, h2, h3, h4, h5, h6) { font-size: inherit; font-weight: inherit; line-height: inherit; text-transform: none; }
.upc :is(strong, b) { font-weight: 700; }
.upc {--navy: #024376;
  --deep-navy: #042352;
  --blue: #025b96;
  --sky: #e8f0f7;
  --ink: #16191d;
  --slate: #5b6470;
  --mist: #f6f8fb;
  --line: #e6e8ec;
  --line-strong: #d5dae1;
  --white: #ffffff;
  --muted: #8a929c;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  --shadow-card: 0 1px 2px rgba(16, 24, 40, 0.04);
  --shadow-float: 0 12px 32px rgba(16, 24, 40, 0.10);
  --shadow-btn: 0 4px 12px rgba(2, 67, 118, 0.22);

  --max: 1280px;
  --gutter: clamp(20px, 5vw, 64px);
  --section-y: clamp(72px, 9vw, 120px);
  --header-h: 76px;}
.upc *, .upc *::before, .upc *::after {box-sizing: border-box;}
html {scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px);}
.upc {margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;}
.upc h1, .upc h2, .upc h3, .upc h4, .upc p, .upc ul, .upc ol, .upc figure, .upc blockquote {margin: 0;}
.upc ul, .upc ol {padding: 0; list-style: none;}
.upc img {max-width: 100%; height: auto; display: block;}
.upc a {color: var(--blue); text-underline-offset: 3px;}
.upc a:hover {color: var(--deep-navy);}
.upc :focus-visible {outline: 2px solid var(--navy); outline-offset: 3px; border-radius: 4px;}
.upc ::selection {background: #cfe0f0;}
.upc .sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;}
.upc .skip-link {position: fixed; left: 16px; top: 12px; z-index: 100; background: var(--navy); color: var(--white); padding: 10px 16px; border-radius: var(--radius-sm); font-weight: 700; text-decoration: none;}
.upc .skip-link:not(:focus) {width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap;}
.upc .skip-link:focus {color: var(--white);}
.upc .container {max-width: var(--max); margin: 0 auto; padding-inline: var(--gutter);}
.upc .section {padding-block: var(--section-y);}
.upc .section--mist {background: var(--mist);}
.upc .section--tight {padding-block: clamp(48px, 6vw, 80px);}
.upc .section-head {display: flex; flex-direction: column; gap: 16px; max-width: 760px; margin-bottom: clamp(36px, 5vw, 56px);}
.upc .section-head--center {margin-inline: auto; text-align: center; align-items: center;}
.upc .section-head--row {max-width: none; flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px;}
.upc .section-head--row > div {display: flex; flex-direction: column; gap: 16px; max-width: 720px;}
.upc .grid {display: grid; gap: 20px;}
.upc .grid-2 {grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));}
.upc .grid-3 {grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));}
.upc .grid-4 {grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));}
.upc .split {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(40px, 6vw, 88px); align-items: center;}
.upc .stack {display: flex; flex-direction: column; gap: 20px;}
.upc .stack-sm {display: flex; flex-direction: column; gap: 10px;}
.upc .eyebrow {font-size: 14px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--navy);}
.upc .pill-label {display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; background: var(--sky); color: var(--navy); font-size: 14px; font-weight: 700; padding: 7px 14px; border-radius: var(--radius-pill);}
.upc .pill-label i {font-size: 17px;}
.upc .display {font-size: clamp(44px, 6.4vw, 84px); font-weight: 800; line-height: 1.02; letter-spacing: -0.035em; text-wrap: balance;}
.upc .h2 {font-size: clamp(34px, 4.4vw, 56px); font-weight: 800; line-height: 1.06; letter-spacing: -0.03em; text-wrap: balance;}
.upc .h3 {font-size: 22px; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em;}
.upc .accent {color: var(--navy);}
.upc .lead {font-size: clamp(18px, 1.5vw, 21px); line-height: 1.6; color: var(--slate); max-width: 640px; text-wrap: pretty;}
.upc .body {color: var(--slate); text-wrap: pretty;}
.upc .small {font-size: 15px; color: var(--slate);}
.upc .btn {display: inline-flex; align-items: center; justify-content: center; gap: 10px; font: inherit; font-size: 16px; font-weight: 700; line-height: 1.2; padding: 14px 26px; border-radius: var(--radius-sm); border: 1px solid transparent; text-decoration: none; cursor: pointer; transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .15s ease; white-space: nowrap;}
.upc .btn i {font-size: 18px; transition: transform .15s ease;}
.upc .btn:hover i.ph-arrow-right {transform: translateX(3px);}
.upc .btn-primary {background: var(--navy); color: var(--white); box-shadow: var(--shadow-btn);}
.upc .btn-primary:hover {background: var(--deep-navy); color: var(--white);}
.upc .btn-secondary {background: var(--white); color: var(--ink); border-color: var(--line-strong);}
.upc .btn-secondary:hover {background: var(--mist); color: var(--ink);}
.upc .btn-light {background: var(--white); color: var(--navy);}
.upc .btn-light:hover {background: var(--sky); color: var(--navy);}
.upc .btn-text {background: transparent; color: var(--navy); padding-inline: 4px; font-weight: 600;}
.upc .btn-text:hover {color: var(--deep-navy);}
.upc .btn-row {display: flex; flex-wrap: wrap; gap: 12px;}
.upc .link-arrow {display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--navy); text-decoration: none;}
.upc .link-arrow i {transition: transform .15s ease;}
.upc .link-arrow:hover {color: var(--deep-navy);}
.upc .link-arrow:hover i {transform: translateX(3px);}
.upc .site-header {position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, 0.94); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid var(--line);}
.upc .header-inner {height: var(--header-h); display: flex; align-items: center; gap: clamp(16px, 2.5vw, 36px);}
.upc .brand {flex: none; display: block; height: 46px; overflow: hidden;}
.upc .brand img {height: 82px; width: auto; margin: -18px 0 0 -10px;}
.upc .main-nav {flex: 1; display: flex; justify-content: center; gap: clamp(18px, 2vw, 30px);}
.upc .main-nav a {color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; padding-block: 8px; border-bottom: 2px solid transparent;}
.upc .main-nav a:hover {color: var(--navy);}
.upc .main-nav a[aria-current="page"] {color: var(--navy); border-bottom-color: var(--navy);}
.upc .nav-item {position: relative; display: flex; align-items: center; gap: 2px;}
.upc .submenu-toggle {border: 0; background: transparent; color: var(--ink); width: 24px; height: 28px; display: grid; place-items: center; cursor: pointer; border-radius: 6px; font-size: 14px;}
.upc .submenu-toggle:hover {color: var(--navy);}
.upc .submenu-toggle i {transition: transform .15s ease;}
.upc .submenu {position: absolute; top: 100%; left: -16px; min-width: 300px; margin-top: 10px; padding: 8px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-float); display: flex; flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .15s ease, transform .15s ease, visibility .15s; z-index: 60;}
.upc .submenu::before {content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px;}
.upc .has-menu:hover .submenu, .upc .has-menu:focus-within .submenu, .upc .has-menu.is-open .submenu {opacity: 1; visibility: visible; transform: none;}
.upc .has-menu:hover .submenu-toggle i, .upc .has-menu.is-open .submenu-toggle i {transform: rotate(180deg);}
.upc .main-nav .submenu a {display: flex; align-items: center; gap: 12px; padding: 9px 10px; border: 0; border-radius: var(--radius-sm); font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; white-space: normal; color: var(--ink);}
.upc .main-nav .submenu a:hover {background: var(--mist); color: var(--navy);}
.upc .submenu-icon {flex: none; width: 32px; height: 32px; border-radius: 8px; background: var(--sky); color: var(--navy); display: grid; place-items: center; font-size: 17px;}
.upc .main-nav .submenu .submenu-all {margin-top: 4px; border-top: 1px solid var(--line); border-radius: 0 0 var(--radius-sm) var(--radius-sm); color: var(--navy); font-weight: 700; gap: 6px;}
.upc .header-actions {flex: none; display: flex; align-items: center; gap: 8px;}
.upc .header-actions .btn {padding: 12px 22px; font-size: 15px;}
.upc .nav-toggle {display: none; flex: none; width: 44px; height: 44px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--white); color: var(--ink); font-size: 22px; cursor: pointer; place-items: center;}
.upc .mobile-nav {display: none;}
@media (max-width: 1140px) {
.upc .main-nav, .upc .header-actions .btn-text {display: none;}
.upc .header-inner {justify-content: space-between;}
.upc .header-actions {margin-left: auto;}
.upc .nav-toggle {display: grid;}
.upc .mobile-nav {border-top: 1px solid var(--line); background: var(--white); padding: 12px var(--gutter) 24px;}
.upc .mobile-nav[data-open="true"] {display: block;}
.upc .mobile-nav a:not(.btn) {display: block; padding: 14px 0; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; font-size: 15px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;}
.upc .mobile-nav a[aria-current="page"] {color: var(--navy);}
.upc .mobile-sub {display: flex; flex-direction: column; padding: 4px 0 8px 16px; border-bottom: 1px solid var(--line);}
.upc .mobile-nav .mobile-sub a:not(.btn) {padding: 9px 0; border-bottom: 0; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--slate);}
.upc .mobile-nav .btn-row {margin-top: 20px;}
.upc .mobile-nav .btn {flex: 1;}
}
@media (max-width: 520px) {
.upc .header-actions .btn-primary {display: none;}
.upc .brand {height: 40px;}
.upc .brand img {height: 72px; margin: -16px 0 0 -9px;}
}
.upc .photo {position: relative; border-radius: var(--radius-lg); overflow: hidden; background: var(--sky);}
.upc .photo img {width: 100%; height: 100%; object-fit: cover;}
.upc .photo--placeholder {display: grid; place-items: center; border: 2px dashed #b9cde0; color: var(--navy); text-align: center; padding: 24px;}
.upc .photo--placeholder span {display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; line-height: 1.4; max-width: 260px;}
.upc .photo--placeholder i {font-size: 36px; opacity: .75;}
.upc .ratio-4-5 {aspect-ratio: 4 / 5;}
.upc .ratio-3-2 {aspect-ratio: 3 / 2;}
.upc .ratio-1-1 {aspect-ratio: 1 / 1;}
.upc .ratio-16-9 {aspect-ratio: 16 / 9;}
.upc .ratio-4-3 {aspect-ratio: 4 / 3;}
.upc .tech-head {display: flex; align-items: center; gap: 16px;}
.upc .tech-head > div {display: flex; flex-direction: column; gap: 6px;}
.upc .tech-mark {flex: none; width: 52px; height: 52px; border-radius: var(--radius-md); background: var(--sky); color: var(--navy); display: grid; place-items: center; font-weight: 800; font-size: 18px; letter-spacing: -0.02em;}
.upc .card--featured .tech-mark {background: var(--navy); color: var(--white);}
.upc .team-group {display: flex; flex-direction: column; gap: 20px;}
.upc .team-group + .team-group {margin-top: 48px;}
.upc .team-grid {display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 28px 20px;}
@media (max-width: 1100px) {
.upc .team-grid {grid-template-columns: repeat(4, minmax(0, 1fr));}
}
@media (max-width: 760px) {
.upc .team-grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (max-width: 520px) {
.upc .team-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px;}
}
.upc .team-card {display: flex; flex-direction: column; gap: 2px;}
.upc .team-card img {width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--radius-lg); border: 1px solid var(--line); background: var(--sky); margin-bottom: 12px;}
.upc .team-card strong {font-size: 18px; font-weight: 700; line-height: 1.3;}
.upc .team-card span {font-size: 15px; color: var(--slate); line-height: 1.4;}
.upc .hero {padding-block: clamp(48px, 7vw, 96px) clamp(56px, 7vw, 96px); overflow: hidden;}
.upc .hero-grid {display: grid; grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr); gap: clamp(36px, 4vw, 64px); align-items: center;}
.upc .display--hero {font-size: clamp(40px, 4.3vw, 62px);}
.upc .hero .lead {font-size: clamp(17px, 1.3vw, 19px);}
.upc .hero-copy {display: flex; flex-direction: column; gap: 26px;}
.upc .hero-proof {display: flex; flex-wrap: wrap; gap: 14px 28px; padding-top: 8px;}
.upc .hero-proof div {display: flex; flex-direction: column;}
.upc .hero-proof strong {font-size: 30px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; color: var(--navy);}
.upc .hero-proof span {font-size: 14px; color: var(--slate);}
.upc .hero-media {position: relative; padding: 40px 0 48px 28px;}
.upc .hero-media .photo {box-shadow: var(--shadow-float);}
.upc .float-card {position: absolute; display: flex; align-items: center; gap: 14px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 14px 18px; box-shadow: var(--shadow-float); max-width: 250px;}
.upc .float-card .icon-tile {width: 46px; height: 46px; font-size: 24px; border-radius: 10px;}
.upc .float-card strong {display: block; font-size: 16px; font-weight: 700; line-height: 1.25;}
.upc .float-card small {display: block; font-size: 14px; color: var(--slate); line-height: 1.3;}
.upc .float-card--a {top: 0; left: 0;}
.upc .float-card--b {bottom: 0; right: -12px;}
.upc .float-card--c {bottom: 0; left: 0;}
@media (max-width: 960px) {
.upc .hero-grid {grid-template-columns: 1fr;}
.upc .hero-media {max-width: 720px; width: 100%; margin-inline: auto; padding-left: 24px;}
.upc .float-card--b {right: 0;}
}
@media (max-width: 520px) {
.upc .hero-media {padding: 0;}
.upc .float-card {position: static; max-width: none; margin-top: 12px; box-shadow: var(--shadow-card);}
}
.upc .page-hero {padding-block: clamp(56px, 8vw, 104px); background: var(--mist); border-bottom: 1px solid var(--line);}
.upc .page-hero .container {display: flex; flex-direction: column; gap: 22px;}
.upc .page-hero--split .container {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(40px, 6vw, 80px); align-items: center;}
.upc .page-hero--split .hero-copy {gap: 22px;}
.upc .breadcrumb {display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--slate);}
.upc .breadcrumb a {color: var(--slate); text-decoration: none;}
.upc .breadcrumb a:hover {color: var(--navy);}
.upc .breadcrumb li + li::before {content: "/"; margin-right: 8px; color: var(--muted);}
.upc .card {background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 32px; box-shadow: var(--shadow-card); display: flex; flex-direction: column; gap: 14px;}
.upc .card--row {flex-direction: row; gap: 24px; align-items: flex-start;}
.upc .card--row > div {display: flex; flex-direction: column; gap: 8px;}
.upc .card--soft {background: var(--mist); border-color: transparent; box-shadow: none;}
.upc .card--link {text-decoration: none; color: inherit; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;}
.upc .card--link:hover {border-color: #b9cde0; box-shadow: var(--shadow-float); transform: translateY(-2px); color: inherit;}
.upc .card .body {font-size: 16px; line-height: 1.55;}
.upc .card .link-arrow {margin-top: auto; padding-top: 6px;}
.upc .card--featured {border: 2px solid var(--navy);}
.upc .icon-tile {flex: none; width: 64px; height: 64px; border-radius: var(--radius-md); background: var(--sky); color: var(--navy); display: grid; place-items: center; font-size: 32px;}
.upc .icon-tile--sm {width: 52px; height: 52px; font-size: 26px;}
.upc .service-strip {position: relative; z-index: 2; margin-top: clamp(-24px, -2vw, 0px);}
.upc .service-strip .strip {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-float);}
.upc .service-strip .strip > a {display: flex; flex-direction: column; gap: 12px; padding: 32px; text-decoration: none; color: inherit; border-left: 1px solid var(--line); transition: background-color .15s ease;}
.upc .service-strip .strip > a:first-child {border-left: 0; border-radius: var(--radius-lg) 0 0 var(--radius-lg);}
.upc .service-strip .strip > a:last-child {border-radius: 0 var(--radius-lg) var(--radius-lg) 0;}
.upc .service-strip .strip > a:hover {background: var(--mist);}
.upc .service-strip .body {font-size: 16px; line-height: 1.5;}
@media (max-width: 960px) {
.upc .service-strip .strip {grid-template-columns: repeat(2, minmax(0, 1fr));}
.upc .service-strip .strip > a {border-left: 0; border-top: 1px solid var(--line); border-radius: 0 !important;}
.upc .service-strip .strip > a:nth-child(-n+2) {border-top: 0;}
.upc .service-strip .strip > a:nth-child(even) {border-left: 1px solid var(--line);}
}
@media (max-width: 560px) {
.upc .service-strip .strip {grid-template-columns: 1fr;}
.upc .service-strip .strip > a {border-left: 0 !important; padding: 24px;}
.upc .service-strip .strip > a:nth-child(2) {border-top: 1px solid var(--line);}
}
.upc .clients {padding-top: clamp(48px, 6vw, 72px);}
.upc .clients-title {font-size: 14px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--slate); text-align: center; margin-bottom: 28px;}
.upc .client-logos {display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px;}
.upc .client-logos li {height: 96px; display: flex; align-items: center; justify-content: center; padding: 12px 16px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden;}
.upc .client-logos img {max-width: 100%; max-height: 72px; width: auto; height: auto; object-fit: contain;}
@media (max-width: 960px) {
.upc .client-logos {grid-template-columns: repeat(4, minmax(0, 1fr));}
}
@media (max-width: 600px) {
.upc .client-logos {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;}
.upc .client-logos li {height: 76px; padding: 8px 10px;}
.upc .client-logos img {max-height: 60px;}
}
.upc .media-badge {position: relative;}
.upc .media-badge .badge-stat {position: absolute; bottom: -24px; right: 24px; background: var(--navy); color: var(--white); border-radius: var(--radius-lg); padding: 20px 26px; box-shadow: var(--shadow-btn); display: flex; flex-direction: column;}
.upc .media-badge .badge-stat--left {right: auto; left: 24px;}
.upc .badge-stat strong {font-size: 40px; font-weight: 800; letter-spacing: -0.03em; line-height: 1;}
.upc .badge-stat span {font-size: 14px; color: #dbe7f2; margin-top: 4px;}
.upc .check-list {display: flex; flex-direction: column; gap: 14px;}
.upc .check-list li {display: flex; gap: 12px; align-items: flex-start; font-size: 17px; line-height: 1.5;}
.upc .check-list i {flex: none; color: var(--navy); font-size: 22px; margin-top: 1px;}
.upc .check-list--2 {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 14px 32px;}
.upc .tag-list {display: flex; flex-wrap: wrap; gap: 10px;}
.upc .tag {display: inline-flex; align-items: center; gap: 8px; background: var(--sky); color: var(--navy); font-size: 15px; font-weight: 700; padding: 8px 14px; border-radius: var(--radius-pill);}
.upc .tag--sm {align-self: flex-start; gap: 6px; font-size: 13px; padding: 5px 10px;}
.upc .group-grid {align-items: start;}
.upc .group-card {gap: 18px;}
.upc .group-head {display: flex; align-items: center; gap: 16px;}
.upc .group-head > div:last-child {display: flex; flex-direction: column; gap: 6px;}
.upc .group-card .check-list {gap: 10px;}
.upc .group-card .check-list li {font-size: 16px;}
.upc .group-card .check-list i {font-size: 20px;}
.upc .group-card .link-arrow {margin-top: 4px;}
.upc .page-hero .notice {max-width: 640px;}
.upc .stats-band {background: var(--navy); color: var(--white);}
.upc .stats {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));}
.upc .stat {padding: 8px 32px; border-left: 1px solid rgba(255, 255, 255, 0.18); display: flex; flex-direction: column; gap: 6px;}
.upc .stat:first-child {border-left: 0; padding-left: 0;}
.upc .stat strong {font-size: clamp(44px, 5vw, 64px); font-weight: 800; letter-spacing: -0.03em; line-height: 1;}
.upc .stat span {font-size: 16px; color: #dbe7f2;}
@media (max-width: 860px) {
.upc .stats {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 0;}
.upc .stat:nth-child(odd) {border-left: 0; padding-left: 0;}
}
.upc .stats--light .stat {border-left-color: var(--line);}
.upc .stats--light .stat strong {color: var(--navy);}
.upc .stats--light .stat span {color: var(--slate);}
.upc .steps {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 20px; counter-reset: step;}
.upc .step {position: relative; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 32px; display: flex; flex-direction: column; gap: 12px; box-shadow: var(--shadow-card);}
.upc .step-num {width: 44px; height: 44px; border-radius: var(--radius-pill); background: var(--navy); color: var(--white); display: grid; place-items: center; font-weight: 800; font-size: 18px;}
.upc .step .body {font-size: 16px; line-height: 1.55;}
.upc .video-card {position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: var(--radius-lg); overflow: hidden; background: var(--deep-navy); cursor: pointer; aspect-ratio: 16 / 9;}
.upc .video-card img {width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease, opacity .2s ease;}
.upc .video-card:hover img {transform: scale(1.03); opacity: .9;}
.upc .video-play {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 56px; height: 56px; border-radius: var(--radius-pill); background: var(--white); color: var(--navy); display: grid; place-items: center; font-size: 24px; box-shadow: 0 6px 20px rgba(4, 35, 82, 0.35); transition: transform .15s ease;}
.upc .video-card:hover .video-play {transform: translate(-50%, -50%) scale(1.08);}
.upc .video-card--large .video-play {width: 72px; height: 72px; font-size: 30px;}
.upc .video-grid {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 20px;}
@media (max-width: 1000px) {
.upc .video-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 520px) {
.upc .video-grid {grid-template-columns: 1fr;}
}
.upc .video-item {display: flex; flex-direction: column; gap: 4px;}
.upc .video-item .video-card {margin-bottom: 10px;}
.upc .video-item strong {font-size: 18px; font-weight: 700;}
.upc .video-item span {font-size: 15px; line-height: 1.45; color: var(--slate);}
.upc .quotes-band .video-item strong {color: var(--white);}
.upc .quotes-band .video-item span {color: #dbe7f2;}
.upc .video-item span b {font-weight: 700;}
.upc .team-video {margin-top: clamp(56px, 7vw, 88px);}
.upc .hero-video {position: relative;}
.upc .hero-video-poster {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
.upc .hero-video-frame {position: absolute; top: 50%; left: 50%; height: 100%; width: auto; aspect-ratio: 16 / 9; transform: translate(-50%, -50%) scale(1.2); border: 0; pointer-events: none;}
.upc .hero-video-btn {position: absolute; right: 16px; top: 16px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; font: inherit; font-size: 14px; font-weight: 700; color: var(--navy); background: rgba(255, 255, 255, 0.94); border: 0; border-radius: var(--radius-pill); padding: 9px 16px 9px 12px; cursor: pointer; box-shadow: var(--shadow-float);}
.upc .hero-video-btn:hover {background: var(--white);}
.upc .hero-video-btn i {font-size: 18px;}
.upc .video-dialog {width: min(1100px, calc(100vw - 32px)); max-width: none; padding: 0; border: 0; background: transparent; overflow: visible;}
.upc .video-dialog::backdrop {background: rgba(4, 35, 82, 0.82);}
.upc .video-dialog-inner {position: relative;}
.upc .video-frame {aspect-ratio: 16 / 9; background: #000; border-radius: var(--radius-md); overflow: hidden;}
.upc .video-frame iframe {width: 100%; height: 100%; border: 0; display: block;}
.upc .video-dialog-close {position: absolute; right: 0; top: -52px; width: 44px; height: 44px; border: 0; border-radius: var(--radius-pill); background: var(--white); color: var(--ink); font-size: 22px; display: grid; place-items: center; cursor: pointer;}
.upc .quotes-band {background: var(--navy); color: var(--white);}
.upc .quotes-band .eyebrow {color: #cfe0f0;}
.upc .quotes-band .h2 {color: var(--white);}
.upc .quotes-band .lead {color: #dbe7f2;}
.upc .quote-card {background: var(--white); color: var(--ink); border-radius: var(--radius-lg); padding: 32px; display: flex; flex-direction: column; gap: 20px;}
.upc .quote-card > i {font-size: 34px; color: var(--navy);}
.upc .quote-card blockquote {font-size: 18px; line-height: 1.55; flex: 1;}
.upc .quote-card figcaption {display: flex; align-items: center; gap: 14px; border-top: 1px solid var(--line); padding-top: 18px;}
.upc .quote-card .avatar {width: 48px; height: 48px; border-radius: var(--radius-pill); background: var(--sky); border: 2px dashed #b9cde0; flex: none;}
.upc .quote-card figcaption strong {display: block; font-size: 16px;}
.upc .quote-card figcaption span {font-size: 14px; color: var(--slate);}
.upc .is-placeholder {color: var(--muted); font-style: italic;}
.upc .cta-card {background: var(--mist); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(32px, 5vw, 64px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px;}
.upc .cta-card > div {display: flex; flex-direction: column; gap: 14px; max-width: 680px;}
.upc .section--mist .cta-card {background: var(--white);}
.upc .prose {max-width: 760px; display: flex; flex-direction: column; gap: 18px; color: var(--slate);}
.upc .prose h2 {color: var(--ink); font-size: 26px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; margin-top: 18px;}
.upc .prose ul {list-style: disc; padding-left: 22px; display: flex; flex-direction: column; gap: 8px;}
.upc .notice {display: flex; gap: 14px; align-items: flex-start; background: var(--sky); color: var(--deep-navy); border-radius: var(--radius-md); padding: 18px 20px; font-size: 16px; line-height: 1.5;}
.upc .notice i {font-size: 22px; flex: none; margin-top: 1px;}
.upc .filter-bar {display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px;}
.upc .filter-chip {font: inherit; font-size: 14px; font-weight: 700; color: var(--ink); background: var(--white); border: 1px solid var(--line-strong); border-radius: var(--radius-pill); padding: 8px 16px; cursor: pointer;}
.upc .filter-chip:hover {border-color: var(--navy); color: var(--navy);}
.upc .filter-chip[aria-pressed="true"] {background: var(--navy); border-color: var(--navy); color: var(--white);}
.upc .post-card {gap: 12px; padding-top: 0; overflow: hidden;}
.upc .post-card-cover {margin: 0 -32px 8px; aspect-ratio: 16 / 9; background: var(--sky); overflow: hidden;}
.upc .post-card-cover img {width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease;}
.upc .post-card:hover .post-card-cover img {transform: scale(1.03);}
.upc .post-card[hidden] {display: none;}
.upc .post-card-top {display: flex; align-items: center; justify-content: space-between; gap: 12px;}
.upc .post-meta {display: inline-flex; flex-wrap: wrap; gap: 6px; font-size: 14px; color: var(--slate);}
.upc .post-card .h3 {font-size: 20px;}
.upc .post-card .body {display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;}
.upc .article-hero .hero-copy {max-width: 860px;}
.upc .article-hero .container {align-items: center;}
.upc .article-cover {box-shadow: var(--shadow-float);}
.upc .article-title {font-size: clamp(32px, 4vw, 50px);}
.upc .article-byline {display: flex; flex-wrap: wrap; gap: 6px 20px; align-items: center; font-size: 15px; color: var(--slate);}
.upc .article-byline strong {color: var(--ink);}
.upc .article-layout {display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(32px, 5vw, 72px); align-items: start;}
.upc .article-aside {position: sticky; top: calc(var(--header-h) + 24px); display: flex; flex-direction: column; gap: 20px;}
.upc .toc {border-left: 2px solid var(--line); padding-left: 18px; display: flex; flex-direction: column; gap: 12px;}
@media (max-width: 1000px) {
.upc .article-layout {grid-template-columns: minmax(0, 1fr);}
.upc .article-aside {position: static; order: 2;}
.upc .toc {display: none;}
}
.upc .toc ol {list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px;}
.upc .toc a {font-size: 15px; line-height: 1.4; color: var(--slate); text-decoration: none;}
.upc .toc a:hover {color: var(--navy);}
.upc .aside-cta {gap: 12px;}
.upc .aside-cta .btn {align-self: flex-start;}
.upc .article-body {max-width: 760px; font-size: 17px; line-height: 1.7; color: #3c434c;}
.upc .article-body h2 {font-size: clamp(24px, 2.4vw, 30px); margin-top: 28px; scroll-margin-top: calc(var(--header-h) + 20px);}
.upc .article-body h3 {color: var(--ink); font-size: 20px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.3; margin-top: 12px;}
.upc .article-body h4 {color: var(--ink); font-size: 17px; font-weight: 700;}
.upc .article-body strong {color: var(--ink);}
.upc .article-body a {color: var(--blue); word-break: break-word;}
.upc .article-body ol {list-style: decimal; padding-left: 22px; display: flex; flex-direction: column; gap: 8px;}
.upc .article-body hr {border: 0; border-top: 1px solid var(--line); margin: 12px 0;}
.upc .article-body code {font-size: 15px; background: var(--mist); padding: 1px 6px; border-radius: 4px;}
.upc .article-body blockquote {margin: 4px 0; padding: 16px 20px; background: var(--sky); border-left: 3px solid var(--navy); border-radius: 0 var(--radius-md) var(--radius-md) 0; color: var(--deep-navy); font-size: 16px;}
.upc .article-body blockquote p + p {margin-top: 8px;}
.upc .table-wrap {overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-md);}
.upc .article-body table {width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5;}
.upc .article-body th {background: var(--mist); color: var(--ink); text-align: left; font-weight: 700;}
.upc .article-body th, .upc .article-body td {padding: 10px 14px; border-bottom: 1px solid var(--line); vertical-align: top;}
.upc .article-body tr:last-child td {border-bottom: 0;}
.upc .article-body #references ~ ol {font-size: 15px;}
.upc .article-disclaimer {margin-top: 24px;}
.upc .contact-grid {display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: clamp(32px, 5vw, 64px); align-items: start;}
@media (max-width: 900px) {
.upc .contact-grid {grid-template-columns: 1fr;}
}
.upc .form {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px;}
.upc .form .full {grid-column: 1 / -1;}
@media (max-width: 600px) {
.upc .form {grid-template-columns: 1fr;}
}
.upc .field {display: flex; flex-direction: column; gap: 8px;}
.upc .field label {font-size: 15px; font-weight: 700;}
.upc .field label .opt {font-weight: 400; color: var(--slate);}
.upc .field input, .upc .field select, .upc .field textarea {font: inherit; font-size: 16px; color: var(--ink); background: var(--white); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: 13px 14px; width: 100%; transition: border-color .15s ease, box-shadow .15s ease;}
.upc .field textarea {min-height: 150px; resize: vertical;}
.upc .field input:focus, .upc .field select:focus, .upc .field textarea:focus {outline: none; border-color: var(--navy); box-shadow: 0 0 0 3px rgba(2, 67, 118, 0.15);}
.upc .field [aria-invalid="true"] {border-color: #b42318;}
.upc .field .error {font-size: 14px; color: #b42318; min-height: 0;}
.upc .form-status {grid-column: 1 / -1; display: none;}
.upc .form-status[data-show="true"] {display: flex;}
.upc .form-embed {gap: 16px; padding: clamp(20px, 3vw, 32px);}
.upc .form-embed iframe {display: block; width: 100%; min-height: 760px; border: 0; border-radius: var(--radius-sm); background: var(--white);}
.upc .contact-list {display: flex; flex-direction: column; gap: 22px;}
.upc .contact-list li {display: flex; gap: 16px; align-items: flex-start;}
.upc .contact-list strong {display: block; font-size: 16px;}
.upc .contact-list span, .upc .contact-list a {font-size: 16px; color: var(--slate);}
.upc .site-footer {background: var(--mist); border-top: 1px solid var(--line); padding-top: clamp(56px, 7vw, 88px);}
.upc .footer-grid {display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 40px; padding-bottom: 48px;}
.upc .footer-brand {display: flex; flex-direction: column; gap: 16px; max-width: 340px;}
.upc .footer-logo {display: block; align-self: flex-start; height: 52px; overflow: hidden;}
.upc .footer-logo img {height: 92px; width: auto; margin: -20px 0 0 -11px;}
.upc .footer-brand .tagline {font-size: 20px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.2;}
.upc .footer-col h2 {font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--slate); margin-bottom: 16px;}
.upc .footer-col ul {display: flex; flex-direction: column; gap: 10px;}
.upc .footer-col a {color: var(--ink); text-decoration: none; font-size: 16px;}
.upc .footer-col a:hover {color: var(--navy); text-decoration: underline;}
.upc .footer-col li span {font-size: 16px; color: var(--slate);}
.upc .footer-bottom {border-top: 1px solid var(--line); padding-block: 24px; display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between; font-size: 15px; color: var(--slate);}
.upc .footer-bottom nav {display: flex; gap: 20px;}
.upc .footer-bottom a {color: var(--slate);}
@media (max-width: 900px) {
.upc .footer-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
.upc .footer-brand {grid-column: 1 / -1;}
}
@media (max-width: 480px) {
.upc .footer-grid {grid-template-columns: 1fr;}
}
.upc .reveal {opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease;}
.upc .reveal.is-visible {opacity: 1; transform: none;}
@media (prefers-reduced-motion: reduce) {
html {scroll-behavior: auto;}
.upc .reveal {opacity: 1; transform: none; transition: none;}
.upc *, .upc *::before, .upc *::after {transition: none !important;}
}
.no-js .upc .reveal {opacity: 1; transform: none;}
.upc { display: block; min-height: 100vh; }
html, body { overflow-x: clip; }
.upc { position: relative; width: 100vw; max-width: 100vw; left: 50%; right: 50%; margin-left: -50vw !important; margin-right: -50vw !important; }
