/* Parent editorial layer — service-owned, loaded after parent-theme.css. */
:root {
  --p-serif: var(--p-sans);
  --ev-void: #fff;
  --ev-deep: #fff;
  --ev-surface: rgba(23, 26, 43, .035);
  --ev-surface-2: rgba(23, 26, 43, .06);
  --ev-surface-3: rgba(23, 26, 43, .09);
  --ev-line: rgba(23, 26, 43, .10);
  --ev-line-strong: rgba(23, 26, 43, .18);
  --ev-text: #171a2b;
  --ev-text-2: #565c71;
  --ev-text-3: #7b8195;
  --ev-accent: #ff6b81;
  --ev-accent-2: #ffc24b;
  --pe-ink: #171a2b;
  --pe-muted: #565c71;
  --pe-line: rgba(23, 26, 43, .11);
  --pe-paper: #fff;
  --pe-blush: #ffe9ec;
  --pe-apricot: #fff3dc;
  --pe-lavender: #e9f1ff;
  --pe-sky: #f6f7fb;
  --pe-coral: #ff6b81;
  --pe-coral-dark: #a82d45;
  --pe-green: #087a5b;
  --pe-shadow: 0 16px 40px rgba(23, 26, 43, .10);
}

html { scroll-behavior: smooth; }
.parent-menu-toggle { display: none; }
body.editorial-ready .nav__links:not(:has(.nav__more)) { overflow: visible; }
body.editorial-ready :is(h1, h2, h3, .h1, .h2) { font-family: var(--p-sans); }

body.editorial-ready {
  color: var(--pe-ink);
  background:
    radial-gradient(circle at 90% 7%, rgba(233, 241, 255, .72), transparent 27rem),
    radial-gradient(circle at 16% 34%, rgba(255, 233, 236, .58), transparent 28rem),
    linear-gradient(180deg, #fff 0, #fffdf9 48%, #fff 100%);
}

.editorial-ready .wrap { max-width: 1240px; }

.editorial-ready .nav {
  border-bottom-color: rgba(8, 122, 91, .12);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 30px rgba(37, 63, 53, .04);
  backdrop-filter: blur(12px);
}

.editorial-ready .nav__links {
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.editorial-ready .nav__links a,
.editorial-ready .nav__links button,
.editorial-ready .nav__links summary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 7px 10px;
  border-radius: 12px;
  color: var(--pe-muted);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.editorial-ready .nav__links :is(a, summary):is(:hover, :focus-visible) {
  color: var(--pe-ink);
  background: rgba(23, 26, 43, .055);
}

.editorial-ready .nav__links .nav__auth {
  margin-left: 2px;
  border: 1px solid rgba(255, 107, 129, .35);
  background: linear-gradient(135deg, rgba(255, 107, 129, .14), rgba(255, 194, 75, .14));
  color: #7f263a;
}

.editorial-ready .nav__links .nav__admin { color: var(--pe-ink); }

.nav__sites { position: relative; }
.nav__sites > summary { cursor: pointer; list-style: none; }
.nav__sites > summary::-webkit-details-marker { display: none; }
.nav__sites > summary::after { content: "⌄"; margin-left: 5px; color: var(--ev-text-3); }
.nav__sites-panel {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  z-index: 120;
  display: grid;
  min-width: 248px;
  padding: 9px;
  border: 1px solid var(--pe-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 18px 45px rgba(23, 26, 43, .13);
}
.nav__sites-panel a {
  display: grid !important;
  gap: 1px;
  min-height: 0 !important;
  padding: 9px 11px !important;
  color: var(--pe-ink) !important;
}
.nav__sites-panel a span { color: var(--pe-muted); font-size: 11px; font-weight: 500; }

.editorial-ready .sidebar {
  background: rgba(255, 255, 255, .96);
  box-shadow: 10px 0 38px rgba(38, 66, 55, .045);
}

.editorial-ready .sidebar-progress__item--current a,
.editorial-ready .sidebar__link[aria-current="page"] {
  background: linear-gradient(105deg, rgba(255, 107, 129, .15), rgba(255, 194, 75, .10));
  box-shadow: inset 2px 0 0 var(--pe-coral);
}

.editorial-ready .hero__workspace {
  overflow: hidden;
  border: 1px solid var(--pe-line);
  border-radius: 24px;
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--pe-shadow);
}

.editorial-ready .hero__intro { position: relative; z-index: 2; }

.editorial-ready .hero__intro::before {
  content: "";
  position: absolute;
  top: 22px;
  left: clamp(24px, 4vw, 54px);
  width: 56px;
  height: 5px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--pe-coral), #f0a35e);
}

.editorial-ready .hero__intro .eyebrow { margin-top: 15px; color: var(--pe-green); }

.editorial-ready .hero__intro .h1,
.editorial-ready h1,
.editorial-ready h2 {
  color: var(--pe-ink);
  letter-spacing: -.035em;
  text-wrap: balance;
}

.editorial-ready .hero__promise,
.editorial-ready .lead { color: var(--pe-muted); }

.editorial-ready .grade-chip,
.editorial-ready .btn,
.editorial-ready button { min-height: 44px; }

.editorial-ready .btn--primary,
.editorial-ready .hero .btn:not(.btn--secondary) {
  border-color: transparent;
  background: linear-gradient(135deg, var(--pe-coral), #ffc24b);
  color: #171a2b;
  box-shadow: 0 10px 24px rgba(255, 107, 129, .22);
}

.editorial-ready .btn--primary:hover,
.editorial-ready .hero .btn:not(.btn--secondary):hover {
  border-color: var(--pe-coral-dark);
  background: linear-gradient(135deg, var(--pe-coral-dark), var(--pe-coral));
}

.editorial-ready :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid rgba(217, 97, 69, .38);
  outline-offset: 3px;
}

/* Existing information remains intact; only its hierarchy and surfaces change. */
.editorial-ready :where(.card, .pg-card, .promise, .monthly, .parent-product, .decision-card) {
  border-color: var(--pe-line);
  border-radius: 24px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 13px 38px rgba(47, 73, 63, .075);
}

.editorial-ready :where(a.card, .card[role="link"], .clickable-card) {
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}

.editorial-ready :where(a.card, .card[role="link"], .clickable-card):is(:hover, :focus-visible) {
  transform: translateY(-5px);
  border-color: rgba(8, 122, 91, .38);
  background: #fff;
  box-shadow: 0 22px 52px rgba(38, 67, 55, .13);
}

/* Accessible manual hero carousel. It never auto-advances. */
.editorial-slider {
  position: relative;
  display: block;
  min-height: 410px;
  margin: 0;
  overflow: hidden;
  background: linear-gradient(135deg, var(--pe-sky), var(--pe-lavender));
}

.editorial-slider::before { display: none; }
.editorial-slider__viewport { position: absolute; inset: 0; }
.editorial-slider__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .28s ease; }
.editorial-slider__slide[aria-hidden="false"] { opacity: 1; visibility: visible; }
.editorial-slider__slide img { width: 100%; height: 100%; object-fit: cover; }
.editorial-slider__slide--illustration { display: grid; place-items: center; background: linear-gradient(135deg, #edf7f3, #fff3eb); }
.editorial-slider__slide--illustration .hero__visual-art { width: min(58%, 310px); }
.editorial-slider__caption {
  position: absolute;
  right: 22px;
  bottom: 70px;
  left: 22px;
  z-index: 2;
  max-width: 32rem;
  padding: 15px 17px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 16px;
  background: rgba(255, 255, 255, .9);
  color: var(--pe-ink);
  font-size: 14px;
  line-height: 1.55;
  box-shadow: 0 12px 34px rgba(24, 43, 36, .16);
  backdrop-filter: blur(8px);
}

.editorial-slider__caption b { display: block; margin-bottom: 3px; font-size: 16px; }
.editorial-slider__controls {
  position: absolute;
  right: 18px;
  bottom: 16px;
  left: 18px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.editorial-slider__button {
  display: inline-grid;
  width: 44px;
  min-height: 44px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(25, 40, 33, .18);
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  color: var(--pe-ink);
  cursor: pointer;
}
.editorial-slider__dots { display: flex; gap: 8px; align-items: center; }
.editorial-slider__dot {
  width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.editorial-slider__dot::before {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: auto;
  border-radius: 50%;
  background: rgba(25, 40, 33, .38);
}
.editorial-slider__dot[aria-current="true"]::before { width: 22px; border-radius: 10px; background: var(--pe-coral); }

/* Three real-use scenes support each core page without pretending to be outcomes. */
.editorial-scenes { margin: clamp(52px, 7vw, 88px) auto; }
.editorial-scenes__head { display: grid; gap: 8px; max-width: 760px; margin-bottom: 24px; }
.editorial-scenes__eyebrow { color: var(--pe-coral-dark); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.editorial-scenes__head h2 { margin: 0; font-size: clamp(27px, 3vw, 42px); }
.editorial-scenes__head p { margin: 0; color: var(--pe-muted); line-height: 1.75; }
.editorial-scenes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.editorial-scene {
  overflow: hidden;
  border: 1px solid var(--pe-line);
  border-radius: 26px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 14px 40px rgba(41, 69, 58, .08);
}
.editorial-scene:nth-child(2) { transform: translateY(18px); }
.editorial-scene img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.editorial-scene__copy { padding: 22px 23px 25px; }
.editorial-scene__copy b { display: block; margin-bottom: 7px; font-size: 18px; }
.editorial-scene__copy p { margin: 0; color: var(--pe-muted); line-height: 1.65; }

.editorial-reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.editorial-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1080px) {
  .editorial-ready .nav__links { overflow-x: auto; scrollbar-width: thin; }
  .editorial-slider { min-height: 360px; }
  .editorial-scenes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editorial-scene:nth-child(2) { transform: none; }
  .editorial-scene:last-child { grid-column: 1 / -1; }
}

@media (min-width: 901px) {
  .editorial-ready .acct-chip { display: none; }
}

@media (max-width: 900px) {
  .nav__sites-panel { right: auto; left: 0; position: fixed; top: var(--nav-h); margin-left: 12px; }
}

@media (max-width: 720px) {
  body.editorial-ready { background: linear-gradient(180deg, #fff, #fffaf7 55%, #fff); }
  .editorial-ready .hero__workspace { border-radius: 22px; }
  .editorial-slider { min-height: 220px; }
  .editorial-slider__caption { right: 12px; bottom: 60px; left: 12px; padding: 10px 12px; font-size: 12px; }
  .editorial-slider__caption b { font-size: 14px; }
  .editorial-scenes__grid { grid-template-columns: 1fr; }
  .editorial-scene:last-child { grid-column: auto; }
  .editorial-scene { border-radius: 20px; }
  .editorial-scene__copy { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .editorial-ready *,
  .editorial-ready *::before,
  .editorial-ready *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation: none !important; }
  .editorial-reveal { opacity: 1; transform: none; }
  .editorial-ready :where(a.card, .card[role="link"], .clickable-card):is(:hover, :focus-visible) { transform: none; }
}

@media (prefers-reduced-data: reduce) {
  .editorial-slider__slide:not(:first-child) img,
  .editorial-scenes { display: none; }
}

@media print {
  .editorial-slider__controls,
  .editorial-scenes { display: none !important; }
  .editorial-reveal { opacity: 1 !important; transform: none !important; }
  .editorial-ready :where(.card, .pg-card, .promise, .monthly, .parent-product, .decision-card) { box-shadow: none; }
}

/* Keep account/support routes reachable where the legacy tabbar hid them. */
@media (max-width: 1100px) {
  body.editorial-ready .nav { position: sticky; height: auto; min-height: 60px; }
  body.editorial-ready .nav__inner { position: relative; flex-wrap: nowrap; }
  body.editorial-ready .acct-chip { display: none; }
  body.editorial-ready .parent-menu-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    margin-left: auto; min-height: 44px; padding: 8px 14px;
    background: #fff; color: var(--pe-ink); border: 1px solid var(--pe-line);
    border-radius: 12px; font: inherit; white-space: nowrap; cursor: pointer;
  }
  body.editorial-ready .nav__links:not(:has(.nav__more)) {
    display: none; position: absolute; top: 100%; right: 12px; left: 12px;
    width: auto; margin: 0; padding: 12px; background: #fff;
    border: 1px solid var(--pe-line); border-radius: 16px;
    box-shadow: var(--pe-shadow); max-height: 75dvh; overflow: auto;
  }
  body.editorial-ready .nav__links.is-expanded:not(:has(.nav__more)) {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.editorial-ready .nav__links .nav__sites { grid-column: 1 / -1; }
  body.editorial-ready .nav__sites-panel {
    position: static; min-width: 0; margin: 4px 0; box-shadow: none;
  }
  body.editorial-ready .nav__auth { grid-column: 1 / -1; justify-content: center; }
}
body.editorial-ready :is(.parent-menu-toggle, .nav__links a, .nav__links summary):focus-visible {
  outline: 3px solid #a82d45; outline-offset: 3px;
}
