/* ==========================================================================
   ProfilePress homepage — design system (Ollie theme + core blocks)
   Everything is scoped to .pp so it never leaks into other pages.
   ========================================================================== */
.pp {
	--pp-blue: #1769E8;
	--pp-blue-600: #0F56C7;
	--pp-blue-50: #EDF3FE;
	--pp-blue-25: #F5F8FF;
	--pp-ink: #0F1B33;
	--pp-body: #3A4659;
	--pp-muted: #56637A;
	--pp-line: #E3E8F0;
	--pp-tint: #F6F8FC;
	--pp-navy: #0A1A33;
	--pp-navy-2: #10264A;
	--pp-green: #15803D;
	--pp-radius: 16px;
	--pp-radius-sm: 10px;
	--pp-container: 1180px;
	--pp-gutter: clamp(20px, 4vw, 32px);
	--pp-section: clamp(72px, 9vw, 120px);
	--pp-shadow: 0 1px 2px rgba(15, 27, 51, .04), 0 12px 32px -12px rgba(15, 27, 51, .12);
	font-family: Geist, "Mona Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-weight: 430;
	color: var(--pp-body);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

/* Reset WordPress flow-layout margins inside our scope; spacing comes from gap below. */
.pp :where(h1, h2, h3, h4, p, ul, figure, .wp-block-group, .wp-block-buttons, .wp-block-image, .wp-block-list, .wp-block-site-logo, .wp-block-navigation) { margin-block: 0; }
.pp.pp { margin-block: 0; }
.pp :where(h1, h2, h3, h4) { color: var(--pp-ink); font-family: inherit; }
.pp a { color: var(--pp-blue); text-decoration: none; }
.pp a:hover { color: var(--pp-blue-600); }
.pp :focus-visible { outline: 2px solid var(--pp-blue); outline-offset: 3px; border-radius: 6px; }
.pp img { display: block; max-width: 100%; height: auto; }
.pp .wp-block-image img { width: 100%; }
.pp .has-primary-color, .pp mark.has-inline-color { color: var(--pp-blue); background: none; }

/* ---------- layout ---------- */
.pp .pp-section { padding-block: var(--pp-section); position: relative; }
.pp .pp-section--tint { background: var(--pp-tint); }
.pp .pp-section--dark { background: var(--pp-navy); color: #C8D3E3; overflow: hidden; }
.pp .pp-section--dark :where(h2, h3) { color: #fff; }
.pp .pp-section--dark .has-primary-color, .pp .pp-section--dark mark.has-inline-color { color: #4C8DF6; }
.pp .pp-container { width: 100%; max-width: calc(var(--pp-container) + var(--pp-gutter) * 2); margin-inline: auto; padding-inline: var(--pp-gutter); box-sizing: border-box; display: flex; flex-direction: column; gap: clamp(40px, 5vw, 64px); }
.pp .pp-grid { display: grid; gap: 20px; }
.pp .pp-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pp .pp-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pp .pp-grid--tight { gap: 14px; }
.pp .pp-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 88px); align-items: center; }
.pp .pp-split--wide-text { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 56px); }
.pp .pp-split__text { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }

/* ---------- type ---------- */
.pp .pp-eyebrow { font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--pp-blue); line-height: 1.4; }
.pp .pp-section--dark .pp-eyebrow { color: #7FB0FF; }
.pp .pp-display { font-size: clamp(2.6rem, 6.4vw, 4.75rem); line-height: 1.02; font-weight: 500; letter-spacing: -.04em; text-wrap: balance; }
.pp .pp-h2 { font-size: clamp(2.1rem, 4.4vw, 3.25rem); line-height: 1.06; font-weight: 500; letter-spacing: -.035em; text-wrap: balance; }
.pp .pp-h2--xl { font-size: clamp(2.5rem, 5.4vw, 4rem); line-height: 1.02; }
.pp .pp-lead { font-size: clamp(1.08rem, 1.6vw, 1.25rem); line-height: 1.55; max-width: 40em; }
.pp .pp-text { font-size: 17.5px; max-width: 34em; }
.pp .pp-section--dark .pp-text { color: #C8D3E3; }
.pp .pp-fineprint { font-size: 14px; color: var(--pp-muted); }
.pp .pp-section--dark .pp-fineprint { color: #A7B5CB; }
.pp .pp-more { font-size: 15px; font-weight: 600; }
.pp .pp-more a { display: inline-flex; gap: .35em; }
/* Text CTAs, made harder to miss. On their own (e.g. "View all add-ons" beside a heading) they're a solid blue
   button; inside a card they stay a link, with an arrow that nudges on hover. */
.pp .pp-more a::after { content: "→"; transition: transform .15s ease; }
.pp .pp-more a:hover::after { transform: translateX(3px); }
.pp .pp-more:not(.pp-card .pp-more) a { align-items: center; padding: 12px 20px; border-radius: 10px; background: var(--pp-blue); color: #fff; line-height: 1.2; box-shadow: 0 8px 20px -10px rgba(23, 105, 232, .6); transition: background .15s ease; }
.pp .pp-more:not(.pp-card .pp-more) a:hover { background: var(--pp-blue-600); color: #fff; }
/* Under a plan's "Choose" button, a second solid button would compete with it: keep these as outline buttons. */
.pp .pp-plan-card .pp-more.pp-more a { align-items: center; padding: 10px 16px; border: 1px solid #C9D6EA; border-radius: 10px; background: #fff; color: var(--pp-blue); box-shadow: none; }
.pp .pp-plan-card .pp-more.pp-more a:hover { border-color: var(--pp-blue); background: var(--pp-blue-50); color: var(--pp-blue); }
.pp .pp-card .pp-more a:hover { text-decoration: underline; text-underline-offset: 3px; }
.pp .pp-plan-card .pp-more a::after { content: none; }
.pp .pp-ao__more::after { content: " →"; }

.pp .pp-split .pp-h2 { font-size: clamp(2rem, 3.6vw, 2.85rem); }
.pp .pp-split .pp-h2--xl { font-size: clamp(2.5rem, 5vw, 3.75rem); }

/* ---------- section heads ---------- */
.pp .pp-head { display: flex; flex-direction: column; gap: 16px; }
.pp .pp-head--center { align-items: center; text-align: center; }
.pp .pp-head--center .pp-head__lead { max-width: 38em; }
.pp .pp-head__lead { font-size: 18px; max-width: 42em; }
.pp .pp-head--split { flex-direction: row; justify-content: space-between; align-items: flex-end; gap: 48px; }
.pp .pp-head__main { display: flex; flex-direction: column; gap: 16px; }
.pp .pp-head__aside { max-width: 27em; font-size: 17px; display: flex; flex-direction: column; gap: 10px; padding-bottom: 6px; }

/* ---------- buttons ---------- */
.pp .pp-btns { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.pp .pp-btns--center { justify-content: center; }
.pp .wp-block-button .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: .45em; font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; padding: 13px 20px; border-radius: 10px; border: 1px solid transparent; transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease; text-decoration: none; }
.pp .pp-btn-lg .wp-block-button__link { font-size: 16px; padding: 16px 26px; }
.pp .pp-btn-primary .wp-block-button__link { background: var(--pp-blue); color: #fff; box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 10px 24px -8px rgba(23, 105, 232, .55); }
.pp .pp-btn-primary .wp-block-button__link:hover { background: var(--pp-blue-600); color: #fff; }
.pp .pp-btn-ghost .wp-block-button__link { background: transparent; color: var(--pp-ink); }
.pp .pp-btn-ghost .wp-block-button__link:hover { background: rgba(15, 27, 51, .05); color: var(--pp-ink); }
.pp .pp-btn-outline .wp-block-button__link { background: #fff; color: var(--pp-ink); border-color: #D5DCE6; }
.pp .pp-btn-outline .wp-block-button__link:hover { border-color: var(--pp-ink); color: var(--pp-ink); }
.pp .pp-btn-white .wp-block-button__link { background: #fff; color: var(--pp-ink); }
.pp .pp-btn-white .wp-block-button__link:hover { background: var(--pp-blue-50); color: var(--pp-ink); }
.pp .pp-btn-ghost-light .wp-block-button__link { background: transparent; color: #fff; }
.pp .pp-btn-ghost-light .wp-block-button__link:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.pp .pp-btn-link .wp-block-button__link { background: transparent; color: var(--pp-ink); padding-inline: 12px; }
.pp .pp-btn-link .wp-block-button__link:hover { color: var(--pp-blue); }

/* ---------- lists ---------- */
.pp .pp-checks { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 16px; color: var(--pp-ink); }
.pp .pp-checks li { position: relative; padding-left: 30px; }
.pp .pp-checks li::before { content: ""; position: absolute; left: 0; top: .15em; width: 20px; height: 20px; border-radius: 50%; background: #E7F6EC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m6 10.2 2.6 2.6L14 7.4' fill='none' stroke='%2315803D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat; }
.pp .pp-checks--inline { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 10px 28px; font-size: 14.5px; color: var(--pp-muted); }
.pp .pp-checks--inline li { padding-left: 26px; }
.pp .pp-checks--inline li::before { width: 18px; height: 18px; background-size: 18px; top: .12em; }
.pp .pp-chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pp .pp-chips a { display: inline-block; font-size: 13.5px; font-weight: 500; color: var(--pp-ink); padding: 7px 13px; border: 1px solid var(--pp-line); border-radius: 999px; background: #fff; }
.pp .pp-chips a:hover { border-color: var(--pp-blue); color: var(--pp-blue); }
.pp .pp-wordmarks { list-style: none; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 40px; }
.pp .pp-wordmarks li { font-size: 19px; font-weight: 600; letter-spacing: -.02em; color: #6B7A92; }
.pp .pp-wordmarks--sm { gap: 10px 28px; }
/* Homepage "Trusted by" row: brand marks beside the names. Stripe, PayPal, Woo and Mailchimp marks from Simple Icons (CC0); LearnDash mark as used in the ProfilePress plugin. */
.pp .pp-wordmarks li { color: #56637A; }
.pp .pp-logomarks li { display: inline-flex; align-items: center; gap: 9px; }
.pp .pp-logomarks li::before { content: ""; flex: none; width: 22px; height: 22px; background: currentColor; -webkit-mask: var(--pp-logo) center / contain no-repeat; mask: var(--pp-logo) center / contain no-repeat; }
.pp .pp-logomarks .pp-logo-woo::before { width: 30px; }
.pp .pp-logo-stripe { --pp-logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.976 9.15c-2.172-.806-3.356-1.426-3.356-2.409 0-.831.683-1.305 1.901-1.305 2.227 0 4.515.858 6.09 1.631l.89-5.494C18.252.975 15.697 0 12.165 0 9.667 0 7.589.654 6.104 1.872 4.56 3.147 3.757 4.992 3.757 7.218c0 4.039 2.467 5.76 6.476 7.219 2.585.92 3.445 1.574 3.445 2.583 0 .98-.84 1.545-2.354 1.545-1.875 0-4.965-.921-6.99-2.109l-.9 5.555C5.175 22.99 8.385 24 11.714 24c2.641 0 4.843-.624 6.328-1.813 1.664-1.305 2.525-3.236 2.525-5.732 0-4.128-2.524-5.851-6.594-7.305h.003z'/%3E%3C/svg%3E"); }
.pp .pp-logo-paypal { --pp-logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.607 4.653H8.941L6.645 19.251H1.82L4.862 0h7.995c3.754 0 6.375 2.294 6.473 5.513-.648-.478-2.105-.86-3.722-.86m6.57 5.546c0 3.41-3.01 6.853-6.958 6.853h-2.493L11.595 24H6.74l1.845-11.538h3.592c4.208 0 7.346-3.634 7.153-6.949a5.24 5.24 0 0 1 2.848 4.686M9.653 5.546h6.408c.907 0 1.942.222 2.363.541-.195 2.741-2.655 5.483-6.441 5.483H8.714Z'/%3E%3C/svg%3E"); }
.pp .pp-logo-woo { --pp-logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.118 8.895c-.562 0-.928.183-1.255.797l-1.49 2.811v-2.496c0-.745-.353-1.111-1.007-1.111s-.928.222-1.255.85l-1.412 2.757v-2.47c0-.797-.327-1.137-1.124-1.137H.954C.34 8.895 0 9.183 0 9.706s.327.837.928.837h.667v3.15c0 .889.601 1.412 1.464 1.412s1.255-.34 1.686-1.137l.941-1.765v1.49c0 .876.575 1.412 1.451 1.412s1.203-.301 1.699-1.137l2.17-3.66c.471-.798.144-1.413-.901-1.413zm4.078 0c-1.778 0-3.124 1.321-3.124 3.112s1.359 3.098 3.124 3.098 3.111-1.32 3.124-3.098c0-1.791-1.359-3.112-3.124-3.112m0 4.301c-.667 0-1.124-.497-1.124-1.19s.458-1.203 1.124-1.203 1.124.51 1.124 1.203-.444 1.19-1.124 1.19m6.68-4.301c-1.765 0-3.124 1.32-3.124 3.111s1.359 3.098 3.124 3.098S24 13.784 24 12.006s-1.359-3.111-3.124-3.111m0 4.301c-.68 0-1.111-.497-1.111-1.19s.444-1.203 1.111-1.203S22 11.313 22 12.006s-.444 1.19-1.124 1.19'/%3E%3C/svg%3E"); }
.pp .pp-logo-mailchimp { --pp-logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.267 0C6.791-.015-1.82 10.246 1.397 12.964l.79.669a3.88 3.88 0 0 0-.22 1.792c.084.84.518 1.644 1.22 2.266.666.59 1.542.964 2.392.964 1.406 3.24 4.62 5.228 8.386 5.34 4.04.12 7.433-1.776 8.854-5.182.093-.24.488-1.316.488-2.267 0-.956-.54-1.352-.885-1.352-.01-.037-.078-.286-.172-.586-.093-.3-.19-.51-.19-.51.375-.563.382-1.065.332-1.35-.053-.353-.2-.653-.496-.964-.296-.311-.902-.63-1.753-.868l-.446-.124c-.002-.019-.024-1.053-.043-1.497-.014-.32-.042-.822-.197-1.315-.186-.668-.508-1.253-.911-1.627 1.112-1.152 1.806-2.422 1.804-3.511-.003-2.095-2.576-2.729-5.746-1.416l-.672.285A678.22 678.22 0 0 0 12.7.504C12.304.159 11.817.002 11.267 0zm.073.873c.166 0 .322.019.465.058.297.084 1.28 1.224 1.28 1.224s-1.826 1.013-3.52 2.426c-2.28 1.757-4.005 4.311-5.037 7.082-.811.158-1.526.618-1.963 1.253-.261-.218-.748-.64-.834-.804-.698-1.326.761-3.902 1.781-5.357C5.834 3.44 9.37.867 11.34.873zm3.286 3.273c.04-.002.06.05.028.074-.143.11-.299.26-.413.414a.04.04 0 0 0 .031.064c.659.004 1.587.235 2.192.574.041.023.012.103-.034.092-.915-.21-2.414-.369-3.97.01-1.39.34-2.45.863-3.224 1.426-.04.028-.086-.023-.055-.06.896-1.035 1.999-1.935 2.987-2.44.034-.018.07.019.052.052-.079.143-.23.447-.278.678-.007.035.032.063.062.042.615-.42 1.684-.868 2.622-.926zm3.023 3.205l.056.001a.896.896 0 0 1 .456.146c.534.355.61 1.216.638 1.845.015.36.059 1.229.074 1.478.034.571.184.651.487.751.17.057.33.098.563.164.706.198 1.125.4 1.39.658.157.162.23.333.253.497.083.608-.472 1.36-1.942 2.041-1.607.746-3.557.935-4.904.785l-.471-.053c-1.078-.145-1.693 1.247-1.046 2.201.417.615 1.552 1.015 2.688 1.015 2.604 0 4.605-1.111 5.35-2.072a.987.987 0 0 0 .06-.085c.036-.055.006-.085-.04-.054-.608.416-3.31 2.069-6.2 1.571 0 0-.351-.057-.672-.182-.255-.1-.788-.344-.853-.891 2.333.72 3.801.039 3.801.039a.072.072 0 0 0 .042-.072.067.067 0 0 0-.074-.06s-1.911.283-3.718-.378c.197-.64.72-.408 1.51-.345a11.045 11.045 0 0 0 3.647-.394c.818-.234 1.892-.697 2.727-1.356.281.618.38 1.299.38 1.299s.219-.04.4.073c.173.106.299.326.213.895-.176 1.063-.628 1.926-1.387 2.72a5.714 5.714 0 0 1-1.666 1.244c-.34.18-.704.334-1.087.46-2.863.935-5.794-.093-6.739-2.3a3.545 3.545 0 0 1-.189-.522c-.403-1.455-.06-3.2 1.008-4.299.065-.07.132-.153.132-.256 0-.087-.055-.179-.102-.243-.374-.543-1.669-1.466-1.409-3.254.187-1.284 1.31-2.189 2.357-2.135.089.004.177.01.266.015.453.027.85.085 1.223.1.625.028 1.187-.063 1.853-.618.225-.187.405-.35.71-.401.028-.005.092-.028.215-.028zm.022 2.18a.42.42 0 0 0-.06.005c-.335.054-.347.468-.228 1.04.068.32.187.595.32.765.175-.02.343-.022.498 0 .089-.205.104-.557.024-.942-.112-.535-.261-.872-.554-.868zm-3.66 1.546a1.724 1.724 0 0 0-1.016.326c-.16.117-.311.28-.29.378.008.032.031.056.088.063.131.015.592-.217 1.122-.25.374-.023.684.094.923.2.239.104.386.173.443.113.037-.038.026-.11-.031-.204-.118-.192-.36-.387-.618-.497a1.601 1.601 0 0 0-.621-.129zm4.082.81c-.171-.003-.313.186-.317.42-.004.236.131.43.303.432.172.003.314-.185.318-.42.004-.236-.132-.429-.304-.432zm-3.58.172c-.05 0-.102.002-.155.008-.311.05-.483.152-.593.247-.094.082-.152.173-.152.237a.075.075 0 0 0 .075.076c.07 0 .228-.063.228-.063a1.98 1.98 0 0 1 1.001-.104c.157.018.23.027.265-.026.01-.016.022-.049-.01-.1-.063-.103-.311-.269-.66-.275zm2.26.4c-.127 0-.235.051-.283.148-.075.154.035.363.246.466.21.104.443.063.52-.09.075-.155-.035-.364-.246-.467a.542.542 0 0 0-.237-.058zm-11.635.024c.048 0 .098 0 .149.003.73.04 1.806.6 2.052 2.19.217 1.41-.128 2.843-1.449 3.069-.123.02-.248.029-.374.026-1.22-.033-2.539-1.132-2.67-2.435-.145-1.44.591-2.548 1.894-2.811.117-.024.252-.04.398-.042zm-.07.927a1.144 1.144 0 0 0-.847.364c-.38.418-.439.988-.366 1.19.027.073.07.094.1.098.064.008.16-.039.22-.2a1.2 1.2 0 0 0 .017-.052 1.58 1.58 0 0 1 .157-.37.689.689 0 0 1 .955-.199c.266.174.369.5.255.81-.058.161-.154.469-.133.721.043.511.357.717.64.738.274.01.466-.143.515-.256.029-.067.005-.107-.011-.125-.043-.053-.113-.037-.18-.021a.638.638 0 0 1-.16.022.347.347 0 0 1-.294-.148c-.078-.12-.073-.3.013-.504.011-.028.025-.058.04-.092.138-.308.368-.825.11-1.317-.195-.37-.513-.602-.894-.65a1.135 1.135 0 0 0-.138-.01z'/%3E%3C/svg%3E"); }
.pp .pp-logo-learndash { --pp-logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 84'%3E%3Cpath d='m34.5815 21.2887c-1.1646-.0025-2.3181.225-3.3945.6695s-2.0544 1.0972-2.8779 1.9206c-.8234.8235-1.4761 1.8015-1.9206 2.8778-.4445 1.0764-.672 2.23-.6694 3.3945v51.2478c.0121.4305.1885.84.4931 1.1445.3045.3046.714.481 1.1445.4931 4.2642-.0076 8.3516-1.705 11.3669-4.7202 3.0153-3.0153 4.7126-7.1027 4.7203-11.367v-36.7982c.0025-1.1645-.225-2.3181-.6695-3.3945-.4444-1.0763-1.0971-2.0543-1.9206-2.8778-.8235-.8234-1.8015-1.4761-2.8778-1.9206-1.0764-.4445-2.23-.672-3.3945-.6695z'/%3E%3Cpath d='m8.86236 46.3348c-1.16454-.0025-2.31812.225-3.3945.6695-1.07638.4444-2.05437 1.0971-2.87783 1.9206-.82345.8235-1.47616 1.8014-1.920633 2.8778-.444478 1.0764-.6719769 2.23-.669437 3.3945v27.1652c.0121336.4305.188563.84.493085 1.1445s.714045.481 1.144535.4931c4.26423-.0076 8.35163-1.705 11.36692-4.7203 3.0153-3.0152 4.7126-7.1026 4.7202-11.3669v-12.7156c.0026-1.1645-.2249-2.3181-.6694-3.3945s-1.0972-2.0543-1.9206-2.8778c-.8235-.8235-1.8015-1.4762-2.8778-1.9206-1.0764-.4445-2.23-.672-3.39454-.6695z'/%3E%3Cpath d='m60.3036.00002103c-1.1646-.00253989-2.3181.22495897-3.3945.66943597-1.0764.444473-2.0544 1.097183-2.8778 1.920633-.8235.82346-1.4762 1.80145-1.9207 2.87783s-.672 2.22996-.6694 3.3945v73.11478c.0121.4305.1885.84.4931 1.1445.3045.3045.714.481 1.1445.4931 4.2642-.0076 8.3516-1.705 11.3669-4.7203 3.0153-3.0152 4.7126-7.1027 4.7203-11.3669v-58.66518c.0025-1.16454-.225-2.31812-.6695-3.3945-.4444-1.07638-1.0971-2.05437-1.9206-2.87783-.8235-.82345-1.8015-1.47616-2.8778-1.920633-1.0764-.444477-2.23-.67197586-3.3945-.66943597z'/%3E%3C/svg%3E"); }
.pp .pp-wordmarks--sm li { font-size: 15.5px; color: #5B6B84; }

/* ---------- icon + cards ---------- */
.pp .pp-icon { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--pp-blue-50); color: var(--pp-blue); flex: none; }
.pp .pp-icon svg { width: 22px; height: 22px; }
.pp .pp-card { background: #fff; border: 1px solid var(--pp-line); border-radius: var(--pp-radius); padding: 28px; box-sizing: border-box; }
.pp .pp-card__title { font-size: 19px; line-height: 1.3; font-weight: 500; letter-spacing: -.01em; }
.pp .pp-card__text { font-size: 15.5px; line-height: 1.6; color: var(--pp-body); }

/* bento — "From idea to income" */
.pp .pp-bento { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; padding: 0; overflow: hidden; background: var(--pp-tint); }
.pp .pp-bento--featured { background: linear-gradient(160deg, #E8F0FE 0%, #F4F8FF 70%); border-color: #D6E4FB; }
.pp .pp-bento__body { display: flex; flex-direction: column; gap: 12px; padding: 30px 30px 0; }
.pp .pp-bento .pp-icon { background: #fff; border: 1px solid var(--pp-line); margin-bottom: 8px; }
.pp .pp-bento .pp-card__title { font-size: 21px; }
.pp .pp-bento__art { margin: 0 -2px -2px; }
.pp .pp-bento__art img { width: 100%; }

/* feature cards — monetize */
.pp .pp-feature { display: flex; gap: 18px; align-items: flex-start; padding: 26px; }
.pp .pp-feature__body { display: flex; flex-direction: column; gap: 6px; }
.pp .pp-feature .pp-card__title { font-size: 18px; }
.pp .pp-strip { display: flex; align-items: center; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; background: #fff; border: 1px solid var(--pp-line); border-radius: var(--pp-radius); padding: 22px 28px; margin-top: -28px; }
.pp .pp-strip__label { font-size: 15px; color: var(--pp-muted); }

/* media */
.pp .pp-media { position: relative; }
.pp .pp-media--tint { background: radial-gradient(120% 90% at 20% 0%, #E3EDFD 0%, #EEF4FE 45%, #F6F9FF 100%); border: 1px solid #DCE7FB; border-radius: 24px; padding: clamp(8px, 2vw, 20px); }
.pp .pp-media__img img { width: 100%; }

/* numbered mini cards — member experience */
.pp .pp-mini { display: flex; gap: 14px; padding: 22px 22px 22px 20px; }
.pp .pp-mini__num { font-size: 12px; font-weight: 600; color: var(--pp-muted); padding-top: 3px; font-variant-numeric: tabular-nums; }
.pp .pp-mini__body { display: flex; flex-direction: column; gap: 6px; }
.pp .pp-mini__title { font-size: 16.5px; font-weight: 500; line-height: 1.35; }
.pp .pp-mini .pp-card__text { font-size: 14.5px; }
.pp .pp-members .pp-container { gap: 56px; }

/* add-on cards */
.pp .pp-addon { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.pp .pp-addon .pp-icon { width: 40px; height: 40px; margin-bottom: 10px; }
.pp .pp-addon .pp-more { margin-top: auto; padding-top: 6px; font-size: 14.5px; }

/* ---------- hero ---------- */
.pp .pp-hero { padding-block: clamp(64px, 8vw, 112px) 0; background: radial-gradient(60% 55% at 50% -8%, #E4EDFD 0%, rgba(228, 237, 253, 0) 70%), linear-gradient(180deg, #F7FAFF 0%, #FFFFFF 78%); overflow: hidden; }
.pp .pp-hero::before { content: ""; position: absolute; left: 50%; top: -360px; width: 620px; height: 620px; margin-left: -310px; border-radius: 50%; background: #EAF1FE; opacity: .9; pointer-events: none; }
.pp .pp-hero__inner { position: relative; align-items: center; text-align: center; gap: 28px; }
.pp .pp-hero .pp-btns { margin-top: 8px; }
.pp .pp-hero__shot { width: 100%; max-width: 1120px; margin-top: 36px; margin-bottom: -4%; }

/* ---------- trust ---------- */
.pp .pp-trust { padding-block: 28px; border-block: 1px solid var(--pp-line); background: #fff; }
.pp .pp-trust__inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 20px 48px; flex-wrap: wrap; }
.pp .pp-trust__label { font-size: 14px; line-height: 1.5; color: var(--pp-muted); }
.pp .pp-trust__label strong { color: var(--pp-ink); font-weight: 600; }

/* ---------- dark: protection ---------- */
.pp .pp-protect .pp-btns { margin-top: 12px; }
.pp .pp-protect::before, .pp .pp-own::before { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.pp .pp-protect::before { right: -180px; top: -220px; width: 640px; height: 640px; background: radial-gradient(closest-side, rgba(23, 105, 232, .28), rgba(23, 105, 232, 0)); }

/* ---------- themes panel ---------- */
.pp .pp-panel { background: linear-gradient(180deg, #EEF4FE 0%, #F5F8FF 100%); border: 1px solid #DCE7FB; border-radius: 28px; padding: clamp(16px, 3.5vw, 44px); }
.pp .pp-panel__img img { width: 100%; }

/* ---------- dark: ownership stats ---------- */
.pp .pp-own::before { right: -140px; top: 50%; width: 560px; height: 560px; margin-top: -280px; border: 90px solid rgba(76, 141, 246, .07); }
.pp .pp-own .pp-btns { margin-top: 12px; }
.pp .pp-stats { display: flex; flex-direction: column; position: relative; }
.pp .pp-stat { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 24px; padding-block: 28px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.pp .pp-stat:first-child { border-top: 1px solid rgba(255, 255, 255, .1); }
.pp .pp-stat__num { font-size: clamp(2.4rem, 4vw, 3.25rem); line-height: 1; font-weight: 500; letter-spacing: -.04em; color: #4C8DF6; font-variant-numeric: tabular-nums; }
.pp .pp-stat__body { display: flex; flex-direction: column; gap: 4px; }
.pp .pp-stat__label { font-size: 18px; font-weight: 600; color: #fff; }
.pp .pp-stat__text { font-size: 15px; color: #A7B5CB; }

/* ---------- final CTA ---------- */
.pp .pp-cta { background: radial-gradient(50% 80% at 50% 100%, #EAF1FE 0%, rgba(234, 241, 254, 0) 70%); }
.pp .pp-cta__inner { align-items: center; text-align: center; gap: 20px; }
.pp .pp-cta .pp-btns { margin-top: 12px; }

/* ---------- header (template part) ---------- */
.pp.pp-header { position: relative; z-index: 50; background: #fff; border-bottom: 1px solid var(--pp-line); }
.pp .pp-header__inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; min-height: 72px; }
.pp .pp-header__actions { flex-wrap: nowrap; gap: 6px; }
.pp .pp-header__actions .wp-block-button__link { font-size: 14.5px; padding: 11px 18px; }
.pp .pp-nav { font-size: 15px; font-weight: 500; --wp--style--block-gap: 32px; }
.pp .pp-nav a { color: var(--pp-ink); }
.pp .pp-nav .wp-block-navigation__submenu-container { border: 1px solid var(--pp-line) !important; border-radius: 12px; padding: 8px !important; box-shadow: var(--pp-shadow); min-width: 240px !important; }
.pp .pp-nav .wp-block-navigation__submenu-container a { padding: 9px 12px !important; border-radius: 8px; font-weight: 400; }
.pp .pp-nav .wp-block-navigation__submenu-container a:hover { background: var(--pp-tint); color: var(--pp-blue); }

/* ---------- footer (template part) ---------- */
.pp.pp-footer { background: var(--pp-tint); border-top: 1px solid var(--pp-line); padding-block: 72px 32px; }
.pp.pp-footer .pp-container { gap: 48px; }
.pp .pp-footer__top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr 1fr; gap: 40px 32px; }
.pp .pp-footer__brand { display: flex; flex-direction: column; gap: 18px; max-width: 300px; }
.pp .pp-footer__about { font-size: 15px; color: var(--pp-body); }
.pp .pp-footer__social { display: flex; gap: 6px; list-style: none; padding: 0; margin: 0; }
.pp .pp-footer__social .wp-social-link { margin: 0; }
.pp .pp-footer__social .wp-social-link a { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border-radius: 10px; background: #fff; border: 1px solid var(--pp-line); color: var(--pp-body); }
.pp .pp-footer__social .wp-social-link a:hover { border-color: var(--pp-blue); color: var(--pp-blue); }
.pp .pp-footer__social svg { width: 18px; height: 18px; fill: currentColor; }
.pp .pp-footer__badges { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.pp .pp-footer__badges .wp-block-image { margin: 0; }
.pp .pp-footer__badges .wp-block-image img { width: auto !important; height: 38px; }
.pp .pp-footer__col { display: flex; flex-direction: column; gap: 16px; }
.pp .pp-footer__title { font-size: 15px; font-weight: 600; letter-spacing: 0; color: var(--pp-ink); }
.pp .pp-footer__links { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 11px; font-size: 15px; }
.pp .pp-footer__links a { color: var(--pp-body); }
.pp .pp-footer__links a:hover { color: var(--pp-blue); }
.pp .pp-footer__bottom { display: flex; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid var(--pp-line); }
.pp .pp-footer__legal { font-size: 14px; color: var(--pp-muted); }
.pp .pp-footer__legal a { color: var(--pp-muted); margin-left: 18px; }
.pp .pp-footer__legal a:first-child { margin-left: 0; }
.pp .pp-footer__legal a:hover { color: var(--pp-blue); }

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
	.pp .pp-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pp .pp-split, .pp .pp-split--wide-text { grid-template-columns: minmax(0, 1fr); }
	.pp .pp-split--media-left .pp-media { order: 2; }
	.pp .pp-head--split { flex-direction: column; align-items: flex-start; gap: 16px; }
	.pp .pp-footer__top { grid-template-columns: repeat(4, 1fr); }
	.pp .pp-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 781px) {
	.pp .pp-header__actions .pp-btn-link { display: none; }
	.pp .pp-grid--3, .pp .pp-grid--2 { grid-template-columns: minmax(0, 1fr); }
	.pp .pp-trust__inner { flex-direction: column; align-items: flex-start; }
	.pp .pp-wordmarks { gap: 10px 26px; }
	.pp .pp-wordmarks li { font-size: 17px; }
	.pp .pp-strip { margin-top: 0; }
	.pp .pp-stat { grid-template-columns: 96px 1fr; }
	.pp .pp-hero__shot { margin-bottom: -2%; }
	.pp .pp-footer__top { grid-template-columns: 1fr 1fr; }
	.pp .pp-footer__bottom { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
	.pp * { transition: none !important; }
}
.pp .pp-header__actions .wp-block-button__link { white-space: nowrap; }
@media (max-width: 480px) {
	.pp .pp-header__actions .pp-btn-primary .wp-block-button__link { padding: 10px 14px; font-size: 14px; }
	.pp .pp-logo img, .pp-brand img { width: 128px; }
}

/* ---------- theme-level glue ---------- */
.admin-bar .wp-site-blocks > .site-header, .wp-site-blocks > .site-content, .wp-site-blocks > .site-footer, .wp-site-blocks > main.pp-main, .wp-site-blocks > footer, .wp-site-blocks > .wp-block-template-part { margin-block-start: 0; }
.pp .pp-logo img { width: 150px; height: auto; }
