.ocpl-active .entry-header,
.ocpl-active .hero-section,
.ocpl-active .page-title {
  display: none;
}

.ocpl-active .site-main,
.ocpl-active .entry-content,
.ocpl-active [data-content="normal"] {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ocpl-active .entry-content.is-layout-constrained > .ocpl-page {
  width: 100vw !important;
  max-width: none !important;
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
}

.ocpl-page {
  color: var(--ocpl-text, #26322b);
  background: var(--ocpl-light, #f8f3ea);
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.75;
  overflow: hidden;
}

.ocpl-container {
  width: min(1080px, calc(100% - 48px));
  margin-inline: auto;
}

.ocpl-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  width: 100%;
  min-height: 390px;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 25%, rgba(255,255,255,.92) 0%, rgba(255,255,255,.55) 38%, transparent 72%),
    linear-gradient(110deg, #eef3ec 0%, var(--ocpl-light, #f8f3ea) 42%, #fffdf8 58%, #eef3ec 100%);
  border-bottom: 1px solid rgba(63, 88, 72, .13);
}

.ocpl-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 820px;
  padding-block: 78px 82px;
  text-align: center;
}

.ocpl-eyebrow {
  margin: 0 0 15px;
  color: var(--ocpl-accent, #c87556);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .31em;
}

.ocpl-page h1 {
  margin: 0;
  color: var(--ocpl-green, #3f5848);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(48px, 5vw, 65px);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: .98;
}

.ocpl-lead {
  max-width: 700px;
  margin: 25px auto 0;
  font-size: 17px;
  line-height: 1.65;
}

.ocpl-updated {
  margin: 21px 0 0;
  color: rgba(38, 50, 43, .64);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
}

.ocpl-hero-image {
  position: absolute;
  z-index: 1;
  right: max(24px, calc((100vw - 1440px) / 2));
  bottom: -54px;
  width: min(300px, 22vw);
  max-height: 390px;
  object-fit: contain;
  object-position: bottom;
  opacity: .12;
  filter: sepia(.2) saturate(.55);
  pointer-events: none;
}

.ocpl-content-section {
  padding: 68px 0 92px;
}

.ocpl-content-section > .ocpl-container {
  max-width: 980px;
}

.ocpl-document {
  padding: clamp(32px, 5.5vw, 66px);
  font-size: 16px;
  background: rgba(255, 253, 248, .86);
  border: 1px solid rgba(63, 88, 72, .15);
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(38, 50, 43, .06);
}

.ocpl-document h2 {
  position: relative;
  margin: 56px 0 18px;
  padding-top: 9px;
  color: var(--ocpl-green, #3f5848);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(30px, 3.4vw, 38px);
  font-weight: 500;
  line-height: 1.1;
}

.ocpl-document h2:first-child { margin-top: 0; }

.ocpl-document h2::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 42px;
  height: 2px;
  content: "";
  background: var(--ocpl-accent, #c87556);
}

.ocpl-document h3 {
  margin: 29px 0 8px;
  color: var(--ocpl-green, #3f5848);
  font-size: 16px;
  font-weight: 700;
}

.ocpl-document p { margin: 0 0 16px; }

.ocpl-document a {
  color: var(--ocpl-green, #3f5848);
  font-weight: 650;
  text-decoration-color: rgba(200, 117, 86, .55);
  text-underline-offset: 3px;
}

.ocpl-document ul {
  margin: 16px 0 22px;
  padding: 0;
  list-style: none;
}

.ocpl-document li {
  position: relative;
  margin: 9px 0;
  padding-left: 24px;
}

.ocpl-document li::before {
  position: absolute;
  top: .72em;
  left: 2px;
  width: 7px;
  height: 7px;
  content: "";
  border-radius: 50%;
  background: var(--ocpl-accent, #c87556);
}

.ocpl-details {
  display: grid;
  margin: 24px 0 28px;
  overflow: hidden;
  border: 1px solid rgba(63, 88, 72, .14);
  border-radius: 16px;
}

.ocpl-details > div {
  display: grid;
  grid-template-columns: minmax(155px, .36fr) 1fr;
  gap: 22px;
  padding: 13px 18px;
  border-bottom: 1px solid rgba(63, 88, 72, .11);
}

.ocpl-details > div:last-child { border-bottom: 0; }
.ocpl-details dt { color: var(--ocpl-green, #3f5848); font-weight: 700; }
.ocpl-details dd { margin: 0; }

.ocpl-contact-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 28px 18px 0;
  padding: 25px 30px;
  color: #fffdf8;
  background: var(--ocpl-green, #3f5848);
  border-radius: 18px;
}

.ocpl-contact-card span { font-weight: 500; }
.ocpl-contact-card a { color: #fffdf8; font-weight: 700; white-space: nowrap; }

@media (max-width: 760px) {
  .ocpl-container { width: min(100% - 28px, 1080px); }
  .ocpl-hero { min-height: 360px; }
  .ocpl-hero-inner { padding-block: 66px 70px; }
  .ocpl-page h1 { font-size: clamp(42px, 12.5vw, 50px); }
  .ocpl-lead { font-size: 15px; }
  .ocpl-content-section { padding: 42px 0 64px; }
  .ocpl-document { padding: 31px 22px 40px; border-radius: 20px; }
  .ocpl-document h2 { margin-top: 44px; }
  .ocpl-details > div { grid-template-columns: 1fr; gap: 2px; }
  .ocpl-contact-card { align-items: flex-start; flex-direction: column; margin-inline: 4px; padding: 22px; }
  .ocpl-hero-image { right: -36px; width: 165px; opacity: .09; }
}

@media (prefers-reduced-motion: no-preference) {
  .ocpl-document { animation: ocpl-rise .65s ease both; }
  @keyframes ocpl-rise {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
