/* Light, thin adaptation of the selected centered green concept. */
.review-section--editorial {
  --review-green: #063c31;
  --review-deep: #002b23;
  --review-ivory: #fbf7eb;
  --review-gold: #d8ad43;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  min-height: 820px;
  padding: clamp(70px, 7vw, 118px) clamp(28px, 8vw, 150px) clamp(76px, 8vw, 130px);
  overflow: hidden;
  color: var(--review-green);
  text-align: center;
  background:
    radial-gradient(circle at 50% 2%, rgba(216, 173, 67, .12), transparent 30%),
    linear-gradient(135deg, #fbf8f0 0%, #f7f1e5 58%, #f1e9da 100%);
  isolation: isolate;
}

/* Use shared Operational Consulting typography roles. */
.review-section--editorial .review-copy h2{
  font-family:var(--pcg-font-heading);
  font-weight:var(--pcg-weight-semibold);
  letter-spacing:var(--pcg-tracking-display);
}
.review-section--editorial .review-copy :is(em,.accent){
  font-family:var(--pcg-font-editorial);
  font-style:italic;
  font-weight:var(--pcg-weight-regular);
}
.review-section--editorial::before {
  content: '';
  position: absolute;
  top: -10%;
  right: -11%;
  z-index: -1;
  width: clamp(520px, 52vw, 900px);
  aspect-ratio: 1;
  opacity: .042;
  background: url('/wp-content/themes/pcg-2-0/assets/images/pcg-logo.png') center/contain no-repeat;
  filter: grayscale(1) sepia(1) saturate(.65) hue-rotate(355deg);
  pointer-events: none;
}
.review-section--editorial::after {
  content: '';
  position: absolute;
  inset: 24px;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(135deg, var(--review-gold), var(--review-gold)) 0 0/170px 1px no-repeat,
    linear-gradient(135deg, var(--review-gold), var(--review-gold)) 0 0/1px 170px no-repeat,
    linear-gradient(315deg, var(--review-gold), var(--review-gold)) 100% 100%/170px 1px no-repeat,
    linear-gradient(315deg, var(--review-gold), var(--review-gold)) 100% 100%/1px 170px no-repeat;
  opacity: .78;
}
.review-section--editorial .review-intro {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: clamp(18px, 2vw, 28px);
  width: min(100%, 1040px);
  padding: 0;
}
.review-section--editorial .review-logo {
  position: relative;
  width: clamp(104px, 9vw, 148px);
  height: auto;
  margin: 0;
  filter: drop-shadow(0 12px 18px rgba(66, 50, 16, .14));
}
.review-section--editorial .review-logo::before,
.review-section--editorial .review-logo::after {
  content: '';
  position: absolute;
  top: 50%;
  width: clamp(70px, 8vw, 126px);
  height: 1px;
  background: var(--review-gold);
}
.review-section--editorial .review-logo::before { right: calc(100% + clamp(20px, 2.2vw, 38px)); }
.review-section--editorial .review-logo::after { left: calc(100% + clamp(20px, 2.2vw, 38px)); }
.review-section--editorial .review-logo img { display: block; width: 100%; height: auto; }
.review-section--editorial .review-logo-shine {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 50%;
  clip-path: circle(48.5% at 50% 50%);
  pointer-events: none;
}
.review-section--editorial .review-logo-shine::before {
  content: '';
  position: absolute;
  top: -45%;
  left: -70%;
  width: 34%;
  height: 190%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), rgba(255,238,169,.45), transparent);
  filter: blur(1px);
  transform: rotate(24deg);
  animation: reviewLogoShine 4.6s ease-in-out infinite;
}
.review-section--editorial h2 {
  margin: 0;
  color: var(--review-green);
  font: 700 clamp(16px, 1.35vw, 22px)/1.15 var(--sans);
  letter-spacing: .035em;
  text-transform: uppercase;
  white-space: nowrap;
}
.review-section--editorial h2::after {
  content: '';
  display: block;
  width: min(480px, 62vw);
  height: 1px;
  margin: clamp(22px, 2vw, 34px) auto 0;
  background: linear-gradient(90deg, transparent, var(--review-gold) 22%, #f4d983 50%, var(--review-gold) 78%, transparent);
}
.review-section--editorial .review-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 1020px);
  max-width: none;
  padding: clamp(22px, 2vw, 34px) 0 0;
}
.review-section--editorial .review-copy p {
  max-width: 790px;
  margin: 0 0 clamp(22px, 2vw, 34px);
  color: rgba(6, 60, 49, .76);
  font-size: clamp(17px, 1.35vw, 23px);
  line-height: 1.5;
}
.review-section--editorial .review-memory {
  color: #17231f;
  font-weight: 750;
}
.review-section--editorial .review-copy .lead {
  max-width: 1000px;
  margin-bottom: clamp(24px, 2vw, 34px);
  color: var(--review-green);
  font: 600 clamp(42px, 5vw, 78px)/1.02 Georgia, serif;
  letter-spacing: -.042em;
  text-wrap: balance;
}
.review-section--editorial .review-accent {
  color: #b98925;
}
.review-section--editorial .review-button {
  position: relative;
  overflow: hidden;
  width: min(100%, 500px);
  min-height: 68px;
  margin: 6px 0 0;
  padding: 19px 30px;
  border: 1px solid #b78118;
  border-radius: 2px;
  color: #062e25;
  background: linear-gradient(180deg, #f6d978 0%, #e6b837 52%, #c9911f 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), inset 0 -2px 0 rgba(120,76,5,.18), 0 10px 24px rgba(112, 78, 14, .17);
  font-size: clamp(12px, 1vw, 16px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .13em;
  text-align: center;
  transition: transform .25s ease, background-color .25s ease, border-color .25s ease;
}
.review-section--editorial .review-button::after {
  content: '';
  position: absolute;
  top: -45%;
  left: -42%;
  width: 25%;
  height: 190%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent);
  transform: skewX(-22deg);
  animation: reviewGoldShine 3.8s ease-in-out infinite;
  pointer-events: none;
}
.review-section--editorial .review-button:hover { color: #062e25; border-color: #9e6d0b; transform: translateY(-2px); }
.review-section--editorial .review-button:focus-visible { outline: 3px solid var(--review-green); outline-offset: 5px; }
.review-section--editorial .google-review-mark {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  margin-top: 18px;
  color: rgba(6, 60, 49, .7);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .025em;
}
.review-section--editorial .google-review-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.review-section--editorial .google-stars {
  color: #c79428;
  font-size: 15px;
  line-height: 1;
  letter-spacing: .14em;
}
.review-section--editorial .google-g {
  display: inline-block;
  color: transparent;
  background: conic-gradient(from -45deg, #4285f4 0 25%, #34a853 0 43%, #fbbc05 0 67%, #ea4335 0 82%, #4285f4 0);
  background-clip: text;
  -webkit-background-clip: text;
  font: 700 22px/1 Arial, sans-serif;
}
@media (max-width: 760px) {
  .review-section--editorial { min-height: 0; padding: 68px 26px 76px; }
  .review-section--editorial::before { top: 8%; right: -62%; width: 125vw; }
  .review-section--editorial::after { inset: 14px; background-size: 88px 1px, 1px 88px, 88px 1px, 1px 88px; }
  .review-section--editorial .review-logo { width: 104px; }
  .review-section--editorial .review-logo::before,
  .review-section--editorial .review-logo::after { width: 48px; }
  .review-section--editorial h2 { font-size: clamp(14px, 4vw, 18px); line-height: 1.16; }
  .review-section--editorial .review-copy .lead { font-size: clamp(37px, 10.5vw, 52px); }
  .review-section--editorial .review-copy p { font-size: 18px; line-height: 1.62; }
  .review-section--editorial .review-button { width: 100%; min-height: 62px; padding-inline: 16px; font-size: 11px; }
}
@media (max-width: 380px) {
  .review-section--editorial { padding-inline: 20px; }
  .review-section--editorial .review-logo::before,
  .review-section--editorial .review-logo::after { display: none; }
  .review-section--editorial .review-copy .lead { font-size: 35px; }
}
@keyframes reviewGoldShine {
  0%, 22% { left: -42%; opacity: 0; }
  32% { opacity: 1; }
  52% { left: 118%; opacity: 0; }
  100% { left: 118%; opacity: 0; }
}
@keyframes reviewLogoShine {
  0%, 28% { left: -70%; opacity: 0; }
  36% { opacity: .9; }
  55% { left: 138%; opacity: 0; }
  100% { left: 138%; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .review-section--editorial .review-button { transition: none; }
  .review-section--editorial .review-button::after { animation: none; }
  .review-section--editorial .review-logo-shine::before { animation: none; }
}

/* Homepage polish: tighter review invitation and quieter watermark. */
.review-section--editorial{
  min-height:0;
  padding:clamp(64px,6vw,92px) clamp(28px,8vw,150px) clamp(70px,6.5vw,100px);
}
.review-section--editorial::before{top:2%;right:-4%;width:clamp(380px,38vw,600px);opacity:.024}
.review-section--editorial::after{inset:22px;background-size:120px 1px,1px 120px,120px 1px,1px 120px}
.review-section--editorial .review-intro{gap:14px}
.review-section--editorial .review-logo{width:clamp(88px,7vw,116px)}
.review-section--editorial h2::after{margin-top:18px}
.review-section--editorial .review-copy{padding-top:20px}
.review-section--editorial .review-copy .lead{max-width:850px;margin-bottom:22px;font-size:clamp(36px,4vw,58px);line-height:1.04}
.review-section--editorial .review-copy p{max-width:720px;margin-bottom:18px;font-size:clamp(16px,1.12vw,19px);line-height:1.58}
.review-section--editorial .review-button{width:min(100%,430px);min-height:58px;margin-top:4px;padding:16px 26px}
.review-section--editorial .google-review-mark{margin-top:14px}
@media(max-width:760px){
  .review-section--editorial{padding:58px 24px 66px}
  .review-section--editorial::before{top:20%;right:-46%;width:110vw;opacity:.02}
  .review-section--editorial::after{inset:12px;background-size:72px 1px,1px 72px,72px 1px,1px 72px}
  .review-section--editorial .review-logo{width:88px}
  .review-section--editorial .review-copy .lead{font-size:36px;margin-bottom:18px}
  .review-section--editorial .review-copy p{margin-bottom:16px;font-size:17px;line-height:1.58}
}
