@layer vastu {
body[data-category="vastu"] [hidden] { display: none !important; }
/* Vastu has an English REST contract and a light editorial surface. */
html:has(body[data-category="vastu"]), body[data-category="vastu"] {
  color-scheme: light; background: #faf9f6 !important; color: #242424;
}
body[data-category="vastu"] { --cat-accent: #66553b; --cat-deep: #55462f; --text-primary: #242424; --text-secondary: #595953; }
body[data-category="vastu"] :is(#pp-backdrop,.pp-hero-char,.pill__blob,.vk-footer__wash) { display: none !important; }
body[data-category="vastu"] main [class] {
  background-image: none !important; background-color: transparent !important;
  box-shadow: none !important; backdrop-filter: none !important; border-radius: 0 !important;
  border-color: #d8d6cf !important;
}
body[data-category="vastu"] main [class]::before,
body[data-category="vastu"] main [class]::after { background: none !important; box-shadow: none !important; }
body[data-category="vastu"] main :is(button,a,input,select,textarea) {
  transition: color 150ms ease-out, opacity 150ms ease-out, transform 150ms ease-out !important;
}
body[data-category="vastu"] :is(a,button,input,select,textarea):focus-visible {
  outline: 2px solid #66553b !important; outline-offset: 3px !important;
}
body[data-category="vastu"] main :is(button,a) { color: #51432f !important; }
body[data-category="vastu"] main :is(button,a):hover { color: #151513 !important; }
body[data-category="vastu"] .pp-hero {
  width: min(1120px,calc(100% - 40px)) !important; padding: 64px 0 40px !important;
}
body[data-category="vastu"] .pp-hero-intro { align-items: flex-start !important; }
body[data-category="vastu"] :is(.pp-hero-title,.pp-hero-tagline) { text-align: left !important; margin-left: 0 !important; }
body[data-category="vastu"] .pp-hero-title { font-size: clamp(44px,6vw,80px) !important; }
body[data-category="vastu"] .pp-hero-tagline { max-width: 64ch; font-size: 17px !important; line-height: 1.6; }
body[data-category="vastu"] :is(.pp-hero-ctas,.pp-hero-stats) { justify-content: flex-start !important; }
body[data-category="vastu"] .pp-hero-cta { border: 0 !important; border-bottom: 1px solid #66553b !important; padding: 10px 0 !important; margin-right: 24px; }
body[data-category="vastu"] .pp-hero-stats { gap: 32px !important; margin-top: 32px; }
body[data-category="vastu"] .pp-hero-stat { border: 0 !important; padding: 0 !important; flex: 0 1 auto; }
body[data-category="vastu"] .pp-hero-stat-value { font-size: 25px !important; }
body[data-category="vastu"] :is(.pp-tryit-section,.pp-endpoints) { width: min(1120px,calc(100% - 40px)) !important; margin: 28px auto !important; }
body[data-category="vastu"] :is(.pp-tryit-eyebrow,.pp-tryit-h2,.pp-tryit-sub) { text-align: left !important; margin-left: 0 !important; }
body[data-category="vastu"] .pp-tryit-widget { border: 0 !important; border-top: 1px solid #b9b6ad !important; padding: 24px 0 !important; }
body[data-category="vastu"] :is(.pp-mode-toggle,.pp-tryit-price,.pp-tabs,.pp-card-meta) { border: 0 !important; padding-left: 0 !important; }
body[data-category="vastu"] :is(.pp-mode-btn,.pp-tab,.pp-topic) { border: 0 !important; }
body[data-category="vastu"] :is(.pp-mode-btn,.pp-tab,.pp-topic).is-active { color: #242424 !important; border-bottom: 1px solid #66553b !important; font-weight: 700 !important; }
body[data-category="vastu"] .pp-batch-key { display: grid; gap: 8px; margin-bottom: 16px; }
body[data-category="vastu"] .pp-batch-key button { position: static; justify-self: start; min-height: 44px; padding: 8px 12px; border: 1px solid #79766b; font: inherit; cursor: pointer; }
body[data-category="vastu"] .pp-batch-key small { line-height: 1.5; }
body[data-category="vastu"] .pp-run { color: #242424 !important; border: 1px solid #79766b !important; padding: 10px 24px !important; }
body[data-category="vastu"] :is(.pp-key-field,.pp-tryit-section .pp-key-field) { min-width: 0 !important; }
body[data-category="vastu"] :is(.pp-card,.pp-mkt-plan) { border: 0 !important; border-top: 1px solid #b9b6ad !important; padding-top: 24px !important; }
body[data-category="vastu"] :is(.pp-card-ico,.pp-sidebar,.pp-device,.pp-device-bar) { border-width: 0 !important; }
body[data-category="vastu"] :is(.pp-method,.pp-topic-count,.pp-soon-badge,.pp-badge-sample,.pp-example-badge,.pp-sample-badge,.pp-mkt-pop) { color: #595953 !important; border: 0 !important; }
body[data-category="vastu"] :is(.pp-status,.pp-snippet-code,.pp-snippet-tab,.pp-json,.pp-json-body,.pp-json-head,.pp-json-key,.pp-json-val) { color: #34342f !important; }
body[data-category="vastu"] .ppv-compass-grade { color: #242424 !important; border: 0 !important; }
body[data-category="vastu"] .pp-vastu-demo-link { background: transparent !important; box-shadow: none !important; border: 0 !important; border-block: 1px solid #d8d6cf !important; border-radius: 0 !important; }
body[data-category="vastu"] .pp-vastu-demo-link > span { color: #51432f !important; background: transparent !important; border-radius: 0 !important; padding: 0 !important; }
body[data-category="vastu"] :is(.pp-mkt-cta h2,.pp-mkt-cta p,.pp-mkt-plan,.pp-mkt-btn) { color: #242424 !important; }
body[data-category="vastu"] .pp-mkt-cta { border-top: 1px solid #b9b6ad; }
body[data-category="vastu"] .pp-mkt-btn { border: 1px solid #79766b !important; }
body[data-category="vastu"] :is(.nv,.vk-footer__plate,.pill) { background: #faf9f6 !important; background-image: none !important; box-shadow: none !important; }
body[data-category="vastu"] .pill { color: #242424 !important; border-radius: 0 !important; }
body[data-category="vastu"] .pill__label { color: #242424 !important; }
body[data-category="vastu"] :is(.pill,.pill:hover)::before,
body[data-category="vastu"] :is(.pill,.pill:hover)::after { background: none !important; box-shadow: none !important; animation: none !important; opacity: 0 !important; }
body[data-category="vastu"] :is(.nv__burger,.mg) { background: #faf9f6 !important; background-image: none !important; box-shadow: none !important; border-radius: 0 !important; }
body[data-category="vastu"] .vk-footer__social a { background: transparent !important; border-radius: 0 !important; box-shadow: none !important; }
body[data-category="vastu"] :is(.vk-footer,.vk-footer__plate) { border-radius: 0 !important; box-shadow: none !important; }
body[data-category="vastu"] :is(.vk-footer,.vk-footer__plate)::before,body[data-category="vastu"] :is(.vk-footer,.vk-footer__plate)::after { background: none !important; box-shadow: none !important; }
body[data-category="vastu"] .vk-footer__wordmark { background: none !important; -webkit-text-fill-color: #51432f !important; animation: none !important; }
body[data-category="vastu"] :is(.pp-card,.tilt,.reveal-pending,[data-r],.drawer,.nv__mega-btn,.nv__burger) { transition: transform 150ms ease-out, opacity 150ms ease-out, color 150ms ease-out !important; }
body[data-category="vastu"] :is(.nv,.vk-footer) :is(a,button) { transition: color 150ms ease-out, opacity 150ms ease-out, transform 150ms ease-out !important; }
@media (max-width: 600px) {
  body[data-category="vastu"] .pp-hero { padding-top: 38px !important; }
  body[data-category="vastu"] .pp-hero-stats { gap: 22px !important; }
  body[data-category="vastu"] .pp-hero-stat-label { font-size: 9px !important; letter-spacing: .04em !important; }
  body[data-category="vastu"] .pp-vastu-demo-link { flex-wrap: wrap; }
  body[data-category="vastu"] .pp-mkt-cta { padding: 28px 20px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-category="vastu"] *, body[data-category="vastu"] *::before, body[data-category="vastu"] *::after { transition: none !important; animation: none !important; }
}

body[data-category="vastu"] :is(.pp-card-desc,.pp-explorer-copy,.pp-vastu-demo-link p) { font-size: 14px !important; line-height: 1.6; }
body[data-category="vastu"] .pp-json-key { max-width: calc(100% - 48px); min-width: 0; flex-shrink: 1; white-space: normal !important; overflow-wrap: anywhere; }
body[data-category="vastu"] .pp-json-val { min-width: 0; overflow-wrap: anywhere; }
/* Values and object counts need full rows when keys are long. */
body[data-category="vastu"] .pp-json-row { flex-wrap: wrap !important; }
body[data-category="vastu"] .pp-json-preview { flex-basis: 100%; padding-left: 24px; box-sizing: border-box; white-space: nowrap; }
body[data-category="vastu"] .pp-json-val { flex-basis: 100%; padding-left: 18px; box-sizing: border-box; }
body[data-category="vastu"] .pp-card-title { font-size: 21px !important; }
body[data-category="vastu"] :is(.pp-tabs .pp-tab,.pp-topic,.pp-mode-btn) { font-size: 12px !important; }
body[data-category="vastu"] .pp-card-meta { display: grid !important; grid-template-columns: auto minmax(0,1fr); gap: 6px; }
body[data-category="vastu"] .pp-card-price { justify-self: end; margin-left: 0; border: 0 !important; padding: 0 !important; }
body[data-category="vastu"] .pp-card-path { grid-column: 1 / -1; order: 1; white-space: normal !important; overflow-wrap: anywhere; }
@media (max-width: 980px) {
  body[data-category="vastu"] .pp-sidebar { display: none !important; }
}

/* Plan cards use their own content width, not the page viewport or generic media frame. */
body[data-category="vastu"] .ppvplan-corner { display:none !important; }
body[data-category="vastu"] .ppvplan { padding:0 !important; border:0 !important; }
body[data-category="vastu"] .ppvplan-card { flex-basis:100%; border:0 !important; border-top:1px solid #d8d6cf !important; padding:12px 0 !important; }
body[data-category="vastu"] .ppvplan-drawing { display:block !important; min-height:0 !important; padding:0 !important; margin:16px 0 !important; border:0 !important; }
body[data-category="vastu"] :is(.ppvplan-pill,.ppvplan-stat,.ppvplan-dfc-zone,.ppvplan-dfc-sev) { border:0 !important; padding-left:0 !important; }
body[data-category="vastu"] .ppvplan-dfc-bar { display:none; }
body[data-category="vastu"] .ppvplan-compare { display:grid !important; grid-template-columns:1fr !important; }
body[data-category="vastu"] .ppvplan-cmp-arrow { justify-self:center; }
body[data-category="vastu"] .ppvplan-cmp-arrow svg { transform:rotate(90deg); }
body[data-category="vastu"] .ppvplan-cmp-box { max-width:none; width:100%; }

body[data-category="vastu"] :is(.ppvplan-open,.ppvplan-close) { font:inherit; margin:12px 0; padding:8px 0; border:0; border-bottom:1px solid #66553b; background:none; color:#242424; cursor:pointer; min-height:44px; }
body[data-category="vastu"] .ppvplan-dialog { background:#faf9f6; color:#242424; border:1px solid #79766b; padding:16px; width:min(960px,calc(100vw - 32px)); max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); box-sizing:border-box; }
body[data-category="vastu"] .ppvplan-dialog::backdrop { background:rgba(0,0,0,.4); }
body[data-category="vastu"] .ppvplan-full-drawing { overflow:auto; max-height:calc(100dvh - 180px); }
body[data-category="vastu"] .ppvplan-full-drawing svg { width:900px; max-width:none; height:auto; max-height:none; display:block; }


@media (prefers-reduced-motion: reduce) {
  body[data-category="vastu"] main :is(button,a,input,select,textarea),
  body[data-category="vastu"] :is(.pp-card,.tilt,.reveal-pending,[data-r],.drawer,.nv__mega-btn,.nv__burger),
  body[data-category="vastu"] :is(.nv,.vk-footer) :is(a,button) { transition: none !important; animation: none !important; }
}
}
