{
  "acceptance": {
    "correctedDemoUsesGenericLayoutBlocks": false,
    "originalImagesAndFaviconsUnchanged": true,
    "packageExactlyOneThemeRootRequired": true,
    "phpSyntaxRequired": true,
    "productionCssUnchanged": true,
    "productionJavascriptUnchanged": true,
    "sourceBlocksUseExtraFrontendWrappers": false
  },
  "allowedDeviations": [
    {
      "deviation": "WordPress adds a wp-block-hapantheon-* class to the existing source root.",
      "id": "DEV-001",
      "reason": "Required block identity/editor serialization; merged into the source node with get_block_wrapper_attributes, never a wrapper.",
      "scope": "all dynamic Gutenberg blocks",
      "visualImpact": "none"
    },
    {
      "deviation": "Hidden action, nonce, honeypot, redirect, source and contact-type fields are emitted inside the preserved form root.",
      "id": "DEV-002",
      "reason": "CSRF protection, spam mitigation, routing and server-side processing.",
      "scope": "forms",
      "visualImpact": "none; hidden controls"
    },
    {
      "deviation": "Runtime IDs use wp_unique_id.",
      "id": "DEV-003",
      "reason": "Collision-free labels, descriptions and ARIA relationships across repeated blocks.",
      "scope": "forms/tabs",
      "visualImpact": "none"
    },
    {
      "deviation": "Bundled source asset URLs may resolve to imported Media Library attachment URLs and source .html routes resolve to WordPress permalinks.",
      "id": "DEV-004",
      "reason": "WordPress-native media, records and routing while retaining source elements/classes.",
      "scope": "images and links",
      "visualImpact": "none"
    },
    {
      "deviation": "Frozen source-contract fixtures are derived from selector/renderer mapping rather than an independent original HTML deployment.",
      "id": "DEV-005",
      "reason": "The supplied package contains no pre-WordPress HTML files, original deployment URL, reference screenshots, database export, or runnable WordPress fixture. Independent original-source versus live-WordPress parity cannot be produced from the supplied inputs.",
      "scope": "verification only",
      "visualImpact": "not asserted against an unavailable upstream deployment"
    },
    {
      "deviation": "assets/css/wordpress.css retains legacy .hp-* compatibility selectors although corrected demo compositions no longer emit generic .hp-* page layouts.",
      "id": "DEV-006",
      "reason": "Avoid breaking owner content created by the supplied prior candidate.",
      "scope": "backward compatibility",
      "visualImpact": "none on corrected importer output"
    }
  ],
  "authority": {
    "attachedSourceRoot": "source/hapantheon/",
    "contract": "PROMPT.md",
    "task": "context/TASK.md"
  },
  "blocker": "The supplied package contains no pre-WordPress HTML files, original deployment URL, reference screenshots, database export, or runnable WordPress fixture. Independent original-source versus live-WordPress parity cannot be produced from the supplied inputs.",
  "blocks": [
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0232",
        "pantheon.css:rule-0233",
        "pantheon.css:rule-0234",
        "pantheon.css:rule-0235",
        "pantheon.css:rule-0340"
      ],
      "dataModel": "unique editorial page heading",
      "editableFields": [
        "eyebrow",
        "title",
        "lede"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "output": "hapantheon/page-hero",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_page_hero",
      "sourceFragmentSelectors": [
        ".page-hero"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0056",
        "pantheon.css:rule-0057",
        "pantheon.css:rule-0058",
        "pantheon.css:rule-0059",
        "pantheon.css:rule-0060",
        "pantheon.css:rule-0061",
        "pantheon.css:rule-0062",
        "pantheon.css:rule-0063",
        "pantheon.css:rule-0064",
        "pantheon.css:rule-0065",
        "pantheon.css:rule-0066",
        "pantheon.css:rule-0067",
        "pantheon.css:rule-0068",
        "pantheon.css:rule-0069",
        "pantheon.css:rule-0070",
        "pantheon.css:rule-0071",
        "pantheon.css:rule-0072",
        "pantheon.css:rule-0073",
        "pantheon.css:rule-0074",
        "pantheon.css:rule-0075",
        "pantheon.css:rule-0076",
        "pantheon.css:rule-0077",
        "pantheon.css:rule-0078",
        "pantheon.css:rule-0079",
        "pantheon.css:rule-0080",
        "pantheon.css:rule-0081",
        "pantheon.css:rule-0082",
        "pantheon.css:rule-0083",
        "pantheon.css:rule-0084",
        "pantheon.css:rule-0085",
        "pantheon.css:rule-0086",
        "pantheon.css:rule-0087",
        "pantheon.css:rule-0088",
        "pantheon.css:rule-0089",
        "pantheon.css:rule-0090",
        "pantheon.css:rule-0091",
        "pantheon.css:rule-0094",
        "pantheon.css:rule-0095",
        "pantheon.css:rule-0096",
        "pantheon.css:rule-0097",
        "pantheon.css:rule-0098",
        "pantheon.css:rule-0099",
        "pantheon.css:rule-0100",
        "pantheon.css:rule-0101",
        "pantheon.css:rule-0102",
        "pantheon.css:rule-0103",
        "pantheon.css:rule-0104",
        "pantheon.css:rule-0105",
        "pantheon.css:rule-0106",
        "pantheon.css:rule-0107",
        "pantheon.css:rule-0108",
        "pantheon.css:rule-0109",
        "pantheon.css:rule-0110",
        "pantheon.css:rule-0111",
        "pantheon.css:rule-0112",
        "pantheon.css:rule-0113",
        "pantheon.css:rule-0114",
        "pantheon.css:rule-0115",
        "pantheon.css:rule-0116",
        "pantheon.css:rule-0117",
        "pantheon.css:rule-0119",
        "pantheon.css:rule-0120",
        "pantheon.css:rule-0121",
        "pantheon.css:rule-0122",
        "pantheon.css:rule-0123",
        "pantheon.css:rule-0649",
        "pantheon.css:rule-0650",
        "pantheon.css:rule-0651",
        "pantheon.css:rule-0652",
        "pantheon.css:rule-0653",
        "pantheon.css:rule-0654",
        "pantheon.css:rule-0655"
      ],
      "dataModel": "editorial hall gateway; destinations/category values editable",
      "editableFields": [
        "eyebrow",
        "title",
        "lede",
        "scrollLabel",
        "items[]: glyph,title,description,url,buttonLabel,count,countLabel,slug,image,imageAlt,fallback"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "output": "hapantheon/gate",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_gate",
      "sourceFragmentSelectors": [
        ".gate",
        ".gate-track",
        ".slice",
        ".plaque",
        ".gate-pag"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0124",
        "pantheon.css:rule-0125",
        "pantheon.css:rule-0126",
        "pantheon.css:rule-0127",
        "pantheon.css:rule-0128",
        "pantheon.css:rule-0129",
        "pantheon.css:rule-0130",
        "pantheon.css:rule-0131",
        "pantheon.css:rule-0132"
      ],
      "dataModel": "editorial metrics with production count-up hooks",
      "editableFields": [
        "items[]: value,countTo,label"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "output": "hapantheon/stats",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_stats",
      "sourceFragmentSelectors": [
        ".stats",
        ".stats-in",
        ".stat"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0133",
        "pantheon.css:rule-0137",
        "pantheon.css:rule-0138",
        "pantheon.css:rule-0139",
        "pantheon.css:rule-0140",
        "pantheon.css:rule-0141",
        "pantheon.css:rule-0142",
        "pantheon.css:rule-0150",
        "pantheon.css:rule-0151",
        "pantheon.css:rule-0163",
        "pantheon.css:rule-0165",
        "pantheon.css:rule-0176",
        "pantheon.css:rule-0181",
        "pantheon.css:rule-0182",
        "pantheon.css:rule-0183",
        "pantheon.css:rule-0184",
        "pantheon.css:rule-0185",
        "pantheon.css:rule-0186",
        "pantheon.css:rule-0187",
        "pantheon.css:rule-0188",
        "pantheon.css:rule-0457",
        "pantheon.css:rule-0458",
        "pantheon.css:rule-0459",
        "pantheon.css:rule-0460",
        "pantheon.css:rule-0461",
        "pantheon.css:rule-0462",
        "pantheon.css:rule-0656",
        "pantheon.css:rule-0657",
        "pantheon.css:rule-0658"
      ],
      "dataModel": "category terms/counts and links resolve dynamically",
      "editableFields": [
        "eyebrow",
        "title",
        "lede",
        "hint",
        "items[]: glyph,title,latin,slug,url,count,countLabel,inner,image,imageAlt,fallback"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "output": "hapantheon/rooms",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_rooms",
      "sourceFragmentSelectors": [
        ".rooms",
        ".rooms-grid",
        ".temple"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0426",
        "pantheon.css:rule-0427",
        "pantheon.css:rule-0428",
        "pantheon.css:rule-0429",
        "pantheon.css:rule-0430",
        "pantheon.css:rule-0431",
        "pantheon.css:rule-0432",
        "pantheon.css:rule-0433",
        "pantheon.css:rule-0434",
        "pantheon.css:rule-0435",
        "pantheon.css:rule-0436",
        "pantheon.css:rule-0437",
        "pantheon.css:rule-0438",
        "pantheon.css:rule-0439",
        "pantheon.css:rule-0440",
        "pantheon.css:rule-0441",
        "pantheon.css:rule-0442",
        "pantheon.css:rule-0443",
        "pantheon.css:rule-0444",
        "pantheon.css:rule-0445",
        "pantheon.css:rule-0446",
        "pantheon.css:rule-0447",
        "pantheon.css:rule-0448",
        "pantheon.css:rule-0659",
        "pantheon.css:rule-0660",
        "pantheon.css:rule-0661",
        "pantheon.css:rule-0662",
        "pantheon.css:rule-0663",
        "pantheon.css:rule-0664",
        "pantheon.css:rule-0665",
        "pantheon.css:rule-0666",
        "pantheon.css:rule-0667",
        "pantheon.css:rule-0668",
        "pantheon.css:rule-0669",
        "pantheon.css:rule-0670",
        "pantheon.css:rule-0671",
        "pantheon.css:rule-0672",
        "pantheon.css:rule-0673",
        "pantheon.css:rule-0674"
      ],
      "dataModel": "query-driven WordPress posts by category",
      "editableFields": [
        "eyebrow",
        "title",
        "postsPerTab",
        "tabs[]: label,slug"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "output": "hapantheon/top10",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_top10",
      "sourceFragmentSelectors": [
        ".top10",
        ".top10-tabs",
        ".t10tab",
        ".t10-panel",
        ".t10"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0189",
        "pantheon.css:rule-0190",
        "pantheon.css:rule-0191",
        "pantheon.css:rule-0192",
        "pantheon.css:rule-0193",
        "pantheon.css:rule-0194",
        "pantheon.css:rule-0195",
        "pantheon.css:rule-0196",
        "pantheon.css:rule-0197",
        "pantheon.css:rule-0198",
        "pantheon.css:rule-0199",
        "pantheon.css:rule-0200",
        "pantheon.css:rule-0201",
        "pantheon.css:rule-0202",
        "pantheon.css:rule-0203"
      ],
      "dataModel": "featured WordPress post with explicit slug/id and editorial overrides",
      "editableFields": [
        "postId",
        "postSlug",
        "eyebrow",
        "title",
        "lede",
        "imageUrl",
        "imageId",
        "buttonLabel",
        "buttonUrl",
        "tag",
        "metaOne",
        "metaTwo"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "output": "hapantheon/featured",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_featured",
      "sourceFragmentSelectors": [
        ".featured",
        ".feat-grid",
        ".mframe"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0210",
        "pantheon.css:rule-0211",
        "pantheon.css:rule-0291",
        "pantheon.css:rule-0449",
        "pantheon.css:rule-0450",
        "pantheon.css:rule-0451",
        "pantheon.css:rule-0452",
        "pantheon.css:rule-0453",
        "pantheon.css:rule-0454",
        "pantheon.css:rule-0455",
        "pantheon.css:rule-0456",
        "pantheon.css:rule-0572"
      ],
      "dataModel": "editorial CTA",
      "editableFields": [
        "quote",
        "buttonLabel",
        "buttonUrl"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "output": "hapantheon/oracle-band",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_oracle_band",
      "sourceFragmentSelectors": [
        ".oracle-band",
        ".oracle-q"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0215",
        "pantheon.css:rule-0216",
        "pantheon.css:rule-0217",
        "pantheon.css:rule-0218",
        "pantheon.css:rule-0219",
        "pantheon.css:rule-0220",
        "pantheon.css:rule-0221",
        "pantheon.css:rule-0222",
        "pantheon.css:rule-0227",
        "pantheon.css:rule-0675",
        "pantheon.css:rule-0676",
        "pantheon.css:rule-0677",
        "wordpress.css:rule-0093",
        "wordpress.css:rule-0099",
        "wordpress.css:rule-0100",
        "wordpress.css:rule-0101",
        "wordpress.css:rule-0102",
        "wordpress.css:rule-0103",
        "wordpress.css:rule-0106",
        "wordpress.css:rule-0107"
      ],
      "dataModel": "secure WordPress newsletter form",
      "editableFields": [
        "eyebrow",
        "title",
        "lede",
        "placeholder",
        "buttonLabel",
        "source"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "output": "hapantheon/newsletter-section",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_newsletter_section",
      "sourceFragmentSelectors": [
        ".news",
        ".news-card",
        ".news-form"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0585",
        "pantheon.css:rule-0586",
        "pantheon.css:rule-0587",
        "pantheon.css:rule-0588"
      ],
      "dataModel": "editorial prose",
      "editableFields": [
        "lead",
        "paragraphs[]: text"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "output": "hapantheon/manifesto",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_manifesto",
      "sourceFragmentSelectors": [
        ".manifesto"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0295",
        "pantheon.css:rule-0296",
        "pantheon.css:rule-0297",
        "pantheon.css:rule-0298",
        "pantheon.css:rule-0299",
        "pantheon.css:rule-0300",
        "pantheon.css:rule-0679",
        "pantheon.css:rule-0680",
        "pantheon.css:rule-0681",
        "pantheon.css:rule-0682",
        "pantheon.css:rule-0683",
        "pantheon.css:rule-0684",
        "pantheon.css:rule-0685",
        "pantheon.css:rule-0686",
        "pantheon.css:rule-0687",
        "pantheon.css:rule-0688",
        "pantheon.css:rule-0689"
      ],
      "dataModel": "editorial principles",
      "editableFields": [
        "eyebrow",
        "title",
        "items[]: title,body,icon"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "output": "hapantheon/pillars",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_pillars",
      "sourceFragmentSelectors": [
        ".pillars",
        ".pillar"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0589",
        "pantheon.css:rule-0590",
        "pantheon.css:rule-0591",
        "pantheon.css:rule-0592",
        "pantheon.css:rule-0593",
        "pantheon.css:rule-0594",
        "pantheon.css:rule-0595"
      ],
      "dataModel": "editorial chronology",
      "editableFields": [
        "eyebrow",
        "title",
        "items[]: year,title,body"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "output": "hapantheon/timeline",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_timeline",
      "sourceFragmentSelectors": [
        ".timeline",
        ".tl"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0596",
        "pantheon.css:rule-0597",
        "pantheon.css:rule-0598",
        "pantheon.css:rule-0599",
        "pantheon.css:rule-0600",
        "pantheon.css:rule-0601",
        "pantheon.css:rule-0602",
        "pantheon.css:rule-0603",
        "pantheon.css:rule-0604"
      ],
      "dataModel": "editorial workflow",
      "editableFields": [
        "eyebrow",
        "title",
        "lede",
        "items[]: number,title,body,note,success"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "output": "hapantheon/process",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_process",
      "sourceFragmentSelectors": [
        ".process",
        ".proc"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0605",
        "pantheon.css:rule-0606",
        "pantheon.css:rule-0607",
        "pantheon.css:rule-0608",
        "pantheon.css:rule-0609",
        "pantheon.css:rule-0610",
        "pantheon.css:rule-0611",
        "pantheon.css:rule-0612",
        "pantheon.css:rule-0613",
        "pantheon.css:rule-0614",
        "pantheon.css:rule-0615",
        "pantheon.css:rule-0616",
        "pantheon.css:rule-0617",
        "pantheon.css:rule-0618"
      ],
      "dataModel": "editorial profile and Media Library image",
      "editableFields": [
        "eyebrow",
        "title",
        "body",
        "imageUrl",
        "imageId",
        "buttonLabel",
        "buttonUrl"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "output": "hapantheon/keeper",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_keeper",
      "sourceFragmentSelectors": [
        ".keeper",
        ".kframe"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0210",
        "pantheon.css:rule-0211",
        "pantheon.css:rule-0291",
        "pantheon.css:rule-0454",
        "pantheon.css:rule-0564",
        "pantheon.css:rule-0565",
        "pantheon.css:rule-0566",
        "pantheon.css:rule-0567",
        "pantheon.css:rule-0568",
        "pantheon.css:rule-0569",
        "pantheon.css:rule-0570",
        "pantheon.css:rule-0571",
        "pantheon.css:rule-0572"
      ],
      "dataModel": "editorial oracle heading",
      "editableFields": [
        "eyebrow",
        "title",
        "lede",
        "quote"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "output": "hapantheon/oracle-hero",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_oracle_hero",
      "sourceFragmentSelectors": [
        ".ohero",
        ".oracle-q"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0573",
        "pantheon.css:rule-0574",
        "pantheon.css:rule-0575",
        "pantheon.css:rule-0576",
        "pantheon.css:rule-0577",
        "pantheon.css:rule-0578",
        "pantheon.css:rule-0579"
      ],
      "dataModel": "editorial question families",
      "editableFields": [
        "eyebrow",
        "title",
        "items[]: number,title,body,icon"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "output": "hapantheon/oracle-cards",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_oracle_cards",
      "sourceFragmentSelectors": [
        ".o-cards",
        ".o-card"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0580",
        "pantheon.css:rule-0581",
        "pantheon.css:rule-0582",
        "pantheon.css:rule-0583"
      ],
      "dataModel": "editorial CTA",
      "editableFields": [
        "eyebrow",
        "title",
        "lede",
        "buttonLabel",
        "buttonUrl"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "output": "hapantheon/oracle-ask",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_oracle_ask",
      "sourceFragmentSelectors": [
        ".o-ask"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0301",
        "pantheon.css:rule-0302",
        "pantheon.css:rule-0303",
        "pantheon.css:rule-0304",
        "pantheon.css:rule-0305",
        "pantheon.css:rule-0306",
        "pantheon.css:rule-0307",
        "pantheon.css:rule-0308",
        "pantheon.css:rule-0309",
        "pantheon.css:rule-0310",
        "pantheon.css:rule-0311",
        "pantheon.css:rule-0619",
        "pantheon.css:rule-0620"
      ],
      "dataModel": "editorial FAQ with source filter/single-open hooks",
      "editableFields": [
        "tabs[]: label,slug",
        "items[]: question,answer,category",
        "ctaTitle",
        "ctaBody",
        "buttonLabel",
        "buttonUrl"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "output": "hapantheon/faq-list",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_faq",
      "sourceFragmentSelectors": [
        ".faq-tabs",
        ".faq-wrap",
        ".faq",
        ".faq-more"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0312",
        "pantheon.css:rule-0313",
        "pantheon.css:rule-0314",
        "pantheon.css:rule-0322",
        "pantheon.css:rule-0323",
        "pantheon.css:rule-0324",
        "pantheon.css:rule-0621",
        "pantheon.css:rule-0622",
        "pantheon.css:rule-0623",
        "wordpress.css:rule-0090",
        "wordpress.css:rule-0091",
        "wordpress.css:rule-0092",
        "wordpress.css:rule-0093",
        "wordpress.css:rule-0094",
        "wordpress.css:rule-0348"
      ],
      "dataModel": "secure WordPress contact form plus editorial contact channels",
      "editableFields": [
        "eyebrow",
        "title",
        "lede",
        "email",
        "channels[]: title,body,icon,kind,value,url",
        "stats[]: value,label",
        "quote"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "output": "hapantheon/contact-layout",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_contact",
      "sourceFragmentSelectors": [
        ".contact-grid",
        ".cform",
        ".seg",
        ".contact-aside",
        ".contact-channel"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [
        "standard wp-block-hapantheon-* class is merged onto the existing source root; no new wrapper node"
      ],
      "contractDerivation": "attached assets/css/pantheon.css selector cluster plus assets/js/pantheon.js hooks",
      "cssRuleRefs": [
        "pantheon.css:rule-0265",
        "pantheon.css:rule-0266",
        "pantheon.css:rule-0267",
        "pantheon.css:rule-0268",
        "pantheon.css:rule-0269",
        "pantheon.css:rule-0270",
        "pantheon.css:rule-0271",
        "pantheon.css:rule-0272",
        "pantheon.css:rule-0273",
        "pantheon.css:rule-0274",
        "pantheon.css:rule-0277",
        "pantheon.css:rule-0278",
        "pantheon.css:rule-0279",
        "pantheon.css:rule-0280",
        "pantheon.css:rule-0281",
        "pantheon.css:rule-0282",
        "pantheon.css:rule-0534",
        "pantheon.css:rule-0535",
        "pantheon.css:rule-0536",
        "pantheon.css:rule-0537",
        "pantheon.css:rule-0538",
        "pantheon.css:rule-0539",
        "pantheon.css:rule-0540",
        "pantheon.css:rule-0541",
        "pantheon.css:rule-0542",
        "pantheon.css:rule-0543",
        "pantheon.css:rule-0544",
        "pantheon.css:rule-0563",
        "pantheon.css:rule-0690",
        "pantheon.css:rule-0691",
        "pantheon.css:rule-0692",
        "pantheon.css:rule-0693",
        "pantheon.css:rule-0694",
        "pantheon.css:rule-0695",
        "pantheon.css:rule-0696",
        "pantheon.css:rule-0704",
        "pantheon.css:rule-0705",
        "pantheon.css:rule-0706",
        "pantheon.css:rule-0707",
        "pantheon.css:rule-0708",
        "pantheon.css:rule-0709",
        "pantheon.css:rule-0710",
        "pantheon.css:rule-0711",
        "pantheon.css:rule-0712",
        "pantheon.css:rule-0713",
        "pantheon.css:rule-0714",
        "pantheon.css:rule-0715",
        "pantheon.css:rule-0716",
        "wordpress.css:rule-0040",
        "wordpress.css:rule-0045",
        "wordpress.css:rule-0068",
        "wordpress.css:rule-0117",
        "wordpress.css:rule-0118",
        "wordpress.css:rule-0119",
        "wordpress.css:rule-0120",
        "wordpress.css:rule-0122",
        "wordpress.css:rule-0174"
      ],
      "dataModel": "structured recipe data and Media Library images",
      "editableFields": [
        "ingredientsTitle",
        "ingredients[]: name,amount",
        "ratioLabel",
        "ratioValue",
        "ratioBody",
        "equipmentTitle",
        "equipment[]: text",
        "steps[]: title,body,time",
        "tipsTitle",
        "tips[]: text",
        "mediaEyebrow",
        "mediaTitle",
        "mediaLede",
        "gallery[]: imageUrl,imageId,caption,fallback",
        "videoPosterUrl",
        "videoId",
        "videoLabel",
        "videoDuration"
      ],
      "editor": "assets/js/source-blocks.js",
      "extraFrontendWrapper": false,
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "output": "hapantheon/recipe",
      "renderer": "inc/source-blocks.php::hapantheon_render_source_recipe",
      "sourceFragmentSelectors": [
        ".recipe",
        ".panel",
        ".ings",
        ".equip",
        ".steps",
        ".rtips",
        ".rgallery",
        ".gframe",
        ".vframe"
      ],
      "sourceHtmlAvailability": "not supplied; exact upstream HTML fragment is a recorded blocker",
      "sourceHtmlFile": null
    }
  ],
  "contractName": "HaPantheon source-preservation manifest",
  "demoImport": {
    "adminMenuLabel": "Import",
    "compositionConstraint": "Each independently editable source section is a named block comment; no core/group, core/columns or core/html occurs in corrected source compositions.",
    "dynamicCollections": [
      "hapantheon/top10 queries posts/categories",
      "hapantheon/rooms resolves category terms/counts",
      "hapantheon/featured resolves a post by ID/slug/latest fallback"
    ],
    "idempotent": true,
    "pageCompositionFiles": [
      "demo/content/index.blocks.html",
      "demo/content/about.blocks.html",
      "demo/content/oracle.blocks.html",
      "demo/content/faq.blocks.html",
      "demo/content/contact.blocks.html",
      "demo/content/recipe-body.blocks.html"
    ],
    "replaceExistingOption": true
  },
  "globalCssRuleRefs": [
    "pantheon.css:rule-0001",
    "pantheon.css:rule-0002",
    "pantheon.css:rule-0003",
    "pantheon.css:rule-0007",
    "pantheon.css:rule-0010",
    "pantheon.css:rule-0015",
    "pantheon.css:rule-0019",
    "pantheon.css:rule-0020",
    "pantheon.css:rule-0021",
    "pantheon.css:rule-0022",
    "pantheon.css:rule-0023",
    "pantheon.css:rule-0024",
    "pantheon.css:rule-0025",
    "pantheon.css:rule-0043",
    "pantheon.css:rule-0044",
    "pantheon.css:rule-0085",
    "pantheon.css:rule-0088",
    "pantheon.css:rule-0091",
    "pantheon.css:rule-0094",
    "pantheon.css:rule-0114",
    "pantheon.css:rule-0115",
    "pantheon.css:rule-0116",
    "pantheon.css:rule-0141",
    "pantheon.css:rule-0155",
    "pantheon.css:rule-0197",
    "pantheon.css:rule-0198",
    "pantheon.css:rule-0199",
    "pantheon.css:rule-0224",
    "pantheon.css:rule-0229",
    "pantheon.css:rule-0235",
    "pantheon.css:rule-0353",
    "pantheon.css:rule-0372",
    "pantheon.css:rule-0422",
    "pantheon.css:rule-0423",
    "pantheon.css:rule-0425",
    "pantheon.css:rule-0487",
    "pantheon.css:rule-0488",
    "pantheon.css:rule-0489",
    "pantheon.css:rule-0490",
    "pantheon.css:rule-0491",
    "pantheon.css:rule-0492",
    "pantheon.css:rule-0493",
    "pantheon.css:rule-0494",
    "pantheon.css:rule-0495",
    "pantheon.css:rule-0496",
    "pantheon.css:rule-0497",
    "pantheon.css:rule-0498",
    "pantheon.css:rule-0499",
    "pantheon.css:rule-0500",
    "pantheon.css:rule-0525",
    "pantheon.css:rule-0569",
    "pantheon.css:rule-0570",
    "pantheon.css:rule-0571",
    "pantheon.css:rule-0603",
    "pantheon.css:rule-0613",
    "pantheon.css:rule-0614",
    "pantheon.css:rule-0615",
    "pantheon.css:rule-0616",
    "pantheon.css:rule-0617",
    "pantheon.css:rule-0705",
    "pantheon.css:rule-0745",
    "pantheon.css:rule-0746",
    "pantheon.css:rule-0747",
    "pantheon.css:rule-0751"
  ],
  "interactions": [
    {
      "hooks": [
        ".tgl",
        "html[data-theme]",
        "localStorage:pantheon-theme"
      ],
      "name": "theme toggle",
      "status": "browser-tested in all 12 parity samples"
    },
    {
      "hooks": [
        ".rv",
        ".rv.in",
        "IntersectionObserver"
      ],
      "name": "reveal-on-intersection",
      "status": "source state forced to .in for deterministic captures; production hook retained unchanged"
    },
    {
      "hooks": [
        "[data-count]",
        "[data-fmt]"
      ],
      "name": "count-up",
      "status": "production reduced-motion terminal state covered in parity"
    },
    {
      "hooks": [
        ".t10tab[data-panel]",
        ".t10-panel.act"
      ],
      "name": "ranked tabs",
      "status": "browser-tested on homepage and oracle"
    },
    {
      "hooks": [
        ".gate-pag",
        ".gate .slice.act",
        ".gate-track"
      ],
      "name": "mobile gate pagination and swipe",
      "status": "pagination browser-tested at 390px; source JS hash retained for pointer swipe"
    },
    {
      "hooks": [
        ".view-switch",
        ".vbtn[data-view]",
        ".entries.v-list",
        ".entries.v-masonry"
      ],
      "name": "archive view switch",
      "status": "untouched template/hook and source JS hash-inventoried; live WordPress run blocked"
    },
    {
      "hooks": [
        ".seg button[data-contact-type]",
        "[data-hapantheon-contact-type]"
      ],
      "name": "contact segmented control",
      "status": "browser-tested"
    },
    {
      "hooks": [
        ".search-btn",
        "#smodal",
        ".smodal-close"
      ],
      "name": "search modal",
      "status": "untouched header/footer hooks and source JS hash-inventoried; live WordPress run blocked"
    },
    {
      "hooks": [
        ".burger",
        "#mmodal",
        ".mm-close",
        ".mm-search",
        ".mm-theme"
      ],
      "name": "mobile menu",
      "status": "untouched header/footer hooks and source JS hash-inventoried; live WordPress run blocked"
    },
    {
      "hooks": [
        ".a11y-btn",
        ".a11y-panel",
        ".a11y-opt[data-acc]"
      ],
      "name": "accessibility panel",
      "status": "browser-tested in all 12 parity samples"
    },
    {
      "hooks": [
        ".faq-tabs .tab[data-fcat]",
        ".faq[data-fcat]"
      ],
      "name": "FAQ filter and single-open accordion",
      "status": "browser-tested"
    },
    {
      "hooks": [
        ".rooms-grid",
        "pointerdown",
        "pointermove",
        "pointerup"
      ],
      "name": "mobile rooms pointer drag",
      "status": "source JS hash retained; DOM/responsive styles covered; pointer travel requires live URL/device matrix"
    },
    {
      "hooks": [
        ".gframe",
        ".lightbox",
        ".lb-close"
      ],
      "name": "recipe gallery lightbox",
      "status": "browser-tested"
    },
    {
      "hooks": [
        ".vframe[data-yt]",
        "playRecipeVideo"
      ],
      "name": "recipe video lazy embed",
      "status": "browser-tested with external request blocked"
    },
    {
      "hooks": [
        ".toc a"
      ],
      "name": "TOC scrollspy",
      "status": "untouched sidebar template and source JS hash-inventoried; live WordPress run blocked"
    },
    {
      "hooks": [
        ".float-bar",
        "[data-fb=\"copy\"]",
        "[data-fb=\"top\"]"
      ],
      "name": "floating article toolbar",
      "status": "untouched magazine template and source JS hash-inventoried; live WordPress run blocked"
    },
    {
      "hooks": [
        "[data-copy-url]"
      ],
      "name": "copy URL",
      "status": "hook/hash-inventoried; clipboard permission requires live secure context"
    }
  ],
  "parityEvidence": {
    "blocker": "The supplied package contains no pre-WordPress HTML files, original deployment URL, reference screenshots, database export, or runnable WordPress fixture. Independent original-source versus live-WordPress parity cannot be produced from the supplied inputs.",
    "contractFixturePass": true,
    "evidenceTypes": [
      "paired screenshots",
      "normalized browser DOM",
      "computed styles",
      "interaction results"
    ],
    "independentUpstreamReferenceAvailable": false,
    "liveWordPressVerified": false,
    "pages": [
      "home",
      "about",
      "oracle",
      "faq",
      "contact",
      "recipe"
    ],
    "summary": "verification/source-parity/summary.json",
    "viewports": [
      "1440x900",
      "390x844"
    ]
  },
  "prohibitedImplementationPatterns": [
    "generic core Group/Columns layout replacing source-specific frontend nodes",
    "Custom HTML page blobs",
    "page-sized monolithic block",
    "rewritten production pantheon.css or pantheon.js",
    "hardcoded record collections that should query WordPress posts/categories"
  ],
  "schemaVersion": 1,
  "sourceReference": {
    "attachedProductionCss": {
      "path": "assets/css/pantheon.css",
      "sha256": "3949d86e9187a0d538293b66d8f1c17ee47054f0def66e9e61c483e5efdbdb03",
      "unchangedFromAttachedSource": true
    },
    "attachedProductionJavascript": {
      "path": "assets/js/pantheon.js",
      "sha256": "9288585ba44148f24f21af6a57711a93c680ad1bcaa34e37c10e001819504863",
      "unchangedFromAttachedSource": true
    },
    "inventory": "verification/source-parity/inventory.json",
    "originalDeploymentUrl": null,
    "preWordPressHtmlFiles": [],
    "referenceScreenshots": [],
    "status": "bounded-selector-contract-only"
  },
  "templates": [
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "pantheon.css:rule-0028",
        "pantheon.css:rule-0029",
        "pantheon.css:rule-0030",
        "pantheon.css:rule-0031",
        "pantheon.css:rule-0033",
        "pantheon.css:rule-0039",
        "pantheon.css:rule-0040",
        "pantheon.css:rule-0041",
        "pantheon.css:rule-0042",
        "pantheon.css:rule-0043",
        "pantheon.css:rule-0044",
        "pantheon.css:rule-0046",
        "pantheon.css:rule-0047",
        "pantheon.css:rule-0048",
        "pantheon.css:rule-0049",
        "pantheon.css:rule-0050",
        "pantheon.css:rule-0051",
        "pantheon.css:rule-0052",
        "pantheon.css:rule-0053",
        "pantheon.css:rule-0054",
        "pantheon.css:rule-0055",
        "pantheon.css:rule-0254",
        "pantheon.css:rule-0342",
        "pantheon.css:rule-0343",
        "pantheon.css:rule-0344",
        "pantheon.css:rule-0391",
        "pantheon.css:rule-0392",
        "pantheon.css:rule-0393",
        "pantheon.css:rule-0394",
        "pantheon.css:rule-0399",
        "pantheon.css:rule-0400",
        "pantheon.css:rule-0401",
        "pantheon.css:rule-0492",
        "pantheon.css:rule-0493",
        "pantheon.css:rule-0494",
        "pantheon.css:rule-0523",
        "wordpress.css:rule-0018",
        "wordpress.css:rule-0029",
        "wordpress.css:rule-0030",
        "wordpress.css:rule-0031"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "js": [
        "theme toggle",
        "search modal",
        "mobile menu",
        "nav state",
        "reading progress"
      ],
      "path": "header.php",
      "role": "document start, progress indicator, source navigation and main landmark",
      "roots": [
        ".progress",
        ".nav#nav",
        ".nav-in",
        ".brand",
        ".primary-navigation",
        ".search-btn",
        ".tgl",
        ".burger",
        "main#primary"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "pantheon.css:rule-0228",
        "pantheon.css:rule-0229",
        "pantheon.css:rule-0230",
        "pantheon.css:rule-0231",
        "pantheon.css:rule-0328",
        "pantheon.css:rule-0329",
        "pantheon.css:rule-0330",
        "pantheon.css:rule-0331",
        "pantheon.css:rule-0332",
        "pantheon.css:rule-0333",
        "pantheon.css:rule-0334",
        "pantheon.css:rule-0335",
        "pantheon.css:rule-0336",
        "pantheon.css:rule-0337",
        "pantheon.css:rule-0338",
        "pantheon.css:rule-0339",
        "pantheon.css:rule-0375",
        "pantheon.css:rule-0376",
        "pantheon.css:rule-0377",
        "pantheon.css:rule-0378",
        "pantheon.css:rule-0383",
        "pantheon.css:rule-0384",
        "wordpress.css:rule-0102",
        "wordpress.css:rule-0103",
        "wordpress.css:rule-0104",
        "wordpress.css:rule-0143",
        "wordpress.css:rule-0144",
        "wordpress.css:rule-0145",
        "wordpress.css:rule-0146",
        "wordpress.css:rule-0147",
        "wordpress.css:rule-0148",
        "wordpress.css:rule-0152",
        "wordpress.css:rule-0153",
        "wordpress.css:rule-0154",
        "wordpress.css:rule-0155",
        "wordpress.css:rule-0177",
        "wordpress.css:rule-0178",
        "wordpress.css:rule-0179",
        "wordpress.css:rule-0180",
        "wordpress.css:rule-0181",
        "wordpress.css:rule-0182",
        "wordpress.css:rule-0183",
        "wordpress.css:rule-0184"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "js": [
        "newsletter form",
        "search modal",
        "mobile menu",
        "theme toggle"
      ],
      "path": "footer.php",
      "role": "source footer, editable menu columns, search modal and mobile-menu modal",
      "roots": [
        ".footer",
        ".footer-grid",
        ".fnews",
        ".smodal#smodal",
        ".mmodal#mmodal"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "wordpress.css:rule-0162",
        "wordpress.css:rule-0163"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "js": [
        "all child source-block behaviors"
      ],
      "path": "front-page.php",
      "role": "front page block composition or import onboarding fallback",
      "roots": [
        "main#primary > .gate",
        "main#primary > .page-hero",
        ".theme-onboarding"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "js": [
        "all child source-block behaviors"
      ],
      "path": "templates/page-full-layout.php",
      "role": "source-preserving page template with block roots directly under main",
      "roots": [
        "main#primary > .wp-block-hapantheon-*"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "pantheon.css:rule-0232",
        "pantheon.css:rule-0233",
        "pantheon.css:rule-0234",
        "pantheon.css:rule-0235",
        "pantheon.css:rule-0340"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "js": [
        "reveal"
      ],
      "path": "page.php",
      "role": "default page title and article body",
      "roots": [
        ".page-hero",
        ".page-content.art-body"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "pantheon.css:rule-0232",
        "pantheon.css:rule-0233",
        "pantheon.css:rule-0234",
        "pantheon.css:rule-0235",
        "pantheon.css:rule-0240",
        "pantheon.css:rule-0241",
        "pantheon.css:rule-0242",
        "pantheon.css:rule-0243",
        "pantheon.css:rule-0244",
        "pantheon.css:rule-0245",
        "pantheon.css:rule-0246",
        "pantheon.css:rule-0247",
        "pantheon.css:rule-0248",
        "pantheon.css:rule-0249",
        "pantheon.css:rule-0250",
        "pantheon.css:rule-0251",
        "pantheon.css:rule-0252",
        "pantheon.css:rule-0253",
        "pantheon.css:rule-0340",
        "pantheon.css:rule-0463",
        "pantheon.css:rule-0468",
        "pantheon.css:rule-0469",
        "pantheon.css:rule-0470",
        "pantheon.css:rule-0471",
        "pantheon.css:rule-0472",
        "pantheon.css:rule-0473",
        "pantheon.css:rule-0474",
        "pantheon.css:rule-0475",
        "pantheon.css:rule-0476",
        "pantheon.css:rule-0477",
        "pantheon.css:rule-0478",
        "pantheon.css:rule-0479",
        "pantheon.css:rule-0480",
        "pantheon.css:rule-0481",
        "pantheon.css:rule-0766",
        "wordpress.css:rule-0055",
        "wordpress.css:rule-0056",
        "wordpress.css:rule-0057",
        "wordpress.css:rule-0058",
        "wordpress.css:rule-0059",
        "wordpress.css:rule-0060",
        "wordpress.css:rule-0061",
        "wordpress.css:rule-0062",
        "wordpress.css:rule-0067",
        "wordpress.css:rule-0068",
        "wordpress.css:rule-0069",
        "wordpress.css:rule-0171",
        "wordpress.css:rule-0172"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "js": [
        "archive view switch"
      ],
      "path": "template-parts/archive-layout.php",
      "role": "posts page, category, search and archive listing",
      "roots": [
        ".page-hero",
        ".archive-shell",
        ".archive-tabs",
        ".view-switch",
        ".entries",
        ".entry",
        ".archive-pagination"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "pantheon.css:rule-0215",
        "pantheon.css:rule-0216",
        "pantheon.css:rule-0217",
        "pantheon.css:rule-0218",
        "pantheon.css:rule-0219",
        "pantheon.css:rule-0220",
        "pantheon.css:rule-0221",
        "pantheon.css:rule-0222",
        "pantheon.css:rule-0227",
        "pantheon.css:rule-0255",
        "pantheon.css:rule-0256",
        "pantheon.css:rule-0340",
        "pantheon.css:rule-0554",
        "pantheon.css:rule-0555",
        "pantheon.css:rule-0675",
        "pantheon.css:rule-0676",
        "pantheon.css:rule-0677",
        "pantheon.css:rule-0722",
        "wordpress.css:rule-0040",
        "wordpress.css:rule-0041",
        "wordpress.css:rule-0053",
        "wordpress.css:rule-0093",
        "wordpress.css:rule-0099",
        "wordpress.css:rule-0100",
        "wordpress.css:rule-0101",
        "wordpress.css:rule-0102",
        "wordpress.css:rule-0103",
        "wordpress.css:rule-0106",
        "wordpress.css:rule-0107",
        "wordpress.css:rule-0173",
        "wordpress.css:rule-0174"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "js": [
        "reading progress",
        "reveal",
        "copy link"
      ],
      "path": "single.php",
      "role": "standard article",
      "roots": [
        "article.hentry",
        ".art-hero",
        ".article-feature-wrap",
        ".article-content",
        ".related",
        ".news"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "pantheon.css:rule-0741",
        "pantheon.css:rule-0742",
        "pantheon.css:rule-0743",
        "pantheon.css:rule-0744",
        "pantheon.css:rule-0745",
        "pantheon.css:rule-0746",
        "pantheon.css:rule-0747",
        "pantheon.css:rule-0748",
        "pantheon.css:rule-0749",
        "pantheon.css:rule-0750",
        "pantheon.css:rule-0751",
        "pantheon.css:rule-0752",
        "pantheon.css:rule-0753",
        "pantheon.css:rule-0754",
        "pantheon.css:rule-0755",
        "pantheon.css:rule-0756",
        "pantheon.css:rule-0757",
        "wordpress.css:rule-0042",
        "wordpress.css:rule-0116",
        "wordpress.css:rule-0175"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "js": [
        "reading progress",
        "floating actions"
      ],
      "path": "templates/post-hero.php",
      "role": "magazine hero article",
      "roots": [
        ".article-magazine-template",
        ".mag-hero",
        ".mag-hero-in",
        ".magazine-content",
        ".float-bar"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "pantheon.css:rule-0723",
        "pantheon.css:rule-0724",
        "pantheon.css:rule-0725",
        "pantheon.css:rule-0726",
        "pantheon.css:rule-0729",
        "pantheon.css:rule-0730",
        "pantheon.css:rule-0731",
        "pantheon.css:rule-0732",
        "wordpress.css:rule-0041",
        "wordpress.css:rule-0043",
        "wordpress.css:rule-0044",
        "wordpress.css:rule-0053",
        "wordpress.css:rule-0167",
        "wordpress.css:rule-0168",
        "wordpress.css:rule-0173",
        "wordpress.css:rule-0176"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "js": [
        "reading progress",
        "TOC scrollspy"
      ],
      "path": "templates/post-sidebar.php",
      "role": "article with generated table of contents",
      "roots": [
        ".article-sidebar-template",
        ".compact-article-hero",
        ".art-layout",
        ".art-side",
        ".toc",
        ".sidebar-feature",
        ".article-content"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "pantheon.css:rule-0255",
        "pantheon.css:rule-0256",
        "pantheon.css:rule-0340",
        "pantheon.css:rule-0527",
        "pantheon.css:rule-0528",
        "pantheon.css:rule-0529",
        "pantheon.css:rule-0530",
        "pantheon.css:rule-0531",
        "pantheon.css:rule-0532",
        "pantheon.css:rule-0533",
        "pantheon.css:rule-0722",
        "wordpress.css:rule-0040",
        "wordpress.css:rule-0045",
        "wordpress.css:rule-0117",
        "wordpress.css:rule-0118",
        "wordpress.css:rule-0119",
        "wordpress.css:rule-0120",
        "wordpress.css:rule-0121",
        "wordpress.css:rule-0122",
        "wordpress.css:rule-0174"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "js": [
        "recipe lightbox",
        "recipe video",
        "reading progress"
      ],
      "path": "templates/post-recipe.php",
      "role": "recipe article shell and structured recipe fields",
      "roots": [
        ".recipe-article-template",
        ".art-hero",
        ".rmeta",
        ".recipe-feature-wrap",
        ".recipe-content",
        ".recipe-after"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "wordpress.css:rule-0160"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "js": [
        "theme/accessibility global controls"
      ],
      "path": "404.php",
      "role": "not-found page",
      "roots": [
        ".ohero.not-found-page",
        ".not-found-actions"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "wordpress.css:rule-0123",
        "wordpress.css:rule-0125",
        "wordpress.css:rule-0126"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "js": [],
      "path": "comments.php",
      "role": "native comments list/form",
      "roots": [
        ".comments-area",
        ".comment-list"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "wordpress.css:rule-0072",
        "wordpress.css:rule-0073",
        "wordpress.css:rule-0074",
        "wordpress.css:rule-0075",
        "wordpress.css:rule-0076",
        "wordpress.css:rule-0077",
        "wordpress.css:rule-0078",
        "wordpress.css:rule-0079",
        "wordpress.css:rule-0080",
        "wordpress.css:rule-0086",
        "wordpress.css:rule-0087",
        "wordpress.css:rule-0088",
        "wordpress.css:rule-0161"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "js": [],
      "path": "searchform.php",
      "role": "native search form",
      "roots": [
        ".search-form",
        ".search-field",
        ".search-submit"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "wordpress.css:rule-0063",
        "wordpress.css:rule-0064",
        "wordpress.css:rule-0065",
        "wordpress.css:rule-0066",
        "wordpress.css:rule-0072",
        "wordpress.css:rule-0073",
        "wordpress.css:rule-0074",
        "wordpress.css:rule-0075",
        "wordpress.css:rule-0076",
        "wordpress.css:rule-0077",
        "wordpress.css:rule-0086",
        "wordpress.css:rule-0087",
        "wordpress.css:rule-0088",
        "wordpress.css:rule-0161"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [],
      "js": [],
      "path": "template-parts/content-none.php",
      "role": "empty archive state",
      "roots": [
        ".empty-archive",
        ".search-form"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "pantheon.css:rule-0322",
        "pantheon.css:rule-0323",
        "pantheon.css:rule-0324"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "js": [
        "contact segmented control"
      ],
      "path": "inc/forms.php",
      "role": "secure newsletter and contact form source roots",
      "roots": [
        "form.news-form",
        "form.cform",
        ".seg",
        "[data-hapantheon-contact-type]"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    },
    {
      "allowedDeviations": [],
      "cssRuleRefs": [
        "pantheon.css:rule-0202",
        "pantheon.css:rule-0203",
        "pantheon.css:rule-0215",
        "pantheon.css:rule-0216",
        "pantheon.css:rule-0217",
        "pantheon.css:rule-0218",
        "pantheon.css:rule-0219",
        "pantheon.css:rule-0220",
        "pantheon.css:rule-0221",
        "pantheon.css:rule-0222",
        "pantheon.css:rule-0227",
        "pantheon.css:rule-0241",
        "pantheon.css:rule-0242",
        "pantheon.css:rule-0243",
        "pantheon.css:rule-0244",
        "pantheon.css:rule-0245",
        "pantheon.css:rule-0246",
        "pantheon.css:rule-0247",
        "pantheon.css:rule-0248",
        "pantheon.css:rule-0249",
        "pantheon.css:rule-0250",
        "pantheon.css:rule-0251",
        "pantheon.css:rule-0252",
        "pantheon.css:rule-0253",
        "pantheon.css:rule-0470",
        "pantheon.css:rule-0471",
        "pantheon.css:rule-0472",
        "pantheon.css:rule-0473",
        "pantheon.css:rule-0474",
        "pantheon.css:rule-0476",
        "pantheon.css:rule-0477",
        "pantheon.css:rule-0478",
        "pantheon.css:rule-0479",
        "pantheon.css:rule-0545",
        "pantheon.css:rule-0546",
        "pantheon.css:rule-0547",
        "pantheon.css:rule-0548",
        "pantheon.css:rule-0549",
        "pantheon.css:rule-0550",
        "pantheon.css:rule-0551",
        "pantheon.css:rule-0552",
        "pantheon.css:rule-0553",
        "pantheon.css:rule-0554",
        "pantheon.css:rule-0555",
        "pantheon.css:rule-0556",
        "pantheon.css:rule-0557",
        "pantheon.css:rule-0675",
        "pantheon.css:rule-0676",
        "pantheon.css:rule-0677",
        "wordpress.css:rule-0052",
        "wordpress.css:rule-0067",
        "wordpress.css:rule-0068",
        "wordpress.css:rule-0069",
        "wordpress.css:rule-0093",
        "wordpress.css:rule-0099",
        "wordpress.css:rule-0100",
        "wordpress.css:rule-0101",
        "wordpress.css:rule-0102",
        "wordpress.css:rule-0103",
        "wordpress.css:rule-0106",
        "wordpress.css:rule-0107",
        "wordpress.css:rule-0108",
        "wordpress.css:rule-0109",
        "wordpress.css:rule-0110",
        "wordpress.css:rule-0111",
        "wordpress.css:rule-0112",
        "wordpress.css:rule-0113",
        "wordpress.css:rule-0114",
        "wordpress.css:rule-0115"
      ],
      "governingCss": [
        "assets/css/pantheon.css",
        "assets/css/wordpress.css"
      ],
      "governingJavascript": [
        "assets/js/pantheon.js"
      ],
      "js": [
        "copy link",
        "reveal"
      ],
      "path": "inc/template-tags.php",
      "role": "post cards, metadata, sharing, author, adjacent navigation, related posts and post newsletter",
      "roots": [
        ".entry",
        ".meta",
        ".share",
        ".author-box",
        ".prevnext",
        ".related",
        ".news"
      ],
      "sourceHtmlAvailability": "not supplied; mapping is bound to the attached PHP/source selector contract",
      "sourceHtmlFile": null
    }
  ],
  "theme": {
    "architecture": "classic/hybrid Gutenberg theme with server-rendered source blocks",
    "name": "HaPantheon",
    "textDomain": "hapantheon",
    "version": "2.1.0"
  }
}
