/* ===== START OF HOSPITALITY READY CSS ===== */
/* ===== HRA sticky anchor nav ===== */
.hra-anchor-nav{
  position: sticky;
  top: 0;
  z-index: 9999;
  background: #fff;
}

/* inner divider */
.hra-anchor-nav::after{
  content: "";
  display: block;
  max-width: 1100px;   /* adjust to taste */
  margin: 0 auto;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

/* layout */
.hra-anchor-menu{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 12px 16px;
}

/* remove bullets/indent from theme defaults */
.hra-anchor-menu li{
  margin: 0;
  padding: 0;
}

/* Anchor nav links — size & color */
.hra-anchor-menu a{
  font-size: 17px;           /* bump size */
  font-weight: 500;
  color: #707372;
  letter-spacing: 0.01em;
}

/* Hover + focus */
.hra-anchor-menu a:hover,
.hra-anchor-menu a:focus{
  color: #78a22f;
  background: rgba(120,162,47,0.08);
}

.hra-anchor-menu{
  justify-content: center; /* or flex-start if you prefer left */
}

/* Active (clicked / current anchor if browser keeps focus) */
.hra-anchor-menu a:active{
  color: #78a22f;
}

/* smooth scroll + offset so anchors don't hide under sticky header/nav */
html{ scroll-behavior: smooth; }
:target{ scroll-margin-top: 110px; } /* adjust as needed */

@media (max-width: 768px){
  .hra-anchor-menu{
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .hra-anchor-menu::-webkit-scrollbar{ display:none; }
}

/* ===== HRA Anchor Nav: make it look like tabs ===== */

/* nav container */
.hra-anchor-nav{
  position: sticky;
  top: 0;
  z-index: 9999;
  background: #fff;
  padding: 10px 0;
}

/* stronger divider line (and shorter) */
.hra-anchor-nav::after{
  content:"";
  display:block;
  max-width: 980px;                 /* shorter line */
  margin: 10px auto 0;
  border-bottom: 2px solid rgba(112,115,114,0.25);  /* more visible */
}

/* menu layout */
.hra-anchor-menu{
  display:flex;
  justify-content:center;            /* feels like a tab bar */
  flex-wrap:wrap;
  gap: 10px;
  list-style:none;
  margin: 0;
  padding: 0 16px;
}

/* remove theme spacing */
.hra-anchor-menu li{
  margin:0;
  padding:0;
}

/* tab/pill styling */
.hra-anchor-menu a{
  text-decoration: none !important;  /* kill underlines */
  color: #4f5355;                    /* darker gray (still harmonious) */
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  padding: 10px 14px;
  border-radius: 999px;              /* pill */
  background: #f3f4f4;               /* light gray chip */
  border: 1px solid rgba(112,115,114,0.25);
  display:inline-block;
  transition: all 0.15s ease-in-out;
}

/* hover/focus state */
.hra-anchor-menu a:hover,
.hra-anchor-menu a:focus{
  color: #78a22f;
  background: rgba(120,162,47,0.10);
  border-color: rgba(120,162,47,0.35);
  outline: none;
}

/* "clicked" state (brief) */
.hra-anchor-menu a:active{
  background: rgba(120,162,47,0.18);
  border-color: rgba(120,162,47,0.50);
}

/* smooth scroll + landing offset */
html{ scroll-behavior: smooth; }
:target{ scroll-margin-top: 120px; }

/* Active tab (click-based only) */
.hra-anchor-menu a.is-active{
  background: rgba(120,162,47,0.18);
  border-color: #78a22f;
  color: #5f7f24;
}


/* =========================
   WHY HOSPITALITY FEELS HARD
   (Matches Fit Check)
========================= */

.hra-why {
  padding: clamp(28px, 4vw, 56px) 0;
  color: rgba(0,0,0,.88);
}

.hra-why__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 24px);
}

.hra-why__head {
  text-align: center;
  margin-bottom: clamp(18px, 2.8vw, 30px);
}

.hra-why__kicker {
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
  margin-bottom: 10px;
}

.hra-why__title {
  font-size: clamp(28px, 2.8vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--hra-green);
  margin-bottom: 10px;
}

.hra-why__sub {
  max-width: 820px;
  margin: 0 auto;
  font-size: clamp(16px, 1.3vw, 18px);
  line-height: 1.5;
  color: rgba(0,0,0,.7);
}

.hra-why__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(14px, 1.8vw, 22px);
}

.hra-why__card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: clamp(18px, 2vw, 26px);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  text-align: center;
  transition: transform .18s ease, box-shadow .18s ease;
}

.hra-why__icon {
  width: 66px;
  height: 66px;
  border-radius: 18px;
  margin: 0 auto 14px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.06);
  display: grid;
  place-items: center;
}

.hra-why__icon svg {
  width: 30px;
  height: 30px;
  stroke: var(--icon);
  fill: none;
}

.hra-why__cardTitle {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.hra-why__text {
  font-size: 16px;
  line-height: 1.5;
  color: rgba(0,0,0,.62);
}

/* Responsive */
@media (max-width: 1100px) {
  .hra-why__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .hra-why__grid {
    grid-template-columns: 1fr;
  }
  .hra-why__head {
    text-align: left;
  }
  .hra-why__sub {
    margin-left: 0;
  }
  .hra-why__card {
    text-align: left;
  }
  .hra-why__icon {
    margin-left: 0;
  }
}
/* Container styling for WHY section */
.hra-why__inner {
  background: #fff;
  border-radius: 24px;
  padding: clamp(28px, 4vw, 48px);
  box-shadow: 0 12px 40px rgba(0,0,0,.06);
}

/* Left-aligned header with constrained width */
.hra-why__head {
  max-width: 720px;
  text-align: left;
  margin-bottom: 22px; /* ties header to cards */
}

/* Tighten kicker/title spacing */
.hra-why__kicker {
  margin-bottom: 4px;
}

.hra-why__title {
  margin-top: 0;
  font-size: clamp(26px, 2.6vw, 36px);
}

.hra-sidecard {
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
}
.hra-sidecard img {
  border-radius: 14px;
}

/* ===== BINW "Quick Fit Check" ===== */
.binw-fitcheck {
  --binw-green: #78a22f;
  --binw-gray: #707372;
  --binw-border: rgba(0,0,0,0.10);
  --binw-shadow: 0 10px 30px rgba(0,0,0,0.10);

  margin: 48px 0;
}

.binw-fitcheck__inner {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 28px;
  align-items: stretch;

  background: #fff;
  border: 1px solid var(--binw-border);
  border-radius: 18px;
  box-shadow: var(--binw-shadow);
  overflow: hidden;
}

.binw-fitcheck__media {
  position: relative;
  min-height: 280px;
  background: #f4f5f5;
}

.binw-fitcheck__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.binw-fitcheck__placeholder {
  width: 100%;
  height: 100%;
  background:
    radial-gradient(circle at 20% 20%, rgba(120,162,47,0.10), transparent 40%),
    radial-gradient(circle at 80% 30%, rgba(112,115,114,0.12), transparent 45%),
    linear-gradient(180deg, rgba(0,0,0,0.02), rgba(0,0,0,0.00));
}

.binw-fitcheck__content {
  padding: 26px 26px 24px;
}

.binw-fitcheck__kicker {
  margin: 0 0 6px;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--binw-gray);
}

.binw-fitcheck__title {
  margin: 0 0 10px;
  font-size: 28px;
  line-height: 1.15;
}

.binw-fitcheck__lead {
  margin: 0 0 16px;
  color: var(--binw-gray);
  font-size: 16px;
  line-height: 1.5;
}

.binw-fitcheck__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 18px !important;
  display: grid;
  gap: 10px;
}

.binw-fitcheck__list li {
  list-style: none !important;
  display: grid;
  grid-template-columns: 22px 1fr;
  column-gap: 10px;
  align-items: start;
  padding-left: 0 !important;
  margin: 0 !important;
  color: #2b2b2b;
  line-height: 1.45;
}

.binw-fitcheck__list li::before {
  content: "✓";
  width: 18px;
  height: 18px;
  margin-top: 0.2em;
  border-radius: 999px;
  background: rgba(120,162,47,0.16);
  border: 1px solid rgba(120,162,47,0.35);
  color: var(--binw-green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.binw-fitcheck__list li::after {
  content: none !important;
  display: none !important;
}

.binw-fitcheck__ctaRow {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

.binw-fitcheck__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 12px;
  background: var(--binw-green);
  color: #fff !important;
  text-decoration: none;
  font-weight: 700;
  border: 2px solid var(--binw-green);
  transition: transform 120ms ease, filter 120ms ease;
}

.binw-fitcheck__btn:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}

.binw-fitcheck__link {
  color: var(--binw-gray);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px solid rgba(112,115,114,0.35);
}

.binw-fitcheck__link:hover {
  color: var(--binw-green);
  border-bottom-color: rgba(120,162,47,0.55);
}

/* Responsive */
@media (max-width: 900px) {
  .binw-fitcheck__inner {
    grid-template-columns: 1fr;
  }
  .binw-fitcheck__media {
    min-height: 220px;
  }
}

/* ==============================
   BINW Outcomes (clean + stable)
   ============================== */

.binw-outcomes{
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 24px 0;
  border-top: 1px solid rgba(0,0,0,0.06);
  background: #fff;
}

.binw-outcomes__inner{
  max-width: var(--binw-maxw, 1320px);
  margin: 0 auto;
  padding: 0 clamp(18px, 3vw, 34px);
  box-sizing: border-box;
}

/* --- Layout when media exists --- */
.binw-outcomes.has-media .binw-outcomes__inner{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 3vw, 42px);
  align-items: center;
  grid-template-areas: "content media";
}

.binw-outcomes__content{ grid-area: content; min-width: 0; }
.binw-outcomes__media{ grid-area: media; min-width: 0; }

/* Flip sides */
.binw-outcomes.has-media.media-left .binw-outcomes__inner{
  grid-template-areas: "media content";
}

/* --- Media frame (big, consistent, no stretching) --- */
.binw-outcomes__media{
  position: relative;
  width: 100%;
  border-radius: 22px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #f4f5f5;

  /* Calmer than “hero card” so it doesn’t compete */
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 10px 22px rgba(0,0,0,0.06);
}

.binw-outcomes__img{
  width: 100%;
  height: 100%;
  object-fit: cover;  /* crops slightly, never stretches */
  display: block;

  /* Match the system */
  filter: saturate(0.96) contrast(0.98);
}

/* --- Content width control --- */
.binw-outcomes__content{
  max-width: none;
  width: 100%;
}

/* Keep list + bubble from getting too long */
.binw-outcomes__list,
.binw-outcomes__capstone{
  max-width: 740px;
}

/* --- Typography --- */
.binw-outcomes__kicker{
  margin: 0 0 6px;
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #707372;
}

.binw-outcomes__title{
  margin: 0 0 10px;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.15;
  color: #78a22f;
}

/* Keep one line on desktop if there’s room */
@media (min-width: 980px){
}

.binw-outcomes__lead{
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: #707372;
  max-width: 78ch;
}

/* --- List --- */
.binw-outcomes__list{
  list-style: none;
  margin: 18px 0 14px;
  padding: 0;
  border-top: 1px solid rgba(0,0,0,0.08);
}

.binw-outcomes__item{
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  padding: 14px 2px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  align-items: Center;
}

.binw-outcomes__icon{
  display: inline-flex;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  background: #78a22f;
  margin-top: 2px;
}

.binw-outcomes__text{
  font-size: 16px;
  line-height: 1.55;
}

/* --- Deadline Container --- */

.binw-outcomes__capstone{
  margin-top: 18px;
  border-radius: 12px;
  background: #f3f6ef;
  border: 1px solid rgba(120,162,47,0.18);
  max-width: 640px;
}

.binw-outcomes__capstone-inner{
  padding: 14px 16px;
}

/* --- Small Label (APPLICATION DEADLINE) --- */

.binw-outcomes__capstone-label{
  display: inline-block;
  font-size: 11px;          /* slightly larger */
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #5e6b5e;           /* slightly stronger */
  margin-bottom: 6px;
  font-weight: 600;
}

/* --- Main Deadline Line (dominant) --- */

.binw-outcomes__capstone-text{
  margin: 0;
  font-size: 15px;          /* bigger */
  font-weight: 650;
  line-height: 1.25;
  white-space: nowrap;      /* forces one line */
	overflow: hidden;
}

/* --- Secondary Line (clearly smaller) --- */

.binw-outcomes__capstone-sub{
  margin: 6px 0 0;
  font-size: 12px;          /* clearly smaller */
  line-height: 1.4;
  color: rgba(0,0,0,.55);
}

/* Prevent accidental bold bleed */
.binw-outcomes__capstone-sub strong,
.binw-outcomes__capstone-sub b{
  font-weight: 400;
}


/* --- Responsive --- */
@media (max-width: 900px){
  .binw-outcomes.has-media .binw-outcomes__inner{
    grid-template-columns: 1fr;
    grid-template-areas:
      "content"
      "media";
    gap: 16px;
    align-items: start;
  }

  .binw-outcomes__media{
    aspect-ratio: 16 / 10;
  }
}


/* ==========================================
   HRA Typography Normalizer (safe + scoped)
   Put at the END of your CSS
   ========================================== */

:root{
  --hra-font: "Trebuchet MS", Trebuchet, Arial, sans-serif;
  --hra-h1: clamp(38px, 4.2vw, 48px);
  --hra-h2: clamp(26px, 3vw, 34px);
  --hra-h3: 22px;
  --hra-h4: 18px;
  --hra-body: 17px;
  --hra-small: 14px;
  --hra-lh: 1.6;
}

/* Scope font + base sizing ONLY to HRA components */
.hra-hero,
.hra-anchor-nav,
.hra-why,
.binw-fitcheck,
.binw-outcomes{
  font-family: var(--hra-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Consistent body text inside your HRA sections */
.hra-hero p,
.hra-hero li,
.hra-why p,
.hra-why li,
.binw-fitcheck p,
.binw-fitcheck li,
.binw-outcomes p,
.binw-outcomes li{
  font-family: var(--hra-font);
  font-size: var(--hra-body);
  line-height: var(--hra-lh);
}

/* Headings inside your HRA sections */
.hra-hero h1{
  font-family: var(--hra-font);
  font-size: var(--hra-h1);
  line-height: 1.15;
}

.hra-hero h2,
.hra-why__title,
.binw-fitcheck__title,
.binw-outcomes__title{
  font-family: var(--hra-font);
  font-size: var(--hra-h2);
  line-height: 1.2;
}

/* Subheads / card titles (keeps your style but improves readability) */
.hra-why__cardTitle{
  font-family: var(--hra-font);
  font-size: var(--hra-h4);   /* was 16px + heavy uppercase; this evens it out */
  font-weight: 700;
  letter-spacing: .02em;
}

/* Card/body text consistency */
.hra-why__text,
.binw-fitcheck__lead,
.binw-outcomes__lead,
.binw-outcomes__text{
  font-family: var(--hra-font);
  font-size: var(--hra-body);
  line-height: 1.55;
}

/* Kicker/meta labels */
.hra-why__kicker,
.binw-fitcheck__kicker,
.binw-outcomes__kicker{
  font-family: var(--hra-font);
  font-size: var(--hra-small);
  letter-spacing: .08em;
}

/* Anchor nav tabs font consistency */
.hra-anchor-menu a{
  font-family: var(--hra-font);
}

/* Mobile: step down slightly */
@media (max-width: 768px){
  .hra-hero p,
  .hra-hero li,
  .hra-why p,
  .hra-why li,
  .binw-fitcheck p,
  .binw-fitcheck li,
  .binw-outcomes p,
  .binw-outcomes li{
    font-size: 16px;
  }
}

/* ---- Fit & eligibility chips (subtle) ---- */
.hra-elig{
  margin-top: calc(10px * var(--hra-scale));
  padding-top: calc(10px * var(--hra-scale));
  border-top: 1px solid rgba(0,0,0,.06);
}

.hra-elig-label{
  font-size: calc(12px * var(--hra-scale));
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(0,0,0,.52);
  font-weight: 700;
  margin-bottom: calc(8px * var(--hra-scale));
}

.hra-elig-chips{
  display: flex;
  flex-wrap: wrap;
  gap: calc(8px * var(--hra-scale));
}

.hra-elig-chip{
  font-size: calc(13px * var(--hra-scale) * var(--hra-panel-scale));
  padding: calc(7px * var(--hra-scale)) calc(11px * var(--hra-scale));
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.03);
  color: rgba(0,0,0,.72);
  line-height: 1;
}

/* Tiny hint of track color (not loud) */
.hra-panel[style*="--hra-track"] .hra-elig-chip{
  border-color: color-mix(in srgb, var(--hra-track) 18%, rgba(0,0,0,.08));
  background: color-mix(in srgb, var(--hra-track) 7%, rgba(0,0,0,.03));
}

/* Fallback for browsers without color-mix */
@supports not (color: color-mix(in srgb, #000 50%, #fff)){
  .hra-elig-chip{
    border-color: rgba(0,0,0,.10);
    background: rgba(0,0,0,.03);
  }
}

.hra-elig-note{
  margin-top: calc(8px * var(--hra-scale));
  font-size: calc(14px * var(--hra-scale) * var(--hra-panel-scale));
  color: rgba(0,0,0,.58);
}


/* =========================
   HRA HERO (clean rebuild)
   Attach to Row ID: hra-hero
   ========================= */

/* Base row */
#hra-hero{
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0;
}

/* Keep everything above overlay */
#hra-hero > *{
  position: relative;
  z-index: 2;
}

/* ---- HARD RESET: kill any SiteOrigin row-style wrappers/tints ---- */
#hra-hero .panel-row-style,
#hra-hero .panel-row-style-inner,
#hra-hero .so-rounded.panel-row-style{
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#hra-hero .panel-row-style::before,
#hra-hero .panel-row-style::after,
#hra-hero .panel-row-style-inner::before,
#hra-hero .panel-row-style-inner::after{
  content: none !important;
}

/* ---- ONE card: apply to the first widget inside the row ---- */
#hra-hero .so-panel.widget:first-of-type{
  max-width: 720px;
  margin-left: clamp(14px, 3vw, 30px);
  margin-right: clamp(14px, 3vw, 30px);

  background: rgba(255,255,255,0.88) !important;
  border-radius: 22px !important;
  padding: clamp(22px, 3.2vw, 38px) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,0.10) !important;
}

/* Make sure inner wrappers don’t create a second box */
#hra-hero .so-panel.widget:first-of-type .so-panel-inner,
#hra-hero .so-panel.widget:first-of-type .textwidget,
#hra-hero .so-panel.widget:first-of-type .so-widget-sow-editor{
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Typography */
#hra-hero h1{
  margin: 0 0 14px;
  font-size: clamp(36px, 4.2vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.6px;
  color: #111;
}

#hra-hero h1 + p{
  margin: 0 0 18px;
  font-size: clamp(18px, 2.0vw, 22px);
  line-height: 1.5;
  font-weight: 600;
  color: #5f8f24;
}

#hra-hero p{
  color: rgba(0,0,0,0.82);
}

/* Bullets */
#hra-hero ul{ list-style:none; padding:0; margin:0; }
#hra-hero li{
  margin: 0 0 10px;
  padding-left: 18px;
  position: relative;
  line-height: 1.6;
  color: rgba(0,0,0,0.82);
}
#hra-hero li::before{
  content:"";
  width:6px; height:6px;
  border-radius:50%;
  background:#78a22f;
  position:absolute;
  left:0; top:11px;
}

/* Mobile */
@media (max-width: 768px){
  #hra-hero{
    padding: 44px 0;
  }
  #hra-hero .so-panel.widget:first-of-type{
    margin-left: 14px;
    margin-right: 14px;
  }
}
#hra-hero .panel-grid-cell:first-child > .so-panel:first-child{
  background: #ffffff !important;   /* fully solid */
  border-radius: 22px !important;
  padding: 34px 38px !important;
  box-shadow: 0 35px 80px rgba(0,0,0,0.14) !important;
}

/* =========================
   APPLICATION HEADER
   (Match .hra-why header scale)
========================= */

.hra-app__head{
  text-align: left;
  margin-bottom: clamp(18px, 2.8vw, 30px);
}

/* Make kicker match your Fit Check kicker standard */
.hra-app__kicker{
  margin: 0 0 6px;
  font-size: 17px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #707372;
  font-weight: inherit;
}

/* Keep sub left-aligned like Program Structure */
.hra-app__sub{
  max-width: 820px;
  margin: 0;
}
/* Shared inner container */
.hra-inner{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 24px);
}

/* Make HERO match the rest (same font stack) */
#hra-hero,
#hra-hero *{
  font-family: var(--hra-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* =========================
   HRA HERO — Mobile title fix
   Stops mid-word breaks + improves sizing
   ========================= */

#hra-hero h1{
  /* prevent "Hospit / ality" breaking */
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;

  /* slightly calmer default sizing */
  line-height: 1.05;
}

@media (max-width: 520px){
  #hra-hero h1{
    font-size: clamp(30px, 10vw, 40px) !important;
    letter-spacing: -0.02em;
    line-height: 1.02;
    margin-bottom: 12px;
  }

  /* give the white card more usable width */
  #hra-hero .so-panel.widget:first-of-type{
    margin-left: 12px !important;
    margin-right: 12px !important;
    padding: 22px 20px !important;
  }
}
/* =========================================================
   BINW Outcomes — Capstone Overrides (put at VERY END)
   Fixes theme p/strong overrides + one-line deadline
   ========================================================= */

.binw-outcomes .binw-outcomes__capstone{
  background: #f3f6ef !important;
  border: 1px solid rgba(120,162,47,0.18) !important;
  border-radius: 12px !important;
}

.binw-outcomes .binw-outcomes__capstone-inner{
  padding: 14px 16px !important;
}

/* Label slightly bigger + clearer */
.binw-outcomes .binw-outcomes__capstone-label{
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: rgba(0,0,0,.55) !important;
  margin: 0 0 6px !important;
  display: inline-block !important;
}

/* Deadline: dominant, single-line, modern behavior */
.binw-outcomes .binw-outcomes__capstone-text{
  margin: 0 !important;
  font-size: 15.5px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

/* Neutralize theme "strong" styling */
.binw-outcomes .binw-outcomes__capstone-text strong{
  font-weight: 750 !important;
}

/* Subline: clearly smaller (force p sizing override) */
.binw-outcomes .binw-outcomes__capstone-sub{
  margin: 8px 0 0 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  color: rgba(0,0,0,.55) !important;
}

/* In case theme is applying p styles inside this section */
.binw-outcomes .binw-outcomes__capstone p{
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Application intro (make it lighter + smaller than body text) */
.hra-app__sub{
  font-size: 16px;              /* slightly smaller than body */
  line-height: 1.45;
  color: rgba(0,0,0,.62);       /* lighter weight visually */
  margin-top: 10px;
  margin-bottom: 22px;          /* breathing room before the embed */
  max-width: 62ch;              /* keeps it from feeling wide/heavy */
}

/* Make the email feel intentional, not loud */
.hra-app__sub a{
  color: #78a22f;
  font-weight: 600;             /* just enough to stand out */
  text-decoration: none;
  border-bottom: 1px solid rgba(120,162,47,.35);
}

.hra-app__sub a:hover{
  border-bottom-color: rgba(120,162,47,.8);
}

/* Force it to shrink to content */
.cd26-spots-left{
  display: inline-block !important;
  width: auto !important;
  max-width: fit-content !important;
  margin: 4px 0 14px 0;
  padding: 6px 14px;
  font-size: 0.95rem;
  border-radius: 20px;
  background: #f3f3f3;
  border: 1px solid #e1e1e1;
  text-align: center;
}
/* Tighten spacing between SiteOrigin columns in that row */
#hra-hero .panel-grid-cell {
  padding-left: 10px !important;
  padding-right: 10px !important;
}
/* ============================================
   HRA Program Structure / Track Tiles
   Moved from old Hospitality Ready shortcode inline <style> block
   Add this to assets/css/hospitality-ready.css
   ============================================ */

/* =========================
   PROGRAM STRUCTURE HEADER
   (Match .hra-why header scale)
========================= */

.hra-wrap .hra-ps__head{
  text-align: left;
  margin-bottom: clamp(18px, 2.8vw, 30px);
}

.hra-wrap .hra-ps__kicker{
  margin: 0 0 6px;
  font-size: 17px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #707372;
  font-weight: inherit; /* important: don’t force bold */
}


.hra-wrap .hra-ps__title{
  font-size: clamp(28px, 2.8vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--hra-green, #78a22f);
  margin-bottom: 10px;
  font-weight: inherit;
}

.hra-wrap .hra-ps__sub{
  max-width: 820px;
  margin: 0;
  font-size: clamp(16px, 1.3vw, 18px);
  line-height: 1.5;
  color: rgba(0,0,0,.7);
}


.hra-wrap{
  --hra-scale: 1.08;
  --hra-panel-scale: 0.96;
  --hra-border: rgba(0,0,0,.10);
  --hra-muted: rgba(0,0,0,.68);
  --hra-radius: calc(18px * var(--hra-scale));
  --hra-pad: calc(22px * var(--hra-scale));
  --hra-gap: calc(16px * var(--hra-scale));
  margin: 0 auto;
  max-width: 100%;
  width: 100%;
}

.hra-tiles{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--hra-gap);
  margin-top: calc(18px * var(--hra-scale));
  align-items: stretch;
}

.hra-tile{
  text-align:left;
  border:1px solid var(--hra-border);
  border-radius:var(--hra-radius);
  padding:0;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  background:#fff !important;
  color:inherit !important;
  -webkit-appearance:none;
  appearance:none;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
  min-height: calc(260px * var(--hra-scale));
  display:grid;
  grid-template-rows: calc(170px * var(--hra-scale)) 1fr;
}

.hra-tile::before,
.hra-tile::after{ content:none !important; display:none !important; }

.hra-tile-media{
  background: rgba(0,0,0,.03);
  display:flex;
  align-items:center;
  justify-content:center;
}
.hra-tile-media img{ width:100%; height:100%; object-fit:cover; display:block; }

.hra-tile-body{
  padding: var(--hra-pad);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap: calc(10px * var(--hra-scale));
}

/* Pills row (space between, black text) */
/* Pills row */
.hra-pills{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  align-items:center;
}

/* Base pill */
.hra-pill{
  font-size: calc(12px * var(--hra-scale));
  letter-spacing:.02em;
  text-transform:uppercase;
  width:fit-content;
  padding: calc(6px * var(--hra-scale)) calc(10px * var(--hra-scale));
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  font-weight:800;
  color:#111; /* keep pill text black */
}

/* ✅ Best fit pill uses track color */
.hra-pill--fit{
  background: color-mix(in srgb, var(--hra-track) 12%, #ffffff);
  border-color: color-mix(in srgb, var(--hra-track) 28%, rgba(0,0,0,.12));
}

/* Season pill stays neutral/soft */
.hra-pill--season{
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.10);
}

.hra-tile-title{
  margin:0;
  font-size: calc(22px * var(--hra-scale));
  line-height:1.12;
  color: rgba(0,0,0,.88);
}
.hra-tile-cta{
  margin-top: calc(6px * var(--hra-scale));
  font-size: calc(14px * var(--hra-scale));
  color: var(--hra-track);
  font-weight:700;
}

.hra-tile:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 35px rgba(0,0,0,.10);
  border-color: rgba(0,0,0,.16);
}
.hra-tile[aria-selected="true"]{
  box-shadow: 0 14px 40px rgba(0,0,0,.12);
  border-color: rgba(0,0,0,.16);
}
.hra-tile[aria-selected="true"]::after{
  content:"";
  position:absolute;
  left:0;
  top: calc(14px * var(--hra-scale));
  bottom: calc(14px * var(--hra-scale));
  width: calc(7px * var(--hra-scale));
  border-radius:999px;
  background: var(--hra-track);
}
.hra-tile:focus-visible{
  outline: 3px solid rgba(0,0,0,.18);
  outline-offset: 4px;
}

/* Panels */
.hra-panels{
  margin-top: calc(28px * var(--hra-scale));
  padding-top: calc(14px * var(--hra-scale));
  border-top: 1px solid rgba(0,0,0,.08);
}
.hra-panel{
  border: 1px solid var(--hra-border);
  border-radius: var(--hra-radius);
  background:#fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
  margin-top: calc(18px * var(--hra-scale));
}
.hra-panel-inner{ padding: calc(22px * var(--hra-scale)); }

.hra-panel-head h3{
  margin:0 0 calc(6px * var(--hra-scale)) 0;
  font-size: calc(22px * var(--hra-scale));
  color: var(--hra-track);
}
.hra-meta{
  margin:0 0 calc(12px * var(--hra-scale)) 0;
  color: var(--hra-muted);
  font-size: calc(16px * var(--hra-scale) * var(--hra-panel-scale));
}
.hra-dot{ margin:0 6px; color: rgba(0,0,0,.30); }

/* 3-column grid */
.hra-grid{ display:grid; gap: calc(18px * var(--hra-scale)); align-items:start; }
.hra-grid.hra-grid--3col{ grid-template-columns: 1fr 1.25fr 1fr; }

.hra-col{
  border-radius: calc(16px * var(--hra-scale));
  padding: calc(16px * var(--hra-scale));
}
.hra-col--fit{ overflow: visible; }

.hra-col--fit{
  background: rgba(120,162,47,0.045);
  border: 1px solid rgba(120,162,47,0.14);
}
.hra-col--work{
  background: transparent;
  border: 1px solid rgba(0,0,0,0.06);
}
.hra-col--commit{
  background: rgba(57,115,110,0.035);
  border: 1px solid rgba(57,115,110,0.12);
}

/* Column headers ALL CAPS + more breathing room */
.hra-col-title{
  margin:0 0 16px 0; /* more space under title */
  font-size: calc(14px * var(--hra-scale) * var(--hra-panel-scale));
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: rgba(0,0,0,.80);
}

/* Fit chips */
.hra-elig{ margin:0; background:transparent; border:0; padding:0; }
.hra-elig-chips{ display:flex; flex-wrap:wrap; gap: calc(10px * var(--hra-scale)); }

.hra-elig-chip{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: calc(9px * var(--hra-scale)) calc(12px * var(--hra-scale));
  border-radius: 999px;
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(0,0,0,0.14);
  box-shadow: 0 6px 16px rgba(0,0,0,0.05);
  font-size: calc(15px * var(--hra-scale) * var(--hra-panel-scale));
  line-height: 1.2;
  position: relative;
}

/* ✅ GREEN DOT ALWAYS (including Industry chip) */
.hra-elig-chip::before{
  content:"";
  width: 10px;
  height:10px;
  border-radius:50%;
  background: var(--hra-track);
  box-shadow: 0 0 0 3px rgba(120,162,47,0.22);
  flex:0 0 auto;
}

/* “i” indicator */
.hra-chip-help{
  margin-left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 11px;
  font-weight: 900;
  color: rgba(0,0,0,0.62);
  background: rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.10);
}

/* Industry chip hover = subtle */
.hra-elig-chip--has-tooltip{ cursor: help; }
.hra-elig-chip--has-tooltip:hover{
  border-color: rgba(0,0,0,0.20);
  box-shadow: 0 10px 26px rgba(0,0,0,0.08);
  transform: translateY(-1px);
}

/* Tooltip bubble (stable) */
.hra-elig-chip--has-tooltip::after{
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  transform: translateX(-50%);
  width: max-content;
  max-width: min(360px, 80vw);
  white-space: pre-line;
  padding: 12px 14px;
  border-radius: 14px;
  background: #fff;
  color: rgba(0,0,0,0.86);
  border: 1px solid rgba(0,0,0,0.14);
  box-shadow: 0 18px 50px rgba(0,0,0,0.14);
  font-size: 14px;
  line-height: 1.35;
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
}

/* Tooltip arrow */
.hra-elig-chip--has-tooltip{
  position: relative;
}
.hra-elig-chip--has-tooltip span{ position: relative; } /* keep contents above */
.hra-elig-chip--has-tooltip::marker{ display:none; }
.hra-elig-chip--has-tooltip::before{ /* keep dot; arrow handled with a different element below */ }

.hra-elig-chip--has-tooltip .hra-chip-help::after{
  content:"";
  position:absolute;
  left: 50%;
  top: -12px;
  transform: translateX(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background: #fff;
  border-left: 1px solid rgba(0,0,0,0.14);
  border-top: 1px solid rgba(0,0,0,0.14);
  opacity: 0;
  pointer-events:none;
  z-index: 10000;
}

/* Show tooltip on hover/focus */
.hra-elig-chip--has-tooltip:hover::after,
.hra-elig-chip--has-tooltip:focus::after{
  opacity: 1;
}
.hra-elig-chip--has-tooltip:hover .hra-chip-help::after,
.hra-elig-chip--has-tooltip:focus .hra-chip-help::after{
  opacity: 1;
}

/* Not sure line spacing */
.hra-elig-note{
  margin-top: 16px; /* more breathing room */
  font-size: calc(15px * var(--hra-scale) * var(--hra-panel-scale));
  color: rgba(0,0,0,.70);
}

/* Apply link styling */
.hra-apply-link{
  color: var(--hra-track);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.hra-apply-link:hover{
  text-decoration-thickness: 2px;
}

/* Subheads + checklists */
.hra-subhead{
  margin-top: 10px;
  margin-bottom: 10px; /* slight more space before list */
  font-size: calc(13px * var(--hra-scale) * var(--hra-panel-scale));
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(0,0,0,.72);
}

ul.hra-checklist{ list-style:none; margin:0; padding:0; }
ul.hra-checklist li{
  position:relative;
  padding-left: calc(28px * var(--hra-scale));
  margin: 0 0 calc(10px * var(--hra-scale)) 0;
  font-size: calc(15px * var(--hra-scale) * var(--hra-panel-scale));
  line-height:1.45;
  color: rgba(0,0,0,.82);
}
ul.hra-checklist li::before{
  content:"✓";
  position:absolute;
  left:0;
  top: 0.1em;
  width: calc(18px * var(--hra-scale));
  height: calc(18px * var(--hra-scale));
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size: calc(12px * var(--hra-scale));
  color: rgba(0,0,0,0.72);
  background: rgba(120,162,47,0.08);
  border: 1px solid rgba(120,162,47,0.18);
}
.hra-col--commit ul.hra-checklist li::before{
  background: rgba(57,115,110,0.08);
  border-color: rgba(57,115,110,0.18);
}

/* Good to know BELOW grid */
.hra-belowgrid{
  margin-top: calc(16px * var(--hra-scale));
  display:flex;
  justify-content:center;
}
.hra-infochip{
  background: rgba(120,162,47,0.10);
  border: 1px solid rgba(120,162,47,0.22);
  color: rgba(0,0,0,0.82);
  border-radius: 16px;
  padding: 10px 12px;
  max-width: 560px;
  text-align:center;
  font-size: calc(15px * var(--hra-scale) * var(--hra-panel-scale));
}

/* Responsive */
@media (max-width: 980px){
  .hra-tiles{ grid-template-columns: 1fr; }
  .hra-tile{ grid-template-rows: calc(190px * var(--hra-scale)) 1fr; }
  .hra-grid.hra-grid--3col{ grid-template-columns: 1fr; }
  .hra-infochip{ max-width: 100%; text-align:left; }
}

