:root {
  --pw-cream: #faf7f3;
  --pw-paper: #fffefc;
  --pw-ink: #1a1614;
  --pw-muted: #6b5b52;
  --pw-sage: #5b9795;
  --pw-sage-dark: #426d6b;
  --pw-blush: #d4776b;
  --pw-champagne: #c9a883;
  --pw-border: #ebe6e0;
  --pw-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --pw-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --pw-content: 1200px;
  --pw-focus: #287f7c;
}

html.pw-web-system { color-scheme: light; scroll-padding-top: 84px; }
html.pw-web-system body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
html.pw-web-system ::selection { background: rgba(91, 151, 149, .22); color: var(--pw-ink); }
html.pw-web-system :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(40, 127, 124, .45) !important;
  outline-offset: 3px !important;
}

/* Shared navigation treatment across homepage, SEO tools, support and blog. */
html.pw-web-system :where(nav.nav, body > nav, #pw-static > nav) {
  background: rgba(250, 247, 243, .9) !important;
  border-bottom: 1px solid rgba(26, 22, 20, .07) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  backdrop-filter: blur(18px) saturate(1.15);
}
html.pw-web-system :where(.nav-inner, nav > .inner) { max-width: var(--pw-content) !important; }
html.pw-web-system :where(.wordmark, .logo) { color: var(--pw-ink) !important; }
html.pw-web-system :where(.wordmark, .logo) img { border-radius: 50%; }
html.pw-web-system :where(.btn, .nav-cta, .btn-primary, .btn-secondary) {
  min-height: 44px;
  align-items: center;
  justify-content: center;
  letter-spacing: -.1px;
}
html.pw-web-system :where(.btn-dark, .nav-cta, .btn-primary) {
  background: var(--pw-ink) !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(26, 22, 20, .16);
}
html.pw-web-system :where(.btn-dark, .nav-cta, .btn-primary):hover {
  background: #2a2522 !important;
  box-shadow: 0 12px 30px rgba(26, 22, 20, .2);
}

/* Device-aware acquisition handoff, added by planwed-web.js. */
.pw-smart-app-cta,
.pw-desktop-app-cta,
.pw-desktop-handoff { display: none !important; }
.pw-desktop-handoff {
  width: min(100%, 430px);
  margin-top: 24px;
  padding: 14px 16px;
  align-items: center;
  gap: 15px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(26, 22, 20, .08);
  border-radius: 18px;
  box-shadow: 0 12px 32px rgba(26, 22, 20, .06);
}
.pw-desktop-handoff img { width: 76px; height: 76px; padding: 5px; background: #fff; border-radius: 12px; }
.pw-desktop-handoff strong { display: block; color: var(--pw-ink); font-size: 14px; margin-bottom: 4px; }
.pw-desktop-handoff span { display: block; color: var(--pw-muted); font-size: 12.5px; line-height: 1.45; }
.pw-web-start { white-space: nowrap; }
.pw-seo-product-shot {
  width: min(100%, 420px);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(26, 22, 20, .08);
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 28px 76px rgba(26, 22, 20, .15);
}
.pw-seo-product-shot img { display: block; width: 100%; height: auto; }

/* Static consent surface shared by every crawlable page. */
.pw-cookie-consent {
  position: fixed;
  z-index: 10000;
  left: 18px;
  right: 18px;
  bottom: 18px;
  width: min(680px, calc(100% - 36px));
  margin-inline: auto;
  padding: 18px;
  background: rgba(26, 22, 20, .97);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
  font-family: var(--pw-sans);
}
.pw-cookie-consent[hidden] { display: none !important; }
.pw-cookie-consent__body { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; }
.pw-cookie-consent strong { display: block; font-family: var(--pw-serif); font-size: 18px; font-weight: 600; margin-bottom: 5px; }
.pw-cookie-consent p { margin: 0; color: rgba(255, 255, 255, .7); font-size: 13px; line-height: 1.5; }
.pw-cookie-consent a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.pw-cookie-consent__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pw-cookie-consent button {
  min-height: 42px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 11px;
  padding: 9px 15px;
  background: transparent;
  color: #fff;
  font: 700 13px/1 var(--pw-sans);
  cursor: pointer;
}
.pw-cookie-consent button[data-consent='accept'] { background: #fff; color: var(--pw-ink); border-color: #fff; }

@media (min-width: 720px) {
  .pw-desktop-app-cta { display: inline-flex !important; }
  .pw-desktop-handoff { display: flex !important; }
  .hero-ctas > .pw-web-start:first-of-type {
    background: transparent !important;
    color: var(--pw-ink) !important;
    border: 1px solid rgba(26, 22, 20, .16) !important;
    box-shadow: none !important;
  }
}

@media (max-width: 719px) {
  .pw-smart-app-cta { display: inline-flex !important; }
  .hero-ctas > .pw-web-start:first-of-type {
    background: transparent !important;
    color: var(--pw-ink) !important;
    border: 1px solid rgba(26, 22, 20, .16) !important;
    box-shadow: none !important;
  }
  .hero-ctas > .pw-signin-cta { display: none !important; }
  .hero .store-row { display: none !important; }
  /* Localized landings still use their translated product composition. Keep
     it visible instead of dropping all product proof on mobile. */
  #pw-static .hero .mock {
    display: block !important;
    width: min(100%, 390px);
    min-height: 410px;
    margin: 12px auto 0;
    transform: scale(.9);
    transform-origin: top center;
  }
  .pw-seo-product-shot { width: min(88vw, 360px); border-radius: 24px; }
  .pw-cookie-consent__body { grid-template-columns: 1fr; }
  .pw-cookie-consent__actions { justify-content: stretch; }
  .pw-cookie-consent button { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html.pw-web-system { scroll-behavior: auto !important; }
  html.pw-web-system *,
  html.pw-web-system *::before,
  html.pw-web-system *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
