/* Uplift Sobriety — home page styles for the Elementor build (page "Home").
   Elementor handles structure; this file carries the Figma visual system. */

.us-home {
  --us-espresso: #3d2d24;
  --us-ink: #392007;
  --us-brown: #784e24;
  --us-text: #685548;
  --us-eyebrow: #8b725d;
  --us-gold: #caa674;
  --us-antique: #8b642c;
  --us-cream: #faf7f2;
  --us-ivory: #fbf7ef;
  --us-border: rgba(197, 157, 80, .25);
  --us-lato: "Lato", system-ui, sans-serif;
  --us-dm: "DM Sans", system-ui, sans-serif;
  --us-inter: "Inter", system-ui, sans-serif;
  --container-default-padding-top: 0px;
  --container-default-padding-right: 0px;
  --container-default-padding-bottom: 0px;
  --container-default-padding-left: 0px;
  --widgets-spacing: 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
  background: var(--us-cream);
  font-family: var(--us-dm);
  color: var(--us-text);
  overflow-x: clip;
}
.us-home .us-boot { display: none; }
.us-home p { margin: 0; }
.us-home a { text-decoration: none; }
.us-home .elementor-heading-title { margin: 0; padding: 0; }
.us-home img { max-width: 100%; }
html { scroll-behavior: smooth; }
.us-home [id] { scroll-margin-top: 110px; }

/* ---------- Buttons ---------- */
.us-home .us-btn .elementor-button {
  display: inline-flex; align-items: center; justify-content: center;
  border: 0; border-radius: 999px; box-shadow: none;
  font-family: var(--us-dm); font-weight: 600; line-height: 1.4;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.us-home .us-btn .elementor-button:hover { transform: translateY(-1px); }
.us-home .us-btn--gold .elementor-button { background: var(--us-gold); color: #000; font-size: 14px; padding: 17px 25px; }
.us-home .us-btn--gold .elementor-button:hover { background: #bd9660; color: #000; }
.us-home .us-btn--sm .elementor-button { font-size: 14px; padding: 15px 22px; }
.us-home .us-btn--brown .elementor-button {
  background: var(--us-brown); color: #fffbf3; padding: 18px 36px; border-radius: 56px;
  font-family: var(--us-lato); font-weight: 700; font-size: 19.125px; line-height: 1.2;
}
.us-home .us-btn--brown .elementor-button:hover { background: #643f1b; color: #fffbf3; }
.us-home .us-btn--link .elementor-button {
  background: transparent; color: var(--us-ink); padding: 0;
  font-family: var(--us-lato); font-weight: 700; font-size: 19.125px; line-height: 1.2;
}
.us-home .us-btn--link .elementor-button:hover { background: transparent; color: var(--us-brown); }
.us-home .us-arrow .elementor-button::after {
  content: ""; width: 18px; height: 18px; margin-left: 9px; flex: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M13.63 9.75H2.25a.75.75 0 0 1 0-1.5h11.38l-2.9-2.93a.73.73 0 0 1 0-1.05.73.73 0 0 1 1.05 0l4.2 4.2a.75.75 0 0 1 0 1.05l-4.2 4.2a.73.73 0 0 1-1.05-1.07l2.9-2.9Z' fill='%23392007'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: transform .2s ease;
}
.us-home .us-arrow .elementor-button:hover::after { transform: translateX(3px); }
.us-home .us-btn--cream .elementor-button {
  background: #fffbed; color: var(--us-ink); border: 1px solid rgba(255, 255, 255, .9);
  padding: 12px 12px 12px 34px; font-family: var(--us-lato); font-weight: 700; font-size: 20px; line-height: 1.2;
}
.us-home .us-btn--cream .elementor-button:hover { background: #fff; color: var(--us-ink); }
.us-home .us-badge .elementor-button::after {
  content: ""; width: 48px; height: 48px; margin-left: 14px; flex: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='6.86' y1='6.86' x2='41.14' y2='41.14' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23392007'/%3E%3Cstop offset='1' stop-color='%23C59D50'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='48' height='48' rx='24' fill='url(%23g)'/%3E%3Cpath d='M18 17l12 7-12 7V17Z' fill='%23FFFBED'/%3E%3C/svg%3E") center/contain no-repeat;
}
.us-home .us-textlink .elementor-button {
  background: transparent; padding: 0 0 6px; border: 0; border-bottom: 1px solid var(--us-antique); border-radius: 0;
  color: var(--us-antique); font-family: var(--us-dm); font-weight: 600; font-size: 14px; line-height: 19.8px;
}
.us-home .us-textlink .elementor-button:hover { background: transparent; color: var(--us-brown); border-color: var(--us-brown); }

/* ---------- Logo lockup ---------- */
.us-lockup { display: inline-flex; align-items: center; gap: 13px; color: var(--us-espresso); }
/* Wings mark: transparent Figma source, tinted brand gold via mask (crops the wordmark below the wings). */
.us-mark {
  display: block; flex: none; width: 64px; aspect-ratio: 578 / 386; background: #caa674;
  -webkit-mask: url("/wp-content/uploads/2026/10/uplift-wings-mark.png") center top / 100% auto no-repeat;
  mask: url("/wp-content/uploads/2026/10/uplift-wings-mark.png") center top / 100% auto no-repeat;
}
.us-lockup__text { display: flex; flex-direction: column; font-family: "Manrope", system-ui, sans-serif; font-weight: 700; }
.us-lockup__name { font-size: 27px; line-height: 27px; letter-spacing: 3.24px; }
.us-lockup__sub { font-size: 12px; line-height: 12px; letter-spacing: 3px; margin-top: 9px; }
.us-lockup--footer { color: #d9cbb5; }
.us-lockup--footer .us-mark { width: 51px; }
.us-lockup--footer .us-lockup__name { font-size: 22px; line-height: 22px; letter-spacing: 2.64px; }
.us-lockup--footer .us-lockup__sub { font-size: 12px; line-height: 12px; letter-spacing: 2px; }

/* ---------- Header ---------- */
.us-home .us-header {
  --padding-top: 0px; --padding-bottom: 0px; --padding-left: 72px; --padding-right: 72px;
  --min-height: 96px; min-height: 96px;
  background: var(--us-ivory); border-bottom: 1px solid #efe4d2;
}
.us-nav { display: flex; gap: 30px; }
.us-nav a { font-family: var(--us-dm); font-size: 14px; line-height: 21.45px; color: var(--us-espresso); }
.us-nav a:hover { color: var(--us-brown); }
.us-nav a.is-active { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }

/* Sticky header (the header template widget sits directly inside .us-home) */
.us-home > .us-sticky { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 100; }
.us-home .us-sticky .us-header { transition: min-height .35s ease, background-color .35s ease, box-shadow .35s ease; }
.us-home .us-sticky.is-stuck .us-header {
  --min-height: 76px; min-height: 76px;
  background: rgba(251, 247, 239, .94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  box-shadow: 0 10px 28px rgba(57, 32, 7, .08);
}

/* ---------- Hero ---------- */
.us-home .us-hero { background: #fff; }
.us-home .us-hero__copy {
  --padding-top: 101px; --padding-bottom: 101px; --padding-left: 67.5px; --padding-right: 67.5px;
  min-height: 935px;
  background:
    radial-gradient(ellipse 420px 520px at -95px 526px, rgba(244, 238, 220, .9), rgba(244, 238, 220, 0)),
    #fff;
}
.us-home .us-hero__photo { min-height: 935px; border-bottom-left-radius: 27px; }
.us-home .us-mark--hero { width: 112.5px; }
.us-home .us-hero__eyebrow .elementor-heading-title {
  font-family: var(--us-inter); font-weight: 700; font-size: 15.75px; line-height: 1.2;
  letter-spacing: 2.835px; text-transform: uppercase; color: #917b5a;
}
.us-home .us-hero__title .elementor-heading-title {
  font-family: var(--us-lato); font-weight: 400; font-size: 65.25px; line-height: 72px;
  letter-spacing: -1.125px; color: #000;
}
.us-grad {
  background: linear-gradient(90deg, #caa674, #784e24);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.us-home .us-hero__lead p { font-family: var(--us-inter); font-size: 18px; line-height: 31.5px; color: rgba(0, 0, 0, .8); max-width: 637px; }
.us-address { display: flex; align-items: center; gap: 11.25px; padding-left: 6.75px; font-family: var(--us-inter); font-style: italic; font-size: 18px; line-height: 31.5px; color: var(--us-brown); }
.us-address svg { flex: none; }

/* ---------- Shared section type ---------- */
.us-home .us-sec { --padding-left: 24px; --padding-right: 24px; }
.us-home .us-eyebrow .elementor-heading-title {
  font-family: var(--us-inter); font-weight: 700; font-size: 15.75px; line-height: 1.2; letter-spacing: 2.835px;
  text-transform: uppercase; color: #917b5a; padding-top: 25px;
}
.us-home .us-h2 .elementor-heading-title {
  font-family: var(--us-lato); font-weight: 400; font-size: 48px; line-height: 1.18; letter-spacing: -.48px;
  color: var(--us-ink); padding-top: 20px; max-width: 650px;
}
.us-home .us-h2--680 .elementor-heading-title { max-width: 680px; }
.us-home .us-h2--light .elementor-heading-title { color: #fffbf3; padding-top: 0; max-width: 530px; }
.us-home .us-body p { font-size: 16px; line-height: 27.75px; color: var(--us-text); max-width: 570px; }
.us-home .us-body p + p { margin-top: 20px; }
.us-home .us-body .us-sub { margin-top: 6px; margin-bottom: 0; }
.us-home .us-intro p { max-width: 720px; padding-top: 26px; }

/* ---------- About ---------- */
.us-home .us-about { --padding-top: 90px; --padding-bottom: 90px; background: var(--us-cream); }
.us-home .us-about__img img {
  width: 100%; height: 540px; object-fit: cover; border-radius: 16px;
  box-shadow: 0 18px 55px rgba(36, 70, 67, .07);
}

/* ---------- Cards ---------- */
.us-home .us-card {
  background: #fff; border: 1px solid var(--us-border); border-radius: 16px;
  box-shadow: 0 6px 24px rgba(57, 32, 7, .04); overflow: hidden;
}
.us-home .us-grid { margin-top: 35px; }
.us-home .us-card__img img { width: 100%; height: 240px; object-fit: cover; display: block; }
.us-home .us-card__body { --padding-top: 24px; --padding-right: 26px; --padding-bottom: 28px; --padding-left: 26px; }
.us-home .us-card__title .elementor-heading-title {
  font-family: var(--us-lato); font-weight: 700; font-size: 24px; line-height: 28.8px; letter-spacing: -.84px; color: var(--us-ink);
  min-height: 57.6px;
}
.us-home .us-card__text p { font-size: 16px; line-height: 26px; color: var(--us-text); margin-top: 16px; }
.us-tags { list-style: none; margin: 16px 0 24px; padding: 3px 0; display: flex; flex-wrap: wrap; gap: 3px; }
.us-tags li { border: 1px solid #e5d8c2; border-radius: 25px; padding: 5px 8px; font-size: 12px; line-height: 16.2px; color: var(--us-text); }
.us-home .us-textlink { align-self: flex-start; }

/* ---------- Programs ---------- */
.us-home .us-programs {
  --padding-top: 0px; --padding-bottom: 90px;
  background:
    radial-gradient(ellipse 800px 375px at 240px 450px, rgba(237, 194, 124, .21), rgba(237, 194, 124, 0)),
    var(--us-cream);
}

/* ---------- Insurance band ---------- */
.us-home .us-ins {
  --padding-top: 60px; --padding-bottom: 60px; --padding-left: 60px; --padding-right: 60px;
  position: relative; overflow: hidden; min-height: 416px;
  background: linear-gradient(171.66deg, #392007 14.286%, #93702b 87.602%, #cfa148 177.21%);
}
.us-home .us-ins::before {
  content: ""; position: absolute; left: 41.5%; top: -66px; width: 822px; height: 549px; aspect-ratio: auto; pointer-events: none; opacity: .2;
  background: linear-gradient(124.83deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .956) 100%);
  -webkit-mask: url("/wp-content/uploads/2026/10/uplift-wings-mark.png") center top / 100% auto no-repeat;
  mask: url("/wp-content/uploads/2026/10/uplift-wings-mark.png") center top / 100% auto no-repeat;
}
.us-home .us-ins > * { position: relative; z-index: 1; }
.us-home .us-ins__copy { max-width: 660px; }
.us-home .us-ins__title .elementor-heading-title { font-family: var(--us-lato); font-weight: 600; font-size: 50px; line-height: 62px; color: #fffbf3; }
.us-home .us-ins__lead p { font-family: var(--us-inter); font-size: 16px; line-height: 28px; color: rgba(255, 251, 243, .8); max-width: 560px; margin-top: 20px; }
.us-chips { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.us-chips li {
  display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 12px; border-radius: 999px;
  background: rgba(137, 91, 3, .6); border: 1px solid #967536;
  font-family: var(--us-inter); font-weight: 500; font-size: 14px; line-height: 17px; color: rgba(255, 254, 250, .92);
}
.us-chips svg { width: 12px; height: 8px; flex: none; overflow: visible; }
.us-rule { height: 1px; margin: 32px 0; background: linear-gradient(90deg, #ffa800, #c59d50 50%, rgba(197, 157, 80, 0)); }
.us-ins__accepted { display: flex; align-items: center; gap: 32px; }
.us-ins__accepted > p { width: 87px; flex: none; font-family: var(--us-inter); font-size: 16px; line-height: 1.2; color: rgba(255, 251, 243, .8); }
.us-ins__logos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 22px; }
.us-ins__logos li { display: flex; }
.us-ins__logo { display: block; background: #fffbed; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; }
.us-orcall { display: flex; align-items: center; gap: 8px; font-family: var(--us-inter); font-size: 16px; line-height: 28px; color: rgba(255, 251, 243, .8); }
.us-orcall a {
  font-family: var(--us-lato); font-weight: 900; font-size: 20px; line-height: 1.2;
  background: linear-gradient(90deg, #f5f3ec, #ffd076); -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ---------- Why ---------- */
.us-home .us-why { --padding-top: 90px; --padding-bottom: 72px; background: var(--us-cream); }
.us-home .us-feature { --padding-top: 30px; --padding-right: 30px; --padding-bottom: 14px; --padding-left: 30px; min-height: 225px; box-shadow: 0 6px 12px rgba(57, 32, 7, .04); }
.us-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 28px; background: #f5eee2; }
.us-home .us-feature__title .elementor-heading-title {
  font-family: var(--us-lato); font-weight: 700; font-size: 23px; line-height: 27.6px; letter-spacing: -.805px; color: var(--us-ink); padding-top: 24px;
}
.us-home .us-feature .us-card__text p { margin: 16px 0; }

/* ---------- Testimonials ---------- */
.us-home .us-testimonials {
  --padding-top: 90px; --padding-bottom: 0px;
  background:
    radial-gradient(ellipse 800px 260px at 240px 314px, rgba(237, 194, 124, .21), rgba(237, 194, 124, 0)),
    var(--us-cream);
}
.us-home .us-testimonials .us-eyebrow + .us-eyebrow .elementor-heading-title { padding-top: 25px; }
.us-home .us-quote { --padding-top: 30px; --padding-right: 30px; --padding-bottom: 30px; --padding-left: 30px; box-shadow: 0 6px 12px rgba(57, 32, 7, .04); }
.us-quote__mark { display: block; height: 50px; font-family: Georgia, serif; font-size: 75px; line-height: 60px; color: #c2a063; }
.us-home .us-quote__text p { font-size: 16px; line-height: 27.2px; color: var(--us-espresso); }
.us-home .us-quote__name { margin-top: auto; }
.us-home .us-quote__name .elementor-heading-title {
  margin-top: 25px; padding-top: 22px; border-top: 1px solid #e5d8c2;
  font-family: var(--us-dm); font-weight: 600; font-size: 14px; line-height: 20.4px; color: var(--us-espresso);
}

/* ---------- Closing CTA ---------- */
.us-home .us-cta { --padding-top: 154px; --padding-bottom: 64px; background: var(--us-cream); }
.us-home .us-cta__card {
  border-radius: 16px; overflow: hidden; min-height: 437px;
  background: linear-gradient(169.84deg, #392007 14.286%, #93702b 87.602%, #cfa148 177.21%);
}
.us-home .us-cta__copy { --padding-top: 60px; --padding-bottom: 60px; --padding-left: 66px; --padding-right: 66px; }
.us-home .us-cta__lead p { font-size: 16px; line-height: 27.75px; color: #fffbf3; max-width: 530px; padding-top: 26px; }
.us-home .us-cta__btns { padding-top: 28px; }
.us-home .us-cta__btns .us-btn + .us-btn .elementor-button { font-size: 14px; }
.us-home .us-cta__photo { min-height: 437px; border-radius: 16px; }

/* ---------- Footer ---------- */
.us-home .us-footer {
  --padding-top: 68px; --padding-bottom: 34px; --padding-left: 24px; --padding-right: 24px;
  position: relative; overflow: hidden; background: var(--us-espresso);
}
.us-home .us-footer::after {
  content: ""; position: absolute; right: 0; bottom: -55px; width: 350px; height: 234px; aspect-ratio: auto; opacity: .08; pointer-events: none;
  background: #caa674;
  -webkit-mask: url("/wp-content/uploads/2026/10/uplift-wings-mark.png") center top / 100% auto no-repeat;
  mask: url("/wp-content/uploads/2026/10/uplift-wings-mark.png") center top / 100% auto no-repeat;
}
.us-home .us-footer > * { position: relative; z-index: 1; }
.us-home .us-foot__cols { padding-bottom: 40px; }
.us-home .us-foot__text p, .us-foot__links a { font-size: 14px; line-height: 19.8px; color: #d9cbb5; }
.us-foot__links { list-style: none; margin: 0; padding: 0; }
.us-foot__links li + li { margin-top: 9px; }
.us-foot__links a:hover, .us-foot__addr a:hover { color: #fff; }
.us-home .us-foot__bottom { border-top: 1px solid var(--us-text); padding-top: 20px; }
.us-home .us-foot__bottom .us-foot__addr { font-size: 14px; line-height: 22px; color: #d9cbb5; }
.us-foot__addr a { color: inherit; }
.us-home .us-foot__bottom .us-foot__fine { font-size: 12px; line-height: 18px; color: #b6a68c; margin-top: 15px; }

/* ---------- Entrance motion (classes added by home.js) ---------- */
.us-anim .us-rv {
  --us-ease: cubic-bezier(.22, 1, .36, 1);
  opacity: 0;
  transition: opacity .9s var(--us-ease) var(--us-d, 0ms), transform 1.1s var(--us-ease) var(--us-d, 0ms),
    clip-path 1.4s var(--us-ease) var(--us-d, 0ms), filter 1.1s var(--us-ease) var(--us-d, 0ms),
    box-shadow .4s ease, border-color .4s ease;
}
.us-anim .us-rv--up { transform: translate3d(0, 28px, 0); }
.us-anim .us-rv--down { transform: translate3d(0, -12px, 0); }
.us-anim .us-rv--zoom { transform: scale(.97); filter: blur(4px); }
.us-anim .us-rv--curtain { clip-path: inset(0 0 0 14% round 0 0 0 27px); transform: scale(1.04); transform-origin: right center; }
.us-anim .us-rv.is-in { opacity: 1; transform: none; filter: none; }
.us-anim .us-rv--curtain.is-in { clip-path: inset(0 0 0 0 round 0 0 0 27px); }
.us-home .us-ins::before { animation: us-drift 14s ease-in-out infinite alternate; }
@keyframes us-drift { from { transform: translate3d(0, 0, 0) rotate(0deg); } to { transform: translate3d(-18px, 12px, 0) rotate(-1.5deg); } }

/* Gentle hover feedback on cards */
.us-home .us-card:not(.us-rv) { transition: box-shadow .4s ease, border-color .4s ease; }
.us-home .us-card:hover { box-shadow: 0 16px 40px rgba(57, 32, 7, .09); border-color: rgba(197, 157, 80, .45); }
.us-home .us-card__img { overflow: hidden; }
.us-home .us-card__img img { transition: transform 1.2s cubic-bezier(.22, 1, .36, 1); }
.us-home .us-card:hover .us-card__img img { transform: scale(1.045); }

@media (prefers-reduced-motion: reduce) {
  .us-home .us-ins::before { animation: none; }
  .us-home .us-card__img img { transition: none; }
}


/* =====================================================================
   Inner pages (About, Programs, PHP / IOP / OP)
   ===================================================================== */
.us-home .us-btn--white .elementor-button { background: #fff; color: #000; border: 2px solid var(--us-gold); font-size: 14px; padding: 15px 25px; }
.us-home .us-btn--white .elementor-button:hover { background: #fffbf3; color: #000; }
.us-home .us-textlink--lg .elementor-button { font-size: 14px; margin-left: 8px; }

/* Page hero */
.us-home .us-ph {
  --padding-top: 72px; --padding-bottom: 80px; position: relative; overflow: hidden; min-height: 480px;
}
.us-home .us-ph::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(44, 32, 25, .96) 0%, rgba(61, 45, 36, .86) 35%, rgba(61, 45, 36, .48) 68%, rgba(61, 45, 36, .3) 100%);
}
.us-home .us-ph > .e-con-inner { position: relative; z-index: 1; }
.us-crumbs { font-family: var(--us-dm); font-size: 14px; line-height: 18.7px; color: #efe4d2; }
.us-crumbs a { color: #efe4d2; }
.us-crumbs a:hover { color: #fff; }
.us-crumbs span[aria-hidden] { margin: 0 4px; opacity: .7; }
.us-home .us-eyebrow--light .elementor-heading-title { color: #c2a063; }
.us-home .us-ph .us-eyebrow .elementor-heading-title { padding-top: 14px; }
.us-home .us-ph__title .elementor-heading-title {
  font-family: var(--us-lato); font-weight: 400; font-size: 58px; line-height: 1.18; letter-spacing: -.58px; color: #fbf7ef;
  max-width: 760px; padding-top: 22px;
}
.us-home .us-ph__btns { padding-top: 33px; }

/* Lead paragraph under heroes */
.us-home .us-lead-sec { --padding-top: 65px; --padding-bottom: 0px; background: var(--us-cream); }
.us-home .us-lead p { font-size: 20px; line-height: 33px; color: var(--us-text); max-width: 900px; }

/* Split sections reused from home */
.us-home .us-about--inner { --padding-top: 90px; --padding-bottom: 90px; }
.us-home .us-body--gap p:first-child { margin-top: 26px; }
.us-home .us-glow {
  background: radial-gradient(ellipse 711px 288px at 213px 346px, rgba(237, 194, 124, .21), rgba(237, 194, 124, 0)), var(--us-cream);
}
.us-home .us-grid--4 .us-feature { min-height: 0; }

/* Team cards */
.us-home .us-team-sec { --padding-top: 24px; --padding-bottom: 90px; background: var(--us-cream); }
.us-home .us-team { --padding-top: 28px; --padding-right: 23px; --padding-bottom: 28px; --padding-left: 23px; box-shadow: 0 6px 12px rgba(57, 32, 7, .04); }
.us-avatar {
  display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #f5eee2;
  font-family: var(--us-lato); font-size: 22px; color: var(--us-ink); letter-spacing: .5px;
}
.us-home .us-team__name .elementor-heading-title { font-family: var(--us-lato); font-weight: 700; font-size: 21px; line-height: 1.2; letter-spacing: -.6px; color: var(--us-ink); padding-top: 22px; }
.us-home .us-team__role .elementor-heading-title { font-family: var(--us-inter); font-weight: 700; font-size: 14px; letter-spacing: 1.6px; text-transform: uppercase; color: #917b5a; padding-top: 12px; }
.us-home .us-team .us-card__text p { margin-top: 12px; }

/* Dark band (About approach, program features) */
.us-home .us-dark { --padding-top: 90px; --padding-bottom: 90px; background: var(--us-espresso); }
.us-home .us-dark .us-h2--light .elementor-heading-title { padding-top: 20px; max-width: 560px; }
.us-home .us-dark__lead p { font-size: 16px; line-height: 27.75px; color: #e5d8c2; padding-top: 26px; max-width: 520px; }
.us-chips--outline { margin-top: 26px; gap: 9px 8px; }
.us-chips--outline li { background: transparent; border: 1px solid #8b725d; border-radius: 30px; padding: 10px 14px; font-family: var(--us-dm); font-size: 14px; font-weight: 400; line-height: 15.4px; color: #e5d8c2; }
.us-home .us-split__img img { width: 100%; height: 520px; object-fit: cover; border-radius: 16px; display: block; }

/* Closing CTA on inner pages */
.us-home .us-cta--inner { --padding-top: 64px; }
.us-home .us-cta--inner .us-cta__card { min-height: 427px; }

/* Programs overview: program cards */
.us-home .us-prog-sec { --padding-top: 55px; --padding-bottom: 0px; background: var(--us-cream); }
.us-home .us-prog {
  --padding-top: 32px; --padding-right: 45px; --padding-bottom: 36px; --padding-left: 45px;
  border-radius: 24px; overflow: hidden; box-shadow: 0 8px 30px rgba(61, 45, 36, .05);
}
.us-home .us-prog--php { background: radial-gradient(ellipse 612px 458px at 183px 550px, rgba(237, 194, 124, .21), rgba(237, 194, 124, 0)), #faf7f2; border: 1px solid rgba(197, 157, 80, .18); }
.us-home .us-prog--iop { background: #e8decf; }
.us-home .us-prog--op { background: #fffcf7; border: 1px solid rgba(197, 157, 80, .18); }
.us-home .us-prog__img img { width: 100%; height: 290px; object-fit: cover; border-radius: 18px; display: block; }
.us-home .us-prog__intro .us-prog__img img { height: 330px; }
.us-home .us-prog > .us-prog__img + .elementor-element .elementor-heading-title { padding-top: 35px; }
.us-home .us-eyebrow--sm .elementor-heading-title { font-size: 14px; letter-spacing: 2.2px; padding-top: 0; }
.us-home .us-prog__title .elementor-heading-title { font-family: var(--us-lato); font-weight: 400; font-size: 38px; line-height: 1.18; letter-spacing: -.38px; color: var(--us-ink); padding-top: 12px; }
.us-home .us-prog__body p { max-width: none; padding-top: 16px; }
.us-home .us-prog__h3 .elementor-heading-title { font-family: var(--us-lato); font-weight: 700; font-size: 21px; line-height: 1.1; letter-spacing: -.7px; color: var(--us-text); padding-top: 28px; }
.us-checklist { list-style: none; margin: 0; padding: 18px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 30px; }
.us-checklist li { position: relative; padding: 0 0 10px 22px; border-bottom: 1px solid rgba(197, 157, 80, .2); font-size: 16px; line-height: 24px; color: var(--us-text); }
.us-checklist li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: var(--us-antique); font-weight: 700; }
.us-home .us-opts { margin-top: 18px; }
.us-home .us-opt { --padding-top: 24px; --padding-right: 24px; --padding-bottom: 24px; --padding-left: 24px; background: #fff; border: 1px solid var(--us-border); border-radius: 18px; }
.us-icon--sm { width: 48px; height: 48px; }
.us-icon img { display: block; }
.us-home .us-opt__title .elementor-heading-title { font-family: var(--us-lato); font-weight: 700; font-size: 19px; line-height: 1.2; letter-spacing: -.5px; color: var(--us-ink); padding-top: 18px; }
.us-home .us-opt__text p { font-size: 16px; line-height: 24px; color: var(--us-text); margin-top: 10px; }
.us-home .us-prog__actions { padding-top: 26px; }

/* Program detail: summary card overlapping the hero */
.us-home .us-summary-sec { --padding-top: 0px; --padding-bottom: 0px; position: relative; z-index: 2; margin-top: -40px; }
.us-home .us-summary {
  --padding-top: 32px; --padding-right: 36px; --padding-bottom: 32px; --padding-left: 36px;
  background: #faf6f0; border: 1px solid var(--us-gold); border-bottom-width: 3px; border-radius: 28px; box-shadow: 0 12px 15px rgba(56, 32, 8, .12);
}
.us-home .us-summary__text { flex: 1 1 auto; }
.us-home .us-summary__text p { font-size: 16px; line-height: 30px; color: var(--us-ink); max-width: 650px; }
.us-stat {
  display: flex; align-items: center; gap: 16px; min-width: 300px; padding: 20px 28px; border-radius: 999px;
  background: rgba(202, 166, 116, .14); border: 1px solid rgba(202, 166, 116, .6);
}
.us-stat__text { display: flex; flex-direction: column; font-family: var(--us-lato); font-weight: 700; font-size: 17px; line-height: 25px; color: var(--us-ink); }

/* Arched photos */
.us-home .us-arch img { width: 100%; height: 540px; object-fit: cover; display: block; box-shadow: 0 18px 55px rgba(36, 70, 67, .07); }
.us-home .us-arch--tl img { border-radius: 160px 24px 24px 24px; border: 2px solid rgba(202, 166, 116, .5); }
.us-home .us-arch--bl img { height: 600px; border-radius: 24px 24px 24px 180px; }

/* Feature pills on the dark band */
.us-home .us-dark--features { background: #483626; }
.us-home .us-pills { margin-top: 32px; }
.us-pill { display: flex; align-items: center; gap: 16px; min-height: 85px; height: 100%; padding: 20px 25px; border-radius: 16px; background: #fffaf3; font-size: 14px; line-height: 23px; color: var(--us-text); }
.us-pill img { flex: none; }

/* Ideal candidates */
.us-home .us-candidates { --padding-top: 90px; --padding-bottom: 90px; background: #e8dfd2; }
.us-numlist { list-style: none; counter-reset: us-n; margin: 26px 0 0; padding: 0; }
.us-numlist li { counter-increment: us-n; display: flex; align-items: center; gap: 20px; padding: 20px 0; border-bottom: 1px solid #d9c9b1; font-size: 16px; line-height: 23px; color: var(--us-text); }
.us-numlist li::before { content: counter(us-n, decimal-leading-zero); flex: none; font-family: var(--us-lato); font-weight: 700; font-size: 14px; color: #997341; }

/* Format cards */
.us-home .us-format { border: 2px solid var(--us-gold); border-radius: 24px; box-shadow: 0 6px 12px rgba(57, 32, 7, .04); --padding-top: 30px; --padding-right: 30px; --padding-bottom: 30px; --padding-left: 30px; }
.us-home .us-format .us-card__title .elementor-heading-title { padding-top: 24px; }
.us-home .us-format .us-card__text p { font-size: 16px; line-height: 25.2px; }

@media (max-width: 1024px) {
  .us-home .us-ph__title .elementor-heading-title { font-size: 46px; }
  .us-home .us-prog { --padding-left: 28px; --padding-right: 28px; }
  .us-home .us-arch img { height: 440px; }
  .us-home .us-summary-sec { margin-top: -28px; }
}
@media (max-width: 767px) {
  .us-home .us-ph { --padding-top: 48px; --padding-bottom: 64px; min-height: 0; }
  .us-home .us-ph__title .elementor-heading-title { font-size: 36px; }
  .us-home .us-lead-sec { --padding-top: 40px; }
  .us-home .us-lead p { font-size: 17px; line-height: 28px; }
  .us-home .us-about--inner, .us-home .us-dark, .us-home .us-candidates { --padding-top: 56px; --padding-bottom: 56px; }
  .us-home .us-split__img img { height: 320px; }
  .us-home .us-prog { --padding-left: 20px; --padding-right: 20px; --padding-top: 20px; --padding-bottom: 28px; }
  .us-home .us-prog__title .elementor-heading-title { font-size: 30px; }
  .us-checklist { grid-template-columns: 1fr; }
  .us-home .us-summary { --padding-left: 22px; --padding-right: 22px; --padding-top: 24px; --padding-bottom: 24px; border-radius: 22px; }
  .us-stat { min-width: 0; width: 100%; }
  .us-home .us-arch img { height: 340px; }
  .us-home .us-arch--tl img { border-radius: 110px 20px 20px 20px; }
  .us-home .us-arch--bl img { border-radius: 20px 20px 20px 110px; }
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  .us-home .us-header { --padding-left: 32px; --padding-right: 32px; }
  .us-nav { gap: 20px; }
  .us-home .us-hero__copy { min-height: 0; --padding-top: 72px; --padding-bottom: 72px; --padding-left: 32px; --padding-right: 32px; }
  .us-home .us-hero__photo { min-height: 460px; border-bottom-left-radius: 0; }
  .us-anim .us-rv--curtain { clip-path: inset(0 0 0 14%); }
  .us-anim .us-rv--curtain.is-in { clip-path: inset(0); }
  .us-home .us-sec { --padding-left: 32px; --padding-right: 32px; }
  .us-home .us-about__img img { height: 420px; }
  .us-home .us-ins { --padding-left: 32px; --padding-right: 32px; }
  .us-home .us-ins::before { left: 20%; }
  .us-home .us-cta { --padding-top: 96px; }
  .us-home .us-cta__photo { min-height: 320px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .us-home .us-header { --padding-left: 20px; --padding-right: 20px; min-height: 72px; flex-wrap: wrap; }
  .us-lockup--header .us-mark { width: 48px; }
  .us-lockup--header .us-lockup__name { font-size: 21px; line-height: 21px; letter-spacing: 2.5px; }
  .us-lockup--header .us-lockup__sub { font-size: 12px; letter-spacing: 2px; margin-top: 6px; }
  .us-home .us-header .elementor-widget-html:has(.us-nav) { order: 3; width: 100%; }
  .us-nav { justify-content: space-between; gap: 12px; padding: 10px 0 12px; border-top: 1px solid #efe4d2; }
  .us-nav a { font-size: 14px; }
  .us-home .us-hero__copy { --padding-top: 48px; --padding-bottom: 56px; --padding-left: 20px; --padding-right: 20px; --gap: 26px; --row-gap: 26px; }
  .us-home .us-mark--hero { width: 80px; }
  .us-home .us-hero__eyebrow .elementor-heading-title, .us-home .us-eyebrow .elementor-heading-title { font-size: 14px; letter-spacing: 2.2px; }
  .us-home .us-hero__title .elementor-heading-title { font-size: 44px; line-height: 50px; letter-spacing: -.8px; }
  .us-home .us-hero__lead p, .us-address { font-size: 16px; line-height: 27px; }
  .us-home .us-btn--brown .elementor-button, .us-home .us-btn--link .elementor-button { font-size: 17px; }
  .us-home .us-btn--brown .elementor-button { padding: 16px 28px; }
  .us-home .us-hero__photo { min-height: 320px; }
  .us-home .us-sec { --padding-left: 20px; --padding-right: 20px; }
  .us-home .us-about { --padding-top: 56px; --padding-bottom: 64px; }
  .us-home .us-h2 .elementor-heading-title { font-size: 34px; }
  .us-home .us-about__img img { height: 300px; }
  .us-home .us-programs { --padding-bottom: 64px; }
  .us-home .us-card__title .elementor-heading-title { min-height: 0; }
  .us-home .us-ins { --padding-top: 56px; --padding-bottom: 56px; --padding-left: 20px; --padding-right: 20px; }
  .us-home .us-ins::before { left: -10%; width: 560px; height: 374px; top: auto; bottom: -60px; }
  .us-home .us-ins__title .elementor-heading-title { font-size: 34px; line-height: 42px; }
  .us-ins__accepted { flex-direction: column; align-items: flex-start; gap: 16px; }
  .us-ins__accepted > p { width: auto; }
  .us-home .us-ins__cta { align-self: stretch; }
  .us-home .us-btn--cream .elementor-button { font-size: 18px; }
  .us-home .us-why { --padding-top: 56px; --padding-bottom: 56px; }
  .us-home .us-testimonials { --padding-top: 40px; }
  .us-home .us-cta { --padding-top: 64px; --padding-bottom: 48px; }
  .us-home .us-cta__copy { --padding-top: 40px; --padding-bottom: 32px; --padding-left: 24px; --padding-right: 24px; }
  .us-home .us-cta__photo { min-height: 240px; border-radius: 0; }
  .us-home .us-footer { --padding-top: 48px; --padding-left: 20px; --padding-right: 20px; }
}

/* Body copy widgets inherit DM Sans instead of the Elementor kit's Roboto (low specificity so component rules still win). */
.us-home :where(.elementor-widget-text-editor, .elementor-widget-html) { font-family: var(--us-dm); }

/* ---------- Why Choose Us: split with portrait video (mirrors the hero) ---------- */
.us-home .us-why2 { background: var(--us-cream); }
.us-home .us-why__media { position: relative; overflow: hidden; min-height: 640px; background: #2f4f63; border-top-right-radius: 27px; border-bottom-right-radius: 27px; }
.us-home .us-why__media-w { position: absolute !important; inset: 0; width: 100% !important; margin: 0 !important; }
.us-home .us-why__media-w > .elementor-widget-container { height: 100%; }
.us-why__video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none; }
.us-home .us-why2__copy { --padding-top: 96px; --padding-bottom: 96px; --padding-left: 72px; --padding-right: 72px; max-width: 900px; }
.us-home .us-grid--why2 { margin-top: 44px; }
.us-home .us-grid--why2 .us-feature { min-height: 0; --padding-top: 26px; --padding-right: 26px; --padding-bottom: 10px; --padding-left: 26px; }
@media (max-width: 1024px) {
  .us-home .us-why__media { order: 2; min-height: 620px; border-radius: 0; }
  .us-home .us-why2__copy { --padding-top: 72px; --padding-bottom: 56px; --padding-left: 32px; --padding-right: 32px; max-width: none; }
}
@media (max-width: 767px) {
  .us-home .us-why__media { min-height: 560px; }
  .us-home .us-why2__copy { --padding-top: 56px; --padding-bottom: 40px; --padding-left: 20px; --padding-right: 20px; }
  .us-home .us-grid--why2 { margin-top: 28px; }
}
