/* PICTAG_PUBLIC_TARGETED_V1_7_07
   Narrow public-page styling only.
   - /about: legal/prose visual language used by Terms/Privacy/Cookies.
   - /features: keep prose layout, remove the redundant eyebrow label.
   - /faq: legal/prose layout, wide legal-style hero, down/up chevrons.
   - /pricing: match the established /app Pricing card aesthetic.
   - /app and legal pages are not modified.
*/

body.pictag-public-targeted-v1707 {
  --p1707-accent: var(--accent-color, #d70053);
  --p1707-border: var(--border-color, #303038);
  --p1707-border-soft: color-mix(in srgb, var(--p1707-border) 72%, transparent);
  --p1707-surface: var(--surface-color, var(--bg-secondary, #17171c));
  --p1707-surface-2: var(--bg-secondary, #17171c);
  --p1707-text: var(--text-primary, #f4f1f5);
  --p1707-muted: var(--text-secondary, #a7a2ad);
}

body.pictag-public-targeted-v1707 *,
body.pictag-public-targeted-v1707 *::before,
body.pictag-public-targeted-v1707 *::after { box-sizing: border-box; }

body.pictag-public-targeted-v1707 .pictag-public-eyebrow-v1707 {
  display: none !important;
}

/* --------------------------------------------------------------------------
   SHARED LEGAL-LIKE HERO — About / Features / FAQ
   The panel is wider, while its text stays aligned to the 900px prose column.
   -------------------------------------------------------------------------- */
body.pictag-public-about-v1707 main,
body.pictag-public-features-v1707 main,
body.pictag-public-faq-v1707 main {
  width: min(900px, calc(100% - 48px)) !important;
  max-width: 900px !important;
  margin-inline: auto !important;
}

body.pictag-public-targeted-v1707 .pictag-public-hero-v1707 {
  position: relative !important;
  left: 50% !important;
  width: min(1180px, calc(100vw - 48px)) !important;
  max-width: none !important;
  margin: 0 0 54px !important;
  padding: 44px 24px 46px !important;
  transform: translateX(-50%) !important;
  border: 1px solid var(--p1707-border-soft) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.pictag-public-targeted-v1707 .pictag-public-hero-v1707 > h1,
body.pictag-public-targeted-v1707 .pictag-public-hero-v1707 > .pictag-public-hero-title-v1707,
body.pictag-public-targeted-v1707 .pictag-public-hero-v1707 > p,
body.pictag-public-targeted-v1707 .pictag-public-hero-v1707 > .pictag-public-hero-subtitle-v1707 {
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.pictag-public-targeted-v1707 .pictag-public-hero-title-v1707 {
  margin-top: 0 !important;
  margin-bottom: 13px !important;
  padding: 0 !important;
  color: var(--p1707-text) !important;
  font-size: clamp(38px, 4.3vw, 54px) !important;
  line-height: 1.07 !important;
  font-weight: 690 !important;
  letter-spacing: -.035em !important;
}

body.pictag-public-targeted-v1707 .pictag-public-hero-subtitle-v1707 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  color: var(--p1707-muted) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
}

/* --------------------------------------------------------------------------
   FEATURES — legal/prose aesthetic, no cards.
   -------------------------------------------------------------------------- */
body.pictag-public-features-v1707 .pictag-feature-flow-v1707 {
  display: block !important;
  grid-template-columns: none !important;
  columns: auto !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

body.pictag-public-features-v1707 .pictag-feature-section-v1707 {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 24px 0 27px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--p1707-border-soft) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

body.pictag-public-features-v1707 .pictag-feature-section-v1707:last-child { border-bottom: 0 !important; }
body.pictag-public-features-v1707 .pictag-feature-section-v1707:hover { transform: none !important; box-shadow: none !important; background: transparent !important; }

body.pictag-public-features-v1707 .pictag-feature-section-v1707 h2 {
  margin: 0 0 9px !important;
  padding: 0 !important;
  color: var(--p1707-text) !important;
  font-size: 21px !important;
  line-height: 1.3 !important;
  font-weight: 680 !important;
  letter-spacing: -.018em !important;
}

body.pictag-public-features-v1707 .pictag-feature-section-v1707 p,
body.pictag-public-features-v1707 .pictag-feature-section-v1707 li {
  max-width: 840px !important;
  margin-top: 0 !important;
  color: var(--p1707-muted) !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
}

/* --------------------------------------------------------------------------
   ABOUT — same prose rhythm as the legal pages.
   -------------------------------------------------------------------------- */
body.pictag-public-about-v1707 .pictag-about-section-v1707 {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 24px 0 27px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--p1707-border-soft) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.pictag-public-about-v1707 .pictag-about-section-v1707:last-child { border-bottom: 0 !important; }

body.pictag-public-about-v1707 .pictag-about-section-v1707 h2 {
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: var(--p1707-text) !important;
  font-size: 21px !important;
  line-height: 1.3 !important;
  font-weight: 680 !important;
  letter-spacing: -.018em !important;
}

body.pictag-public-about-v1707 .pictag-about-section-v1707 p,
body.pictag-public-about-v1707 .pictag-about-section-v1707 li {
  margin-top: 0 !important;
  color: var(--p1707-muted) !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}

body.pictag-public-about-v1707 .pictag-about-section-v1707 a { color: inherit !important; text-decoration-color: color-mix(in srgb, var(--p1707-accent) 65%, transparent) !important; }

/* --------------------------------------------------------------------------
   FAQ — legal/prose aesthetic + standard down/up chevrons.
   -------------------------------------------------------------------------- */
body.pictag-public-faq-v1707 main h2 {
  margin: 40px 0 9px !important;
  padding: 0 !important;
  color: var(--p1707-accent) !important;
  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: -.018em !important;
}

body.pictag-public-faq-v1707 .pictag-faq-row-v1707 {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--p1707-border-soft) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.pictag-public-faq-v1707 .pictag-faq-summary-v1707 {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 17px 48px 17px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--p1707-text) !important;
  cursor: pointer !important;
  list-style: none !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
}

body.pictag-public-faq-v1707 .pictag-faq-summary-v1707::-webkit-details-marker { display: none !important; }
body.pictag-public-faq-v1707 .pictag-faq-summary-v1707::marker { content: ""; }

/* Closed = down. Open = up. */
body.pictag-public-faq-v1707 .pictag-faq-summary-v1707::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  right: 8px !important;
  width: 9px !important;
  height: 9px !important;
  border: solid var(--p1707-muted) !important;
  border-width: 0 2px 2px 0 !important;
  transform: translateY(-70%) rotate(45deg) !important;
  transform-origin: center !important;
  transition: transform .16s ease, border-color .16s ease !important;
}

body.pictag-public-faq-v1707 .pictag-faq-row-v1707[open] > .pictag-faq-summary-v1707::after {
  border-color: var(--p1707-accent) !important;
  transform: translateY(-25%) rotate(-135deg) !important;
}

body.pictag-public-faq-v1707 .pictag-faq-row-v1707 > :not(summary) {
  max-width: 830px !important;
  margin-left: 0 !important;
  margin-right: 38px !important;
  color: var(--p1707-muted) !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
}

body.pictag-public-faq-v1707 .pictag-faq-row-v1707 > :last-child { margin-bottom: 19px !important; }

/* --------------------------------------------------------------------------
   PRICING — mirror the established /app four-card visual system.
   -------------------------------------------------------------------------- */
body.pictag-public-pricing-v1707 main {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-title-v1707 {
  max-width: none !important;
  margin: 18px auto 8px !important;
  text-align: center !important;
  color: var(--p1707-text) !important;
  font-size: clamp(30px, 3vw, 38px) !important;
  line-height: 1.12 !important;
  font-weight: 560 !important;
  letter-spacing: -.025em !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-subtitle-v1707 {
  max-width: 720px !important;
  margin: 0 auto 32px !important;
  text-align: center !important;
  color: var(--p1707-muted) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-grid-v1707 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-card-v1707 {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 24px 22px 22px !important;
  border: 1px solid var(--p1707-border) !important;
  border-radius: 16px !important;
  background: var(--p1707-surface-2) !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: hidden !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-card-v1707:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: color-mix(in srgb, var(--p1707-accent) 35%, var(--p1707-border)) !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-card-v1707.is-studio-v1707 {
  border: 2px solid var(--p1707-accent) !important;
  padding: 23px 21px 21px !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-plan-name-v1707 {
  margin: 0 0 14px !important;
  color: var(--p1707-text) !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  letter-spacing: -.015em !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-price-v1707 {
  min-height: 46px !important;
  margin: 0 0 8px !important;
  color: var(--p1707-text) !important;
  font-size: 34px !important;
  line-height: 1.18 !important;
  font-weight: 760 !important;
  letter-spacing: -.025em !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-price-v1707 s,
body.pictag-public-pricing-v1707 .pictag-pricing-price-v1707 del {
  margin-right: 8px !important;
  color: var(--p1707-muted) !important;
  opacity: .65 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-unit-v1707 {
  min-height: 36px !important;
  margin: 0 0 8px !important;
  color: var(--p1707-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-included-v1707 {
  margin: 16px 0 11px !important;
  color: var(--p1707-text) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  letter-spacing: .08em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-card-v1707 ul {
  flex: 1 1 auto !important;
  margin: 0 0 26px !important;
  padding: 0 !important;
  list-style: none !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-card-v1707 li {
  position: relative !important;
  margin: 0 !important;
  padding: 7px 0 7px 20px !important;
  color: var(--p1707-muted) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-card-v1707 li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 7px !important;
  color: var(--p1707-accent) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-cta-v1707 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 42px !important;
  margin-top: auto !important;
  padding: 10px 14px !important;
  border: 1px solid var(--p1707-accent) !important;
  border-radius: 10px !important;
  background: var(--p1707-accent) !important;
  color: #fff !important;
  text-decoration: none !important;
  font: inherit !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  cursor: pointer !important;
}

body.pictag-public-pricing-v1707 .pictag-pricing-note-v1707 {
  max-width: 900px !important;
  margin: 26px auto 0 !important;
  color: var(--p1707-muted) !important;
  text-align: center !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
}

@media (max-width: 1080px) {
  body.pictag-public-pricing-v1707 .pictag-pricing-grid-v1707 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  body.pictag-public-about-v1707 main,
  body.pictag-public-features-v1707 main,
  body.pictag-public-faq-v1707 main,
  body.pictag-public-pricing-v1707 main {
    width: min(100% - 28px, 900px) !important;
  }

  body.pictag-public-targeted-v1707 .pictag-public-hero-v1707 {
    width: calc(100vw - 20px) !important;
    margin-bottom: 34px !important;
    padding: 30px 18px 32px !important;
  }

  body.pictag-public-targeted-v1707 .pictag-public-hero-title-v1707 {
    font-size: clamp(31px, 10vw, 42px) !important;
    line-height: 1.08 !important;
  }

  body.pictag-public-pricing-v1707 .pictag-pricing-grid-v1707 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body.pictag-public-pricing-v1707 .pictag-pricing-card-v1707 {
    padding: 23px 20px 21px !important;
  }

  body.pictag-public-pricing-v1707 .pictag-pricing-card-v1707.is-studio-v1707 {
    padding: 22px 19px 20px !important;
  }

  body.pictag-public-faq-v1707 .pictag-faq-summary-v1707 {
    padding-right: 40px !important;
  }

  body.pictag-public-faq-v1707 .pictag-faq-row-v1707 > :not(summary) {
    margin-right: 24px !important;
  }
}

/* PICTAG_PUBLIC_TITLE_BG_FLAT_V1_7_08
   Surgical override only: remove the background paint from the title wrapper
   on the explicitly requested public pages. No spacing, typography, borders,
   shadows, layout, FAQ, pricing, navigation, or /app styling is changed. */
.pictag-flat-title-bg-v1708 {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
.pictag-flat-title-bg-v1708::before,
.pictag-flat-title-bg-v1708::after {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* PICTAG_CONTACT_EXACT_LAYOUT_V1_7_14
   CONTACT ONLY.
   Matches the existing working public-page title arrangement.
*/

body:has(.contact-grid) main > section.hero {
    position: relative !important;
    left: 50% !important;

    width: min(1180px, calc(100vw - 48px)) !important;
    max-width: none !important;

    margin: 0 0 54px !important;
    padding: 44px 24px 46px !important;

    transform: translateX(-50%) !important;

    border: 1px solid var(--p1707-border-soft) !important;
    border-left: 0 !important;
    border-right: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    box-shadow: none !important;
}

body:has(.contact-grid) main > section.hero::before,
body:has(.contact-grid) main > section.hero::after,
body:has(.contact-grid) main > section.hero > .shell {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

body:has(.contact-grid) main > section.hero > .shell {
    width: min(900px, 100%) !important;
    max-width: 900px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 0 !important;
}

/* Remove only the redundant small "Support" label. */
body:has(.contact-grid) main > section.hero .eyebrow {
    display: none !important;
}

/* Match title/subtitle spacing used by the other internal pages. */
body:has(.contact-grid) main > section.hero h1 {
    margin-top: 0 !important;
}

body:has(.contact-grid) main > section.hero h1 + p {
    margin-bottom: 0 !important;
}

@media (max-width: 700px) {
    body:has(.contact-grid) main > section.hero {
        width: calc(100vw - 28px) !important;
        margin-bottom: 34px !important;
        padding: 30px 14px 32px !important;
    }
}

/* PICTAG_CONTACT_TITLE_SEPARATOR_V1_7_15
   Contact only — match the horizontal separator used by the other internal pages.
*/
body:has(.contact-grid) main > section.hero {
    border-top: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--p1707-border-soft) !important;
}

/* PICTAG_PUBLIC_REMOVE_TITLE_SEPARATOR_V1_7_16
   Remove ONLY the horizontal border from internal-page title headers.
   No spacing, background, typography or layout changes.
*/
header.pictag-public-v1633__hero,
header.pictag-public-v1633__hero.pictag-public-hero-v1707,
body.pictag-public-targeted-v1707 header.pictag-public-hero-v1707 {
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

/* PICTAG_LEGAL_HERO_FLAT_V1_7_18
   Legal pages only: Privacy / Cookies / Terms.
   Remove only title-area background and outline/border.
*/
body:has(main section.prose) main > section.hero,
body:has(main section.prose) main > header.pictag-public-v1633__hero,
body:has(main section.prose) main > header.pictag-public-hero-v1707 {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

body:has(main section.prose) main > section.hero::before,
body:has(main section.prose) main > section.hero::after,
body:has(main section.prose) main > section.hero > .shell,
body:has(main section.prose) main > header.pictag-public-v1633__hero::before,
body:has(main section.prose) main > header.pictag-public-v1633__hero::after,
body:has(main section.prose) main > header.pictag-public-hero-v1707::before,
body:has(main section.prose) main > header.pictag-public-hero-v1707::after {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}
