: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;
}
a { color: var(--ppms-blue); text-decoration: none; }
a:hover { color: var(--ppms-blue-dark); }
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; }

.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-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-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; }
.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-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: radial-gradient(circle at top right, rgba(25,181,216,.22), transparent 40%), linear-gradient(180deg, #f8fbff 0%, #ffffff 100%); padding: 78px 0 74px; }
.ppms-hero:before { content:""; position:absolute; width:520px; height:520px; border-radius:50%; background: rgba(11,116,209,.08); right:-220px; top:40px; }
.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:-.055em; 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-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-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-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:700; }
.ppms-pagination { margin-top:20px; }

.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-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: 1.4fr 1fr 1fr; gap:40px; padding:44px 0; }
.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; }

@media (max-width: 1024px) {
  .ppms-header-actions { display:none; }
  .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); }
}
@media (max-width: 780px) {
  .ppms-topbar-inner { flex-direction:column; gap:4px; }
  .ppms-main-header { min-height:72px; }
  .ppms-menu-toggle { display:block; margin-left:auto; }
  .ppms-nav { position:absolute; left:20px; right:20px; top:100%; background:#fff; border:1px solid var(--ppms-border); border-radius:18px; box-shadow: var(--ppms-shadow); padding:12px; display:none; }
  .ppms-nav.is-open { display:block; }
  .ppms-menu { flex-direction:column; align-items:stretch; }
  .ppms-menu a { border-radius:12px; }
  .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-quote-inner, .ppms-footer-cta { flex-direction:column; align-items:flex-start; }
  .ppms-post-card { grid-template-columns:1fr; }
}
@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-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); }

@media (max-width: 1024px) {
  .ppms-hero-studio { min-height:430px; }
  .ppms-access-shell { grid-template-columns: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; }
}
@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; }
}
