:root {
  --ypr-navy: #112D7B;
  --ypr-navy-deep: #0A1E55;
  --ypr-orange: #E96F1F;
  --ypr-orange-bright: #F45A18;
  --ypr-cream: #F5F2EC;
  --ypr-ink: #153A47;
  --ypr-muted: #53666e;
  --ypr-serif: Georgia, "Times New Roman", serif;
}

body { margin: 0; }

.ypr-site-header {
  background: rgba(245,242,236,.96);
  border-bottom: 1px solid rgba(17,45,123,.08);
}
.ypr-header-inner { min-height: 84px; padding: 0 1.5rem; }
.ypr-site-title a,
.ypr-footer-title a {
  color: var(--ypr-navy);
  font-family: var(--ypr-serif);
  font-size: 1.85rem;
  font-weight: 700;
  text-decoration: none;
}
.ypr-nav { font-size: .9rem; font-weight: 700; }

.ypr-home {
  background:
    radial-gradient(ellipse at 88% 7%, rgba(255,255,255,.92) 0 20%, transparent 20.5%),
    radial-gradient(ellipse at 12% 28%, rgba(255,255,255,.7) 0 14%, transparent 14.5%),
    var(--ypr-cream);
  color: var(--ypr-ink);
  overflow: hidden;
}

.ypr-hero { padding: 6rem 1.5rem 4.5rem; }
.ypr-hero-columns { gap: clamp(2rem, 5vw, 5rem); }

.ypr-eyebrow,
.ypr-membership-label {
  color: var(--ypr-navy);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .11em;
}

.ypr-hero-title {
  color: var(--ypr-orange-bright);
  font-family: var(--ypr-serif);
  font-size: clamp(3.8rem, 7vw, 7.5rem);
  line-height: .88;
  letter-spacing: -.045em;
  margin: 1.2rem 0 1.7rem;
}

.ypr-hero-copy {
  color: #2d464f;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  line-height: 1.7;
  max-width: 43rem;
}

.ypr-actions { gap: .8rem; margin-top: 1.75rem; }

.ypr-button-primary .wp-block-button__link,
.ypr-membership-button .wp-block-button__link {
  background: var(--ypr-orange);
  border-radius: 999px;
  color: white;
  font-weight: 800;
  padding: .9rem 1.35rem;
  text-decoration: none;
}
.ypr-button-outline .wp-block-button__link {
  border-color: var(--ypr-navy);
  border-radius: 999px;
  color: var(--ypr-navy);
  font-weight: 800;
  padding: .85rem 1.3rem;
}

.ypr-hero-visual-wrap {
  min-height: 33rem;
  position: relative;
}
.ypr-hero-media {
  align-items: center;
  background:
    linear-gradient(180deg, rgba(17,45,123,.02), rgba(17,45,123,.42)),
    linear-gradient(135deg, #b9ccd6 0%, #7894a2 45%, #263f4a 100%);
  border-radius: 2rem;
  box-shadow: 0 24px 60px rgba(17,45,123,.14);
  display: flex;
  justify-content: center;
  min-height: 26rem;
  position: absolute;
  right: 0;
  top: 1rem;
  width: 88%;
}
.ypr-placeholder-label {
  color: rgba(255,255,255,.78);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.ypr-quote-card {
  background: var(--ypr-navy);
  border-radius: 1.3rem;
  bottom: 1rem;
  box-shadow: 0 18px 42px rgba(17,45,123,.18);
  color: white;
  left: 0;
  padding: 1.6rem 1.8rem;
  position: absolute;
  width: 76%;
}
.ypr-quote-mark {
  color: var(--ypr-orange);
  font-family: var(--ypr-serif);
  font-size: 3.5rem;
  line-height: .5;
  margin: 0;
}
.ypr-quote-text {
  font-family: var(--ypr-serif);
  font-size: 1.55rem;
  line-height: 1.25;
  margin: .7rem 0 0;
}

.ypr-section { padding: 2rem 1.5rem 6rem; }
.ypr-section-title {
  color: var(--ypr-navy);
  font-family: var(--ypr-serif);
  font-size: clamp(2.1rem, 4vw, 3.3rem);
  line-height: 1.03;
}
.ypr-card-grid { gap: 1.1rem; margin-top: 2rem; }
.ypr-service-card {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(17,45,123,.12);
  border-radius: 1.25rem;
  box-shadow: 0 12px 32px rgba(17,45,123,.05);
  min-height: 100%;
  padding: 1.8rem;
}
.ypr-service-number,
.ypr-process-num {
  color: var(--ypr-orange);
  font-family: var(--ypr-serif);
  font-size: 2.4rem;
  line-height: 1;
  margin: 0 0 .9rem;
}
.ypr-service-card h3,
.ypr-process-card h3 {
  color: var(--ypr-navy);
  font-family: var(--ypr-serif);
  line-height: 1.05;
}
.ypr-service-card h3 { font-size: 1.6rem; }
.ypr-service-card p { line-height: 1.6; }
.ypr-link a {
  color: var(--ypr-navy);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.ypr-positioning { padding: 0 1.5rem 5rem; }
.ypr-positioning-quote {
  color: var(--ypr-orange);
  font-family: var(--ypr-serif);
  font-size: 3.5rem;
  line-height: .5;
}
.ypr-positioning-copy {
  color: var(--ypr-muted);
  line-height: 1.7;
  max-width: 50rem;
}

.ypr-membership {
  background: var(--ypr-orange-bright);
  border-radius: 1.7rem;
  box-shadow: 0 24px 60px rgba(233,111,31,.16);
  color: white;
  margin-bottom: 5.5rem;
  padding: 2.7rem 3rem;
}
.ypr-membership-columns { gap: 2rem; }
.ypr-membership-label { color: rgba(255,255,255,.84); }
.ypr-membership-title {
  color: white;
  font-family: var(--ypr-serif);
  font-size: clamp(2.2rem, 4vw, 3.3rem);
  line-height: 1;
}
.ypr-membership p { line-height: 1.6; }
.ypr-membership-button .wp-block-button__link { background: var(--ypr-navy); }

.ypr-check-list { list-style: none; padding-left: 0; }
.ypr-check-list li {
  font-weight: 700;
  margin-bottom: .95rem;
  padding-left: 2rem;
  position: relative;
}
.ypr-check-list li::before {
  align-items: center;
  background: white;
  border-radius: 50%;
  color: var(--ypr-orange);
  content: "✓";
  display: flex;
  font-size: .75rem;
  font-weight: 900;
  height: 1.35rem;
  justify-content: center;
  left: 0;
  position: absolute;
  top: .05rem;
  width: 1.35rem;
}
.ypr-membership-benefits {
  border-left: 1px solid rgba(255,255,255,.42);
  padding-left: 2rem;
}
.ypr-membership-benefits h4 {
  color: white;
  font-size: .78rem;
  letter-spacing: .05em;
  margin-bottom: .25rem;
  text-transform: uppercase;
}
.ypr-membership-benefits p {
  color: rgba(255,255,255,.86);
  font-size: .9rem;
  margin-top: 0;
}

.ypr-process-grid { gap: 1.3rem; margin-top: 2rem; }
.ypr-process-card {
  border-top: 1px solid rgba(17,45,123,.18);
  padding: 1.7rem 1rem 0;
}
.ypr-process-card h3 { font-size: 1.7rem; }
.ypr-process-card p { color: var(--ypr-muted); line-height: 1.65; }

.ypr-left-title { text-align: left; }
.ypr-resource-grid { gap: 1.35rem; }
.ypr-resource-card {
  border-bottom: 1px solid rgba(17,45,123,.16);
  padding-bottom: 1.5rem;
}
.ypr-resource-image {
  align-items: center;
  border-radius: 1.1rem;
  display: flex;
  justify-content: center;
  min-height: 13rem;
}
.ypr-resource-image-blue { background: linear-gradient(135deg,#b7cde1,#112D7B); }
.ypr-resource-image-orange { background: linear-gradient(135deg,#f6c1a2,#E96F1F); }
.ypr-resource-image-gold { background: linear-gradient(135deg,#f5d59d,#b77a26); }

.ypr-resource-category {
  color: var(--ypr-orange);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .05em;
  margin-bottom: .4rem;
  text-transform: uppercase;
}
.ypr-resource-card h3 {
  color: var(--ypr-ink);
  font-size: 1.25rem;
  line-height: 1.2;
}
.ypr-resource-date { color: #7b878c; font-size: .8rem; }

.ypr-cta {
  background: var(--ypr-navy);
  color: white;
  padding: 3.5rem 1.5rem;
}
.ypr-cta-title {
  color: white;
  font-family: var(--ypr-serif);
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: 1;
}
.ypr-cta p { color: rgba(255,255,255,.8); }
.ypr-cta-outline .wp-block-button__link {
  border-color: rgba(255,255,255,.65);
  border-radius: 999px;
  color: white;
  font-weight: 800;
}

.ypr-site-footer {
  background: var(--ypr-navy-deep);
  color: white;
  padding: 3rem 1.5rem 1.5rem;
}
.ypr-site-footer a { color: white; }
.ypr-site-footer p { color: rgba(255,255,255,.75); }
.ypr-site-footer ul { list-style: none; padding-left: 0; }
.ypr-site-footer li { margin-bottom: .5rem; }
.ypr-site-footer h4 { color: white; }
.ypr-footer-title a { color: white; }
.ypr-copyright {
  border-top: 1px solid rgba(255,255,255,.14);
  margin-top: 2rem;
  padding-top: 1rem;
  font-size: .78rem;
}

/* Make the custom styles visible inside the block editor too. */
.editor-styles-wrapper .ypr-home {
  min-width: 0;
}

@media (max-width: 900px) {
  .ypr-hero-columns,
  .ypr-card-grid,
  .ypr-membership-columns,
  .ypr-process-grid,
  .ypr-resource-grid {
    flex-wrap: wrap !important;
  }
  .ypr-hero-columns > .wp-block-column,
  .ypr-card-grid > .wp-block-column,
  .ypr-membership-columns > .wp-block-column,
  .ypr-process-grid > .wp-block-column,
  .ypr-resource-grid > .wp-block-column {
    flex-basis: 100% !important;
  }
  .ypr-hero-visual-wrap { min-height: 26rem; }
  .ypr-hero-media { width: 100%; min-height: 20rem; }
  .ypr-quote-card { width: 88%; }
  .ypr-membership-benefits {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.42);
    padding-left: 0;
    padding-top: 1.5rem;
  }
}

@media (max-width: 600px) {
  .ypr-header-inner { min-height: 70px; }
  .ypr-site-title a { font-size: 1.5rem; }
  .ypr-hero { padding-top: 4rem; }
  .ypr-hero-title { font-size: 3.5rem; }
  .ypr-membership { border-radius: 1rem; padding: 2rem 1.4rem; }
  .ypr-hero-visual-wrap { min-height: 22rem; }
  .ypr-quote-text { font-size: 1.25rem; }
}
