:root {
  --pl-navy: #122E4D;
  --pl-navy-soft: #1C3754;
  --pl-teal: #6F959E;
  --pl-teal-dark: #3B586E;
  --pl-sage: #9BB0A3;
  --pl-ochre: #D3A46C;
  --pl-lavender: #9892A9;
  --pl-mist: #CED2D1;
  --pl-paper: #FAF8F3;
  --pl-white: #FFFFFF;
  --pl-ink: #17243A;
  --pl-radius: 20px;
  --pl-radius-sm: 12px;
  --pl-shadow: 0 18px 45px rgba(18, 46, 77, 0.12);
  --pl-shadow-soft: 0 10px 28px rgba(18, 46, 77, 0.08);
  --pl-max-width: 1120px;
}

body {
  color: var(--pl-ink);
  background: var(--pl-paper);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}

h1, h2, h3, .pl-brand, .site-title {
  color: var(--pl-navy);
  letter-spacing: -0.018em;
}

h1, .pl-hero-title {
  font-family: Georgia, Cambria, "Times New Roman", serif;
  font-weight: 600;
  line-height: 1.08;
}

h2 { line-height: 1.18; margin-top: 2.4rem; }
h3 { line-height: 1.28; margin-top: 1.8rem; }
a { color: var(--pl-teal-dark); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--pl-navy); }

.wp-site-blocks > * { margin-block-start: 0; }
.pl-wrap { max-width: var(--pl-max-width); margin-inline: auto; padding-inline: clamp(18px, 4vw, 42px); }

.pl-hero {
  background:
    radial-gradient(circle at 12% 18%, rgba(155,176,163,.38), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(211,164,108,.22), transparent 32%),
    linear-gradient(135deg, #ffffff 0%, #f8f6f0 52%, rgba(206,210,209,.42) 100%);
  border-bottom: 1px solid rgba(18,46,77,.10);
}
.pl-hero-inner {
  max-width: var(--pl-max-width);
  margin-inline: auto;
  padding: clamp(56px, 8vw, 100px) clamp(18px, 4vw, 42px);
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  gap: clamp(28px, 6vw, 70px);
  align-items: center;
}
.pl-kicker {
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .78rem;
  font-weight: 700;
  color: var(--pl-teal-dark);
  margin-bottom: .9rem;
}
.pl-hero-title { font-size: clamp(2.65rem, 6vw, 5.4rem); margin: 0 0 1rem; }
.pl-lead { font-size: clamp(1.08rem, 2.2vw, 1.35rem); max-width: 68ch; color: #263952; }
.pl-hero-card {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(18,46,77,.10);
  border-radius: var(--pl-radius);
  box-shadow: var(--pl-shadow);
  padding: clamp(22px, 4vw, 34px);
}
.pl-hero-card h2, .pl-hero-card h3 { margin-top: 0; }

.pl-section { padding: clamp(44px, 6vw, 74px) 0; }
.pl-section-cream { background: var(--pl-paper); }
.pl-section-white { background: #fff; }
.pl-section-muted { background: rgba(206,210,209,.28); }
.pl-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.pl-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.pl-card {
  background: #fff;
  border: 1px solid rgba(18,46,77,.10);
  border-radius: var(--pl-radius);
  padding: clamp(20px, 3vw, 30px);
  box-shadow: var(--pl-shadow-soft);
}
.pl-card h3 { margin-top: 0; }
.pl-card-accent { border-top: 6px solid var(--pl-teal); }
.pl-card-ochre { border-top: 6px solid var(--pl-ochre); }
.pl-card-sage { border-top: 6px solid var(--pl-sage); }
.pl-card-lavender { border-top: 6px solid var(--pl-lavender); }

.pl-button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.5rem; }
.pl-button, .wp-block-button__link {
  border-radius: 999px !important;
  padding: .86rem 1.28rem !important;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: none;
}
.pl-button-primary, .is-style-fill .wp-block-button__link {
  background: var(--pl-navy) !important;
  color: #fff !important;
}
.pl-button-primary:hover, .is-style-fill .wp-block-button__link:hover { background: var(--pl-teal-dark) !important; }
.pl-button-secondary, .is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--pl-navy) !important;
  border: 2px solid var(--pl-navy) !important;
}
.pl-button-secondary:hover, .is-style-outline .wp-block-button__link:hover {
  background: var(--pl-navy) !important;
  color: #fff !important;
}

.pl-status {
  display: inline-flex; align-items: center;
  gap: .5rem;
  border-radius: 999px;
  padding: .35rem .75rem;
  background: rgba(111,149,158,.16);
  color: var(--pl-navy);
  font-size: .88rem;
  font-weight: 700;
}
.pl-note {
  border-left: 5px solid var(--pl-ochre);
  background: rgba(211,164,108,.12);
  padding: 1.05rem 1.2rem;
  border-radius: 0 var(--pl-radius-sm) var(--pl-radius-sm) 0;
}
.pl-checklist li { margin-bottom: .55rem; }
.pl-faq details {
  background: #fff;
  border: 1px solid rgba(18,46,77,.10);
  border-radius: var(--pl-radius-sm);
  padding: 1rem 1.1rem;
  margin-bottom: .9rem;
  box-shadow: 0 4px 18px rgba(18,46,77,.06);
}
.pl-faq summary { cursor: pointer; color: var(--pl-navy); font-weight: 700; }
.pl-form-box { background: var(--pl-navy); color: #fff; border-radius: var(--pl-radius); padding: clamp(24px, 4vw, 40px); }
.pl-form-box h2, .pl-form-box h3, .pl-form-box a { color: #fff; }
.pl-small { font-size: .92rem; color: #4c5b6d; }
.pl-footer-note { font-size: .9rem; color: #5a6572; }

@media (max-width: 820px) {
  .pl-hero-inner { grid-template-columns: 1fr; padding-top: 42px; }
  .pl-grid-3, .pl-grid-2 { grid-template-columns: 1fr; }
  .pl-button-row { flex-direction: column; align-items: flex-start; }
}
