:root {
  --ppms-navy: #0e1d33;
  --ppms-blue: #0b74d1;
  --ppms-blue-dark: #075ca7;
  --ppms-cyan: #19b5d8;
  --ppms-ink: #172033;
  --ppms-muted: #64748b;
  --ppms-soft: #f4f7fb;
  --ppms-border: #dbe4ef;
  --ppms-white: #ffffff;
  --ppms-radius: 20px;
  --ppms-shadow: 0 18px 50px rgba(14, 29, 51, 0.12);
  --ppms-container: 1180px;
}

* { box-sizing: border-box; }
body.ppms-site {
  margin: 0;
  color: var(--ppms-ink);
  background: var(--ppms-white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
body.ppms-menu-open { overflow:hidden; }
a { color: var(--ppms-blue); text-decoration: none; }
a:hover { color: var(--ppms-blue-dark); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline:3px solid #ffbf47; outline-offset:3px; }
img { max-width: 100%; height: auto; }
.ppms-container { width: min(var(--ppms-container), calc(100% - 40px)); margin: 0 auto; }
.ppms-skip-link { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.ppms-skip-link:focus { left: 20px; top: 20px; width:auto; height:auto; background:#fff; padding:10px 14px; z-index:9999; border-radius: 10px; box-shadow:0 8px 24px rgba(14,29,51,.18); }

.ppms-topbar { background: var(--ppms-navy); color: rgba(255,255,255,.82); font-size: 14px; }
.ppms-topbar-inner { display:flex; justify-content:space-between; gap:18px; padding: 9px 0; }
.ppms-topbar a { color:#fff; font-weight:700; }
.ppms-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(219, 228, 239, .85); }
.ppms-main-header { min-height: 84px; display:flex; align-items:center; gap: 28px; }
.ppms-brand a { display:flex; align-items:center; gap:12px; color: var(--ppms-ink); }
.ppms-brand img { max-height: 58px; width: auto; }
.ppms-brand .ppms-site-logo { display:block; width:min(260px, 42vw); max-height:72px; object-fit:contain; }
.ppms-brand-mark { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background: linear-gradient(135deg, var(--ppms-blue), var(--ppms-cyan)); color:#fff; font-weight:900; font-size:24px; }
.ppms-brand-text strong { display:block; font-size:20px; line-height:1.1; }
.ppms-brand-text small { display:block; color: var(--ppms-muted); font-size:12px; margin-top:2px; }
.ppms-nav { margin-left:auto; }
.ppms-menu { display:flex; align-items:center; gap: 6px; list-style:none; padding:0; margin:0; }
.ppms-menu a { display:block; padding:10px 13px; border-radius:999px; color: var(--ppms-ink); font-weight:700; font-size:15px; }
.ppms-menu a:hover { background: var(--ppms-soft); color: var(--ppms-blue); }
.ppms-header-actions { display:flex; align-items:center; gap:10px; }
.ppms-mobile-actions { display:none; }
.ppms-menu-toggle { display:none; width:46px; height:42px; border:1px solid var(--ppms-border); background:#fff; border-radius:12px; }
.ppms-menu-toggle span:not(.screen-reader-text) { display:block; width:20px; height:2px; background:var(--ppms-ink); margin:4px auto; transition:transform .18s ease, opacity .18s ease; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.ppms-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding: 11px 16px; border-radius: 999px; font-weight: 800; border: 1px solid transparent; transition: .18s ease; cursor:pointer; font-size:15px; }
.ppms-btn-primary { color:#fff; background: linear-gradient(135deg, var(--ppms-blue), var(--ppms-blue-dark)); box-shadow: 0 10px 20px rgba(11,116,209,.22); }
.ppms-btn-primary:hover { color:#fff; transform: translateY(-1px); box-shadow: 0 14px 24px rgba(11,116,209,.28); }
.ppms-btn-light { background:#fff; color:var(--ppms-blue); border-color:var(--ppms-border); }
.ppms-btn-light:hover { background: var(--ppms-soft); }
.ppms-btn-outline { color: var(--ppms-navy); border-color: rgba(255,255,255,.36); background: rgba(255,255,255,.1); }
.ppms-footer .ppms-btn-outline { color:#fff; }
.ppms-btn-link { padding:0; border:0; border-radius:0; color:var(--ppms-blue); background:transparent; box-shadow:none; }
.ppms-btn-link:hover { color:var(--ppms-blue-dark); text-decoration:underline; }
.ppms-btn-large { padding: 14px 20px; font-size:16px; }
.ppms-actions-row { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }

.ppms-hero { position:relative; overflow:hidden; background: linear-gradient(180deg, #f7faff 0%, #ffffff 100%); padding: 70px 0 64px; }
.ppms-hero:before { content:""; position:absolute; inset:0; background: linear-gradient(105deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.82) 48%, rgba(236,244,253,.52) 100%); pointer-events:none; }
.ppms-hero-grid { display:grid; grid-template-columns: 1.03fr .97fr; gap: 52px; align-items:center; position:relative; z-index:1; }
.ppms-eyebrow { display:inline-flex; align-items:center; gap:8px; color: var(--ppms-blue); text-transform: uppercase; letter-spacing:.12em; font-weight:900; font-size:12px; }
.ppms-hero h1, .ppms-page-hero h1 { font-size: clamp(40px, 5vw, 68px); line-height:1.02; letter-spacing:-.02em; margin: 13px 0 20px; color:var(--ppms-navy); }
.ppms-hero p { font-size: 20px; color: var(--ppms-muted); max-width: 690px; margin: 0 0 28px; }
.ppms-trust-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.ppms-trust-row span { padding:8px 12px; border:1px solid var(--ppms-border); background:#fff; border-radius:999px; color:var(--ppms-muted); font-weight:700; font-size:13px; }
.ppms-portal-chip { display:inline-flex; align-items:center; gap:12px; margin-top:18px; padding:10px 14px; border:1px solid var(--ppms-border); border-radius:999px; background:#fff; color:var(--ppms-muted); font-weight:800; box-shadow:0 8px 22px rgba(14,29,51,.06); }
.ppms-portal-chip span { color:var(--ppms-navy); }
.ppms-hero-panel { min-height: 470px; position:relative; border-radius: 32px; background: linear-gradient(135deg, var(--ppms-navy), #15396a); box-shadow: var(--ppms-shadow); overflow:hidden; }
.ppms-hero-panel:before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 20% 20%, rgba(25,181,216,.4), transparent 28%), repeating-linear-gradient(110deg, rgba(255,255,255,.05), rgba(255,255,255,.05) 1px, transparent 1px, transparent 18px); }
.ppms-ticket-card { position:absolute; left:34px; right:34px; top:44px; background:#fff; border-radius:22px; padding:24px; box-shadow: 0 24px 50px rgba(0,0,0,.25); }
.ppms-ticket-top { display:flex; justify-content:space-between; color:var(--ppms-muted); font-size:14px; }
.ppms-ticket-top strong { color:#0d9a53; }
.ppms-ticket-lines { margin:22px 0; display:grid; gap:10px; }
.ppms-ticket-lines span { height:10px; border-radius:999px; background:#e7eef8; }
.ppms-ticket-lines span:nth-child(2) { width: 82%; }
.ppms-ticket-lines span:nth-child(3) { width: 68%; }
.ppms-ticket-lines span:nth-child(4) { width: 74%; }
.ppms-ticket-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:14px; }
.ppms-ticket-grid div { background:var(--ppms-soft); border-radius:16px; padding:14px; }
.ppms-ticket-grid small { display:block; color:var(--ppms-muted); font-weight:700; }
.ppms-ticket-grid strong { color:var(--ppms-navy); }
.ppms-print-sheet { position:absolute; background:#fff; border-radius:18px; opacity:.92; box-shadow:0 20px 38px rgba(0,0,0,.18); }
.ppms-sheet-one { width:160px; height:210px; right:42px; bottom:48px; transform:rotate(8deg); }
.ppms-sheet-two { width:140px; height:190px; left:54px; bottom:40px; transform:rotate(-7deg); opacity:.78; }

.ppms-section { padding: 76px 0; }
.ppms-section-heading { max-width: 780px; margin-bottom:34px; }
.ppms-centered { text-align:center; margin-left:auto; margin-right:auto; }
.ppms-section-heading h2, .ppms-split-grid h2, .ppms-quote-inner h2, .ppms-footer-cta h2 { font-size: clamp(30px, 3vw, 48px); line-height:1.08; letter-spacing:-.04em; color:var(--ppms-navy); margin:12px 0 0; }
.ppms-card-grid { display:grid; gap:22px; }
.ppms-card-grid-4 { grid-template-columns: repeat(4,1fr); }
.ppms-card-grid-3 { grid-template-columns: repeat(3,1fr); }
.ppms-service-card, .ppms-info-card, .ppms-post-card { background:#fff; border:1px solid var(--ppms-border); border-radius: var(--ppms-radius); padding:26px; box-shadow: 0 12px 30px rgba(14,29,51,.06); }
.ppms-service-card-large { min-height:220px; }
.ppms-icon-dot { width:42px; height:42px; border-radius:14px; background: linear-gradient(135deg, rgba(11,116,209,.16), rgba(25,181,216,.25)); margin-bottom:18px; position:relative; }
.ppms-icon-dot:after { content:""; position:absolute; width:14px; height:14px; border-radius:50%; background:var(--ppms-blue); left:14px; top:14px; }
.ppms-service-card h3, .ppms-service-card h2 { margin: 0 0 10px; color:var(--ppms-navy); font-size:22px; letter-spacing:-.02em; }
.ppms-service-card p, .ppms-info-card p { color: var(--ppms-muted); margin:0; }
.ppms-product-card { display:flex; flex-direction:column; min-height:100%; }
.ppms-product-card p { flex:1; }
.ppms-product-card a { margin-top:18px; font-weight:900; color:var(--ppms-blue); }
.ppms-product-card a:hover { color:var(--ppms-blue-dark); }
.ppms-product-art { aspect-ratio: 4 / 3; border-radius:14px; border:1px solid #e5edf7; background:#f8fbff; margin:-6px -6px 18px; position:relative; overflow:hidden; }
.ppms-product-art img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .22s ease; }
.ppms-product-card:hover .ppms-product-art img { transform:scale(1.035); }

.ppms-split-section { background: var(--ppms-soft); }
.ppms-split-grid { display:grid; grid-template-columns: .9fr 1.1fr; align-items:center; gap:54px; }
.ppms-split-grid p { color:var(--ppms-muted); font-size:18px; }
.ppms-check-list { list-style:none; padding:0; margin:22px 0; display:grid; gap:12px; }
.ppms-check-list li { position:relative; padding-left:30px; font-weight:700; color: var(--ppms-ink); }
.ppms-check-list li:before { content:"✓"; position:absolute; left:0; top:0; color:#0d9a53; font-weight:900; }
.ppms-portal-preview { min-height:360px; background:#fff; border:1px solid var(--ppms-border); border-radius:28px; padding:24px; box-shadow:var(--ppms-shadow); }
.ppms-preview-bar { height:46px; border-radius:18px; background: linear-gradient(135deg, var(--ppms-navy), #214b80); margin-bottom:22px; }
.ppms-preview-search { height:54px; border-radius:16px; background:var(--ppms-soft); margin-bottom:22px; }
.ppms-preview-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.ppms-preview-grid span { height:104px; border-radius:18px; background: linear-gradient(180deg, #eef5ff, #fff); border:1px solid var(--ppms-border); }

.ppms-process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; counter-reset: step; }
.ppms-process-grid div { padding:30px; border:1px solid var(--ppms-border); border-radius: var(--ppms-radius); background:#fff; }
.ppms-process-grid span { display:inline-flex; width:44px; height:44px; border-radius:14px; align-items:center; justify-content:center; background: var(--ppms-navy); color:#fff; font-weight:900; }
.ppms-process-grid h3 { color:var(--ppms-navy); margin:18px 0 8px; font-size:22px; }
.ppms-process-grid p { color:var(--ppms-muted); margin:0; }

.ppms-quote-band { background: linear-gradient(135deg, var(--ppms-blue), var(--ppms-navy)); color:#fff; }
.ppms-quote-inner { display:flex; justify-content:space-between; gap:30px; align-items:center; }
.ppms-quote-inner .ppms-eyebrow, .ppms-quote-inner h2 { color:#fff; }

.ppms-page-hero { padding: 74px 0; background: linear-gradient(180deg, #f8fbff, #fff); border-bottom:1px solid var(--ppms-border); }
.ppms-page-hero p { max-width:760px; font-size:19px; color: var(--ppms-muted); margin:0; }
.ppms-page-content { max-width: 860px; font-size:18px; }
.ppms-page-content h2, .ppms-page-content h3 { color:var(--ppms-navy); letter-spacing:-.02em; }
.ppms-featured-image { margin-bottom:28px; border-radius:22px; overflow:hidden; }
.ppms-content-list { display:grid; gap:20px; }
.ppms-blog-hero { background:linear-gradient(180deg,#f7faff 0%,#fff 100%); overflow:hidden; }
.ppms-blog-hero-grid { display:grid; grid-template-columns:1fr .86fr; gap:48px; align-items:center; }
.ppms-blog-hero p, .ppms-archive-description, .ppms-single-meta { color:var(--ppms-muted); font-size:19px; max-width:720px; margin:0 0 24px; }
.ppms-blog-hero-art { border-radius:28px; overflow:hidden; box-shadow:var(--ppms-shadow); border:1px solid var(--ppms-border); background:#fff; }
.ppms-blog-hero-art img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.ppms-blog-section, .ppms-single-section { background:linear-gradient(180deg,#fff 0%,#f8fbff 100%); }
.ppms-blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
.ppms-blog-grid-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ppms-blog-card { background:#fff; border:1px solid var(--ppms-border); border-radius:24px; overflow:hidden; box-shadow:0 14px 34px rgba(14,29,51,.08); display:flex; flex-direction:column; min-height:100%; }
.ppms-blog-card-image { display:block; background:#f2f6fb; overflow:hidden; }
.ppms-blog-card-image img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; transition:transform .24s ease; }
.ppms-blog-card:hover .ppms-blog-card-image img { transform:scale(1.035); }
.ppms-blog-card-body { padding:24px; display:flex; flex-direction:column; gap:10px; flex:1; }
.ppms-blog-card h2 { font-size:clamp(22px,2vw,30px); line-height:1.12; letter-spacing:-.02em; margin:0; color:var(--ppms-navy); }
.ppms-blog-card h2 a { color:inherit; }
.ppms-blog-card h2 a:hover { color:var(--ppms-blue); }
.ppms-blog-card-body p { margin:0; color:var(--ppms-muted); }
.ppms-blog-readmore { margin-top:auto; font-weight:900; color:var(--ppms-blue); }
.ppms-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 18px; color:var(--ppms-muted); font-size:14px; font-weight:900; }
.ppms-breadcrumbs a { color:var(--ppms-blue); }
.ppms-breadcrumbs span:last-child { max-width:620px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ppms-post-card { display:grid; grid-template-columns: 260px 1fr; gap:24px; align-items:start; }
.ppms-post-thumb img { border-radius:16px; display:block; }
.ppms-post-card h2 { margin-top:0; }
.ppms-post-meta { color:var(--ppms-muted); font-size:14px; font-weight:800; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.ppms-post-meta span:before { content:"/"; margin-right:8px; color:#9aa8ba; }
.ppms-search-form { display:flex; gap:12px; margin:0 0 28px; padding:16px; border:1px solid var(--ppms-border); border-radius:18px; background:#fff; box-shadow:0 10px 26px rgba(14,29,51,.06); }
.ppms-search-form input { flex:1; min-width:0; border:1px solid var(--ppms-border); border-radius:999px; padding:12px 16px; font-size:16px; }
.ppms-pagination { margin-top:34px; }
.ppms-pagination .nav-links { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.ppms-pagination a, .ppms-pagination span { display:inline-flex; min-width:42px; min-height:42px; align-items:center; justify-content:center; padding:8px 12px; border:1px solid var(--ppms-border); border-radius:999px; background:#fff; font-weight:900; }
.ppms-pagination .current { background:var(--ppms-blue); border-color:var(--ppms-blue); color:#fff; }
.ppms-empty-state { padding:34px; border:1px solid var(--ppms-border); border-radius:24px; background:#fff; box-shadow:0 12px 30px rgba(14,29,51,.06); }
.ppms-empty-state h2 { margin:0 0 8px; color:var(--ppms-navy); }
.ppms-single-layout { display:grid; grid-template-columns:minmax(220px, 280px) minmax(0, 860px); gap:34px; align-items:start; }
.ppms-single-layout-no-toc { display:block; max-width:860px; }
.ppms-toc { position:sticky; top:108px; max-height:calc(100vh - 132px); overflow:auto; }
.ppms-toc-inner { background:#fff; border:1px solid var(--ppms-border); border-radius:24px; padding:22px; box-shadow:0 14px 34px rgba(14,29,51,.08); }
.ppms-toc h2 { margin:0 0 14px; color:var(--ppms-navy); font-size:20px; line-height:1.15; }
.ppms-toc ol { list-style:none; margin:0; padding:0; display:grid; gap:4px; }
.ppms-toc li { margin:0; }
.ppms-toc a { display:block; padding:10px 12px; border-left:3px solid transparent; border-radius:0 12px 12px 0; color:#52647d; font-size:14px; line-height:1.35; font-weight:900; }
.ppms-toc a:hover, .ppms-toc a.is-active { color:var(--ppms-navy); background:#f0f6ff; border-left-color:var(--ppms-blue); }
.ppms-single-content { background:#fff; border:1px solid var(--ppms-border); border-radius:28px; padding:clamp(24px,4vw,48px); box-shadow:var(--ppms-shadow); }
.ppms-single-content h2, .ppms-single-content h3 { scroll-margin-top:120px; }
.ppms-single-content > p:first-of-type { font-size:20px; color:#3d4b5f; }
.ppms-single-content a { font-weight:800; }
.ppms-single-content blockquote { margin:28px 0; padding:18px 22px; border-left:5px solid var(--ppms-blue); background:#f8fbff; border-radius:0 16px 16px 0; color:var(--ppms-navy); font-weight:700; }
.ppms-single-footer { margin-top:36px; padding-top:24px; border-top:1px solid var(--ppms-border); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.ppms-post-nav { display:flex; flex-wrap:wrap; gap:10px; }
.ppms-post-nav a { display:inline-flex; align-items:center; min-height:42px; padding:8px 14px; border:1px solid var(--ppms-border); border-radius:999px; background:#fff; color:var(--ppms-blue); font-weight:900; }
.ppms-share-box { margin-top:28px; padding:22px; border:1px solid var(--ppms-border); border-radius:22px; background:linear-gradient(180deg,#fff,#f8fbff); }
.ppms-share-box h2 { margin:0 0 14px; font-size:22px; color:var(--ppms-navy); }
.ppms-share-links { display:flex; flex-wrap:wrap; gap:10px; }
.ppms-share-links a { display:inline-flex; align-items:center; min-height:40px; padding:8px 14px; border-radius:999px; border:1px solid var(--ppms-border); background:#fff; color:var(--ppms-blue); font-weight:900; }
.ppms-share-links a:hover { background:#f0f6ff; border-color:rgba(11,116,209,.32); }
.ppms-related-posts-section { background:#fff; padding-top:0; }

.ppms-contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:24px; align-items:start; }
.ppms-form-shell { max-width:860px; }
.ppms-quote-form { display:grid; gap:18px; }
.ppms-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.ppms-quote-form label { display:grid; gap:7px; font-weight:800; color:var(--ppms-navy); }
.ppms-quote-form input, .ppms-quote-form textarea { width:100%; border:1px solid var(--ppms-border); border-radius:14px; padding:13px 14px; font:inherit; color:var(--ppms-ink); background:#fff; }
.ppms-quote-form input:focus, .ppms-quote-form textarea:focus { outline:3px solid rgba(11,116,209,.18); border-color:var(--ppms-blue); }
.ppms-hp-wrap { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.ppms-alert { padding:14px 16px; border-radius:14px; margin-bottom:16px; font-weight:800; }
.ppms-alert-success { background:#e8f8ef; color:#0d6b3a; border:1px solid #b8e7cb; }
.ppms-alert-error { background:#fff0f0; color:#9f1d1d; border:1px solid #f2c3c3; }
.ppms-small-note { color:var(--ppms-muted); font-size:14px; }

.ppms-footer { background: var(--ppms-navy); color: rgba(255,255,255,.76); }
.ppms-footer a { color:#fff; }
.ppms-footer-cta { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:58px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.ppms-footer-cta h2 { color:#fff; margin-bottom:10px; }
.ppms-footer-cta p { margin:0; }
.ppms-footer-grid { display:grid; grid-template-columns:minmax(260px,1.6fr) repeat(4,minmax(120px,1fr)); gap:clamp(20px,2.2vw,34px); padding:44px 0; align-items:start; }
.ppms-footer h3 { color:#fff; margin:0 0 12px; }
.ppms-footer-menu { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.ppms-footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding:18px 0; font-size:14px; }
.ppms-policy-links { display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin-top:8px; }
.ppms-policy-links a, .ppms-policy-links button { color:#fff; font:inherit; font-weight:800; text-decoration:underline; text-underline-offset:3px; background:transparent; border:0; padding:0; cursor:pointer; }
.ppms-policy-links a:hover, .ppms-policy-links button:hover { color:#d7ecff; }

@media (max-width: 1024px) {
  .ppms-hero-grid, .ppms-split-grid, .ppms-contact-grid { grid-template-columns:1fr; }
  .ppms-card-grid-4, .ppms-card-grid-3, .ppms-process-grid { grid-template-columns:repeat(2,1fr); }
  .ppms-blog-hero-grid { grid-template-columns:1fr; }
  .ppms-blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ppms-single-layout { grid-template-columns:1fr; }
  .ppms-toc { position:relative; top:auto; max-height:none; overflow:visible; }
  .ppms-footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 780px) {
  .ppms-topbar-inner { flex-direction:column; gap:4px; }
  .ppms-main-header { min-height:72px; position:relative; }
  .ppms-menu-toggle { display:block; margin-left:auto; }
  .ppms-nav { display:none; }
  .ppms-nav.is-open { display:block; }
  body.ppms-menu-open .ppms-header { position:fixed; inset:0; z-index:4000; overflow:auto; background:#fff; border-bottom:0; backdrop-filter:none; }
  body.ppms-menu-open .ppms-topbar { display:none; }
  body.ppms-menu-open .ppms-main-header { min-height:100vh; display:grid; grid-template-columns:1fr auto; align-content:start; gap:18px; padding-top:22px; padding-bottom:28px; }
  body.ppms-menu-open .ppms-nav { grid-column:1 / -1; width:100%; margin:0; padding-top:18px; }
  body.ppms-menu-open .ppms-nav:before { content:"Menu"; display:block; color:var(--ppms-navy); font-size:30px; font-weight:900; letter-spacing:-.02em; margin:0 0 18px; }
  .ppms-menu { flex-direction:column; align-items:stretch; }
  .ppms-menu a { border-radius:16px; padding:18px 16px; font-size:22px; border:1px solid var(--ppms-border); }
  .ppms-header-actions { display:none; }
  .ppms-mobile-actions { display:grid; gap:12px; margin-top:18px; padding-top:18px; border-top:1px solid var(--ppms-border); }
  .ppms-mobile-actions .ppms-btn { width:100%; }
  .ppms-menu-toggle { position:relative; z-index:1200; }
  .ppms-menu-toggle[aria-expanded="true"] span:not(.screen-reader-text):nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .ppms-menu-toggle[aria-expanded="true"] span:not(.screen-reader-text):nth-child(2) { opacity:0; }
  .ppms-menu-toggle[aria-expanded="true"] span:not(.screen-reader-text):nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
  .ppms-hero { padding:48px 0; }
  .ppms-hero-panel { min-height:390px; }
  .ppms-ticket-card { left:20px; right:20px; top:24px; }
  .ppms-card-grid-4, .ppms-card-grid-3, .ppms-process-grid, .ppms-form-grid, .ppms-footer-grid { grid-template-columns:1fr; }
  .ppms-blog-grid, .ppms-blog-grid-compact { grid-template-columns:1fr; }
  .ppms-quote-inner, .ppms-footer-cta { flex-direction:column; align-items:flex-start; }
  .ppms-post-card { grid-template-columns:1fr; }
  .ppms-search-form, .ppms-single-footer { flex-direction:column; align-items:stretch; }
  .ppms-single-layout { gap:22px; }
  .ppms-toc-inner { border-radius:18px; padding:18px; }
  .ppms-breadcrumbs span:last-child { white-space:normal; }
}
@media (max-width: 520px) {
  .ppms-container { width: min(var(--ppms-container), calc(100% - 28px)); }
  .ppms-hero h1, .ppms-page-hero h1 { font-size:38px; }
  .ppms-hero p { font-size:17px; }
  .ppms-ticket-grid { grid-template-columns:1fr; }
  .ppms-actions-row .ppms-btn { width:100%; }
}

/* v1.1 public site refinements */
.ppms-hero-business { background: radial-gradient(circle at 82% 16%, rgba(25,181,216,.26), transparent 34%), radial-gradient(circle at 10% 10%, rgba(11,116,209,.12), transparent 28%), linear-gradient(180deg, #f8fbff 0%, #ffffff 100%); }
.ppms-hero-studio { min-height: 500px; position:relative; border-radius: 34px; background: linear-gradient(145deg, #0e1d33, #102c55 62%, #0b74d1); box-shadow: var(--ppms-shadow); overflow:hidden; }
.ppms-hero-studio:before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 20% 20%, rgba(255,255,255,.18), transparent 26%), repeating-linear-gradient(115deg, rgba(255,255,255,.055), rgba(255,255,255,.055) 1px, transparent 1px, transparent 18px); }
.ppms-studio-glow { position:absolute; width:260px; height:260px; right:-80px; top:-80px; border-radius:999px; background:rgba(25,181,216,.34); filter:blur(2px); }
.ppms-print-stack { position:absolute; background:#fff; border-radius:22px; padding:20px; box-shadow: 0 24px 50px rgba(0,0,0,.26); color:var(--ppms-navy); }
.ppms-print-stack span { display:block; width:54px; height:12px; border-radius:999px; background:linear-gradient(135deg, var(--ppms-blue), var(--ppms-cyan)); margin-bottom:18px; }
.ppms-print-stack strong { display:block; font-size:18px; letter-spacing:-.02em; margin-bottom:16px; }
.ppms-print-stack em { display:block; height:9px; border-radius:999px; background:#e7eef8; margin-top:9px; }
.ppms-stack-a { width:235px; min-height:260px; left:34px; top:42px; transform:rotate(-4deg); }
.ppms-stack-a em:nth-of-type(2) { width:72%; }
.ppms-stack-a em:nth-of-type(3) { width:84%; }
.ppms-stack-b { width:280px; min-height:170px; right:34px; top:92px; transform:rotate(4deg); }
.ppms-order-widget { position:absolute; left:70px; right:54px; bottom:58px; background:rgba(255,255,255,.96); border:1px solid rgba(255,255,255,.6); border-radius:24px; padding:22px; box-shadow: 0 28px 56px rgba(0,0,0,.3); }
.ppms-widget-top { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-bottom:18px; }
.ppms-widget-top span { color:var(--ppms-muted); font-weight:800; }
.ppms-widget-top b { background:#e8f8ef; color:#0d6b3a; padding:6px 10px; border-radius:999px; font-size:12px; }
.ppms-widget-row { display:flex; justify-content:space-between; padding:10px 0; border-top:1px solid var(--ppms-border); }
.ppms-widget-row small { color:var(--ppms-muted); font-weight:800; }
.ppms-widget-row strong { color:var(--ppms-navy); }
.ppms-widget-progress { height:10px; border-radius:999px; background:#e7eef8; overflow:hidden; margin-top:14px; }
.ppms-widget-progress i { display:block; height:100%; width:64%; border-radius:inherit; background:linear-gradient(135deg, var(--ppms-blue), var(--ppms-cyan)); }
.ppms-color-strip { position:absolute; right:46px; bottom:24px; display:flex; gap:8px; }
.ppms-color-strip span { width:28px; height:28px; border-radius:10px; background:#fff; opacity:.9; }
.ppms-color-strip span:nth-child(1) { background:#19b5d8; }
.ppms-color-strip span:nth-child(2) { background:#0b74d1; }
.ppms-color-strip span:nth-child(3) { background:#ffbf47; }
.ppms-color-strip span:nth-child(4) { background:#ffffff; }

.ppms-mid-cta { padding: 34px 0; background:#fff; }
.ppms-mid-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px; border:1px solid var(--ppms-border); border-radius:28px; background:linear-gradient(180deg, #fff, #f8fbff); box-shadow: 0 12px 32px rgba(14,29,51,.08); }
.ppms-mid-cta h2 { color:var(--ppms-navy); font-size:clamp(24px, 2.3vw, 34px); line-height:1.12; letter-spacing:-.035em; margin:8px 0 0; max-width:760px; }
.ppms-shop-cta .ppms-mid-cta-inner { background:linear-gradient(135deg,#fff 0%,#f8fbff 52%,#edf8fb 100%); }
.ppms-category-strip-section { padding-top:48px; background:#fff; }
.ppms-category-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.ppms-category-strip a { display:flex; align-items:center; justify-content:space-between; min-height:70px; padding:18px 20px; border:1px solid var(--ppms-border); border-radius:18px; color:var(--ppms-navy); background:#fff; font-weight:900; box-shadow:0 10px 24px rgba(14,29,51,.055); }
.ppms-category-strip a:after { content:"›"; color:var(--ppms-blue); font-size:24px; line-height:1; }
.ppms-category-strip a:hover { transform:translateY(-1px); border-color:rgba(11,116,209,.32); color:var(--ppms-blue); }

.ppms-business-section { background: linear-gradient(180deg, var(--ppms-soft), #fff); }
.ppms-dashboard-preview { position:relative; }
.ppms-dashboard-window { background:#fff; border:1px solid var(--ppms-border); border-radius:30px; padding:22px; box-shadow: var(--ppms-shadow); overflow:hidden; }
.ppms-dashboard-window:before { content:""; display:block; position:absolute; inset:auto 16px 16px auto; width:190px; height:190px; border-radius:999px; background:rgba(25,181,216,.09); pointer-events:none; }
.ppms-dashboard-top { height:54px; border-radius:18px; background:linear-gradient(135deg, var(--ppms-navy), #214b80); color:#fff; display:flex; align-items:center; gap:8px; padding:0 18px; margin-bottom:18px; }
.ppms-dashboard-top span { width:10px; height:10px; border-radius:999px; background:rgba(255,255,255,.55); }
.ppms-dashboard-top strong { margin-left:10px; font-size:14px; }
.ppms-dashboard-stats { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-bottom:16px; }
.ppms-dashboard-stats div { background:var(--ppms-soft); border:1px solid var(--ppms-border); border-radius:18px; padding:14px; }
.ppms-dashboard-stats small { display:block; color:var(--ppms-muted); font-weight:800; }
.ppms-dashboard-stats b { display:block; color:var(--ppms-navy); font-size:22px; margin-top:3px; }
.ppms-dashboard-table { display:grid; gap:10px; }
.ppms-dashboard-table div { display:grid; grid-template-columns:1.15fr .8fr auto; align-items:center; gap:12px; padding:13px 14px; border:1px solid var(--ppms-border); border-radius:16px; background:#fff; }
.ppms-dashboard-table span { font-weight:900; color:var(--ppms-navy); }
.ppms-dashboard-table em { font-style:normal; color:var(--ppms-muted); font-weight:700; }
.ppms-dashboard-table b { font-size:12px; color:#0d6b3a; background:#e8f8ef; border-radius:999px; padding:6px 9px; }
.ppms-dashboard-products { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.ppms-dashboard-products span { padding:10px 12px; border-radius:999px; border:1px solid var(--ppms-border); color:var(--ppms-muted); font-weight:800; background:#fff; }

.ppms-access-shell { display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:start; }
.ppms-access-card, .ppms-access-side { background:#fff; border:1px solid var(--ppms-border); border-radius:28px; padding:30px; box-shadow: 0 12px 32px rgba(14,29,51,.07); }
.ppms-access-card h2 { color:var(--ppms-navy); font-size:clamp(28px, 3vw, 42px); line-height:1.08; letter-spacing:-.04em; margin:10px 0 10px; }
.ppms-access-card p, .ppms-access-side p { color:var(--ppms-muted); }
.ppms-access-side { background:linear-gradient(180deg, #f8fbff, #fff); }
.ppms-access-side h3 { color:var(--ppms-navy); font-size:24px; margin:0 0 10px; }
.ppms-access-form { display:grid; gap:16px; margin-top:22px; }
.ppms-access-form label { display:grid; gap:8px; color:var(--ppms-navy); font-weight:900; }
.ppms-access-form input { width:100%; border:1px solid var(--ppms-border); border-radius:16px; padding:14px 15px; font:inherit; color:var(--ppms-ink); background:#fff; }
.ppms-access-form input:focus { outline:3px solid rgba(11,116,209,.18); border-color:var(--ppms-blue); }
.ppms-access-form .ppms-check-inline { display:flex; grid-template-columns:none; align-items:center; gap:9px; font-weight:800; color:var(--ppms-muted); }
.ppms-access-form .ppms-check-inline input { width:auto; }
.ppms-lookup-help { margin-top:28px; padding-top:24px; border-top:1px solid var(--ppms-border); }
.ppms-lookup-help h3 { margin-top:0; }
.ppms-alert code { display:inline-block; margin-top:4px; padding:4px 8px; border-radius:8px; background:rgba(255,255,255,.72); color:var(--ppms-navy); font-weight:900; }
.ppms-legal-content h2 { margin-top:34px; }
.ppms-legal-content a { text-decoration:underline; text-underline-offset:3px; font-weight:800; }
.ppms-cookie-banner { position:fixed; left:20px; right:20px; bottom:20px; z-index:2000; display:grid; grid-template-columns:1fr auto; gap:22px; align-items:center; max-width:980px; margin:0 auto; padding:20px; border:1px solid var(--ppms-border); border-radius:18px; background:#fff; box-shadow:0 20px 56px rgba(14,29,51,.22); }
.ppms-cookie-banner[hidden] { display:none; }
.ppms-cookie-banner h2 { margin:0 0 6px; color:var(--ppms-navy); font-size:20px; line-height:1.2; }
.ppms-cookie-banner p { margin:0; color:var(--ppms-muted); font-size:15px; }
.ppms-cookie-banner p + p { margin-top:8px; }
.ppms-cookie-banner a { text-decoration:underline; font-weight:800; }
.ppms-cookie-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }

@media (max-width: 1024px) {
  .ppms-hero-studio { min-height:430px; }
  .ppms-access-shell { grid-template-columns:1fr; }
  .ppms-category-strip { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 780px) {
  .ppms-mid-cta-inner { flex-direction:column; align-items:flex-start; }
  .ppms-dashboard-stats { grid-template-columns:1fr; }
  .ppms-dashboard-table div { grid-template-columns:1fr; align-items:start; }
  .ppms-stack-a { width:210px; left:22px; }
  .ppms-stack-b { width:240px; right:18px; }
  .ppms-order-widget { left:24px; right:24px; bottom:46px; }
  .ppms-cookie-banner { grid-template-columns:1fr; left:14px; right:14px; bottom:14px; }
  .ppms-cookie-actions { justify-content:flex-start; }
}
@media (max-width: 520px) {
  .ppms-hero-studio { min-height:470px; }
  .ppms-stack-a { width:190px; top:26px; }
  .ppms-stack-b { width:210px; top:112px; }
  .ppms-order-widget { padding:18px; }
  .ppms-portal-chip { align-items:flex-start; border-radius:18px; flex-direction:column; }
  .ppms-category-strip { grid-template-columns:1fr; }
}

/* v1.1.6 Premier mockup homepage */
.ppms-hero-storefront { background:#fff; border-bottom:1px solid var(--ppms-border); }
.ppms-hero-copy { position:relative; z-index:2; }
.ppms-hero-mockup { position:relative; z-index:1; border-radius:22px; overflow:hidden; box-shadow:0 22px 58px rgba(14,29,51,.16); border:1px solid rgba(219,228,239,.9); background:#fff; }
.ppms-hero-mockup img { display:block; width:100%; height:auto; }
.ppms-services-preview { background:linear-gradient(180deg, #fff 0%, #f7faff 100%); }
.ppms-product-card { padding:18px; border-radius:18px; }
.ppms-product-card h3 { font-size:20px; }
.ppms-showcase-section { background:#fff; }
.ppms-showcase-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:46px; align-items:center; }
.ppms-showcase-copy p { color:var(--ppms-muted); font-size:18px; margin:14px 0 0; }
.ppms-showcase-copy h2 { color:var(--ppms-navy); font-size:clamp(30px, 3vw, 48px); line-height:1.08; letter-spacing:-.02em; margin:12px 0 0; }
.ppms-showcase-image { border-radius:22px; overflow:hidden; box-shadow:0 24px 56px rgba(14,29,51,.14); border:1px solid var(--ppms-border); background:#f8fbff; }
.ppms-showcase-image img { display:block; width:100%; height:100%; object-fit:cover; }
.ppms-shop-cta .ppms-mid-cta-inner { background:linear-gradient(135deg,#08245a 0%,#0b55a0 58%,#f8fbff 58%,#ffffff 100%); border-color:rgba(11,116,209,.18); }
.ppms-shop-cta .ppms-mid-cta-inner .ppms-eyebrow,
.ppms-shop-cta .ppms-mid-cta-inner h2 { color:#fff; }
.ppms-shop-cta .ppms-mid-cta-inner .ppms-btn-light { border-color:rgba(255,255,255,.44); }
.ppms-portal-collage { position:relative; min-height:520px; }
.ppms-portal-collage img { display:block; border-radius:18px; border:1px solid var(--ppms-border); box-shadow:0 22px 54px rgba(14,29,51,.16); background:#fff; }
.ppms-portal-collage-main { width:86%; margin-left:auto; }
.ppms-portal-collage-card { position:absolute; width:30%; left:0; bottom:8px; }
.ppms-poster-strip { margin-top:38px; display:grid; grid-template-columns:280px 1fr; gap:28px; align-items:center; padding:24px; border:1px solid var(--ppms-border); border-radius:24px; background:linear-gradient(135deg,#fff,#f8fbff); box-shadow:0 14px 36px rgba(14,29,51,.08); }
.ppms-poster-strip img { width:100%; border-radius:16px; box-shadow:0 16px 38px rgba(14,29,51,.12); }
.ppms-poster-strip h3 { color:var(--ppms-navy); font-size:clamp(24px, 2.4vw, 36px); line-height:1.1; letter-spacing:-.02em; margin:10px 0; }
.ppms-poster-strip p { color:var(--ppms-muted); margin:0; font-size:18px; }

.ppms-services-hero { overflow:hidden; }
.ppms-services-hero-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr); gap:34px; align-items:center; }
.ppms-services-hero-art { border:1px solid var(--ppms-border); border-radius:24px; overflow:hidden; box-shadow:var(--ppms-shadow); background:#fff; }
.ppms-services-hero-art img { display:block; width:100%; height:100%; min-height:320px; object-fit:cover; object-position:center; }
.ppms-service-image-grid { align-items:stretch; }
.ppms-service-image-card { overflow:hidden; }
.ppms-service-image-card .ppms-product-art { margin:-26px -26px 20px; border-radius:0; border:0; height:210px; background:#f8fafc; }
.ppms-service-image-card .ppms-product-art img { width:100%; height:100%; object-fit:cover; }
.ppms-service-image-card h2 { font-size:24px; }
.ppms-service-image-card a { color:var(--ppms-blue); font-weight:900; text-decoration:none; }
.ppms-services-design-section { background:linear-gradient(180deg,#fff 0%,#f8fbff 100%); }

@media (max-width: 1024px) {
  .ppms-services-hero-grid { grid-template-columns:1fr; }
  .ppms-showcase-grid { grid-template-columns:1fr; }
  .ppms-portal-collage { min-height:auto; display:grid; grid-template-columns:1fr 180px; gap:16px; align-items:end; }
  .ppms-portal-collage-main { width:100%; }
  .ppms-portal-collage-card { position:static; width:100%; }
}
@media (max-width: 780px) {
  .ppms-shop-cta .ppms-mid-cta-inner { background:linear-gradient(180deg,#08245a 0%,#0b55a0 56%,#ffffff 56%,#ffffff 100%); }
  .ppms-portal-collage { grid-template-columns:1fr; }
  .ppms-portal-collage-card { max-height:360px; object-fit:cover; object-position:top center; }
  .ppms-poster-strip { grid-template-columns:1fr; }
  .ppms-poster-strip img { max-height:440px; object-fit:cover; object-position:top center; }
}

/* v1.2.4 WooCommerce public product polish */
.woocommerce div.product {
  max-width:1180px;
  margin:0 auto;
  padding:70px 22px;
  display:grid;
  grid-template-columns:minmax(320px, .95fr) minmax(320px, 1.05fr);
  gap:46px;
  align-items:start;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  float:none;
  width:auto;
  margin:0;
}
.woocommerce div.product div.images img {
  border-radius:22px;
  border:1px solid var(--ppms-border);
  box-shadow:0 24px 56px rgba(14,29,51,.14);
  background:#fff;
}
.woocommerce div.product div.summary {
  background:#fff;
  border:1px solid var(--ppms-border);
  border-radius:22px;
  padding:30px;
  box-shadow:0 16px 40px rgba(14,29,51,.08);
  color:var(--ppms-ink);
}
.woocommerce div.product .product_title {
  color:var(--ppms-navy);
  font-size:clamp(34px, 4vw, 58px);
  line-height:1;
  letter-spacing:0;
  margin:0 0 14px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color:var(--ppms-blue);
  font-weight:900;
  font-size:30px;
  margin:0 0 18px;
}
.woocommerce div.product form.cart {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-top:22px;
}
.woocommerce .quantity .qty {
  width:86px;
  min-height:48px;
  border:1px solid var(--ppms-border);
  border-radius:10px;
  padding:8px;
  font:inherit;
}
.woocommerce div.product form.cart .button,
.woocommerce a.button,
.woocommerce button.button {
  min-height:48px;
  border-radius:999px;
  background:var(--ppms-blue);
  color:#fff;
  border:1px solid var(--ppms-blue);
  padding:12px 20px;
  font-weight:900;
}
.woocommerce div.product .product_meta {
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid var(--ppms-border);
  color:var(--ppms-muted);
}
.woocommerce div.product .product_meta a {
  color:var(--ppms-blue);
  font-weight:800;
}
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related {
  grid-column:1 / -1;
}
@media (max-width: 820px) {
  .woocommerce div.product {
    grid-template-columns:1fr;
    padding:42px 18px;
  }
}

/* v1.4.0 SEO landing page system */
.ppms-landing-hero {
  background:linear-gradient(135deg,#f8fbff 0%,#ffffff 58%,#edf8fb 100%);
}
.ppms-landing-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,420px);
  gap:34px;
  align-items:center;
}
.ppms-landing-actions {
  margin-top:28px;
}
.ppms-landing-hero-panel,
.ppms-landing-panel,
.ppms-landing-card,
.ppms-related-links {
  background:#fff;
  border:1px solid var(--ppms-border);
  border-radius:22px;
  box-shadow:0 16px 42px rgba(14,29,51,.08);
}
.ppms-landing-hero-panel {
  padding:26px;
}
.ppms-landing-hero-panel h2,
.ppms-landing-panel h3,
.ppms-landing-card h3,
.ppms-related-links h2 {
  color:var(--ppms-navy);
  margin-top:0;
}
.ppms-landing-split,
.ppms-landing-form-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);
  gap:34px;
  align-items:start;
}
.ppms-landing-split h2,
.ppms-landing-form-grid h2 {
  color:var(--ppms-navy);
  font-size:clamp(30px,3vw,46px);
  line-height:1.08;
  letter-spacing:0;
  margin:10px 0 14px;
}
.ppms-landing-split p,
.ppms-landing-form-grid p,
.ppms-landing-card p {
  color:var(--ppms-muted);
  font-size:17px;
}
.ppms-landing-soft,
.ppms-landing-prep,
.ppms-landing-form-section,
.ppms-landing-related-section {
  background:#f8fbff;
}
.ppms-landing-chip-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.ppms-landing-chip-grid span {
  display:flex;
  align-items:center;
  min-height:64px;
  padding:16px 18px;
  border:1px solid var(--ppms-border);
  border-radius:16px;
  background:#fff;
  color:var(--ppms-navy);
  font-weight:900;
  box-shadow:0 10px 26px rgba(14,29,51,.055);
}
.ppms-landing-card {
  padding:22px;
}
.ppms-landing-gallery-section {
  background:#fff;
}
.ppms-landing-gallery {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.ppms-landing-gallery-card {
  overflow:hidden;
  margin:0;
  border:1px solid var(--ppms-border);
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 34px rgba(14,29,51,.08);
}
.ppms-landing-gallery-image {
  aspect-ratio:4/3;
  overflow:hidden;
  background:#eef3f8;
}
.ppms-landing-gallery-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s ease;
}
.ppms-landing-gallery-card:hover img {
  transform:scale(1.025);
}
.ppms-landing-gallery-card figcaption {
  padding:16px 18px;
  color:var(--ppms-navy);
  font-size:17px;
  font-weight:900;
}
.ppms-landing-card h3 {
  font-size:20px;
}
.ppms-landing-list {
  margin:0;
  padding:26px;
  background:#fff;
  border:1px solid var(--ppms-border);
  border-radius:22px;
  box-shadow:0 16px 42px rgba(14,29,51,.08);
}
.ppms-landing-panel {
  padding:26px;
}
.ppms-landing-panel-dark {
  background:linear-gradient(135deg,var(--ppms-navy),#123f72);
  color:#fff;
}
.ppms-landing-panel-dark h3,
.ppms-landing-panel-dark p {
  color:#fff;
}
.ppms-landing-cta {
  background:#fff;
}
.ppms-landing-cta-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:30px;
  border:1px solid var(--ppms-border);
  border-radius:24px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 52%,#edf8fb 100%);
  box-shadow:var(--ppms-shadow);
}
.ppms-landing-cta-inner h2 {
  color:var(--ppms-navy);
  margin:8px 0 8px;
  font-size:clamp(28px,2.7vw,42px);
}
.ppms-landing-cta-inner p,
.ppms-muted-note {
  color:var(--ppms-muted);
}
.ppms-muted-note {
  font-size:14px;
}
.ppms-faq-list {
  display:grid;
  gap:12px;
}
.ppms-faq-list details {
  border:1px solid var(--ppms-border);
  border-radius:16px;
  background:#fff;
  padding:0;
  box-shadow:0 10px 26px rgba(14,29,51,.055);
}
.ppms-faq-list summary {
  cursor:pointer;
  color:var(--ppms-navy);
  font-weight:900;
  padding:18px 20px;
}
.ppms-faq-list summary:focus-visible {
  outline:3px solid rgba(11,116,209,.24);
  outline-offset:3px;
  border-radius:12px;
}
.ppms-faq-list p {
  color:var(--ppms-muted);
  margin:0;
  padding:0 20px 20px;
}
.ppms-related-links {
  padding:26px;
}
.ppms-related-links div {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.ppms-related-links a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:10px 14px;
  border:1px solid var(--ppms-border);
  border-radius:999px;
  color:var(--ppms-blue);
  background:#fff;
  font-weight:900;
}
.ppms-related-links a:hover,
.ppms-related-links a:focus-visible {
  border-color:rgba(11,116,209,.38);
  background:#f8fbff;
}

@media (max-width: 980px) {
  .ppms-landing-hero-grid,
  .ppms-landing-split,
  .ppms-landing-form-grid {
    grid-template-columns:1fr;
  }
  .ppms-landing-chip-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ppms-landing-gallery {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ppms-landing-cta-inner {
    align-items:flex-start;
    flex-direction:column;
  }
}
@media (max-width: 620px) {
  .ppms-landing-chip-grid {
    grid-template-columns:1fr;
  }
  .ppms-landing-gallery {
    grid-template-columns:1fr;
  }
  .ppms-landing-hero-panel,
  .ppms-landing-panel,
  .ppms-landing-list,
  .ppms-landing-card,
  .ppms-related-links,
  .ppms-landing-cta-inner {
    border-radius:18px;
    padding:20px;
  }
}

/* v1.5.0 corporate paid landing page */
.ppms-corp-lp .ppms-main{padding:0}
.ppms-corp-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--ppms-border);box-shadow:0 8px 24px rgba(14,29,51,.06)}
.ppms-corp-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px}
.ppms-corp-header img{display:block;width:auto;max-width:210px;max-height:58px}
.ppms-corp-header-actions{display:flex;align-items:center;gap:18px}
.ppms-corp-phone{font-weight:900;color:var(--ppms-navy)}
.ppms-corp-hero{padding:76px 0;background:linear-gradient(135deg,#f8fbff,#fff 55%,#eaf7fa)}
.ppms-corp-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);align-items:center;gap:50px}
.ppms-corp-hero h1{max-width:760px;margin:12px 0 20px;color:var(--ppms-navy);font-size:clamp(40px,5.2vw,72px);line-height:1.02}
.ppms-corp-hero p{max-width:720px;color:var(--ppms-muted);font-size:20px}
.ppms-corp-hero-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:26px;box-shadow:var(--ppms-shadow)}
.ppms-corp-soft,.ppms-corp-form-section{background:#f8fbff}
.ppms-corp-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ppms-corp-card-grid article,.ppms-corp-trust{padding:24px;border:1px solid var(--ppms-border);border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(14,29,51,.06)}
.ppms-corp-card-grid h3{margin:0 0 10px;color:var(--ppms-navy);font-size:19px}.ppms-corp-card-grid p{margin:0;color:var(--ppms-muted)}
.ppms-corp-process{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;counter-reset:none}
.ppms-corp-process li{padding:22px;border-radius:18px;background:#fff;border:1px solid var(--ppms-border)}
.ppms-corp-process span{display:grid;place-items:center;width:36px;height:36px;margin-bottom:14px;border-radius:50%;background:var(--ppms-blue);color:#fff;font-weight:900}
.ppms-corp-process strong{color:var(--ppms-navy)}
.ppms-corp-portal{background:linear-gradient(135deg,var(--ppms-navy),#123f72);color:#fff}.ppms-corp-portal h2,.ppms-corp-portal p{color:#fff}.ppms-corp-portal-list{padding:28px;border-radius:22px;background:#fff;color:var(--ppms-navy)}
.ppms-corp-form-layout{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1fr);gap:42px;align-items:start}.ppms-corp-form-layout>div:first-child{position:sticky;top:112px}
.ppms-corp-form label{display:grid;gap:7px;margin-bottom:17px;font-weight:800}.ppms-corp-form small{color:var(--ppms-muted);font-weight:400}
.ppms-corp-form input,.ppms-corp-form select,.ppms-corp-form textarea{width:100%;min-height:48px}.ppms-corp-form input:focus-visible,.ppms-corp-form select:focus-visible,.ppms-corp-form textarea:focus-visible{outline:3px solid rgba(11,116,209,.28);outline-offset:2px}
.ppms-corp-form [hidden]{display:none!important}.ppms-corp-consent{grid-template-columns:auto 1fr!important;align-items:start}.ppms-corp-consent input{width:22px;min-height:22px;margin-top:2px}
.ppms-form-errors{margin-bottom:14px;color:#a00;font-weight:800}.ppms-corp-form button:disabled{cursor:wait;opacity:.7}
.ppms-corp-footer{padding:26px 0;background:#071b31;color:#fff}.ppms-corp-footer .ppms-container{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.ppms-corp-footer a{color:#fff}
@media(max-width:980px){.ppms-corp-hero-grid,.ppms-corp-form-layout{grid-template-columns:1fr}.ppms-corp-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ppms-corp-process{grid-template-columns:repeat(2,minmax(0,1fr))}.ppms-corp-form-layout>div:first-child{position:static}}
@media(max-width:620px){.ppms-corp-header-inner{min-height:72px}.ppms-corp-header img{max-width:145px}.ppms-corp-header-actions .ppms-corp-phone{display:none}.ppms-corp-header-actions .ppms-btn{padding:11px 13px;font-size:13px}.ppms-corp-hero{padding:48px 0}.ppms-corp-hero h1{font-size:40px}.ppms-corp-card-grid,.ppms-corp-process{grid-template-columns:1fr}.ppms-corp-form-section{padding-bottom:96px}}
@media(prefers-reduced-motion:reduce){.ppms-corp-lp *{scroll-behavior:auto!important;transition:none!important}}

/* v1.5.1 corporate landing visual polish */
.ppms-corp-heading-rule{display:block;width:78px;height:4px;margin:24px 0;background:var(--ppms-blue);border-radius:99px}
.ppms-corp-hero{overflow:hidden;padding:0;background:linear-gradient(120deg,#f8fbff 0%,#fff 54%,#edf5fb 100%)}
.ppms-corp-hero .ppms-container{max-width:1480px}
.ppms-corp-hero-grid{grid-template-columns:minmax(0,.88fr) minmax(460px,1.12fr);gap:42px;min-height:720px}
.ppms-corp-hero-copy{padding:70px 0}
.ppms-corp-hero h1{font-size:clamp(46px,4.7vw,76px);line-height:1.08;letter-spacing:-.035em}
.ppms-corp-hero-media{align-self:stretch;min-height:620px}
.ppms-corp-hero-image{height:100%;min-height:620px;aspect-ratio:auto;border-radius:36px 0 0 36px;object-position:center;box-shadow:none}
.ppms-corp-hero-points{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:38px;border-top:1px solid var(--ppms-border);padding-top:24px}
.ppms-corp-hero-points span{display:grid;gap:7px;align-content:start;padding:0 16px;border-right:1px solid var(--ppms-border);color:var(--ppms-navy);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.ppms-corp-hero-points span:first-child{padding-left:0}.ppms-corp-hero-points span:last-child{border-right:0}.ppms-corp-hero-points b{display:grid;place-items:center;width:30px;height:30px;border:2px solid var(--ppms-blue);border-radius:50%;color:var(--ppms-blue);font-size:15px}
.ppms-corp-benefits{position:relative;overflow:hidden;background:radial-gradient(circle at 0 0,rgba(41,121,209,.09),transparent 30%),linear-gradient(135deg,#f8fbff,#fff)}
.ppms-corp-benefits:before{content:"";position:absolute;left:-100px;bottom:-150px;width:540px;height:280px;border:2px solid rgba(36,117,205,.1);border-radius:50%;transform:rotate(8deg);pointer-events:none}
.ppms-corp-benefits-layout{position:relative;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(580px,1.28fr);gap:70px;align-items:center}
.ppms-corp-benefits-intro{max-width:520px}.ppms-corp-benefits-intro h2{margin:14px 0 0;color:var(--ppms-navy);font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,4.5vw,70px);font-weight:700;line-height:1.08;letter-spacing:-.025em}.ppms-corp-benefits-intro p{margin-bottom:28px;color:var(--ppms-muted);font-size:19px;line-height:1.65}
.ppms-corp-benefit-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ppms-corp-benefit-cards article{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;min-height:160px;padding:26px;border:1px solid var(--ppms-border);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(14,29,51,.055)}
.ppms-corp-benefit-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#eef4ff;color:#092d69;font-size:20px;font-weight:900}
.ppms-corp-benefit-cards h3{margin:2px 0 9px;color:#07275c;font-size:20px;line-height:1.3}.ppms-corp-benefit-cards p{margin:0;color:#465b78;font-size:15px;line-height:1.55}
.ppms-corp-products{background:#fff}.ppms-corp-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ppms-corp-product-card{overflow:hidden;margin:0;border:1px solid var(--ppms-border);border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(14,29,51,.07)}
.ppms-corp-product-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#eef3f8}.ppms-corp-product-card h3{margin:0;padding:20px 22px;color:var(--ppms-navy);font-size:19px;line-height:1.3}
@media(max-width:1100px){.ppms-corp-hero-grid{grid-template-columns:1fr 1fr;min-height:620px}.ppms-corp-hero-media,.ppms-corp-hero-image{min-height:540px}.ppms-corp-hero-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ppms-corp-hero-points span{border:0;padding:0}.ppms-corp-benefits-layout{grid-template-columns:1fr;gap:42px}.ppms-corp-benefits-intro{max-width:720px}}
@media(max-width:820px){.ppms-corp-hero-grid{grid-template-columns:1fr;gap:0}.ppms-corp-hero-copy{padding:56px 0 40px}.ppms-corp-hero-media{min-height:auto;margin:0 -20px}.ppms-corp-hero-image{min-height:0;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:26px 26px 0 0}.ppms-corp-benefit-cards,.ppms-corp-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ppms-corp-hero h1{font-size:40px}.ppms-corp-hero-points{grid-template-columns:1fr 1fr}.ppms-corp-benefit-cards,.ppms-corp-product-grid{grid-template-columns:1fr}.ppms-corp-benefit-cards article{min-height:0;padding:21px}.ppms-corp-benefits-intro h2{font-size:42px}.ppms-corp-product-card{border-radius:18px}}

/* v1.5.2 first-fold hero sizing */
.ppms-corp-hero-grid{min-height:0;align-items:center;padding:42px 0}
.ppms-corp-hero-copy{padding:0}
.ppms-corp-hero h1{font-size:clamp(34px,3vw,56px);line-height:1.08}
.ppms-corp-hero p{font-size:clamp(16px,1.15vw,19px);line-height:1.55}
.ppms-corp-hero-media{align-self:auto;min-height:0}
.ppms-corp-hero-image{display:block;width:100%;height:auto;min-height:0;aspect-ratio:auto;object-fit:contain;border-radius:28px}
.ppms-corp-hero-cta{min-height:40px;padding:10px 15px;font-size:12px;line-height:1.2}
.ppms-corp-benefits-intro h2{font-size:clamp(36px,3.5vw,60px)}
@media(max-width:820px){.ppms-corp-hero-grid{padding:36px 0}.ppms-corp-hero-media{margin:0}.ppms-corp-hero-image{aspect-ratio:auto;border-radius:22px}}
@media(max-width:620px){.ppms-corp-hero h1{font-size:34px}.ppms-corp-benefits-intro h2{font-size:36px}.ppms-corp-hero-cta{font-size:12px}}

/* v1.6.0 expanded SEO landing support */
.ppms-landing-prep-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.ppms-footer-grid>div:nth-child(4) .ppms-footer-menu{columns:2;column-gap:24px}
.ppms-footer-grid>div:nth-child(4) .ppms-footer-menu li{break-inside:avoid}
@media(max-width:620px){.ppms-footer-grid>div:nth-child(4) .ppms-footer-menu{columns:1}}

/* v1.7.0 industries and occasions mega menu */
.ppms-mega-menu-item{position:static}
.ppms-mega-toggle{display:flex;align-items:center;gap:6px;padding:10px 11px;border:0;border-radius:10px;background:transparent;color:var(--ppms-navy);font:inherit;font-weight:800;cursor:pointer}
.ppms-mega-toggle:hover,.ppms-mega-toggle:focus-visible,.ppms-mega-menu-item.is-open .ppms-mega-toggle{background:var(--ppms-soft);color:var(--ppms-blue)}
.ppms-mega-panel{position:absolute;z-index:80;top:calc(100% - 8px);left:50%;display:none;width:min(1120px,calc(100vw - 36px));padding:26px;transform:translateX(-50%);border:1px solid var(--ppms-border);border-radius:22px;background:#fff;box-shadow:0 24px 60px rgba(14,29,51,.18)}
.ppms-mega-menu-item.is-open .ppms-mega-panel,.ppms-mega-menu-item:focus-within .ppms-mega-panel{display:block}
.ppms-mega-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:28px}
.ppms-mega-grid section h2{margin:0 0 12px;color:var(--ppms-navy);font-size:16px}
.ppms-mega-grid ul{display:grid!important;gap:3px;margin:0!important;padding:0!important;list-style:none}
.ppms-mega-grid li{margin:0!important}.ppms-mega-grid a{display:block;padding:7px 8px!important;border-radius:8px;color:var(--ppms-muted)!important;font-size:14px;font-weight:700;line-height:1.25}
.ppms-mega-grid a:hover,.ppms-mega-grid a:focus-visible{background:#f0f6ff!important;color:var(--ppms-blue)!important}
@media(max-width:780px){.ppms-mega-menu-item{width:100%}.ppms-mega-toggle{justify-content:space-between;width:100%;padding:14px 10px;color:#fff}.ppms-mega-panel{position:static;width:100%;max-height:52vh;overflow:auto;padding:14px;transform:none;border-radius:14px;box-shadow:none}.ppms-mega-grid{grid-template-columns:1fr 1fr;gap:20px}.ppms-mega-grid section h2{font-size:15px}}
@media(max-width:520px){.ppms-mega-grid{grid-template-columns:1fr}}
