/* ==========================================================================
   PP Blog Theme – front end and editor styles
   Sections: base, header & mega menu, topic bar, blog home, archive, article,
   article components (block styles), footer, block-theme glue, responsive.
   ========================================================================== */

:root {
	--pp-blue: #1355ff;
	--pp-accent: #003fcd;
	--pp-navy: #0c2459;
	--pp-navy-2: #0a2540;
	--pp-sky: #edf5ff;
	--pp-sky-2: #d7e8ff;
	--pp-ink: #191c1f;
	--pp-ink-2: #1a1a1a;
	--pp-body: #434656;
	--pp-muted: #64748b;
	--pp-grey: #666;
	--pp-line: #e6edf4;
	--pp-line-2: #f1f5f9;
	--pp-soft: #f2f3f8;
	--pp-soft-2: #f8f9fb;
	--pp-green: #005c3e;
	--pp-mint: #6ffbbe;
	--pp-red: #ba1a1a;
	--pp-font: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--pp-font-nav: "Urbanist", "DM Sans", system-ui, sans-serif;
	--pp-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	--pp-container: 1320px;
	--pp-gutter: 16px;
	--pp-header-h: 84px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

body {
	margin: 0;
	background: #fff;
	color: var(--pp-ink-2);
	font-family: var(--pp-font);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.pp-lock { overflow: hidden; }

img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
/* Theme components set their own colours: links and headings inherit instead of the global defaults. */
:root :where(a:where(:not(.wp-element-button))) { color: inherit; }
:root :where(.wp-site-blocks) :where(h1, h2, h3, h4, h5, h6) { color: inherit; font-size: inherit; letter-spacing: inherit; line-height: inherit; }
button { font: inherit; color: inherit; cursor: pointer; background: none; border: 0; padding: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, h5, h6, p, figure, blockquote { margin: 0; }
:focus-visible { outline: 2px solid var(--pp-blue); outline-offset: 2px; border-radius: 4px; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.pp-icon { flex: none; }
.pp-container { width: 100%; max-width: calc(var(--pp-container) + var(--pp-gutter) * 2); margin: 0 auto; padding: 0 var(--pp-gutter); }

.pp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	height: 44px; padding: 0 20px; border-radius: 8px;
	background: var(--pp-blue); color: #fff; font-weight: 600; font-size: 14px;
	transition: background .2s;
}
.pp-btn:hover { background: var(--pp-accent); }

/* ==========================================================================
   Header (matches www.plazaprotection.com)
   ========================================================================== */

.pp-header { position: sticky; top: 0; z-index: 100; background: #fff; font-family: var(--pp-font-nav); }
.admin-bar .pp-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .pp-header { top: 0; } }

.pp-header__inner {
	position: relative;
	max-width: 1440px; height: var(--pp-header-h); margin: 0 auto; padding: 12px 15px;
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
}

.pp-logo { display: inline-flex; align-items: center; gap: 10px; flex: none; }
.pp-logo__shield { width: 46px; height: 48px; object-fit: contain; }
.pp-logo__word { display: flex; flex-direction: column; font-family: "Urbanist", sans-serif; font-weight: 700; line-height: .9; letter-spacing: -.3px; }
.pp-logo__plaza { color: #1d2a5b; font-size: 23px; }
.pp-logo__protection { color: var(--pp-blue); font-size: 26px; }

.pp-nav__list { display: flex; align-items: center; }
.pp-nav__item { position: static; }
.pp-nav__btn {
	position: relative; display: inline-flex; align-items: center; gap: 6px;
	padding: 28px 14px; height: var(--pp-header-h);
	font-family: var(--pp-font-nav); font-weight: 600; font-size: 16px; line-height: 20px; color: #1d2939;
	transition: color .2s;
}
.pp-nav__btn:hover,
.pp-nav__item.is-open > .pp-nav__btn { color: var(--pp-blue); }
.pp-nav__chev { transition: transform .2s; }
.pp-nav__item.is-open .pp-nav__chev { transform: rotate(180deg); }
.pp-nav__item.is-open > .pp-nav__btn::after {
	content: ""; position: absolute; left: 50%; bottom: 0; width: 24px; height: 3px;
	margin-left: -23px; background: var(--pp-blue); border-radius: 3px 3px 0 0;
}

.pp-header__actions { display: flex; align-items: center; gap: 16px; flex: none; }

.pp-burger { display: grid; place-items: center; width: 40px; height: 40px; background: var(--pp-blue); color: #fff; }
.pp-burger__close { display: none; }
.pp-burger[aria-expanded="true"] .pp-burger__open { display: none; }
.pp-burger[aria-expanded="true"] .pp-burger__close { display: block; }

/* Mega menu panels */
.pp-mega {
	position: absolute; left: 50%; top: calc(100% + 12px); z-index: 110;
	width: calc(100% - 30px); max-width: 1440px; transform: translateX(-50%);
	background: #fff; border-radius: 40px; padding: 40px 48px 48px;
	box-shadow: 0 24px 60px rgba(12, 36, 89, .14);
	animation: pp-mega-in .18s ease-out;
}
@keyframes pp-mega-in { from { opacity: 0; transform: translate(-50%, -6px); } to { opacity: 1; transform: translate(-50%, 0); } }

.pp-mega__title {
	padding-bottom: 16px; margin-bottom: 32px; border-bottom: 1px solid #eef0f4;
	font-family: var(--pp-font); font-weight: 600; font-size: 14px; line-height: 20px; letter-spacing: 1.2px; text-transform: uppercase; color: #4b5565;
}
.pp-mega__cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.pp-mcard {
	position: relative; display: flex; flex-direction: column; height: 292px; overflow: hidden;
	padding: 16px 16px 0; border-radius: 16px;
	background: linear-gradient(180deg, rgba(19, 85, 255, 0) 0%, rgba(19, 85, 255, .1) 100%);
	font-family: var(--pp-font); transition: transform .2s, box-shadow .2s;
}
.pp-mcard:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(19, 85, 255, .12); }
.pp-mcard__icon { color: var(--pp-blue); margin-bottom: 16px; }
.pp-mcard__title { font-weight: 600; font-size: 18px; line-height: 28px; letter-spacing: -.5px; color: #111b29; }
.pp-mcard__desc { margin-top: 4px; font-size: 12px; line-height: 16px; color: #677489; }
.pp-mcard:hover .pp-mcard__title { color: var(--pp-blue); }
.pp-mcard__img { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: auto; }

.pp-mega__res { display: grid; grid-template-columns: minmax(0, 1fr) 392px; gap: 80px; }
.pp-mega__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 40px; }
.pp-mlink { display: flex; gap: 14px; padding: 10px 8px; border-radius: 8px; font-family: var(--pp-font); transition: background .2s; }
.pp-mlink:hover { background: #f3f7ff; }
.pp-mlink__icon { color: var(--pp-blue); padding-top: 3px; }
.pp-mlink__body { display: flex; flex-direction: column; gap: 6px; }
.pp-mlink__title { font-weight: 500; font-size: 18px; line-height: 24px; color: #111b29; }
.pp-mlink__desc { font-size: 15px; line-height: 20px; color: #677489; max-width: 290px; }
.pp-mlink:hover .pp-mlink__title { color: var(--pp-blue); }

.pp-mvideo { position: relative; display: block; border-radius: 16px; overflow: hidden; }
.pp-mvideo img { width: 100%; height: auto; transition: transform .3s; }
.pp-mvideo:hover img { transform: scale(1.02); }
.pp-mvideo__btn {
	position: absolute; right: 13px; bottom: 16px;
	display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px 0 6px;
	background: var(--pp-blue); color: #fff; border-radius: 999px;
	font-family: var(--pp-font); font-weight: 500; font-size: 12px; box-shadow: 0 0 0 2px rgba(255, 255, 255, .6);
}

.pp-backdrop { position: fixed; inset: 0; z-index: 90; background: rgba(16, 24, 40, .45); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.pp-backdrop[hidden] { display: none; }

/* Mobile drawer */

@media (max-width: 1280px) {
	.pp-nav__btn { padding-left: 10px; padding-right: 10px; }
	.pp-header__actions { gap: 12px; }
	.pp-mega { padding: 32px; border-radius: 28px; }
	.pp-mega__cards { gap: 16px; }
	.pp-mega__res { grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; }
}
@media (max-width: 1100px) {
	:root { --pp-header-h: 72px; }
}

/* ==========================================================================
   Topic bar
   ========================================================================== */

.pp-topics { border-bottom: 1px solid #e8e8e8; background: #fff; }
.pp-topics__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 16px; padding-bottom: 16px; }
.pp-topics__nav { min-width: 0; overflow-x: auto; scrollbar-width: none; }
.pp-topics__nav::-webkit-scrollbar { display: none; }
.pp-topics__list { display: flex; gap: 8px; }
.pp-topic {
	display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
	padding: 10px 12px; border-radius: 8px;
	font-size: 14px; line-height: 20px; color: #333; transition: background .2s, color .2s;
}
.pp-topic:hover { background: var(--pp-sky); color: var(--pp-blue); }
.pp-topic.is-active { color: var(--pp-blue); font-weight: 600; }
.pp-topic .pp-icon { color: currentColor; }

.pp-topics__search { position: relative; display: flex; align-items: center; flex: none; }
.pp-topics__search input {
	width: 0; opacity: 0; height: 40px; padding: 0; border: 1px solid transparent; border-radius: 8px;
	font: inherit; font-size: 14px; color: var(--pp-ink-2); background: #fff; transition: width .25s, opacity .2s, padding .25s;
}
.pp-topics__search.is-open input { width: 260px; opacity: 1; padding: 0 44px 0 14px; border-color: #e2e8f0; }
.pp-topics__search input:focus { outline: none; border-color: var(--pp-blue); box-shadow: 0 0 0 3px rgba(19, 85, 255, .12); }
.pp-topics__searchbtn { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 8px; color: #333; }
.pp-topics__search.is-open .pp-topics__searchbtn { position: absolute; right: 0; color: var(--pp-blue); }
.pp-topics__searchbtn:hover { color: var(--pp-blue); background: var(--pp-sky); }

/* ==========================================================================
   Blog home
   ========================================================================== */

.pp-main { display: block; }
.pp-featured { display: grid; grid-template-columns: minmax(0, 750fr) minmax(0, 538fr); gap: 32px; margin-top: 40px; align-items: start; }

.pp-pill { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 999px; font-size: 12px; line-height: 16px; font-weight: 600; color: #fff; }
.pp-pill--blue { background: var(--pp-blue); text-transform: uppercase; letter-spacing: .2px; }
.pp-pill--glass { padding: 2px 10px; background: rgba(255, 255, 255, .2); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); font-weight: 500; }

.pp-feature { position: relative; isolation: isolate; display: flex; min-height: 650px; overflow: hidden; background: #020617; color: #fff; }
.pp-feature__media { position: absolute; inset: 0; z-index: -2; }
.pp-feature__media .pp-thumb { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.pp-feature:hover .pp-feature__media .pp-thumb { transform: scale(1.03); }
.pp-feature::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(0deg, rgba(2, 6, 23, .95) 0%, rgba(2, 6, 23, .6) 50%, rgba(2, 6, 23, 0) 100%);
}
.pp-feature__body { margin-top: auto; width: 100%; padding: 33px; }
.pp-feature__pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.pp-feature__title { font-weight: 600; font-size: 30px; line-height: 38px; letter-spacing: -1px; max-width: 640px; }
.pp-feature__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.pp-feature__excerpt { margin-top: 12px; max-width: 600px; font-size: 16px; line-height: 24px; color: #e5e5e5; }
.pp-feature__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .1); }
.pp-feature__byline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: #cbd5e1; }
.pp-feature__author { font-size: 12px; color: #fff; }
.pp-feature__dot { color: #94a3b8; }
.pp-feature__link { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 16px; white-space: nowrap; }
.pp-feature__link .pp-icon { transition: transform .2s; }
.pp-feature:hover .pp-feature__link .pp-icon { transform: translateX(3px); }

.pp-avatar {
	display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%;
	background: rgba(59, 130, 246, .2); border: 1px solid rgba(96, 165, 250, .4);
	font-size: 11px; font-weight: 700; color: #bfdbfe; letter-spacing: .3px;
}
.pp-avatar--lg { width: 64px; height: 64px; font-size: 20px; background: var(--pp-sky); color: var(--pp-blue); border-color: var(--pp-sky-2); }

.pp-side { position: relative; display: flex; flex-direction: column; min-height: 600px; background: #fff; border: 1px solid var(--pp-line-2); border-radius: 16px; overflow: hidden; transition: box-shadow .2s; }
.pp-side:hover { box-shadow: 0 12px 32px rgba(15, 23, 42, .08); }
.pp-side__media { position: relative; display: block; height: 399px; background: var(--pp-line-2); overflow: hidden; }
.pp-side__media .pp-thumb { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.pp-side:hover .pp-side__media .pp-thumb { transform: scale(1.03); }
.pp-side__badge { position: absolute; top: 16px; right: 16px; padding: 4px 8px; border-radius: 4px; background: rgba(255, 255, 255, .9); font-family: var(--pp-font-mono); font-weight: 500; font-size: 10px; line-height: 15px; text-transform: uppercase; color: #334155; }
.pp-side__body { padding: 20px 20px 0; }
.pp-side__meta { font-size: 14px; }
.pp-side__title { margin-top: 8px; font-weight: 600; font-size: 24px; line-height: 32px; letter-spacing: -.5px; color: var(--pp-ink-2); }
.pp-side__title a::after { content: ""; position: absolute; inset: 0; }
.pp-side__title a:hover { color: var(--pp-blue); }
.pp-side__excerpt { margin-top: 8px; font-size: 16px; line-height: 24px; color: var(--pp-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pp-side__foot { margin: auto 20px 0; padding: 16px 0 20px; font-size: 14px; }
.pp-side__foot time { font-weight: 600; }
.pp-side__foot .pp-readlink { position: relative; z-index: 1; font-size: 14px; }

.pp-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-weight: 600; font-size: 12px; line-height: 16px; text-transform: uppercase; color: var(--pp-blue); letter-spacing: .2px; }

.pp-section { margin-top: 64px; }
.pp-archive .pp-grid, .pp-404 .pp-grid { margin-top: 0; }
.pp-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.pp-grid > .pp-card.is-new { animation: pp-fade-up .4s ease-out both; }
@keyframes pp-fade-up { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

.pp-card { position: relative; display: flex; flex-direction: column; padding: 13px; background: #fff; border: 1px solid var(--pp-line); transition: box-shadow .2s, border-color .2s; }
.pp-card:hover { border-color: #d3dceb; box-shadow: 0 10px 28px rgba(15, 23, 42, .07); }
.pp-card__media { display: block; height: 240px; overflow: hidden; background: var(--pp-line-2); box-shadow: 0 1px 2px rgba(0, 0, 0, .05); }
.pp-card__media .pp-thumb { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.pp-card:hover .pp-card__media .pp-thumb { transform: scale(1.04); }
.pp-card__meta { margin-top: 16px; padding: 4px; }
.pp-card__title { padding: 0 4px; margin-top: 4px; font-weight: 600; font-size: 20px; line-height: 28px; letter-spacing: -.5px; color: var(--pp-ink-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pp-card__title a::after { content: ""; position: absolute; inset: 0; }
.pp-card:hover .pp-card__title a { color: var(--pp-blue); }
.pp-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding: 16px 4px 4px; border-top: 1px solid var(--pp-line-2); font-size: 12px; color: var(--pp-grey); }
.pp-card .pp-card__foot { margin-top: 20px; }
.pp-readlink { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; color: var(--pp-blue); }
.pp-readlink .pp-icon { transition: transform .2s; }
.pp-card:hover .pp-readlink .pp-icon, .pp-side:hover .pp-readlink .pp-icon, .pp-readlink:hover .pp-icon { transform: translateX(3px); }

.pp-thumb--placeholder { display: grid !important; place-items: center; width: 100%; height: 100%; min-height: 100%; background: linear-gradient(160deg, var(--pp-navy), #1c3e8f); color: rgba(255, 255, 255, .5); }

.pp-loadmore { display: flex; justify-content: center; margin-top: 48px; }
.pp-loadmore__btn {
	display: inline-flex; align-items: center; gap: 8px; padding: 11px 25px;
	border: 1px solid #e2e8f0; background: #fff; font-size: 14px; line-height: 20px; font-weight: 500; color: #1e293b;
	transition: border-color .2s, color .2s, background .2s;
}
.pp-loadmore__btn:hover { border-color: var(--pp-blue); color: var(--pp-blue); }
.pp-loadmore__btn.is-loading { opacity: .7; pointer-events: none; }
.pp-loadmore__btn.is-loading .pp-icon { animation: pp-spin 1s linear infinite; }
@keyframes pp-spin { to { transform: rotate(360deg); } }

/* CTA banner */
.pp-cta-wrap { max-width: 1472px; margin: 96px auto 96px; padding: 0 var(--pp-gutter); }
.pp-cta {
	position: relative; overflow: hidden; isolation: isolate;
	min-height: 484px; padding: 80px 24px; border-radius: 40px;
	background: var(--pp-navy); color: #fff; text-align: center;
}
.pp-cta__tag {
	display: inline-flex; padding: 6px 20px; border-radius: 999px; background: #e2eaff; border: 1px solid #b0c6ff;
	font-family: var(--pp-font-nav); font-weight: 600; font-size: 14px; line-height: 20px; text-transform: uppercase; color: var(--pp-blue);
}
.pp-cta__title { margin-top: 24px; max-width: 520px; font-family: var(--pp-font-nav); font-weight: 600; font-size: 40px; line-height: 48px; color: #fff; }
.pp-cta__text { margin-top: 16px; max-width: 616px; font-size: 16px; line-height: 28px; color: #fff; }
.pp-cta--article { min-height: 0; margin-top: 48px; padding: 56px 24px; border-radius: 24px; }
.pp-cta--article .pp-cta__title { font-size: 32px; line-height: 40px; }

/* Archive / search */
.pp-archive__head { padding: 48px 0 32px; }
.pp-eyebrow { font-family: var(--pp-font-mono); font-weight: 500; font-size: 12px; letter-spacing: .8px; text-transform: uppercase; color: var(--pp-blue); }
.pp-archive__title { margin-top: 8px; font-weight: 600; font-size: 40px; line-height: 48px; letter-spacing: -1px; color: var(--pp-ink); }
.pp-archive__desc { margin-top: 12px; max-width: 720px; font-size: 16px; line-height: 24px; color: var(--pp-body); }
.pp-archive__desc p { margin: 0; }
.pp-archive__count { margin-top: 12px; font-size: 14px; color: var(--pp-grey); }
.pp-archive__author { display: flex; align-items: center; gap: 16px; }
.pp-archive__author .pp-archive__title { margin-top: 2px; }

.pp-empty { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 80px 16px; text-align: center; background: var(--pp-soft-2); border-radius: 16px; margin-top: 40px; }
.pp-empty__icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #fff; color: var(--pp-blue); }
.pp-empty h2 { font-size: 24px; font-weight: 600; }
.pp-empty p { color: var(--pp-body); }

/* 404 */
.pp-404__hero { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 96px 0 72px; text-align: center; }
.pp-404__code { font-family: var(--pp-font-mono); font-weight: 700; font-size: 96px; line-height: 1; color: var(--pp-blue); letter-spacing: -4px; }
.pp-404__title { font-weight: 600; font-size: 40px; line-height: 48px; letter-spacing: -1px; color: var(--pp-ink); max-width: 640px; }
.pp-404__text { max-width: 560px; color: var(--pp-body); }
.pp-section-title { margin-bottom: 24px; font-weight: 600; font-size: 24px; letter-spacing: -.5px; }

/* Page */
.pp-page__inner { max-width: 832px; padding-top: 64px; padding-bottom: 96px; }
.pp-page__title { font-weight: 600; font-size: 40px; line-height: 48px; letter-spacing: -1px; color: var(--pp-ink); margin-bottom: 32px; }

/* ==========================================================================
   Single article
   ========================================================================== */

.pp-hero {
	position: relative; overflow: hidden; isolation: isolate;
	display: grid; grid-template-columns: minmax(0, 624fr) minmax(0, 528fr); gap: 40px; align-items: center;
	margin-top: 40px; padding: 64px;
	background: linear-gradient(180deg, #f2f3f8 0%, #fff 100%);
}
.pp-hero::before { content: ""; position: absolute; z-index: -1; top: -120px; right: -96px; width: 384px; height: 384px; border-radius: 50%; background: rgba(221, 225, 255, .3); filter: blur(32px); }
.pp-crumbs { display: flex; align-items: center; gap: 8px; font-size: 12px; line-height: 16px; color: #333; }
.pp-crumbs a:hover { color: var(--pp-blue); }
.pp-crumbs__sep { font-family: var(--pp-font-mono); color: var(--pp-body); }
.pp-crumbs__cat { color: #3355ff; }
.pp-hero__title { margin-top: 24px; font-weight: 600; font-size: 40px; line-height: 48px; letter-spacing: -1px; color: var(--pp-ink); }
.pp-hero__standfirst { margin-top: 16px; font-size: 16px; line-height: 24px; color: var(--pp-body); }
.pp-hero__meta { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 24px; font-weight: 600; font-size: 12px; line-height: 16px; color: var(--pp-ink-2); }
.pp-hero__meta span { display: inline-flex; align-items: center; gap: 6px; }
.pp-hero__meta .pp-icon { color: var(--pp-blue); }
.pp-hero__updated { color: var(--pp-grey); }
.pp-hero__media { background: #eceef2; aspect-ratio: 528 / 400; overflow: hidden; }
.pp-hero__media img { width: 100%; height: 100%; object-fit: cover; }

.pp-layout { display: grid; grid-template-columns: 318px minmax(0, 700px) 222px; justify-content: space-between; gap: 40px; margin-top: 64px; padding-bottom: 96px; }
.pp-layout__right { display: flex; flex-direction: column; gap: 24px; }
.pp-sticky { position: sticky; top: calc(var(--pp-header-h) + 24px); display: flex; flex-direction: column; gap: 24px; }
.admin-bar .pp-sticky { top: calc(var(--pp-header-h) + 56px); }

.pp-progress { display: flex; align-items: center; gap: 16px; padding: 16px; border-radius: 12px; background: var(--pp-soft); }
.pp-progress__ring { position: relative; flex: none; width: 56px; height: 56px; }
.pp-progress__ring svg { transform: rotate(-90deg); }
.pp-progress__track, .pp-progress__bar { fill: none; stroke-width: 4; }
.pp-progress__track { stroke: #dde1ff; }
.pp-progress__bar { stroke: var(--pp-blue); stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset .15s linear; }
.pp-progress__pct { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--pp-font-mono); font-weight: 700; font-size: 11px; color: var(--pp-ink); }
.pp-progress__label { font-weight: 700; font-size: 11px; line-height: 16px; letter-spacing: .55px; text-transform: uppercase; color: var(--pp-body); }
.pp-progress__left { font-size: 15px; line-height: 24px; color: var(--pp-ink); }
.pp-progress__live { display: flex; align-items: center; gap: 6px; font-family: var(--pp-font-mono); font-size: 11px; line-height: 16px; color: var(--pp-green); }
.pp-progress__live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #00a36c; box-shadow: 0 0 0 3px rgba(0, 163, 108, .18); animation: pp-pulse 2s infinite; }
@keyframes pp-pulse { 50% { box-shadow: 0 0 0 6px rgba(0, 163, 108, 0); } }

.pp-toc { padding: 20px; border-radius: 12px; background: var(--pp-soft-2); }
.pp-toc[hidden] { display: none; }
.pp-toc__title { margin-bottom: 12px; font-weight: 700; font-size: 11px; line-height: 16px; letter-spacing: .88px; text-transform: uppercase; color: var(--pp-ink); }
.pp-toc__list { display: flex; flex-direction: column; gap: 4px; max-height: 50vh; overflow-y: auto; }
.pp-toc__list a { position: relative; display: block; padding: 6px 8px 6px 16px; border-radius: 4px; font-size: 14px; line-height: 20px; color: var(--pp-body); transition: background .2s, color .2s; }
.pp-toc__list a:hover { color: var(--pp-accent); }
.pp-toc__list a.is-active { background: rgba(221, 225, 255, .4); color: var(--pp-accent); font-weight: 500; }
.pp-toc__list a.is-active::before { content: ""; position: absolute; left: 6px; top: 50%; width: 4px; height: 12px; margin-top: -6px; border-radius: 2px; background: var(--pp-accent); }
.pp-toc__list .pp-toc__sub a { padding-left: 28px; font-size: 13px; }

.pp-dial { padding: 16px; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px #eceef2; }
.pp-dial__label { display: flex; align-items: center; gap: 6px; font-weight: 700; font-size: 11px; line-height: 16px; letter-spacing: .88px; text-transform: uppercase; color: var(--pp-accent); }
.pp-dial__text { margin-top: 8px; font-size: 13px; line-height: 20.8px; color: var(--pp-body); }
.pp-dial__phone { display: inline-block; margin-top: 8px; font-weight: 700; font-size: 17px; line-height: 24px; color: var(--pp-accent); }
.pp-dial__phone:hover { color: var(--pp-blue); }

/* Right column */
.pp-spot { position: relative; isolation: isolate; display: flex; min-height: 598px; overflow: hidden; border: 1px solid var(--pp-sky-2); border-radius: 16px; background: var(--pp-navy-2); color: #fff; }
.pp-spot__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; opacity: .6; transition: transform .5s; }
.pp-spot:hover .pp-spot__img { transform: scale(1.04); }
.pp-spot::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #0a2540 0%, rgba(10, 37, 64, .85) 45%, rgba(10, 37, 64, 0) 100%); }
.pp-spot__body { display: flex; flex-direction: column; gap: 12px; margin-top: auto; padding: 25px; }
.pp-spot__pill { align-self: flex-start; padding: 4px 8px; border-radius: 4px; background: var(--pp-blue); font-weight: 700; font-size: 10px; line-height: 15px; letter-spacing: .5px; text-transform: uppercase; }
.pp-spot__title { font-weight: 600; font-size: 20px; line-height: 28px; }
.pp-spot__text { font-size: 12px; line-height: 16px; color: #d8dade; }
.pp-spot__link { display: inline-flex; align-items: center; gap: 6px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .2); font-size: 12px; font-weight: 600; }

.pp-sidecta { padding: 30px 24px; border-radius: 24px; background: linear-gradient(160deg, #2f4fd6 0%, #2944cc 100%); color: #fff; }
.pp-sidecta__title { font-weight: 600; font-size: 24px; line-height: 32px; letter-spacing: -.3px; }
.pp-sidecta__text { margin-top: 12px; font-size: 14px; line-height: 20px; color: rgba(255, 255, 255, .9); }

.pp-share { display: flex; gap: 12px; }
.pp-share a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11.4px; background: #fff; border: .714px solid #e5eaf1; color: #1d2939; transition: color .2s, border-color .2s; }
.pp-share a:hover { color: var(--pp-blue); border-color: var(--pp-blue); }

.pp-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
.pp-tags a { display: inline-flex; padding: 6px 12px; border-radius: 999px; background: var(--pp-soft); font-size: 13px; color: var(--pp-body); }
.pp-tags a:hover { background: var(--pp-sky); color: var(--pp-blue); }

/* ==========================================================================
   Article content + components
   ========================================================================== */

.wp-block-post-content { counter-reset: pp-h2; font-size: 16px; line-height: 24px; color: var(--pp-body); overflow-wrap: break-word; }
.wp-block-post-content > * + * { margin-top: 16px; }
.wp-block-post-content > h2 { margin-top: 56px; }
.wp-block-post-content > h3 { margin-top: 32px; }
.wp-block-post-content > :first-child { margin-top: 0; }
.wp-block-post-content a:not([class]) { color: var(--pp-blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.wp-block-post-content a:not([class]):hover { color: var(--pp-accent); }
.wp-block-post-content strong { color: var(--pp-ink); font-weight: 600; }

.wp-block-post-content h2 {
	counter-increment: pp-h2;
	display: flex; align-items: baseline; gap: 8px;
	font-weight: 600; font-size: 30px; line-height: 38px; letter-spacing: -1px; color: var(--pp-ink);
	scroll-margin-top: calc(var(--pp-header-h) + 32px);
}
.wp-block-post-content h2::before { content: counter(pp-h2, decimal-leading-zero) " /"; flex: none; font-family: var(--pp-font-mono); font-weight: 700; font-size: 13px; line-height: 20px; letter-spacing: 0; color: var(--pp-accent); }
.wp-block-post-content h3 { font-weight: 600; font-size: 22px; line-height: 30px; letter-spacing: -.5px; color: var(--pp-ink); scroll-margin-top: calc(var(--pp-header-h) + 32px); }
.wp-block-post-content h4 { font-weight: 600; font-size: 18px; line-height: 26px; color: var(--pp-ink); }
.wp-block-post-content h2 + p, .wp-block-post-content p.is-style-pp-lead { font-size: 18px; line-height: 32px; color: var(--pp-ink); }

.wp-block-post-content ul:not([class*="is-style"]), .wp-block-post-content ol:not([class*="is-style"]) { padding-left: 22px; }
.wp-block-post-content ul:not([class*="is-style"]) { list-style: disc; }
.wp-block-post-content ol:not([class*="is-style"]) { list-style: decimal; }
.wp-block-post-content li + li { margin-top: 8px; }
.wp-block-post-content li::marker { color: var(--pp-accent); }
.wp-block-post-content code { font-family: var(--pp-font-mono); font-size: .85em; padding: 2px 6px; border-radius: 4px; background: #e7e8ec; color: var(--pp-body); }
.wp-block-post-content pre { padding: 20px; border-radius: 12px; background: var(--pp-navy-2); color: #e2e8f0; overflow-x: auto; font-family: var(--pp-font-mono); font-size: 13px; }
.wp-block-post-content pre code { background: none; padding: 0; color: inherit; }
.wp-block-post-content hr { border: 0; border-top: 1px solid #e7e8ec; margin: 40px 0; }
.wp-block-post-content iframe, .wp-block-post-content .wp-block-embed { max-width: 100%; }
.wp-block-post-content .wp-block-embed__wrapper iframe { border-radius: 12px; }

/* Images & figures */
.wp-block-post-content .wp-block-image img, .wp-block-post-content figure img { border-radius: 12px; }
.wp-block-post-content .wp-block-image.is-style-pp-figure,
.wp-block-post-content figure.wp-block-image:has(figcaption) { overflow: hidden; border-radius: 12px; background: #eceef2; }
.wp-block-post-content .wp-block-image.is-style-pp-figure img,
.wp-block-post-content figure.wp-block-image:has(figcaption) img { width: 100%; max-height: 400px; object-fit: cover; border-radius: 0; }
.wp-block-post-content figcaption, .wp-block-post-content .wp-element-caption { margin: 0; padding: 8px 12px; background: var(--pp-soft); font-family: var(--pp-font-mono); font-size: 12px; line-height: 19.2px; color: #333; text-align: left; }

/* Classic themes wrap group blocks in an inner container; let the components lay out their children directly. */

/* TL;DR */
.is-style-pp-tldr { position: relative; padding: 24px 24px 24px 30px; border-radius: 12px; background: #fff; box-shadow: 0 1px 3px rgba(15, 23, 42, .08), 0 8px 24px rgba(15, 23, 42, .05); overflow: hidden; }
.is-style-pp-tldr::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--pp-blue); }
.wp-block-post-content .is-style-pp-tldr > * + * { margin-top: 16px; }
.is-style-pp-tldr > :is(h2, h3, h4, p):first-child { display: flex; align-items: center; gap: 8px; padding-right: 120px; font-weight: 500; font-size: 18px; line-height: 28.8px; letter-spacing: 0; color: var(--pp-ink); }
.is-style-pp-tldr > :is(h2, h3, h4, p):first-child::before { content: ""; flex: none; width: 20px; height: 20px; background: var(--pp-blue); -webkit-mask: url(../icons/flash.svg) center / contain no-repeat; mask: url(../icons/flash.svg) center / contain no-repeat; }
.pp-copy { position: absolute; top: 28px; right: 24px; display: inline-flex; align-items: center; gap: 4px; font-family: var(--pp-font-mono); font-size: 11px; line-height: 16px; color: var(--pp-accent); }
.pp-copy:hover { text-decoration: underline; }

/* Check list (TL;DR bullets) */
.wp-block-post-content ul.is-style-pp-checks { padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.wp-block-post-content ul.is-style-pp-checks li { position: relative; margin: 0; padding-left: 32px; font-size: 15px; line-height: 24px; color: var(--pp-body); }
.wp-block-post-content ul.is-style-pp-checks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: #dde1ff; }
.wp-block-post-content ul.is-style-pp-checks li::after { content: ""; position: absolute; left: 4px; top: 6px; width: 12px; height: 12px; background: var(--pp-accent); -webkit-mask: url(../icons/check.svg) center / contain no-repeat; mask: url(../icons/check.svg) center / contain no-repeat; }

/* Stat */
.is-style-pp-stat { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 24px; align-items: center; padding: 24px; border-radius: 12px; background: var(--pp-soft); }
.wp-block-post-content .is-style-pp-stat > * { margin: 0; }
.is-style-pp-stat > :nth-child(1) { grid-column: 1; grid-row: 1; font-weight: 600; font-size: 40px; line-height: 48px; letter-spacing: -1px; color: var(--pp-accent); white-space: nowrap; }
.is-style-pp-stat > :nth-child(2) { grid-column: 1; grid-row: 2; font-family: var(--pp-font-mono); font-size: 11px; line-height: 16px; letter-spacing: .88px; text-transform: uppercase; color: var(--pp-body); }
.is-style-pp-stat > :nth-child(3) { grid-column: 2; grid-row: 1 / span 2; font-size: 14px; line-height: 20px; color: var(--pp-ink-2); }

/* Tip / warning callouts */
:is(.is-style-pp-tip, .is-style-pp-warning) { position: relative; padding: 16px 16px 16px 52px; border-radius: 12px; background: rgba(221, 225, 255, .3); font-size: 14px; line-height: 20px; }
.wp-block-post-content :is(.is-style-pp-tip, .is-style-pp-warning) > * + * { margin-top: 4px; }
:is(.is-style-pp-tip, .is-style-pp-warning)::before { content: ""; position: absolute; left: 18px; top: 18px; width: 20px; height: 20px; background: var(--pp-accent); -webkit-mask: url(../icons/bulb.svg) center / contain no-repeat; mask: url(../icons/bulb.svg) center / contain no-repeat; }
:is(.is-style-pp-tip, .is-style-pp-warning) p { font-size: 14px; line-height: 20px; color: var(--pp-body); }
:is(.is-style-pp-tip, .is-style-pp-warning) > :first-child { font-weight: 500; font-size: 16px; line-height: 25.6px; color: var(--pp-ink); }
.is-style-pp-warning { background: rgba(255, 218, 214, .4); }
.is-style-pp-warning::before { background: #93000a; -webkit-mask-image: url(../icons/alert.svg); mask-image: url(../icons/alert.svg); }
.is-style-pp-warning > :first-child { color: #93000a; }

/* Step flow */
.wp-block-post-content ol.is-style-pp-steps { counter-reset: pp-step; list-style: none; padding: 0 0 0 8px; display: flex; flex-direction: column; gap: 16px; }
.wp-block-post-content ol.is-style-pp-steps li { counter-increment: pp-step; position: relative; margin: 0; padding-left: 48px; min-height: 32px; font-size: 14px; line-height: 20px; color: #333; }
.wp-block-post-content ol.is-style-pp-steps li::before {
	content: counter(pp-step, decimal-leading-zero); position: absolute; left: 0; top: 0;
	display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%;
	background: var(--pp-accent); color: #fff; font-family: var(--pp-font-mono); font-weight: 700; font-size: 13px;
	box-shadow: 0 4px 10px rgba(0, 63, 205, .25);
}
.wp-block-post-content ol.is-style-pp-steps li:last-child::before { background: var(--pp-green); box-shadow: 0 4px 10px rgba(0, 92, 62, .25); }
.wp-block-post-content ol.is-style-pp-steps li:not(:last-child)::after { content: ""; position: absolute; left: 15.5px; top: 36px; bottom: -14px; width: 1px; background: #dde1ff; }
.wp-block-post-content ol.is-style-pp-steps strong { display: inline; font-size: 16px; line-height: 24px; letter-spacing: -.5px; color: var(--pp-ink); font-weight: 600; margin-right: 6px; }
.wp-block-post-content ol.is-style-pp-steps code { display: inline-block; padding: 1px 6px; border-radius: 4px; background: #e7e8ec; font-size: 11px; line-height: 16px; vertical-align: 2px; color: var(--pp-body); }

/* Comparison table */
.wp-block-post-content .wp-block-table { overflow-x: auto; }
.wp-block-post-content table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 20px; }
.wp-block-post-content th, .wp-block-post-content td { padding: 14px 16px; border-bottom: 1px solid #e7e8ec; text-align: left; vertical-align: middle; color: var(--pp-ink); }
.wp-block-post-content thead th { font-weight: 600; }
.wp-block-post-content .wp-block-table.is-style-pp-compare { border-radius: 12px; background: #fff; box-shadow: 0 1px 3px rgba(15, 23, 42, .08), 0 8px 24px rgba(15, 23, 42, .05); }
.wp-block-post-content .is-style-pp-compare table { min-width: 560px; border: 0; }
.wp-block-post-content .is-style-pp-compare thead { border: 0; }
.wp-block-post-content .is-style-pp-compare thead th { padding: 16px 24px; background: var(--pp-accent); color: #fff; border: 0; }
.wp-block-post-content .is-style-pp-compare td { padding: 16px 24px; border: 0; border-bottom: 1px solid #e7e8ec; }
.wp-block-post-content .is-style-pp-compare tr:last-child td { border-bottom: 0; }
.wp-block-post-content .is-style-pp-compare td em { display: inline-flex; align-items: center; gap: 6px; font-style: normal; color: var(--pp-red); }
.wp-block-post-content .is-style-pp-compare td em::before { content: ""; flex: none; width: 14px; height: 14px; background: currentColor; -webkit-mask: url(../icons/x-circle.svg) center / contain no-repeat; mask: url(../icons/x-circle.svg) center / contain no-repeat; }
.wp-block-post-content .is-style-pp-compare td code,
.wp-block-post-content .is-style-pp-compare td mark {
	display: inline-flex; padding: 3px 10px; border-radius: 999px;
	font-family: var(--pp-font-mono); font-weight: 500; font-size: 11px; line-height: 16px;
	background: var(--pp-mint) !important; color: #002113 !important;
}
.wp-block-post-content .is-style-pp-compare td mark { background: #dde1ff !important; color: var(--pp-accent) !important; }
.wp-block-post-content .is-style-pp-compare figcaption { border-radius: 0; }

/* Pull quote */
.wp-block-post-content blockquote,
.wp-block-post-content .wp-block-quote,
.wp-block-post-content .wp-block-pullquote { position: relative; margin-left: 0; margin-right: 0; padding: 24px 24px 24px; border: 0; border-radius: 16px; background: var(--pp-soft); text-align: left; }
.wp-block-post-content blockquote p,
.wp-block-post-content .wp-block-pullquote p { font-size: 20px; line-height: 32px; color: var(--pp-ink); font-style: normal; }
.wp-block-post-content blockquote cite,
.wp-block-post-content .wp-block-pullquote cite { display: flex; align-items: center; gap: 8px; margin-top: 16px; padding-right: 48px; font-family: var(--pp-font-mono); font-style: normal; font-size: 12px; line-height: 16px; text-transform: uppercase; color: var(--pp-body); }
.wp-block-post-content blockquote cite::before,
.wp-block-post-content .wp-block-pullquote cite::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--pp-accent); }
.wp-block-post-content blockquote::after,
.wp-block-post-content .wp-block-pullquote::after { content: ""; position: absolute; right: 20px; bottom: 16px; width: 32px; height: 32px; background: #b9c3ff; -webkit-mask: url(../icons/quote-mark.svg) center / contain no-repeat; mask: url(../icons/quote-mark.svg) center / contain no-repeat; }

/* Checklist cards */
.wp-block-post-content .is-style-pp-checklist { counter-reset: pp-item; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 0; }
.wp-block-post-content .is-style-pp-checklist > .wp-block-column { counter-increment: pp-item; margin: 0; padding: 16px; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px #eceef2; flex-basis: auto !important; }
.is-style-pp-checklist > .wp-block-column::before { content: "Item " counter(pp-item, decimal-leading-zero); display: block; margin-bottom: 8px; font-weight: 700; font-size: 11px; line-height: 16px; letter-spacing: .88px; text-transform: uppercase; color: var(--pp-accent); }
.wp-block-post-content .is-style-pp-checklist > .wp-block-column > * + * { margin-top: 4px; }
.wp-block-post-content .is-style-pp-checklist > .wp-block-column h4, .wp-block-post-content .is-style-pp-checklist > .wp-block-column h3 { font-weight: 500; font-size: 15px; line-height: 24px; letter-spacing: 0; color: var(--pp-ink); }
.wp-block-post-content .is-style-pp-checklist > .wp-block-column p { font-size: 13px; line-height: 20.8px; color: var(--pp-body); }

/* WordPress alignments */
.wp-block-post-content .alignleft { float: left; margin: 4px 24px 16px 0; }
.wp-block-post-content .alignright { float: right; margin: 4px 0 16px 24px; }
.wp-block-post-content .aligncenter { margin-left: auto; margin-right: auto; }
.wp-block-post-content .wp-block-button__link { border-radius: 8px; background: var(--pp-blue); color: #fff; font-weight: 600; font-size: 15px; padding: 12px 22px; }
.wp-block-post-content .wp-block-separator { border: 0; border-top: 1px solid #e7e8ec; }
.wp-block-post-content .has-text-align-center { text-align: center; }

.pp-pages { display: flex; gap: 8px; margin-top: 32px; font-weight: 600; }

/* Comments */

/* ==========================================================================
   Footer (matches www.plazaprotection.com)
   ========================================================================== */

.pp-footer { background: #edf5ff; padding: 80px 0 32px; font-family: var(--pp-font-nav); }
.pp-footer__inner { max-width: 1232px; margin: 0 auto; padding: 0 var(--pp-gutter); }
.pp-footer__top { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-bottom: 32px; border-bottom: 1px solid #d7e8ff; }
.pp-footer__contacts { display: flex; gap: 32px 120px; flex-wrap: wrap; }

.pp-footer__main { display: flex; justify-content: space-between; gap: 48px; padding: 40px 0; }
.pp-footer__about { width: 336px; flex: none; }
.pp-footer__text { margin-top: 24px; font-weight: 500; font-size: 16px; line-height: 24px; color: #374049; }

.pp-footer__cols { display: flex; gap: 72px; }
.pp-fcol__title { margin-bottom: 16px; font-family: "Plus Jakarta Sans", var(--pp-font-nav); font-weight: 700; font-size: 13px; line-height: 20px; letter-spacing: 1px; text-transform: uppercase; color: #0c2459; }

.pp-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 32px; border-top: 1px solid #d7e8ff; }
.pp-footer__copy { font-weight: 600; font-size: 14px; line-height: 20px; color: #45535e; }
.pp-legal { display: flex; align-items: center; gap: 12px; font-weight: 600; font-size: 14px; color: #45535e; }
.pp-legal li { display: flex; align-items: center; gap: 12px; }
.pp-legal li + li::before { content: "•"; color: #45535e; }
.pp-legal a:hover { color: var(--pp-blue); }

/* ==========================================================================
   Block theme glue: header / footer / CTA parts and core blocks
   ========================================================================== */

.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block: 0; }
.pp-header__inner > *, .pp-mega__inner > *, .pp-footer__inner > * { margin: 0; }
.wp-block-site-logo { flex: none; line-height: 0; }
.wp-block-site-logo .pp-logo { display: inline-flex; line-height: normal; }
.wp-block-site-logo .pp-logo .pp-logo__shield { width: 46px; height: 48px; }
.wp-block-site-logo img { height: auto; }

/* Desktop menu bar */
.pp-nav { display: flex; align-items: center; }
.pp-nav__drawer { display: contents; }
.pp-nav__drawer-actions { display: none; }
.pp-burger { display: none; }
a.pp-nav__btn:hover { color: var(--pp-blue); }
.pp-mega { display: none; }
.pp-nav__item.is-open > .pp-mega { display: block; }
.pp-mega__inner > .pp-mega__title + .pp-mega__cards { margin-top: 0; }
.pp-mega__links, .pp-mega__videos { min-width: 0; }
.pp-mcard__icon img, .pp-mlink__icon img { width: 28px; height: 28px; object-fit: contain; }
.pp-mlink__icon img { width: 22px; height: 22px; }

/* Icon links (header phone / Request Quote, footer contacts) */
.pp-ilink { display: inline-flex; align-items: center; gap: 12px; font-family: var(--pp-font-nav); font-weight: 600; font-size: 16px; line-height: 20px; color: #1d2939; }
.pp-ilink__icon { display: grid; place-items: center; flex: none; width: 40px; height: 40px; }
.pp-ilink__icon img, .pp-ilink__icon svg { width: 20px; height: 20px; }
.pp-ilink__body { display: flex; flex-direction: column; gap: 4px; }
.pp-ilink--light .pp-ilink__icon { background: rgba(215, 232, 255, .5); color: var(--pp-blue); }
.pp-ilink--solid .pp-ilink__icon { background: var(--pp-blue); color: #fff; transition: background .2s; }
a.pp-ilink:hover .pp-ilink__text { color: var(--pp-blue); }
a.pp-ilink--solid:hover .pp-ilink__icon { background: var(--pp-accent); }
.pp-ilink--circle { align-items: flex-start; }
.pp-ilink--circle .pp-ilink__icon { width: 44px; height: 44px; border-radius: 50%; background: #d7e8ff; color: var(--pp-blue); }
.pp-ilink__label { font-weight: 700; font-size: 16px; line-height: 20px; color: var(--pp-blue); }
.pp-ilink--circle .pp-ilink__text { font-size: 18px; line-height: 24px; color: #374049; }
.pp-header__quote::before { content: ""; width: 1px; height: 28px; margin-right: 4px; background: #e4e7ec; }

/* Navy CTA banner (template part "Quote banner") */
.pp-cta {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	background: var(--pp-navy) url(../img/cta-lines.svg) center / cover no-repeat;
}
.pp-cta > * { margin: 0; }
.pp-cta > .pp-cta__tag { align-self: center; }
.pp-cta .pp-cta__title { margin-top: 24px; }
.pp-cta .pp-cta__text { margin-top: 16px; }
.pp-cta__buttons { margin-top: 40px; justify-content: center; }
.pp-cta-wrap.pp-cta-wrap--article { max-width: none; margin: 48px 0 0; padding: 0; }
.pp-cta-wrap--article .pp-cta { min-height: 0; padding: 56px 24px; border-radius: 24px; }
.pp-cta-wrap--article .pp-cta__title { font-size: 32px; line-height: 40px; }
.pp-cta-wrap--article .pp-cta__buttons { margin-top: 32px; }

.wp-block-button.is-style-pp-outline-light .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 190px; height: 64px; padding: 0 28px; border: 1px solid #98a2b3; border-radius: 16px; background: transparent;
	font-family: var(--pp-font-nav); font-weight: 600; font-size: 16px; line-height: 20px; color: #edf5ff;
	transition: background .2s, border-color .2s;
}
.wp-block-button.is-style-pp-outline-light .wp-block-button__link:hover { background: var(--pp-blue); border-color: var(--pp-blue); color: #fff; }
.wp-block-button.is-style-pp-mint .wp-block-button__link {
	display: inline-flex; align-items: center; gap: 6px; padding: 14px 24px; border-radius: 999px;
	background: var(--pp-mint); font-weight: 600; font-size: 14px; line-height: 20px; color: var(--pp-ink-2);
	transition: transform .2s, box-shadow .2s;
}
.wp-block-button.is-style-pp-mint .wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0, 0, 0, .2); color: var(--pp-ink-2); }

/* Article sidebar CTA + quick dial parts */
.pp-sidecta > * { margin: 0; }
.pp-sidecta .wp-block-buttons { margin-top: 24px; }
.pp-sidecta .pp-sidecta__title { color: #fff; }
.pp-dial > * { margin: 0; }
.pp-dial__label::before { content: ""; flex: none; width: 14px; height: 14px; background: currentColor; -webkit-mask: url(../icons/call.svg) center / contain no-repeat; mask: url(../icons/call.svg) center / contain no-repeat; }
.pp-dial__phone a { color: inherit; }

/* Spacing on the first block of a container (beats the core "first child has no margin" rule). */
.pp-container > .pp-featured, .pp-container > .pp-hero { margin-top: 40px; }

/* Featured row with a single post */
.pp-featured.is-single { grid-template-columns: minmax(0, 1fr); }

/* Hero without a featured image */
.pp-hero > * { margin: 0; }
.pp-hero:not(:has(.pp-hero__media)) { grid-template-columns: minmax(0, 1fr); }
.pp-hero__text > * { margin: 0; }
.pp-hero__media { margin: 0; }
.pp-hero__media img { height: 100% !important; }

/* Tags under an article */
.pp-tags .wp-block-post-terms__separator { display: none; }

/* 404 search (core search block) */
.pp-404__hero > * { margin: 0; }
.pp-404__search { width: 100%; max-width: 520px; margin: 8px 0; }
.pp-404__search .wp-block-search__inside-wrapper { padding: 6px; border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; }
.pp-404__search .wp-block-search__input { border: 0; padding: 0 12px; font: inherit; font-size: 15px; outline: none; }
.pp-404__search .wp-block-search__button { margin: 0; padding: 10px 20px; border: 0; border-radius: 8px; background: var(--pp-blue); color: #fff; font-weight: 600; font-size: 14px; }
.pp-404__back { justify-content: center; }

/* Footer core blocks */
.pp-footer__top .wp-block-site-logo img { width: 170px; }
.pp-footer__about > * + * { margin-top: 24px; }
.pp-footer__about .pp-footer__text { margin-top: 24px; }
.wp-block-social-links.is-style-pp-squares { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 0; padding: 0; }
.wp-block-social-links.is-style-pp-squares .wp-social-link {
	width: 40px; height: 40px; margin: 0; border-radius: 0; border: 1.25px solid #d7e8ff;
	background: #fff !important; color: #171a1d !important; transition: color .2s, border-color .2s, transform .2s;
}
.wp-block-social-links.is-style-pp-squares .wp-social-link a { display: grid; place-items: center; width: 100%; height: 100%; padding: 0; color: inherit !important; }
.wp-block-social-links.is-style-pp-squares .wp-social-link svg { width: 17px; height: 17px; fill: currentColor; }
.wp-block-social-links.is-style-pp-squares .wp-social-link:hover { color: var(--pp-blue) !important; border-color: var(--pp-blue); transform: none; }
.pp-fcol > * { margin: 0; }
ul.is-style-pp-links { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
ul.is-style-pp-links a { display: inline-block; padding: 8px 0; font-weight: 500; font-size: 16px; line-height: 20px; color: #171a1d; transition: color .2s; }
ul.is-style-pp-links a:hover { color: var(--pp-blue); }
.pp-legal { margin: 0; padding: 0; list-style: none; }

/* Article content glue */
.wp-block-post-content p.is-style-pp-lead { font-size: 18px; line-height: 32px; color: var(--pp-ink); }
.wp-block-post-content .wp-block-columns { gap: 24px; }
.wp-block-post-content .wp-block-buttons { gap: 12px; }
.wp-block-post-content .wp-block-columns.is-style-pp-checklist { display: grid; }
.is-style-pp-checklist > .wp-block-column > * + * { margin-top: 4px; }
.is-style-pp-tldr > .pp-copy { margin: 0 !important; }
.wp-block-post-content .wp-block-quote.is-style-pp-pull { border-left: 0; }

/* Mobile header + drawer (front end only; the editor always shows the desktop bar) */
@media (max-width: 1100px) {
	body:not(.editor-styles-wrapper) .pp-header__inner { height: 72px; gap: 8px; }
	body:not(.editor-styles-wrapper) .pp-header__inner > .wp-block-site-logo { margin-right: auto; }
	body:not(.editor-styles-wrapper) .pp-header__inner > .pp-nav { order: 3; }
	body:not(.editor-styles-wrapper) .pp-header__actions { gap: 8px; }
	body:not(.editor-styles-wrapper) .pp-header__phone { display: none; }
	body:not(.editor-styles-wrapper) .pp-header__quote { gap: 0; height: 40px; padding: 0 10px; background: var(--pp-sky); font-family: var(--pp-font); font-weight: 500; font-size: 14px; color: #171a1d; }
	body:not(.editor-styles-wrapper) .pp-header__quote::before,
	body:not(.editor-styles-wrapper) .pp-header__quote .pp-ilink__icon { display: none; }
	body:not(.editor-styles-wrapper) .pp-burger { display: grid; place-items: center; width: 40px; height: 40px; background: var(--pp-blue); color: #fff; }

	body:not(.editor-styles-wrapper) .pp-nav__drawer {
		display: none; position: fixed; left: 0; right: 0; top: 72px; bottom: 0; z-index: 105;
		padding: 8px 16px 32px; overflow-y: auto; background: #fff; border-top: 1px solid #eef0f4;
	}
	body:not(.editor-styles-wrapper) .pp-nav.is-open .pp-nav__drawer { display: block; }
	body:not(.editor-styles-wrapper) .pp-nav__list { display: block; }
	body:not(.editor-styles-wrapper) .pp-nav__list > li { border-bottom: 1px solid #eef0f4; }
	body:not(.editor-styles-wrapper) .pp-nav__btn { display: flex; width: 100%; justify-content: space-between; height: auto; padding: 16px 4px; font-size: 17px; text-align: left; }
	body:not(.editor-styles-wrapper) .pp-nav__item.is-open > .pp-nav__btn::after { display: none; }
	body:not(.editor-styles-wrapper) .pp-mega { position: static; width: auto; max-width: none; padding: 0 0 12px; transform: none; border-radius: 0; box-shadow: none; animation: none; }
	body:not(.editor-styles-wrapper) .pp-mega__title,
	body:not(.editor-styles-wrapper) .pp-mcard__desc,
	body:not(.editor-styles-wrapper) .pp-mcard__img,
	body:not(.editor-styles-wrapper) .pp-mega__videos,
	body:not(.editor-styles-wrapper) .pp-mlink__desc { display: none; }
	body:not(.editor-styles-wrapper) .pp-mega__cards,
	body:not(.editor-styles-wrapper) .pp-mega__list { display: flex; flex-direction: column; gap: 0; }
	body:not(.editor-styles-wrapper) .pp-mega__res { display: block; }
	body:not(.editor-styles-wrapper) .pp-mcard,
	body:not(.editor-styles-wrapper) .pp-mlink { height: auto; flex-direction: row; align-items: center; gap: 12px; padding: 10px 4px; background: none; border-radius: 0; box-shadow: none; transform: none; }
	body:not(.editor-styles-wrapper) .pp-mcard__icon,
	body:not(.editor-styles-wrapper) .pp-mlink__icon { display: grid; place-items: center; flex: none; width: 40px; height: 40px; margin: 0; padding: 0; border-radius: 10px; background: var(--pp-sky); }
	body:not(.editor-styles-wrapper) .pp-mcard__icon svg,
	body:not(.editor-styles-wrapper) .pp-mcard__icon img { width: 22px; height: 22px; }
	body:not(.editor-styles-wrapper) .pp-mcard__title,
	body:not(.editor-styles-wrapper) .pp-mlink__title { font-size: 15px; font-weight: 500; line-height: 20px; letter-spacing: 0; }
	body:not(.editor-styles-wrapper) .pp-nav__drawer-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 24px; }
}
@media (max-width: 680px) {
	.pp-container > .pp-featured { margin-top: 24px; }
	.pp-container > .pp-hero { margin-top: 16px; }
	.pp-cta-wrap--article .pp-cta__title { font-size: 26px; line-height: 34px; }
	.pp-cta { background-size: auto 100%; }
}
@media (max-width: 380px) {
	body:not(.editor-styles-wrapper) .pp-header__quote { display: none; }
}

/* ==========================================================================
   Design settings (Appearance → Customize → PP Blog Design)
   Every value below reads a CSS custom property; the fallback is the Figma value.
   ========================================================================== */

body { background: var(--pp-page-bg, #fff); }
.wp-block-post-content { font-size: var(--pp-content-size, 16px); }

/* Header & mega menu */
.pp-header { background: var(--pp-header-bg, #fff); }
.pp-nav__btn, .pp-ilink { color: var(--pp-nav-color, #1d2939); }
.pp-nav__btn:hover, .pp-nav__item.is-open > .pp-nav__btn { color: var(--pp-blue); }
.pp-mega { border-radius: var(--pp-mega-radius, 40px); }
.pp-mcard { background: linear-gradient(180deg, color-mix(in srgb, var(--pp-mcard-tint, #1355ff) 0%, transparent) 0%, color-mix(in srgb, var(--pp-mcard-tint, #1355ff) calc(var(--pp-mcard-tint-o, 10) * 1%), transparent) 100%); }
.pp-backdrop { background: rgba(16, 24, 40, calc(var(--pp-backdrop-o, 45) / 100)); }
.pp-topics { background: var(--pp-topics-bg, #fff); }
.pp-topic:hover { background: var(--pp-topic-hover, #edf5ff); }

/* Page spacing */
.pp-container > .pp-featured, .pp-container > .pp-hero { margin-top: var(--pp-top-space, 40px); }
.pp-section { margin-top: var(--pp-section-space, 64px); }
.pp-cta-wrap { margin-top: var(--pp-cta-space, 96px); margin-bottom: var(--pp-cta-space, 96px); }

/* Featured article (big card) */
.pp-featured { grid-template-columns: minmax(0, calc(var(--pp-feat-split, 58) * 1%)) minmax(0, 1fr); gap: var(--pp-feat-gap, 32px); }
.pp-featured.is-single { grid-template-columns: minmax(0, 1fr); }
.pp-feature { min-height: var(--pp-feat-h, 650px); border-radius: var(--pp-feat-radius, 0); background-color: var(--pp-feat-ov, #020617); color: var(--pp-feat-text, #fff); }
.pp-feature::before {
	background: linear-gradient(0deg,
		color-mix(in srgb, var(--pp-feat-ov, #020617) calc(var(--pp-feat-ov-b, 95) * 1%), transparent) 0%,
		color-mix(in srgb, var(--pp-feat-ov, #020617) calc(var(--pp-feat-ov-m, 60) * 1%), transparent) 50%,
		color-mix(in srgb, var(--pp-feat-ov, #020617) calc(var(--pp-feat-ov-t, 0) * 1%), transparent) 100%);
}
.pp-feature__body { padding: var(--pp-feat-pad, 33px); }
.pp-feature__title { font-size: var(--pp-feat-title, 30px); line-height: 1.27; }
.pp-feature .pp-pill--blue { background: var(--pp-feat-badge, #1355ff); }

/* Featured article (side card) – Figma: flat white, picture flush, no border */
.pp-side {
	min-height: 600px; gap: 16px; padding: var(--pp-side-pad, 0);
	background: var(--pp-side-bg, #fff); border: var(--pp-side-bw, 0) solid var(--pp-side-bc, #f1f5f9); border-radius: var(--pp-side-radius, 0);
}
.pp-side:hover { box-shadow: none; }
.pp-side__media { height: var(--pp-side-img-h, 400px); border-radius: var(--pp-side-img-radius, 0); box-shadow: 0 1px 2px rgba(0, 0, 0, .05); }
.pp-side__badge { display: var(--pp-side-badge, none); }
.pp-side__body { display: flex; flex-direction: column; gap: 10px; padding: 0 0 16px; }
.pp-side__meta { margin: 0; font-size: 12px; }
.pp-side__meta > :first-child { font-size: 14px; line-height: 20px; }
.pp-side__title { margin: 0; font-size: var(--pp-side-title, 24px); line-height: 1.333; color: var(--pp-ink-2); }
.pp-side__excerpt { margin: 0; color: var(--pp-side-excerpt, #333); }
.pp-side__foot { display: flex; align-items: center; justify-content: space-between; margin: auto 0 0; padding: 13px 4px 0; border-top: 1px solid #f1f5f9; font-size: 14px; line-height: 20px; color: #666; }
.pp-side__foot time { font-weight: 600; }
.pp-side .pp-meta, .pp-side .pp-readlink { color: var(--pp-card-meta, var(--pp-blue)); }

/* Post cards */
.pp-grid { grid-template-columns: repeat(var(--pp-grid-cols, 3), minmax(0, 1fr)); gap: var(--pp-grid-gap, 32px); }
.pp-card { padding: var(--pp-card-pad, 13px); background: var(--pp-card-bg, #fff); border: var(--pp-card-bw, 1px) solid var(--pp-card-bc, #e6edf4); border-radius: var(--pp-card-radius, 0); }
.pp-card__media { height: var(--pp-card-img-h, 240px); border-radius: var(--pp-card-img-radius, 0); }
.pp-card__title { font-size: var(--pp-card-title, 20px); line-height: 1.4; }
.pp-card .pp-meta, .pp-card .pp-readlink { color: var(--pp-card-meta, var(--pp-blue)); }

/* Article header – Figma 40002834:19769 */
.pp-hero {
	grid-template-columns: minmax(0, 1fr) var(--pp-hero-img-w, 528px); gap: var(--pp-hero-col-gap, 40px);
	padding: var(--pp-hero-pad, 64px); border-radius: var(--pp-hero-radius, 0);
	background: linear-gradient(180deg, var(--pp-hero-from, #f2f3f8) 0%, var(--pp-hero-to, #fff) 100%);
}
.pp-hero::before { top: -128px; right: -128px; background: color-mix(in srgb, var(--pp-hero-glow, #dde1ff) 30%, transparent); }
.pp-hero__text { display: flex; flex-direction: column; align-items: flex-start; gap: var(--pp-hero-gap, 24px); min-width: 0; }
.pp-hero__text > .pp-hero__title { margin: 0; padding-top: 4px; font-size: var(--pp-hero-title, 40px); line-height: 1.2; }
.pp-hero__text > .pp-hero__standfirst { max-width: 672px; }
.pp-hero__text > .pp-hero__meta { align-self: stretch; padding-top: 4px; }
.pp-hero .pp-crumbs { font-weight: 600; }
.pp-hero .pp-crumbs__sep { font-weight: 500; letter-spacing: .48px; }
.pp-hero__media { width: 100%; height: var(--pp-hero-img-h, 400px); aspect-ratio: auto; border-radius: var(--pp-hero-img-radius, 0); }
.pp-hero__meta { align-items: center; gap: 16px; }
.pp-hero__meta > span { gap: 7px; }
.pp-hero__meta .pp-copylink { display: inline-flex; align-items: center; gap: 8px; color: var(--pp-ink-2); font: inherit; cursor: pointer; }
.pp-hero__meta .pp-copylink:hover { color: var(--pp-blue); }
.pp-hero__meta .pp-copylink.is-copied { color: #00a36c; }
.pp-hero__meta .pp-meta__divider { width: 1px; height: 32px; margin-left: auto; background: #e1e2e6; }

/* Quote banner */
.pp-cta {
	min-height: var(--pp-cta-h, 484px); padding: var(--pp-cta-pad, 80px) 24px; border-radius: var(--pp-cta-radius, 40px); color: var(--pp-cta-text, #fff);
	background: linear-gradient(rgba(0, 0, 0, calc(var(--pp-cta-shade, 0) / 100)), rgba(0, 0, 0, calc(var(--pp-cta-shade, 0) / 100))), var(--pp-cta-img, url(../img/cta-lines.svg)) center / cover no-repeat, var(--pp-cta-bg, #0c2459);
}
.pp-cta .pp-cta__title { font-size: var(--pp-cta-title, 40px); line-height: 1.2; color: var(--pp-cta-text, #fff); }
.pp-cta .pp-cta__text { color: var(--pp-cta-text, #fff); }
.pp-cta .pp-cta__tag { background: var(--pp-cta-tag-bg, #e2eaff); color: var(--pp-cta-tag-color, #1355ff); }
.wp-block-button.is-style-pp-outline-light .wp-block-button__link:hover { background: var(--pp-cta-btn-hover, #1355ff); border-color: var(--pp-cta-btn-hover, #1355ff); }

/* Article sidebar CTA */
.pp-sidecta {
	padding: var(--pp-scta-pad, 30px) 24px; border-radius: var(--pp-scta-radius, 24px);
	background: var(--pp-scta-img, none) center / cover no-repeat, linear-gradient(var(--pp-scta-angle, 160deg), var(--pp-scta-from, #2f4fd6) 0%, var(--pp-scta-to, #2944cc) 100%);
}
.wp-block-button.is-style-pp-mint .wp-block-button__link { background: var(--pp-scta-btn, #6ffbbe); color: var(--pp-scta-btn-text, #1a1a1a); }
.wp-block-button.is-style-pp-mint .wp-block-button__link:hover { color: var(--pp-scta-btn-text, #1a1a1a); }

/* Case study card */
.pp-spot { min-height: var(--pp-spot-h, 598px); border-radius: var(--pp-spot-radius, 16px); background: var(--pp-spot-bg, #0a2540); }
.pp-spot__img { opacity: calc(var(--pp-spot-img-o, 60) / 100); }
.pp-spot::before {
	background: linear-gradient(0deg, var(--pp-spot-bg, #0a2540) 0%,
		color-mix(in srgb, var(--pp-spot-bg, #0a2540) calc(var(--pp-spot-ov, 85) * 1%), transparent) 45%,
		transparent 100%);
}
.pp-spot__pill { background: var(--pp-spot-badge, #1355ff); }

/* Article layout & components */
.pp-layout { grid-template-columns: var(--pp-left-w, 318px) minmax(0, 700px) var(--pp-right-w, 222px); gap: var(--pp-layout-gap, 40px); }
.is-style-pp-tldr::before { background: var(--pp-tldr-bar, #1355ff); }
.is-style-pp-stat { background: var(--pp-stat-bg, #f2f3f8); }
.is-style-pp-stat > :nth-child(1) { color: var(--pp-stat-color, #003fcd); }
.is-style-pp-tip { background: var(--pp-tip-bg, #f5f6ff); }
.is-style-pp-warning { background: var(--pp-warn-bg, #fff0ee); }
.wp-block-post-content ol.is-style-pp-steps li:not(:last-child)::before { background: var(--pp-steps-color, #003fcd); }
.wp-block-post-content .is-style-pp-compare thead th { background: var(--pp-table-head, #003fcd); }
.wp-block-post-content :is(blockquote, .wp-block-quote, .wp-block-pullquote) { background: var(--pp-quote-bg, #f2f3f8); }

@media (max-width: 680px) {
	.pp-hero__text > .pp-hero__title { font-size: calc(var(--pp-hero-title, 40px) * .75); }
	.pp-hero__meta .pp-meta__divider { display: none; }
	.pp-hero__media { height: auto; aspect-ratio: 528 / 400; }
	.pp-cta .pp-cta__title { font-size: calc(var(--pp-cta-title, 40px) * .7); }
}

/* Footer */
.pp-footer { padding-top: var(--pp-footer-pad, 80px); background: var(--pp-footer-bg, #edf5ff); }
.pp-footer__text, .pp-footer__copy, .pp-legal, .pp-ilink--circle .pp-ilink__text { color: var(--pp-footer-text, #374049); }
.pp-fcol__title { color: var(--pp-footer-head, #0c2459); }
ul.is-style-pp-links a { color: var(--pp-footer-link, #171a1d); }
.pp-footer__top, .pp-footer__bottom { border-color: var(--pp-footer-line, #d7e8ff); }

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1280px) {
	.pp-layout { grid-template-columns: 260px minmax(0, 1fr) 222px; gap: 32px; }
}
@media (max-width: 1100px) {
	.pp-featured { grid-template-columns: 1fr; }
	.pp-feature { min-height: 560px; }
	.pp-side { min-height: 0; }
	.pp-side__media { height: 320px; }
	.pp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
	.pp-hero { grid-template-columns: 1fr; padding: 40px; }
	.pp-layout { grid-template-columns: 240px minmax(0, 1fr); }
	.pp-layout__right { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
	.pp-layout__right .pp-sticky { position: static; }
	.pp-spot { min-height: 420px; }
	.pp-footer__main { flex-direction: column; }
	.pp-footer__about { width: auto; max-width: 420px; }
	.pp-footer__cols { gap: 48px; flex-wrap: wrap; }
	.pp-mega__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
	.pp-layout { grid-template-columns: minmax(0, 1fr); margin-top: 32px; }
	.pp-layout__left .pp-sticky { position: static; }
	.pp-layout__left .pp-progress { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 50; padding: 10px 14px; box-shadow: 0 8px 28px rgba(15, 23, 42, .18); background: #fff; transform: translateY(140%); transition: transform .3s; }
	.pp-layout__left .pp-progress.is-visible { transform: none; }
	.pp-layout__left .pp-progress .pp-progress__ring { width: 44px; height: 44px; }
	.pp-layout__left .pp-progress .pp-progress__ring svg { width: 44px; height: 44px; }
	.pp-layout__left .pp-progress__live { display: none; }
	.pp-layout__left .pp-dial { display: none; }
	.pp-toc__list { max-height: none; }
	.pp-footer__top { flex-direction: column; align-items: flex-start; }
	.pp-footer__contacts { gap: 24px 48px; }
}
@media (max-width: 680px) {
	:root { --pp-gutter: 16px; }
	.pp-topics__search.is-open { position: absolute; left: 16px; right: 16px; }
	.pp-topics__search.is-open input { width: 100%; }
	.pp-topics__inner { position: relative; }
	.pp-featured { margin-top: 24px; gap: 24px; }
	.pp-feature { min-height: 480px; }
	.pp-feature__body { padding: 20px; }
	.pp-feature__title { font-size: 24px; line-height: 32px; }
	.pp-feature__excerpt { font-size: 15px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.pp-feature__foot { flex-direction: column; align-items: flex-start; }
	.pp-side__media { height: 240px; }
	.pp-side__title { font-size: 20px; line-height: 28px; }
	.pp-grid { grid-template-columns: 1fr; }
	.pp-card__media { height: 220px; }
	.pp-section { margin-top: 40px; }
	.pp-cta-wrap { margin: 64px auto; }
	.pp-cta { min-height: 0; padding: 56px 20px; border-radius: 24px; }
	.pp-cta__title { font-size: 28px; line-height: 36px; }
	.pp-cta__tag { font-size: 12px; padding: 6px 14px; }
	.pp-cta--article .pp-cta__title { font-size: 26px; line-height: 34px; }
	.pp-hero { margin-top: 16px; margin-left: calc(var(--pp-gutter) * -1); margin-right: calc(var(--pp-gutter) * -1); padding: 32px 16px; gap: 24px; }
	.pp-hero__title { font-size: 30px; line-height: 38px; }
	.pp-archive__title, .pp-404__title, .pp-page__title { font-size: 30px; line-height: 38px; }
	.pp-layout__right { grid-template-columns: 1fr; }
	.wp-block-post-content h2 { font-size: 24px; line-height: 32px; flex-direction: column; gap: 4px; }
	.is-style-pp-stat { grid-template-columns: 1fr; row-gap: 4px; }
	.is-style-pp-stat > :nth-child(n) { grid-column: 1; grid-row: auto; }
	.is-style-pp-stat > :nth-child(3) { margin-top: 12px !important; }
	.wp-block-post-content .is-style-pp-checklist { grid-template-columns: 1fr; }
	.is-style-pp-tldr > :is(h2, h3, h4, p):first-child { padding-right: 0; }
	.pp-copy { position: static; margin-top: 16px; }
	.pp-footer { padding-top: 56px; }
	.pp-footer__cols { flex-direction: column; gap: 32px; }
	.pp-footer__bottom { flex-direction: column; align-items: flex-start; }
	.pp-logo__plaza { font-size: 20px; }
	.pp-logo__protection { font-size: 22px; }
	.pp-logo__shield { width: 38px; height: 40px; }
}
