SEO Configuration
Supported tokens
SGEN CMS | Site Generation Engine Networkhttps://sgen.com/SEO Optimizationhttps://sgen.com/product/seo-optimization{"sgBuilder":{"component":{"type":"editable","classes":["sgBuilder--wrapper","editable"],"components":[{"type":"sgb-site-settings","classes":["sgb-site-settings"],"attributes":{"data-sgb-site-settings":"true","idKey":"mqovav5qb4j2e","cssValue":":root { --body-font-size: 18px;--body-font-family: Inter;--headings_1-font-size: 70px;--headings_2-font-size: 52px;--headings_3-font-size: 40px;--headings_4-font-size: 24px;--headings_5-font-size: 20px;--headings_6-font-size: 18px;--color-body: #f9f9f9;--color-text: #000000;--container-width: 1447px;--color-accent: #d51522;--color-accent_hover: #e61938;--color-primary: #d51522;--color-primary_hover: #e61938;--color-secondary: #242424;--color-secondary_hover: #141414;--color-success: #57d367;--color-info: #2dcfe9;--color-warning: #e9af43;--color-danger: #fd7379;--color-light: #e8e8e8;--color-dark: #000000; } .sgBuilder--wrapper section, .sgBuilder--wrapper .section, .sgBuilder--wrapper .sg-section { padding-top: 75px; padding-right: 0px; padding-bottom: 75px; padding-left: 0px; } \n .sgBuilder--wrapper h1, .sgbuilder-wrapper h1 { font-family: var(--headings_1-font-family, inherit); font-size: var(--headings_1-font-size, inherit); }\n .sgBuilder--wrapper h2, .sgbuilder-wrapper h2 { font-family: var(--headings_2-font-family, inherit); font-size: var(--headings_2-font-size, inherit); }\n .sgBuilder--wrapper h3, .sgbuilder-wrapper h3 { font-family: var(--headings_3-font-family, inherit); font-size: var(--headings_3-font-size, inherit); }\n .sgBuilder--wrapper h4, .sgbuilder-wrapper h4 { font-family: var(--headings_4-font-family, inherit); font-size: var(--headings_4-font-size, inherit); }\n .sgBuilder--wrapper h5, .sgbuilder-wrapper h5 { font-family: var(--headings_5-font-family, inherit); font-size: var(--headings_5-font-size, inherit); }\n .sgBuilder--wrapper h6, .sgbuilder-wrapper h6 { font-family: var(--headings_6-font-family, inherit); font-size: var(--headings_6-font-size, inherit); }\n .btn { font-size: 18px; border-width: 1px; padding-top: 15px; padding-right: 25px; padding-bottom: 15px; padding-left: 25px; border-top-left-radius: 7px; border-top-right-radius: 7px; border-bottom-right-radius: 7px; border-bottom-left-radius: 7px; } .btn.btn-primary { color: #ffffff; background-color: #d51522; border-color: #d51522; } .btn.btn-outline-primary { color: #d51522; border-color: #d51522; } .btn.btn-primary:hover { color: #ffffff; background-color: #e61938; border-color: #e61938; } .btn.btn-outline-primary:hover { color: #ffffff; background-color: #e61938; border-color: #e61938; }","sgbSiteSettings":{"typhography":{"body":{"font_family":"Inter","font_size":{"default":"18","tablet":"16"}},"h1":{"font_family":"","font_size":{"default":"70","tablet":"52"}},"h2":{"font_family":"","font_size":{"default":"52","tablet":"40"}},"h3":{"font_family":"","font_size":{"default":"40","tablet":"28"}},"h4":{"font_family":"","font_size":{"default":"24","tablet":"20"}},"h5":{"font_family":"","font_size":{"default":"20","tablet":"18"}},"h6":{"font_family":"","font_size":{"default":"18","tablet":"16"}}},"colors":{"body":"#f9f9f9","text":"#000000","accent":{"default":"#d51522","hover":"#e61938"},"primary":{"default":"#d51522","hover":"#e61938"},"secondary":{"default":"#242424","hover":"#141414"},"success":{"default":"#57d367","hover":""},"info":{"default":"#2dcfe9","hover":""},"warning":{"default":"#e9af43","hover":""},"danger":{"default":"#fd7379","hover":""},"light":{"default":"#e8e8e8","hover":""},"dark":{"default":"#000000","hover":""}},"layout":{"theme_mode":"light","width":{"default":"1447"},"section":{"padding":{"top":{"default":"75","tablet":"50"},"right":{"default":"0"},"bottom":{"default":"75","tablet":"50"},"left":{"default":"0"}}}},"button":{"theme":"Default","font_family":"","font_size":{"default":"18","tablet":"15"},"border_width":{"default":"1"},"border_radius":{"top":{"default":"7"},"right":{"default":"7"},"bottom":{"default":"7"},"left":{"default":"7"}},"padding":{"top":{"default":"15","tablet":"10"},"right":{"default":"25","tablet":"20"},"bottom":{"default":"15","tablet":"10"},"left":{"default":"25","tablet":"20"}},"colors":{"accent":{"default":[],"hover":[]},"primary":{"default":{"text":"#ffffff","background_color":"#d51522","border_color":"#d51522"},"hover":{"text":"#ffffff","background_color":"#e61938","border_color":"#e61938"}},"secondary":{"default":[],"hover":[]},"success":{"default":[],"hover":[]},"info":{"default":[],"hover":[]},"warning":{"default":[],"hover":[]},"danger":{"default":[],"hover":[]},"light":{"default":[],"hover":[]},"dark":{"default":[],"hover":[]}}},"accessibility":{"enabled":"0","alignment":"right","colors":{"theme":"#2196f3","background_color":"#16191b","text":"#deeffd"}},"accessibee":{"alignment":"right","colors":{"theme":"#2196f3","background_color":"#16191b","text":"#deeffd"}}},"_styles":[{"device_id":"sg-desktop","media":0,"css":[]},{"device_id":"sg-laptop","media":1199,"css":[]},{"device_id":"sg-notebook","media":991,"css":[]},{"device_id":"sg-tablet","media":767,"css":[]},{"device_id":"sg-mobile-lg","media":575,"css":[]},{"device_id":"sg-mobile-sm","media":480,"css":[]}]},"propagate":[]},{"type":"sgb-component-code","name":"Code","classes":["sgb-component-code"],"attributes":{"data-component-id":"mqovb238uckkr","id":"comp_mqovb239f08ft","_styles":[{"device_id":"sg-desktop","media":0,"css":[]},{"device_id":"sg-laptop","media":1199,"css":[]},{"device_id":"sg-notebook","media":991,"css":[]},{"device_id":"sg-tablet","media":767,"css":[]},{"device_id":"sg-mobile-lg","media":575,"css":[]},{"device_id":"sg-mobile-sm","media":480,"css":[]}],"content":"\u003Cmain id=\"main\"\u003E\n\u003C!-- 1 \u00b7 HERO \u00b7 the SEO Manager landing table --\u003E\n\u003Csection class=\"sec se-hero surface-dark has-atmos\"\u003E\n \u003Cdiv class=\"wrap\"\u003E\n \u003Cdiv class=\"lede reveal\"\u003E\n \u003Cdiv class=\"eyebrow\"\u003ENative module \u00b7 SEO Manager\u003C\/div\u003E\n \u003Ch1\u003ESGEN SEO optimization: audit every page, \u003Cspan class=\"grad\"\u003Efix it inline.\u003C\/span\u003E\u003C\/h1\u003E\n \u003Cp class=\"lead\"\u003EThe SGEN SEO Manager lists every page on your site in a single dense table with up to 18 configurable columns, Focus Keyword, H1, H2 Count, Word Count, Index Status, Schema Type, OG Image, URL Slug, Last Modified, and more, and flags the issues on each row with a badge you can read at a glance.\u003C\/p\u003E\n \u003Cp class=\"beat\"\u003EClick any SEO Title or Meta Description cell to edit it in place, set per-page JSON-LD schema, pick your permalink structure, verify Google Search Console, and edit a live robots.txt, all from the nine-item SEO sidebar built into the CMS. This is the command station, three jobs in one screen: audit, fix inline, navigate.\u003C\/p\u003E\n \u003Cdiv class=\"se-jobs\"\u003E\n \u003Cspan class=\"jb\"\u003E\u003Cb\u003EAudit\u003C\/b\u003E every page\u003C\/span\u003E\u003Cspan class=\"jb\"\u003E\u003Cb\u003EFix inline\u003C\/b\u003E in the cell\u003C\/span\u003E\u003Cspan class=\"jb\"\u003E\u003Cb\u003ENavigate\u003C\/b\u003E the whole site\u003C\/span\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"cta flex\"\u003E\n \u003Ca class=\"btn btn-primary\" href=\"..\/pricing\"\u003EStart Building \u003Cspan class=\"arr\"\u003E\u2192\u003C\/span\u003E\u003C\/a\u003E\n \u003Ca class=\"btn btn-secondary\" href=\"..\/pricing\"\u003ECompare Plans\u003C\/a\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n\n \u003Cdiv class=\"stage reveal\" data-d=\"1\"\u003E\n \u003Cdiv class=\"adwin rdark\" aria-hidden=\"true\"\u003E\n \u003Cdiv class=\"adbar\"\u003E\u003Cspan class=\"ic\"\u003E\u003C\/span\u003E\u003Cspan class=\"ti\"\u003ESEO Manager\u003Csmall\u003EOptimize all pages in one place\u003C\/small\u003E\u003C\/span\u003E\u003Cspan class=\"act ghost\"\u003E\u25a6 Columns\u003C\/span\u003E\u003Cspan class=\"act\"\u003E\u2913 Export\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"setool\"\u003E\n \u003Cspan class=\"srch\"\u003E\u003Cspan class=\"in\"\u003ESearch pages...\u003C\/span\u003E\u003Cspan class=\"go\"\u003ESearch\u003C\/span\u003E\u003C\/span\u003E\n \u003Cspan class=\"dd\"\u003EAll Types \u003Cspan class=\"cv\"\u003E\u25be\u003C\/span\u003E\u003C\/span\u003E\n \u003Cspan class=\"dd\"\u003EAll Status \u003Cspan class=\"cv\"\u003E\u25be\u003C\/span\u003E\u003C\/span\u003E\n \u003Cspan class=\"dd\"\u003EAll Schema \u003Cspan class=\"cv\"\u003E\u25be\u003C\/span\u003E\u003C\/span\u003E\n \u003Cspan class=\"iss\"\u003E\u26a0 Issues \u003Cspan class=\"ct\"\u003E13\u003C\/span\u003E\u003C\/span\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"sesum\"\u003E\u003Cb\u003E56 issues\u003C\/b\u003E across \u003Cb\u003E13 pages\u003C\/b\u003E\u003Cspan class=\"hint\"\u003Elive, content-dependent\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"setab\"\u003E\n \u003Cdiv class=\"th\"\u003E\u003Cspan class=\"chk\"\u003E\u003C\/span\u003E\u003Cspan\u003EPage Title\u003C\/span\u003E\u003Cspan\u003EType\u003C\/span\u003E\u003Cspan\u003EStatus\u003C\/span\u003E\u003Cspan\u003EFeatured\u003C\/span\u003E\u003Cspan\u003EIssues\u003C\/span\u003E\u003Cspan\u003ESEO Title\u003C\/span\u003E\u003Cspan\u003EMeta Description\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"tr\"\u003E\u003Cspan class=\"chk\"\u003E\u003C\/span\u003E\u003Cspan class=\"pt\"\u003EOur Team\u003C\/span\u003E\u003Cspan class=\"typ\"\u003EPage\u003C\/span\u003E\u003Cspan class=\"stp\"\u003EPublished\u003C\/span\u003E\u003Cspan class=\"ft\"\u003E\u003C\/span\u003E\u003Cspan class=\"is\"\u003E+4\u003C\/span\u003E\u003Cspan class=\"se edit\"\u003EOur Team \u003Cspan class=\"pen\"\u003Eedit\u003C\/span\u003E\u003C\/span\u003E\u003Cspan class=\"se\"\u003EMeet the people b...\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"tr\"\u003E\u003Cspan class=\"chk\"\u003E\u003C\/span\u003E\u003Cspan class=\"pt\"\u003ESG Builder Post: Why Visual Edi...\u003Csmall\u003Eblog post\u003C\/small\u003E\u003C\/span\u003E\u003Cspan class=\"typ\"\u003EBlog\u003C\/span\u003E\u003Cspan class=\"stp\"\u003EPublished\u003C\/span\u003E\u003Cspan class=\"ft\"\u003E\u003C\/span\u003E\u003Cspan class=\"is\"\u003E+5\u003C\/span\u003E\u003Cspan class=\"se edit\"\u003EWhy Visual Editing \u003Cspan class=\"pen\"\u003Eedit\u003C\/span\u003E\u003C\/span\u003E\u003Cspan class=\"se\"\u003E\u003Cspan class=\"ph\"\u003EClick to edit\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"tr\"\u003E\u003Cspan class=\"chk\"\u003E\u003C\/span\u003E\u003Cspan class=\"pt\"\u003EAbout Us\u003C\/span\u003E\u003Cspan class=\"typ\"\u003EPage\u003C\/span\u003E\u003Cspan class=\"stp\"\u003EPublished\u003C\/span\u003E\u003Cspan class=\"ft\"\u003E\u003C\/span\u003E\u003Cspan class=\"is\"\u003E+3\u003C\/span\u003E\u003Cspan class=\"se edit\"\u003EAbout Our Company \u003Cspan class=\"tok\"\u003ESGEN CMS | Site Generation Engine Network\u003C\/span\u003E\u003C\/span\u003E\u003Cspan class=\"se\"\u003ELearn about the te...\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"tr\"\u003E\u003Cspan class=\"chk\"\u003E\u003C\/span\u003E\u003Cspan class=\"pt\"\u003EContact Us\u003C\/span\u003E\u003Cspan class=\"typ\"\u003EPage\u003C\/span\u003E\u003Cspan class=\"stp\"\u003EPublished\u003C\/span\u003E\u003Cspan class=\"ft\"\u003E\u003C\/span\u003E\u003Cspan class=\"is\"\u003E+4\u003C\/span\u003E\u003Cspan class=\"se edit\"\u003EContact Us \u003Cspan class=\"tok\"\u003ESGEN CMS | Site Generation Engine Network\u003C\/span\u003E\u003C\/span\u003E\u003Cspan class=\"se\"\u003E\u003Cspan class=\"ph\"\u003EClick to edit\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"tr\"\u003E\u003Cspan class=\"chk\"\u003E\u003C\/span\u003E\u003Cspan class=\"pt\"\u003ELegal, Privacy Policy\u003C\/span\u003E\u003Cspan class=\"typ\"\u003EPage\u003C\/span\u003E\u003Cspan class=\"stp\"\u003EPublished\u003C\/span\u003E\u003Cspan class=\"ft\"\u003E\u003C\/span\u003E\u003Cspan class=\"is\"\u003E+5\u003C\/span\u003E\u003Cspan class=\"se edit\"\u003EPrivacy Policy \u003Cspan class=\"tok\"\u003ESGEN CMS | Site Generation Engine Network\u003C\/span\u003E\u003C\/span\u003E\u003Cspan class=\"se\"\u003EHow we handle yo...\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"serow-controls\"\u003E\n Per row: \u003Cspan\u003EEdit\u003C\/span\u003E \u00b7 \u003Cspan\u003EView live\u003C\/span\u003E \u00b7 \u003Cspan\u003ESchema\u003C\/span\u003E \u00b7 \u003Cspan\u003ETrash\u003C\/span\u003E\n \u003Cspan class=\"idx\"\u003EIndex Status \u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/span\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n\u003C\/section\u003E\n\n\u003C!-- 2 \u00b7 THE TABLE DEPTH (18 columns) --\u003E\n\u003Csection class=\"sec sec--warm\"\u003E\n \u003Cdiv class=\"wrap\"\u003E\n \u003Cdiv class=\"readw reveal\"\u003E\n \u003Cdiv class=\"eyebrow\"\u003EEighteen columns, not two\u003C\/div\u003E\n \u003Ch2 class=\"h2\"\u003EEvery SEO signal on every page, \u003Cspan class=\"grad\"\u003Ein one view.\u003C\/span\u003E\u003C\/h2\u003E\n \u003Cp class=\"lead\" style=\"margin-top:16px\"\u003EThe SEO Manager is not a title-and-meta form. A Visible Columns picker exposes 18 toggleable columns, so the table shows the content signals (Focus Keyword, H1, H2 Count, Word Count), the status signals (Index Status, Schema Status, Schema Type), the URL and social fields (URL Slug, OG Image), and the housekeeping dates (Published Date, Last Modified), on top of the always-there Page Title, Page Type, Status, Featured Image, SEO Title, Meta Description, and Issues badge.\u003C\/p\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"grid g-3\" style=\"margin-top:42px\"\u003E\n \u003Cdiv class=\"card reveal\"\u003E\u003Cdiv class=\"ico\"\u003E\u003Cspan class=\"m\"\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Ch3 class=\"h3\"\u003EContent signals\u003C\/h3\u003E\u003Cp style=\"margin-top:10px\"\u003EFocus Keyword, H1, H2 Count, and Word Count sit in their own columns, so a thin page or a missing H1 shows up in the row, not after you open the editor.\u003C\/p\u003E\u003C\/div\u003E\n \u003Cdiv class=\"card reveal\" data-d=\"1\"\u003E\u003Cdiv class=\"ico\"\u003E\u003Cspan class=\"m\"\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Ch3 class=\"h3\"\u003EStatus signals\u003C\/h3\u003E\u003Cp style=\"margin-top:10px\"\u003EIndex Status, Schema Status, and Schema Type read straight off the row. A per-row Index toggle flips a page in or out of indexing without leaving the table.\u003C\/p\u003E\u003C\/div\u003E\n \u003Cdiv class=\"card reveal\" data-d=\"2\"\u003E\u003Cdiv class=\"ico\"\u003E\u003Cspan class=\"m\"\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Ch3 class=\"h3\"\u003EURL and social\u003C\/h3\u003E\u003Cp style=\"margin-top:10px\"\u003EURL Slug and OG Image columns put the link structure and the share card in the same scan as the title, so the social preview is not a separate audit.\u003C\/p\u003E\u003C\/div\u003E\n \u003Cdiv class=\"card reveal\"\u003E\u003Cdiv class=\"ico\"\u003E\u003Cspan class=\"m\"\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Ch3 class=\"h3\"\u003EInline cell editing\u003C\/h3\u003E\u003Cp style=\"margin-top:10px\"\u003EClick a SEO Title or Meta Description cell and it becomes a text input. On blur a save confirmation appears, and the page emits the new value on its next visit. No round trip into the full editor.\u003C\/p\u003E\u003C\/div\u003E\n \u003Cdiv class=\"card reveal\" data-d=\"1\"\u003E\u003Cdiv class=\"ico\"\u003E\u003Cspan class=\"m\"\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Ch3 class=\"h3\"\u003EFilter and bulk select\u003C\/h3\u003E\u003Cp style=\"margin-top:10px\"\u003EFilter by type, status, schema, and the Issues pill, then bulk-select rows from the leading checkbox column to act on a whole slice of pages at once.\u003C\/p\u003E\u003C\/div\u003E\n \u003Cdiv class=\"card reveal\" data-d=\"2\"\u003E\u003Cdiv class=\"ico\"\u003E\u003Cspan class=\"m\"\u003E\u003C\/span\u003E\u003C\/div\u003E\u003Ch3 class=\"h3\"\u003EPer-row actions and export\u003C\/h3\u003E\u003Cp style=\"margin-top:10px\"\u003EEach row carries Edit, View live, Schema, and Trash. The toolbar Export button writes the current view out to CSV, so the audit travels.\u003C\/p\u003E\u003C\/div\u003E\n \u003C\/div\u003E\n\n \u003Cdiv class=\"adwin reveal rdark\" data-d=\"1\" style=\"max-width:560px;margin:42px auto 0\" aria-hidden=\"true\"\u003E\n \u003Cdiv class=\"adbar\"\u003E\u003Cspan class=\"ic\"\u003E\u003C\/span\u003E\u003Cspan class=\"ti\"\u003EVisible Columns\u003Csmall\u003EToggle what the table shows\u003C\/small\u003E\u003C\/span\u003E\u003Cspan class=\"act ghost\"\u003E\u2715\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"secols\"\u003E\n \u003Cdiv class=\"cg locked\"\u003E\u003Cspan class=\"nm\"\u003EPage Title\u003C\/span\u003E\u003Cspan class=\"lk\"\u003Ealways on\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg locked\"\u003E\u003Cspan class=\"nm\"\u003EPage Type\u003C\/span\u003E\u003Cspan class=\"lk\"\u003Ealways on\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003EStatus\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003EFeatured Image\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003EIssues\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003ESEO Title\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003EMeta Description\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003EURL Slug\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003EFocus Keyword\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003EH1\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003EH2 Count\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003EWord Count\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003EIndex Status\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003ESchema Type\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003ESchema Status\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003EOG Image\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003EPublished Date\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"cg\"\u003E\u003Cspan class=\"nm\"\u003ELast Modified\u003C\/span\u003E\u003Cspan class=\"sw\"\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"semodal-foot\"\u003E\u003Cspan class=\"note\"\u003E18 columns, toggle any on or off.\u003C\/span\u003E\u003Cspan class=\"done\"\u003EDone\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n\u003C\/section\u003E\n\n\u003C!-- 3 \u00b7 GLOBAL DEFAULTS + FALLBACK CHAIN --\u003E\n\u003Csection class=\"sec\"\u003E\n \u003Cdiv class=\"wrap\"\u003E\n \u003Cdiv class=\"readw reveal\"\u003E\n \u003Cdiv class=\"eyebrow\"\u003ESite-wide defaults, per-page overrides\u003C\/div\u003E\n \u003Ch2 class=\"h2\"\u003ESet the defaults once. \u003Cspan class=\"grad\"\u003EEvery page inherits, any page overrides.\u003C\/span\u003E\u003C\/h2\u003E\n \u003Cp class=\"lead\" style=\"margin-top:16px\"\u003EThe Global SEO form sets your site-wide defaults, and a real fallback chain fills the gaps: when a page's own SEO Title is empty, the renderer falls back to the site name plus tagline template from Global SEO; when a page's meta description is empty, it falls back to the site description set in General Settings, which also seeds the Open Graph tags. So a brand-new page is never bare in search results, it inherits sane defaults until you override it. Per-page values win.\u003C\/p\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"adwin reveal rdark\" data-d=\"1\" style=\"margin-top:40px\" aria-hidden=\"true\"\u003E\n \u003Cdiv class=\"adbar\"\u003E\u003Cspan class=\"ic\"\u003E\u003C\/span\u003E\u003Cspan class=\"ti\"\u003EGlobal SEO\u003Csmall\u003ESite-wide SEO settings\u003C\/small\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"seglobal\"\u003E\n \u003Cdiv class=\"form\"\u003E\n \u003Cdiv class=\"secfg-h\"\u003ESEO Configuration\u003C\/div\u003E\n \u003Cdiv class=\"sechips\"\u003E\n \u003Cspan class=\"lg\"\u003ESupported tokens\u003C\/span\u003E\n \u003Cspan class=\"ch\"\u003ESGEN CMS | Site Generation Engine Network\u003C\/span\u003E\u003Cspan class=\"ch\"\u003Ehttps://sgen.com/\u003C\/span\u003E\u003Cspan class=\"ch\"\u003E\u003C\/span\u003E\u003Cspan class=\"ch\"\u003E\u003C\/span\u003E\u003Cspan class=\"ch\"\u003E{{page_title}}\u003C\/span\u003E\u003Cspan class=\"ch\"\u003E{{page_url}}\u003C\/span\u003E\u003Cspan class=\"ch\"\u003E{{page_content}}\u003C\/span\u003E\u003Cspan class=\"ch\"\u003E-\u003C\/span\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"secheck\"\u003E\u003Cspan class=\"bx\"\u003E\u003C\/span\u003E\u003Cdiv\u003E\u003Cdiv class=\"bt\"\u003EAllow search engines to index this site\u003C\/div\u003E\u003Cdiv class=\"bh\"\u003ELeave off while you build or migrate, then switch it on at launch so crawlers see the finished site.\u003C\/div\u003E\u003C\/div\u003E\u003C\/div\u003E\n \u003Cdiv class=\"sefld\"\u003E\u003Cspan class=\"lab\"\u003ETitle Separator\u003C\/span\u003E\n \u003Cdiv class=\"sesep\"\u003E\n \u003Cspan class=\"g on\"\u003E-\u003C\/span\u003E\u003Cspan class=\"g\"\u003E:\u003C\/span\u003E\u003Cspan class=\"g\"\u003E|\u003C\/span\u003E\u003Cspan class=\"g\"\u003E~\u003C\/span\u003E\u003Cspan class=\"g\"\u003E\u00bb\u003C\/span\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"secheck\"\u003E\u003Cspan class=\"bx off\"\u003E\u003C\/span\u003E\u003Cdiv\u003E\u003Cdiv class=\"bt\"\u003EForce Trailing Slash on URLs?\u003C\/div\u003E\u003Cdiv class=\"bh\"\u003EWhen enabled, all generated permalinks end with a slash.\u003C\/div\u003E\u003C\/div\u003E\u003C\/div\u003E\n \u003Cdiv class=\"sefld\"\u003E\u003Cspan class=\"lab\"\u003ESite Title\u003C\/span\u003E\u003Cdiv class=\"inp\"\u003EAcme Coffee Roasters\u003C\/div\u003E\u003C\/div\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"rail\"\u003E\n \u003Cspan class=\"save\"\u003E\u003Cspan class=\"ck\"\u003E\u003C\/span\u003E Save Changes\u003C\/span\u003E\n \u003Cdiv class=\"setips\"\u003E\n \u003Cdiv class=\"tt\"\u003ETips\u003C\/div\u003E\n \u003Cdiv class=\"tip\"\u003E\u003Cdiv class=\"h\"\u003EPer-page values win\u003C\/div\u003E\u003Cdiv class=\"b\"\u003EAnything you set on an individual page in the SEO Manager overrides the global default for that page.\u003C\/div\u003E\u003C\/div\u003E\n \u003Cdiv class=\"tip\"\u003E\u003Cdiv class=\"h\"\u003EEmpty falls back\u003C\/div\u003E\u003Cdiv class=\"b\"\u003EAn empty page title inherits the site name and tagline; an empty meta inherits the site description.\u003C\/div\u003E\u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003Cp class=\"label reveal\" style=\"margin-top:16px\"\u003EChoose your title separator glyph and your indexing default here. Per-page settings in the SEO Manager always take precedence.\u003C\/p\u003E\n \u003C\/div\u003E\n\u003C\/section\u003E\n\n\u003C!-- 4 \u00b7 PER-MODULE SEO + PERMALINKS --\u003E\n\u003Csection class=\"sec surface-dark has-atmos\" style=\"background:var(--sg-bg-2)\"\u003E\n \u003Cdiv class=\"wrap\"\u003E\n \u003Cdiv class=\"readw reveal\"\u003E\n \u003Cdiv class=\"eyebrow\"\u003ESEO scopes per content type\u003C\/div\u003E\n \u003Ch2 class=\"h2\"\u003EBlogs, events, store, and custom types \u003Cspan class=\"grad\"\u003Eeach get their own SEO.\u003C\/span\u003E\u003C\/h2\u003E\n \u003Cp class=\"lead\" style=\"margin-top:16px\"\u003ESGEN's SEO is not one global form. The nine-item SEO sidebar carries dedicated scopes for Blogs SEO, Events SEO, Store SEO, and Post Type SEO, the hub for custom post types. Each scope sets its own Page Title template, Description, Canonical URL, and Search Engine Visibility for that content type's archive. The visibility wording even inverts per module: Store SEO reads \"Allow search engines to index this module,\" while Events SEO reads \"Discourage search engines from indexing this page.\" It is up to search engines to honour the request either way.\u003C\/p\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"adwin reveal rdark\" data-d=\"1\" style=\"margin-top:40px\" aria-hidden=\"true\"\u003E\n \u003Cdiv class=\"adbar\"\u003E\u003Cspan class=\"ic\"\u003E\u003C\/span\u003E\u003Cspan class=\"ti\"\u003EBlogs SEO\u003Csmall\u003EPermalink Structure\u003C\/small\u003E\u003C\/span\u003E\u003Cspan class=\"act ghost\"\u003EBlog archive SEO\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"seperma\"\u003E\n \u003Cdiv class=\"pr on\"\u003E\u003Cspan class=\"rd\"\u003E\u003C\/span\u003E\u003Cspan class=\"nm\"\u003EDefault\u003C\/span\u003E\u003Cspan class=\"ur\"\u003E\/blog\/%category%\/%postname%\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"pr\"\u003E\u003Cspan class=\"rd\"\u003E\u003C\/span\u003E\u003Cspan class=\"nm\"\u003EDay and name\u003C\/span\u003E\u003Cspan class=\"ur\"\u003E\/2026\/04\/21\/%postname%\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"pr\"\u003E\u003Cspan class=\"rd\"\u003E\u003C\/span\u003E\u003Cspan class=\"nm\"\u003EMonth and name\u003C\/span\u003E\u003Cspan class=\"ur\"\u003E\/2026\/04\/%postname%\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"pr\"\u003E\u003Cspan class=\"rd\"\u003E\u003C\/span\u003E\u003Cspan class=\"nm\"\u003EPost name\u003C\/span\u003E\u003Cspan class=\"ur\"\u003E\/%postname%\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/div\u003E\n \u003Cp class=\"seperma-foot\"\u003EEach structure shows a live example URL. Pick one for clean, readable blog links. The same scope also sets the archive Page Title, Description, and Canonical URL.\u003C\/p\u003E\n \u003C\/div\u003E\n \u003Cp class=\"reveal\" style=\"margin-top:22px;max-width:74ch;color:var(--sg-ink-soft)\"\u003EFour scopes, plus Post Type SEO for custom types, plus the per-page override in the SEO Manager. The Page Title and Canonical fields ship with default values like \u003Ccode\u003EEvent - SGEN CMS | Site Generation Engine Network\u003C\/code\u003E and \u003Ccode\u003E{{page_url}}\u003C\/code\u003E already in place, so a new content type is configured the moment you create it.\u003C\/p\u003E\n \u003C\/div\u003E\n\u003C\/section\u003E\n\n\u003C!-- 5 \u00b7 STRUCTURED DATA (Schema Editor) --\u003E\n\u003Csection class=\"sec sec--alt\"\u003E\n \u003Cdiv class=\"wrap\"\u003E\n \u003Cdiv class=\"readw reveal\"\u003E\n \u003Cdiv class=\"eyebrow\"\u003EPer-page structured data\u003C\/div\u003E\n \u003Ch2 class=\"h2\"\u003EEdit JSON-LD schema \u003Cspan class=\"grad\"\u003Epage by page.\u003C\/span\u003E\u003C\/h2\u003E\n \u003Cp class=\"lead\" style=\"margin-top:16px\"\u003ESGEN ships a per-page Schema Editor: select any page, load it, pick a Schema Type, and edit the Custom JSON-LD directly. The SEO Manager's Schema columns then show the live Schema Type and a status chip per row, the editor saw Product, BlogPosting, and Organization values with an \"ok\" chip. Separately, SGEN emits a LocalBusiness structured-data block automatically from your General Settings Business Information, name, description, email, telephone, url, address, and opening hours, confirmed in the page source. So you get both: hand-edited per-page JSON-LD, and an automatic LocalBusiness block.\u003C\/p\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"adwin reveal rdark\" data-d=\"1\" style=\"margin-top:40px;max-width:680px\" aria-hidden=\"true\"\u003E\n \u003Cdiv class=\"adbar\"\u003E\u003Cspan class=\"ic\"\u003E\u003C\/span\u003E\u003Cspan class=\"ti\"\u003ESchema Editor\u003Csmall\u003EEdit structured data in depth\u003C\/small\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"seschema\"\u003E\n \u003Cdiv class=\"scard\"\u003E\n \u003Cdiv class=\"ct\"\u003ESelect Page\u003C\/div\u003E\n \u003Cdiv class=\"sel-row\"\u003E\n \u003Cdiv class=\"ddsel\"\u003EOur Team (Page) \u003Cspan class=\"cv\"\u003E\u25be\u003C\/span\u003E\u003C\/div\u003E\n \u003Cspan class=\"load\"\u003E\ud83d\udd0d Load Schema\u003C\/span\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"scard\"\u003E\n \u003Cdiv class=\"ct\"\u003ESchema Settings, Post: Our Team\u003C\/div\u003E\n \u003Cdiv class=\"fl\"\u003E\u003Cspan class=\"lab\"\u003ESchema Type\u003C\/span\u003E\u003Cdiv class=\"ddsel\"\u003ENone \u003Cspan class=\"cv\"\u003E\u25be\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\"hint\"\u003ESet to None if schema is not needed for this page.\u003C\/div\u003E\u003C\/div\u003E\n \u003Cdiv class=\"fl\"\u003E\u003Cspan class=\"lab\"\u003ECustom JSON-LD\u003C\/span\u003E\u003Cdiv class=\"ta\"\u003E\u003Cspan class=\"p\"\u003E{\u003C\/span\u003E\u003Cspan class=\"k\"\u003E\"@context\"\u003C\/span\u003E\u003Cspan class=\"p\"\u003E:\u003C\/span\u003E\u003Cspan class=\"v\"\u003E\"https:\/\/schema.org\"\u003C\/span\u003E\u003Cspan class=\"p\"\u003E\u003C\/span\u003E \u003Cspan class=\"k\"\u003E\"@type\"\u003C\/span\u003E\u003Cspan class=\"p\"\u003E:\u003C\/span\u003E\u003Cspan class=\"v\"\u003E\"Article\"\u003C\/span\u003E\u003Cspan class=\"p\"\u003E}\u003C\/span\u003E\u003C\/div\u003E\u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003Cp class=\"label reveal\" style=\"margin-top:16px\"\u003EEdit structured data per page. The automatic LocalBusiness block is emitted from your Business Information.\u003C\/p\u003E\n \u003C\/div\u003E\n\u003C\/section\u003E\n\n\u003C!-- 6 \u00b7 NATIVE SEO TOOLKIT (GSC + Robots + 9-item nav) --\u003E\n\u003Csection class=\"sec surface-dark has-atmos\"\u003E\n \u003Cdiv class=\"wrap\"\u003E\n \u003Cdiv class=\"readw reveal\"\u003E\n \u003Cdiv class=\"eyebrow\"\u003EVerification and crawl control\u003C\/div\u003E\n \u003Ch2 class=\"h2\"\u003EGoogle Search Console and a live robots.txt, \u003Cspan class=\"grad\"\u003Ein the same sidebar.\u003C\/span\u003E\u003C\/h2\u003E\n \u003Cp class=\"lead\" style=\"margin-top:16px\"\u003ERound out the toolkit. Google Search Console gets a dedicated verification screen with a Verification ID field and a five-step HTML-tag method; SGEN emits the verification meta tag for you. Robots.txt is a dynamic editor served live at \u003Ccode\u003E\/robots.txt\u003C\/code\u003E, leave it empty for SGEN's computed default, which already disallows \/register, \/login, and \/sg-admin\/ and advertises your sitemap line, or edit the File Contents directly. Both sit in the nine-item SEO sidebar with the rest of the module: SEO Manager, Global SEO, Blogs SEO, Events SEO, Store SEO, Post Type SEO, Google Search Console, Schema Editor, and Robots.txt.\u003C\/p\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"adwin reveal rdark\" data-d=\"1\" style=\"margin-top:40px\" aria-hidden=\"true\"\u003E\n \u003Cdiv class=\"adbar\"\u003E\u003Cspan class=\"ic\"\u003E\u003C\/span\u003E\u003Cspan class=\"ti\"\u003ERobots.txt\u003Csmall\u003EEdit crawl directives for search engines\u003C\/small\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"sewrap\"\u003E\n \u003Cdiv class=\"senav\"\u003E\n \u003Cdiv class=\"ni\"\u003E\u003Cspan class=\"gl\"\u003E\u003C\/span\u003E\u003Cspan class=\"tx\"\u003E\u003Cspan class=\"t\"\u003ESEO Manager\u003C\/span\u003E\u003Cspan class=\"s\"\u003EOptimize all pages\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"ni\"\u003E\u003Cspan class=\"gl\"\u003E\u003C\/span\u003E\u003Cspan class=\"tx\"\u003E\u003Cspan class=\"t\"\u003EGlobal SEO\u003C\/span\u003E\u003Cspan class=\"s\"\u003ESite-wide settings\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"ni\"\u003E\u003Cspan class=\"gl\"\u003E\u003C\/span\u003E\u003Cspan class=\"tx\"\u003E\u003Cspan class=\"t\"\u003EBlogs SEO\u003C\/span\u003E\u003Cspan class=\"s\"\u003EBlog archive SEO\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"ni\"\u003E\u003Cspan class=\"gl\"\u003E\u003C\/span\u003E\u003Cspan class=\"tx\"\u003E\u003Cspan class=\"t\"\u003EEvents SEO\u003C\/span\u003E\u003Cspan class=\"s\"\u003EEvent listing SEO\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"ni\"\u003E\u003Cspan class=\"gl\"\u003E\u003C\/span\u003E\u003Cspan class=\"tx\"\u003E\u003Cspan class=\"t\"\u003EStore SEO\u003C\/span\u003E\u003Cspan class=\"s\"\u003EProduct archive SEO\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"ni\"\u003E\u003Cspan class=\"gl\"\u003E\u003C\/span\u003E\u003Cspan class=\"tx\"\u003E\u003Cspan class=\"t\"\u003EPost Type SEO\u003C\/span\u003E\u003Cspan class=\"s\"\u003ECustom post types\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"ni\"\u003E\u003Cspan class=\"gl\"\u003E\u003C\/span\u003E\u003Cspan class=\"tx\"\u003E\u003Cspan class=\"t\"\u003EGoogle Search Console\u003C\/span\u003E\u003Cspan class=\"s\"\u003EVerification \u0026 indexing\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"ni\"\u003E\u003Cspan class=\"gl\"\u003E\u003C\/span\u003E\u003Cspan class=\"tx\"\u003E\u003Cspan class=\"t\"\u003ESchema Editor\u003C\/span\u003E\u003Cspan class=\"s\"\u003EStructured data\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"ni on\"\u003E\u003Cspan class=\"gl\"\u003E\u003C\/span\u003E\u003Cspan class=\"tx\"\u003E\u003Cspan class=\"t\"\u003ERobots.txt\u003C\/span\u003E\u003Cspan class=\"s\"\u003ECrawl directives\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"serobots\"\u003E\n \u003Cp class=\"rb-body\"\u003EContent is served dynamically at \u003Ccode\u003Ehttps:\/\/yoursite.com\/robots.txt\u003C\/code\u003E. Leave empty to use the default allow and disallow behavior based on Global SEO.\u003C\/p\u003E\n \u003Cspan class=\"lab\"\u003EFile Contents\u003C\/span\u003E\n \u003Cdiv class=\"ta\"\u003E\u003Cspan class=\"ua\"\u003EUser-agent: *\u003C\/span\u003E\u003Cbr\u003E\u003Cspan class=\"dis\"\u003EDisallow: \/register\u003C\/span\u003E\u003Cbr\u003E\u003Cspan class=\"dis\"\u003EDisallow: \/login\u003C\/span\u003E\u003Cbr\u003E\u003Cspan class=\"dis\"\u003EDisallow: \/sg-admin\/\u003C\/span\u003E\u003Cbr\u003E\u003Cspan class=\"sm\"\u003ESitemap: https:\/\/yoursite.com\/sitemap.xml\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"rb-foot\"\u003E\u003Cspan class=\"save\"\u003ESave robots.txt\u003C\/span\u003E\u003Cspan class=\"live\"\u003Eserved live at \/robots.txt\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003Cp class=\"reveal\" style=\"margin-top:22px;max-width:74ch;color:var(--sg-ink-soft)\"\u003ENine scopes, one native module, with no plugin between your settings and your output. Google Search Console here is verification only: it emits the meta tag and the \"Open Console\" link deep-links to Google, it is not an analytics dashboard inside SGEN.\u003C\/p\u003E\n \u003C\/div\u003E\n\u003C\/section\u003E\n\n\u003C!-- 7 \u00b7 ONE NATIVE MODULE, ALL IN THE BOX --\u003E\n\u003Csection class=\"sec sec--warm\"\u003E\n \u003Cdiv class=\"wrap\"\u003E\n \u003Cdiv class=\"feat reveal\"\u003E\n \u003Cdiv class=\"feat-copy\"\u003E\n \u003Cdiv class=\"eyebrow\"\u003EWhat you get\u003C\/div\u003E\n \u003Ch2 class=\"h2\"\u003EOne native module. \u003Cspan class=\"grad\"\u003EEvery SEO surface in the box.\u003C\/span\u003E\u003C\/h2\u003E\n \u003Cp class=\"lead\" style=\"margin-top:14px\"\u003ESGEN ships SEO as a native module that updates with the platform, so there is no separate license, changelog, or renewal to track. The SEO Manager, Global SEO, per-type scopes, Schema Editor, Search Console verification, and robots.txt are all in the box on every plan.\u003C\/p\u003E\n \u003Cdiv class=\"replaces\"\u003E\n \u003Cspan class=\"rep-chip\"\u003E18-column page audit\u003C\/span\u003E\u003Cspan class=\"rep-chip\"\u003EPer-page JSON-LD\u003C\/span\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"adwin rdark\" style=\"align-self:start\" aria-hidden=\"true\"\u003E\n \u003Cdiv class=\"adbar\"\u003E\u003Cspan class=\"ic\"\u003E\u003C\/span\u003E\u003Cspan class=\"ti\"\u003ESEO \u00b7 native\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"sebox\"\u003E\n \u003Cdiv class=\"row\"\u003E\u003Cspan class=\"pic\"\u003EM\u003C\/span\u003E\u003Cdiv class=\"di\"\u003E\u003Cspan class=\"dn\"\u003ESEO Manager\u003C\/span\u003E\u003Cspan class=\"dm\"\u003Eper-page audit, 18 columns\u003C\/span\u003E\u003C\/div\u003E\u003Cspan class=\"pill\"\u003Ein the box\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"row\"\u003E\u003Cspan class=\"pic\"\u003EG\u003C\/span\u003E\u003Cdiv class=\"di\"\u003E\u003Cspan class=\"dn\"\u003EGlobal SEO + scopes\u003C\/span\u003E\u003Cspan class=\"dm\"\u003Edefaults + per-type forms\u003C\/span\u003E\u003C\/div\u003E\u003Cspan class=\"pill\"\u003Ein the box\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"row\"\u003E\u003Cspan class=\"pic\"\u003ES\u003C\/span\u003E\u003Cdiv class=\"di\"\u003E\u003Cspan class=\"dn\"\u003ESchema Editor\u003C\/span\u003E\u003Cspan class=\"dm\"\u003Eper-page JSON-LD\u003C\/span\u003E\u003C\/div\u003E\u003Cspan class=\"pill\"\u003Ein the box\u003C\/span\u003E\u003C\/div\u003E\n \u003Cdiv class=\"row\"\u003E\u003Cspan class=\"pic\"\u003ER\u003C\/span\u003E\u003Cdiv class=\"di\"\u003E\u003Cspan class=\"dn\"\u003ERobots.txt + GSC\u003C\/span\u003E\u003Cspan class=\"dm\"\u003Ecrawl control + verification\u003C\/span\u003E\u003C\/div\u003E\u003Cspan class=\"pill\"\u003Ein the box\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n\u003C\/section\u003E\n\n\u003C!-- 8 \u00b7 STAT \/ PROOF BAND (SEO-depth numbers, no security stat on module pages) --\u003E\n\u003Csection class=\"sec surface-dark has-atmos\"\u003E\n \u003Cdiv class=\"wrap\"\u003E\n \u003Cdiv class=\"sec-head readw reveal\"\u003E\u003Cdiv class=\"eyebrow\"\u003EThe module by the numbers\u003C\/div\u003E\u003Ch2 class=\"h2\"\u003EIn the box on every plan.\u003C\/h2\u003E\u003C\/div\u003E\n \u003Cdiv class=\"stat-band\" style=\"margin-top:42px\"\u003E\n \u003Cdiv class=\"s reveal\"\u003E\u003Cspan class=\"stat\"\u003E18\u003C\/span\u003E\u003Cdiv class=\"cap\"\u003Econfigurable columns in the SEO Manager\u003C\/div\u003E\u003C\/div\u003E\n \u003Cdiv class=\"s reveal\" data-d=\"1\"\u003E\u003Cspan class=\"stat\"\u003E9\u003C\/span\u003E\u003Cdiv class=\"cap\"\u003ESEO scopes in the sidebar\u003C\/div\u003E\u003C\/div\u003E\n \u003Cdiv class=\"s reveal\" data-d=\"2\"\u003E\u003Cspan class=\"stat\"\u003E23\u003C\/span\u003E\u003Cdiv class=\"cap\"\u003Enative modules included on every plan\u003C\/div\u003E\u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n\u003C\/section\u003E\n\n\u003C!-- 9 \u00b7 FAQ --\u003E\n\u003Csection class=\"sec\"\u003E\n \u003Cdiv class=\"wrap\"\u003E\n \u003Cdiv class=\"sec-head reveal\"\u003E\u003Cdiv class=\"eyebrow\"\u003EQuestions\u003C\/div\u003E\u003Ch2 class=\"h2\"\u003EQuestions about the SEO module\u003C\/h2\u003E\u003C\/div\u003E\n \u003Cdiv class=\"faq-list\" style=\"margin-top:30px\"\u003E\n \u003Cdetails class=\"reveal\" open\u003E\u003Csummary\u003EHow is this different from a settings form, what is the SEO Manager? \u003Cspan class=\"pm\"\u003E+\u003C\/span\u003E\u003C\/summary\u003E\u003Cdiv class=\"ans\"\u003EThe SEO Manager is a command station, not a single-page form. It lists every page in one table with up to 18 configurable columns, inline cell editing on the SEO Title and Meta Description, type, status, schema, and issue filters, bulk select from the leading checkbox, a per-row issue badge, and CSV export. You audit the whole site, fix a cell in place, and navigate to any page from one screen.\u003C\/div\u003E\u003C\/details\u003E\n \u003Cdetails class=\"reveal\"\u003E\u003Csummary\u003EDo I configure SEO per page or site-wide? \u003Cspan class=\"pm\"\u003E+\u003C\/span\u003E\u003C\/summary\u003E\u003Cdiv class=\"ans\"\u003EBoth. Global SEO sets your site-wide defaults, and every content type, Blogs, Events, Store, and custom post types, has its own scope. Any page then overrides via the SEO Manager cell or its Page Settings SEO tab. There is a real fallback chain too: an empty page SEO Title inherits the site name and tagline, and an empty meta description inherits the site description. Per-page values win.\u003C\/div\u003E\u003C\/details\u003E\n \u003Cdetails class=\"reveal\"\u003E\u003Csummary\u003ECan I add structured data or schema? \u003Cspan class=\"pm\"\u003E+\u003C\/span\u003E\u003C\/summary\u003E\u003Cdiv class=\"ans\"\u003EYes. The per-page Schema Editor lets you select a page, pick a Schema Type, and edit the Custom JSON-LD by hand, and the SEO Manager Schema column shows the live type with a status chip. SGEN also emits a LocalBusiness block automatically from your Business Information. What we claim is editing structured data per page, not guaranteed Google rich results or validated output, so confirm your final markup in Google's testing tools.\u003C\/div\u003E\u003C\/details\u003E\n \u003Cdetails class=\"reveal\"\u003E\u003Csummary\u003EDoes it handle robots.txt and sitemaps? \u003Cspan class=\"pm\"\u003E+\u003C\/span\u003E\u003C\/summary\u003E\u003Cdiv class=\"ans\"\u003EYes to a live editable robots.txt with a computed default that disallows \/register, \/login, and \/sg-admin\/ and advertises your sitemap line, and yes to registering external sitemap URLs and connecting Google Search Console. For XML-sitemap generation specifically, confirm the current scope with the team; what is verified today is robots.txt management plus the sitemap-line advertisement plus Search Console connectivity.\u003C\/div\u003E\u003C\/details\u003E\n \u003Cdetails class=\"reveal\"\u003E\u003Csummary\u003ECan I connect Google Search Console? \u003Cspan class=\"pm\"\u003E+\u003C\/span\u003E\u003C\/summary\u003E\u003Cdiv class=\"ans\"\u003EYes. A dedicated verification screen takes your Search Console Verification ID and walks the five-step HTML-tag method, and SGEN emits the verification meta tag for you. It is verification only: the \"Open Console\" link deep-links to Google, it is not a clicks, impressions, or crawl-stats dashboard inside SGEN.\u003C\/div\u003E\u003C\/details\u003E\n \u003Cdetails class=\"reveal\"\u003E\u003Csummary\u003EIs it included, and can I try it free? \u003Cspan class=\"pm\"\u003E+\u003C\/span\u003E\u003C\/summary\u003E\u003Cdiv class=\"ans\"\u003ESEO is one of 23 native modules included in every plan, from $39\/mo. The free Sandbox runs the whole module on unlimited staging sites, so you can audit pages, set schema, and edit robots.txt before you pay. The one limit is that a Sandbox site lives on a SGEN staging URL, not your own domain; upgrade to take a site live. Pick a plan by live-site count: Indie 1, Studio 3, Scale 10, Enterprise unlimited.\u003C\/div\u003E\u003C\/details\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n\u003C\/section\u003E\n\n\u003C!-- RELATED (internal linking) --\u003E\n\u003Csection class=\"sec related\"\u003E\n \u003Cdiv class=\"wrap\"\u003E\n \u003Cdiv class=\"readw reveal\" style=\"margin-left:auto;margin-right:auto;text-align:center\"\u003E\n \u003Cdiv class=\"eyebrow\" style=\"justify-content:center\"\u003EPairs with on-page SEO\u003C\/div\u003E\n \u003Ch2 class=\"h2\"\u003EThe native modules that \u003Cspan class=\"grad\"\u003Eprotect your rankings\u003C\/span\u003E.\u003C\/h2\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\"related-grid reveal\" data-d=\"1\"\u003E\n \u003Ca class=\"rel\" href=\"..\/product\/performance\"\u003E\u003Cspan class=\"rn\"\u003EPerformance\u003C\/span\u003E\u003Cspan class=\"rd\"\u003ECaching, minification, lazy-load, Core Web Vitals.\u003C\/span\u003E\u003Cspan class=\"rg\"\u003EExplore Performance \u2192\u003C\/span\u003E\u003C\/a\u003E\n \u003Ca class=\"rel\" href=\"..\/product\/redirects\"\u003E\u003Cspan class=\"rn\"\u003ERedirects\u003C\/span\u003E\u003Cspan class=\"rd\"\u003EThe 301 and 302 manager that holds link equity.\u003C\/span\u003E\u003Cspan class=\"rg\"\u003EExplore Redirects \u2192\u003C\/span\u003E\u003C\/a\u003E\n \u003Ca class=\"rel\" href=\"..\/product\/attributions\"\u003E\u003Cspan class=\"rn\"\u003EAttribution\u003C\/span\u003E\u003Cspan class=\"rd\"\u003EThe real source behind every session and lead.\u003C\/span\u003E\u003Cspan class=\"rg\"\u003EExplore Attribution \u2192\u003C\/span\u003E\u003C\/a\u003E\n \u003Ca class=\"rel\" href=\"..\/product\/analytics\"\u003E\u003Cspan class=\"rn\"\u003EAnalytics\u003C\/span\u003E\u003Cspan class=\"rd\"\u003EFirst-party page-view events and top paths.\u003C\/span\u003E\u003Cspan class=\"rg\"\u003EExplore Analytics \u2192\u003C\/span\u003E\u003C\/a\u003E\n \u003Ca class=\"rel\" href=\"..\/product\/integrations\"\u003E\u003Cspan class=\"rn\"\u003EIntegrations\u003C\/span\u003E\u003Cspan class=\"rd\"\u003ESearch Console verification from one hub.\u003C\/span\u003E\u003Cspan class=\"rg\"\u003EExplore Integrations \u2192\u003C\/span\u003E\u003C\/a\u003E\n \u003Ca class=\"rel\" href=\"..\/product\/pages-and-posts\"\u003E\u003Cspan class=\"rn\"\u003EPages and Posts\u003C\/span\u003E\u003Cspan class=\"rd\"\u003EThe content the SEO Manager audits per row.\u003C\/span\u003E\u003Cspan class=\"rg\"\u003EExplore Pages and Posts \u2192\u003C\/span\u003E\u003C\/a\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n\u003C\/section\u003E\n\n\u003C!-- 10 \u00b7 CLOSING PRICING CTA --\u003E\n\u003Csection class=\"sec surface-dark has-atmos se-close\" style=\"background:var(--sg-bg-deep)\"\u003E\n \u003Cdiv class=\"wrap\"\u003E\n \u003Cdiv class=\"eyebrow reveal\" style=\"justify-content:center\"\u003EStart with the whole platform\u003C\/div\u003E\n \u003Ch2 class=\"h2 reveal\" data-d=\"1\" style=\"margin-top:12px\"\u003EThe SEO Manager, on every plan. \u003Cspan class=\"grad\"\u003EFrom $39\/mo.\u003C\/span\u003E\u003C\/h2\u003E\n \u003Cp class=\"lead reveal\" data-d=\"2\" style=\"margin:16px auto 0;max-width:64ch\"\u003ESEO is one of 23 native modules included in every plan. The free Sandbox runs the whole module on unlimited staging sites, so you can audit pages, set per-page schema, and edit robots.txt before you pay anything.\u003C\/p\u003E\n \u003Cdiv class=\"flex reveal\" data-d=\"3\" style=\"justify-content:center;margin-top:28px\"\u003E\n \u003Ca class=\"btn btn-primary\" href=\"..\/pricing\"\u003EStart Building \u003Cspan class=\"arr\"\u003E\u2192\u003C\/span\u003E\u003C\/a\u003E\n \u003Ca class=\"btn btn-secondary\" href=\"..\/pricing\"\u003ECompare Plans\u003C\/a\u003E\n \u003C\/div\u003E\n \u003Cp class=\"reveal\" data-d=\"3\" style=\"margin:22px auto 0;max-width:66ch;color:var(--sg-ink-soft)\"\u003EPair on-page SEO with native \u003Ca href=\"..\/product\/performance\" style=\"color:var(--sg-red-hot)\"\u003EPerformance\u003C\/a\u003E, the caching, minification, and lazy-load module, and \u003Ca href=\"..\/product\/redirects\" style=\"color:var(--sg-red-hot)\"\u003ERedirects\u003C\/a\u003E, the 301\/302 manager that keeps your link equity through any rebuild or slug change.\u003C\/p\u003E\n \u003Cdiv class=\"related reveal\" data-d=\"3\"\u003E\n \u003Ca href=\"..\/product\/performance\"\u003EPerformance, caching and Core Web Vitals\u003C\/a\u003E\n \u003Ca href=\"..\/product\/redirects\"\u003ERedirects, the 301\/302 manager\u003C\/a\u003E\n All 23 native modules\n \u003C\/div\u003E\n \u003Cp class=\"fine reveal\"\u003EFrom $39\/mo, billed annually. $47 monthly. 2-week trial, cancel anytime. Every module included.\u003C\/p\u003E\n \u003C\/div\u003E\n\u003C\/section\u003E\n\u003C\/main\u003E\n\n\n\n\u003Ctemplate data-safe=\"script\" data-attrs=\"\"\u003Econst hdr = document.getElementById('hdr');\n addEventListener('scroll', () =\u0026gt; hdr.classList.toggle('is-stuck', scrollY \u0026gt; 10), {passive:true});\n const drawer = document.getElementById('drawer'), overlay = document.querySelector('.drawer-overlay');\n document.querySelectorAll('[data-drawer-open]').forEach(b =\u0026gt; b.addEventListener('click', () =\u0026gt; { drawer.classList.add('open'); overlay.classList.add('open'); }));\n document.querySelectorAll('[data-drawer-close]').forEach(b =\u0026gt; b.addEventListener('click', () =\u0026gt; { drawer.classList.remove('open'); overlay.classList.remove('open'); }));\n \/\/ scroll-reveal\n const io = new IntersectionObserver((es)=\u0026gt;{es.forEach(e=\u0026gt;{if(e.isIntersecting){e.target.classList.add('in');io.unobserve(e.target);}})},{threshold:.12,rootMargin:'0px 0px -6% 0px'});\n document.querySelectorAll('.reveal').forEach(el=\u0026gt;io.observe(el));\n \/\/ mobile sticky bar, appear after hero, hide when footer CTA in view\n const mbar = document.querySelector('.mobile-bar');\n const heroSec = document.querySelector('main section');\n const fcta = document.querySelector('.footer-cta');\n function updBar(){ if(!mbar||!fcta) return; const past = scrollY \u0026gt; (heroSec ? heroSec.offsetTop + heroSec.offsetHeight - 140 : 480); const footerNear = fcta.getBoundingClientRect().top \u0026lt; innerHeight * 0.94; mbar.classList.toggle('show', past \u0026amp;\u0026amp; !footerNear); }\n addEventListener('scroll', updBar, {passive:true}); addEventListener('resize', updBar); updBar();\n \/\/ billing toggle (pricing + any page with [data-billing])\n document.querySelectorAll('[data-billing]').forEach(t=\u0026gt;t.addEventListener('click',()=\u0026gt;{ const mode=t.dataset.billing; document.querySelectorAll('[data-billing]').forEach(b=\u0026gt;b.classList.toggle('on',b===t)); document.querySelectorAll('[data-annual]').forEach(el=\u0026gt;{ el.textContent = mode==='annual'? el.dataset.annual : el.dataset.monthly; }); document.querySelectorAll('.billed').forEach(el=\u0026gt;{ if(el.dataset.annual) el.textContent = mode==='annual'? el.dataset.annual : el.dataset.monthly; }); }));\n \/\/ megamenu keyboard + screen-reader access.\n \/\/ CSS reveals each panel on .nav-item:hover and :focus-within (progressive enhancement, kept).\n \/\/ Here we add an explicit JS-owned open state: aria-expanded on the trigger + an .is-open class\n \/\/ on the .nav-item so keyboard\/SR users get click-to-toggle and Escape-to-close-with-focus-restore.\n \/\/ (A CSS rule keyed on .nav-item.is-open .megamenu makes the explicit-open path visually robust and\n \/\/ lets Escape keep the trigger focused without :focus-within re-revealing the panel; see A9 NOTE.)\n document.querySelectorAll('.nav-item').forEach(item =\u0026gt; {\n const trig = item.querySelector('.nav-trigger');\n const panel = item.querySelector('.megamenu');\n if (!trig || !panel) return;\n let viaPointer = false; \/\/ distinguishes a click (pointer) from a Tab (keyboard) into the trigger\n const sync = on =\u0026gt; { item.classList.toggle('is-open', on); trig.setAttribute('aria-expanded', on ? 'true' : 'false'); };\n const closeOthers = () =\u0026gt; document.querySelectorAll('.nav-item.is-open').forEach(o =\u0026gt; { if (o !== item) { o.classList.remove('is-open'); const t = o.querySelector('.nav-trigger'); if (t) t.setAttribute('aria-expanded','false'); } });\n \/\/ Pointer path: mousedown flags the focus as pointer-driven so focusin does not auto-open;\n \/\/ click then toggles. Keyboard path: no mousedown, so focusin opens on Tab-in.\n trig.addEventListener('mousedown', () =\u0026gt; { viaPointer = true; });\n trig.addEventListener('click', e =\u0026gt; {\n e.preventDefault();\n const willOpen = trig.getAttribute('aria-expanded') !== 'true';\n closeOthers();\n sync(willOpen);\n if (willOpen) trig.focus(); else trig.blur();\n viaPointer = false;\n });\n \/\/ Keyboard focus into the item opens it (covers Tab-through reveal); pointer focus is left to click.\n item.addEventListener('focusin', () =\u0026gt; { if (viaPointer) return; sync(true); });\n item.addEventListener('focusout', () =\u0026gt; { if (!item.contains(document.relatedTarget)) sync(false); });\n \/\/ Escape closes the open panel and returns focus to its trigger.\n item.addEventListener('keydown', e =\u0026gt; {\n if (e.key === 'Escape' \u0026amp;\u0026amp; trig.getAttribute('aria-expanded') === 'true') { e.stopPropagation(); sync(false); trig.focus(); }\n });\n });\n \/\/ Click outside any nav-item closes open megamenus.\n document.addEventListener('click', e =\u0026gt; { if (!e.target.closest('.nav-item')) document.querySelectorAll('.nav-item.is-open').forEach(o =\u0026gt; { o.classList.remove('is-open'); const t = o.querySelector('.nav-trigger'); if (t) t.setAttribute('aria-expanded','false'); }); });\u003C\/template\u003E\n\n\n\n\u003Ctemplate data-safe=\"style\" data-attrs=\"\"\u003E\/* ============================================================================\n _standard.css - shared signature for STANDARD-tier pages (Type-D module,\n Type-E solution, etc.). Light marketing canvas + ONE dark punctuation, the\n floor-intensity component vocabulary. Loads on top of the foundation + chrome.\n Many pages link THIS (not a per-page sheet). All var(--sg-*).\n ============================================================================ *\/\n\n\/* hero (copy + product mock) *\/\n.std-hero { display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:56px; padding-block:7vh var(--sg-pad); }\n.std-hero h1 { max-width:15ch; margin-top:16px; }\n.std-hero .lead { margin-top:20px; }\n.std-hero .cta { margin-top:30px; }\n\n\/* clean light product mock (floor depth, not the cinematic canvas) *\/\n.ui-mock { border-radius:var(--sg-r-lg); background:#fff; border:1px solid var(--sg-line); box-shadow:var(--sg-shadow); overflow:hidden; }\n.ui-bar { display:flex; align-items:center; gap:8px; padding:12px 16px; border-bottom:1px solid var(--sg-line); background:var(--sg-bg-2); }\n.ui-bar .d { width:9px; height:9px; border-radius:50%; background:#d8d4cd; }\n.ui-bar .t { font-family:var(--sg-mono); font-size:11px; color:var(--sg-ink-faint); margin-left:6px; }\n.ui-body { padding:20px; display:flex; flex-direction:column; gap:13px; }\n.ui-field { border:1px solid var(--sg-line); border-radius:10px; padding:13px 15px; }\n.ui-field.active { border-color:var(--sg-red); box-shadow:0 0 0 3px var(--sg-red-soft); }\n.ui-field .lab { font-family:var(--sg-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--sg-ink-faint); }\n.ui-field .val { height:11px; width:62%; border-radius:4px; background:#eceae5; margin-top:8px; }\n.ui-toggle { display:flex; align-items:center; justify-content:space-between; padding:12px 15px; border:1px solid var(--sg-line); border-radius:10px; font-size:13px; font-weight:600; color:var(--sg-ink-soft); }\n.ui-toggle .sw { width:38px; height:22px; border-radius:999px; background:var(--sg-grad-red); position:relative; box-shadow:0 0 12px rgba(213,21,34,.4); }\n.ui-toggle .sw::after { content:\"\"; position:absolute; top:3px; right:3px; width:16px; height:16px; border-radius:50%; background:#fff; }\n.ui-row { display:flex; gap:12px; } .ui-row .ui-field { flex:1; }\n.ui-submit { align-self:flex-start; }\n\n\/* trust strip *\/\n.logos { display:flex; flex-wrap:wrap; gap:34px; align-items:center; justify-content:center; opacity:.65; }\n.logos .lg { font-weight:800; font-size:18px; letter-spacing:-.02em; color:var(--sg-ink-faint); }\n\n\/* icon chip for benefit pillars (use with foundation .card) *\/\n.ico { width:44px; height:44px; border-radius:12px; background:var(--sg-red-soft); display:grid; place-items:center; margin-bottom:16px; transition:background .2s; }\n.ico .m { width:18px; height:18px; border-radius:5px; background:var(--sg-grad-red); }\n.card:hover .ico { background:var(--sg-red); }\n\n\/* feature rows (alternating, light) *\/\n.feat { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding:46px 0; border-top:1px solid var(--sg-line); }\n.feat:first-child { border-top:0; }\n.feat.flip .feat-copy { order:2; }\n.feat-art { border-radius:var(--sg-r-lg); border:1px solid var(--sg-line); background:var(--sg-bg-2); box-shadow:var(--sg-shadow-rest); min-height:240px; display:grid; place-items:center; overflow:hidden; }\n.feat-art .tile-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; padding:24px; width:100%; }\n.feat-art .tile { height:78px; border-radius:10px; background:#fff; border:1px solid var(--sg-line); box-shadow:var(--sg-shadow-rest); display:grid; place-items:center; font-family:var(--sg-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--sg-ink-faint); }\n.feat-art .tile.accent { background:var(--sg-grad-red); border:0; box-shadow:var(--sg-shadow-red); color:#fff; }\n\n\/* \"replaces these plugins\" chips *\/\n.replaces { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }\n.rep-chip { font-family:var(--sg-mono); font-size:12px; padding:7px 12px; border-radius:8px; border:1px solid var(--sg-line); color:var(--sg-ink-faint); text-decoration:line-through; text-decoration-color:rgba(213,21,34,.55); }\n\n\/* dark stat band (the one dark punctuation) *\/\n.stat-band { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }\n.stat-band .s { padding:0 30px; border-left:1px solid var(--sg-line-2); }\n.stat-band .s:first-child { border-left:0; padding-left:0; }\n.stat-band .cap { font-family:var(--sg-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--sg-ink-faint); margin-top:8px; }\n\n\/* faq (native accordion) *\/\n.faq-list { max-width:840px; }\n.faq-list details { border-top:1px solid var(--sg-line); }\n.faq-list details:last-child { border-bottom:1px solid var(--sg-line); }\n.faq-list summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 2px; font-weight:700; font-size:17px; }\n.faq-list summary::-webkit-details-marker { display:none; }\n.faq-list summary .pm { font-family:var(--sg-mono); color:var(--sg-red); font-size:20px; transition:transform .2s var(--sg-ease); }\n.faq-list details[open] summary .pm { transform:rotate(45deg); }\n.faq-list .ans { padding:0 2px 22px; color:var(--sg-ink-soft); max-width:70ch; }\n\n@media (max-width:920px){\n .std-hero, .std-hero.feat { grid-template-columns:1fr; gap:36px; }\n .std-hero h1 { max-width:none; }\n .std-hero .ui-mock { max-width:520px; }\n .feat { grid-template-columns:1fr; gap:30px; }\n .feat.flip .feat-copy { order:0; }\n .stat-band { grid-template-columns:1fr; gap:24px; }\n .stat-band .s { border-left:0; padding:0; }\n}\n\n\/* ===== MODULE HERO MOCKS: accurate crafted UI per module (sit in .ui-mock shell) ===== *\/\n\/* SERP snippet (seo) *\/\n.mk-serp { padding:20px; display:flex; flex-direction:column; gap:16px; }\n.mk-serp .url { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--sg-ink-faint); font-family:var(--sg-mono); }\n.mk-serp .url .fav { width:18px; height:18px; border-radius:50%; background:var(--sg-grad-red); flex:none; }\n.mk-serp .ttl { color:#1a0dab; font-size:18px; font-weight:500; margin:7px 0 4px; }\n.mk-serp .desc { font-size:12.5px; color:#4d5156; line-height:1.5; }\n.mk-serp .meta { border-top:1px solid var(--sg-line); padding-top:14px; display:grid; gap:9px; }\n.mk-serp .mrow { display:flex; justify-content:space-between; align-items:center; }\n.mk-serp .mrow .lab { font-family:var(--sg-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--sg-ink-faint); }\n.mk-serp .mrow .bar { width:130px; height:7px; border-radius:999px; background:var(--sg-bg-2); overflow:hidden; }\n.mk-serp .mrow .bar span { display:block; height:100%; background:var(--sg-grad-red); }\n\n\/* security panel *\/\n.mk-rows { padding:14px 16px; display:flex; flex-direction:column; }\n.mk-status { display:flex; align-items:center; justify-content:space-between; padding:13px 14px; border-radius:10px; background:var(--sg-bg-2); margin-bottom:10px; }\n.mk-status .ok { display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:13px; }\n.mk-status .ok .d { width:9px; height:9px; border-radius:50%; background:#3ddc84; box-shadow:0 0 8px rgba(61,220,132,.7); }\n.mk-status .n { font-weight:900; font-size:20px; letter-spacing:-.02em; }\n.mk-log { display:flex; align-items:center; gap:10px; padding:9px 4px; border-bottom:1px solid var(--sg-line-2); font-size:12px; }\n.mk-log .t { font-family:var(--sg-mono); font-size:10px; color:var(--sg-ink-faint); }\n.mk-log .ev { color:var(--sg-ink-soft); flex:1; }\n.mk-log .tag { font-family:var(--sg-mono); font-size:9px; padding:3px 7px; border-radius:5px; background:var(--sg-red-soft); color:var(--sg-red-deep); }\n.mk-log .tag.block { background:var(--sg-red); color:#fff; }\n\n\/* data table (redirects) *\/\n.mk-table { padding:6px 0; }\n.mk-table .th, .mk-table .tr { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; align-items:center; padding:11px 16px; }\n.mk-table .th { font-family:var(--sg-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--sg-ink-faint); border-bottom:1px solid var(--sg-line); }\n.mk-table .tr { border-bottom:1px solid var(--sg-line-2); font-size:12.5px; }\n.mk-table .tr .from { color:var(--sg-ink-faint); font-family:var(--sg-mono); }\n.mk-table .tr .to { color:var(--sg-ink); font-family:var(--sg-mono); }\n.mk-table .b301 { font-family:var(--sg-mono); font-size:10px; font-weight:700; padding:3px 8px; border-radius:5px; background:var(--sg-red-soft); color:var(--sg-red-deep); }\n\n\/* schema builder (custom-objects) *\/\n.mk-schema { padding:16px; display:flex; flex-direction:column; gap:9px; }\n.mk-schema .obj { font-weight:800; font-size:14px; display:flex; align-items:center; gap:8px; margin-bottom:4px; }\n.mk-schema .obj .dot { width:8px; height:8px; border-radius:3px; background:var(--sg-grad-red); }\n.mk-field { display:flex; align-items:center; justify-content:space-between; padding:11px 13px; border:1px solid var(--sg-line); border-radius:9px; }\n.mk-field .fn { font-weight:600; font-size:13px; }\n.mk-field .ft { font-family:var(--sg-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--sg-ink-faint); padding:4px 8px; border-radius:5px; background:var(--sg-bg-2); }\n.mk-field.active { border-color:var(--sg-red); box-shadow:0 0 0 3px var(--sg-red-soft); }\n\n\/* template gallery *\/\n.mk-gallery { padding:16px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }\n.mk-tpl { border-radius:9px; overflow:hidden; border:1px solid var(--sg-line); box-shadow:var(--sg-shadow-rest); }\n.mk-tpl .head { height:34px; }\n.mk-tpl .body { padding:8px; display:flex; flex-direction:column; gap:4px; }\n.mk-tpl .body span { height:5px; border-radius:3px; background:#eceae5; }\n.mk-tpl .body span:nth-child(2){ width:70%; }\n.mk-tpl.sel { border-color:var(--sg-red); box-shadow:0 0 0 1px var(--sg-red); }\n\n\/* events calendar *\/\n.mk-cal { padding:16px; }\n.mk-cal .cal { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; margin-bottom:14px; }\n.mk-cal .cal .dy { aspect-ratio:1; border-radius:6px; background:var(--sg-bg-2); display:grid; place-items:center; font-size:10px; color:var(--sg-ink-faint); }\n.mk-cal .cal .dy.on { background:var(--sg-grad-red); color:#fff; font-weight:700; box-shadow:var(--sg-shadow-red); }\n.mk-ev { display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--sg-line); border-radius:9px; margin-bottom:6px; }\n.mk-ev .date { text-align:center; font-family:var(--sg-mono); }\n.mk-ev .date .mo { font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--sg-red); }\n.mk-ev .date .dd { font-size:18px; font-weight:900; letter-spacing:-.02em; }\n.mk-ev .info .en { font-weight:700; font-size:13px; }\n.mk-ev .info .et { font-size:11px; color:var(--sg-ink-faint); }\n\n\/* popup overlay *\/\n.mk-popup { position:relative; min-height:300px; background:linear-gradient(180deg,#f2f1ed,#e6e3dc); overflow:hidden; }\n.mk-popup .pg { padding:16px; display:flex; flex-direction:column; gap:9px; opacity:.5; }\n.mk-popup .pg span { height:9px; border-radius:4px; background:#d3cfc7; }\n.mk-popup .pg span:nth-child(2){width:80%;} .mk-popup .pg span:nth-child(3){width:62%;} .mk-popup .pg span:nth-child(5){width:70%;}\n.mk-popup .modal { position:absolute; left:22px; right:22px; top:50%; transform:translateY(-50%); background:#fff; border-radius:14px; box-shadow:var(--sg-shadow-2); padding:22px; border:1px solid var(--sg-line); }\n.mk-popup .modal .x { position:absolute; top:11px; right:14px; color:var(--sg-ink-faint); font-size:16px; }\n.mk-popup .modal h4 { font-weight:900; font-size:19px; letter-spacing:-.02em; }\n.mk-popup .modal p { font-size:12.5px; color:var(--sg-ink-soft); margin:6px 0 14px; }\n.mk-popup .modal .ef { display:flex; gap:8px; }\n.mk-popup .modal .ef .inp { flex:1; border:1px solid var(--sg-line); border-radius:8px; padding:11px; font-size:11px; color:var(--sg-ink-faint); }\n\n\/* \"replaces the stack\" collapse: the replaces-section graphic (franken-stack -\u0026gt; one native module) *\/\n.mk-replaces { padding:24px; display:flex; flex-direction:column; gap:10px; width:100%; }\n.mk-replaces .old { display:flex; flex-direction:column; gap:8px; }\n.mk-replaces .p { display:flex; align-items:center; justify-content:space-between; padding:12px 15px; border:1px solid var(--sg-line); border-radius:10px; background:#fff; }\n.mk-replaces .p .nm { font-weight:600; font-size:13px; color:var(--sg-ink-soft); text-decoration:line-through; text-decoration-color:rgba(213,21,34,.55); }\n.mk-replaces .p .lic { font-family:var(--sg-mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--sg-ink-faint); padding:3px 8px; border:1px solid var(--sg-line); border-radius:999px; }\n.mk-replaces .merge { display:flex; align-items:center; gap:12px; padding:1px 0; color:var(--sg-ink-faint); font-family:var(--sg-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }\n.mk-replaces .merge::before, .mk-replaces .merge::after { content:\"\"; height:1px; flex:1; background:var(--sg-line); }\n.mk-replaces .one { display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-radius:11px; background:var(--sg-grad-red); color:#fff; box-shadow:var(--sg-shadow-red); }\n.mk-replaces .one .nm { font-weight:800; font-size:15px; letter-spacing:-.01em; }\n.mk-replaces .one .tag { font-family:var(--sg-mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; opacity:.9; }\n\n\/* ===== more product-surface atoms (for the SECOND render on each page) ===== *\/\n\/* filter toolbar *\/\n.mk-toolbar { display:flex; gap:6px; padding:12px 14px; border-bottom:1px solid var(--sg-line); flex-wrap:wrap; }\n.mk-toolbar .chip { font-family:var(--sg-mono); font-size:10px; padding:5px 11px; border-radius:999px; border:1px solid var(--sg-line); color:var(--sg-ink-faint); }\n.mk-toolbar .chip.on { background:var(--sg-red-soft); color:var(--sg-red-deep); border-color:transparent; }\n\/* record \/ inbox list *\/\n.mk-list .row { display:grid; grid-template-columns:1.5fr 1fr auto; gap:10px; align-items:center; padding:12px 15px; border-bottom:1px solid var(--sg-line-2); font-size:12.5px; }\n.mk-list .row .who { font-weight:600; color:var(--sg-ink); }\n.mk-list .row .who small { display:block; font-weight:400; font-family:var(--sg-mono); font-size:10px; color:var(--sg-ink-faint); margin-top:2px; }\n.mk-list .row .src { font-family:var(--sg-mono); font-size:10px; color:var(--sg-ink-faint); }\n.mk-list .row .st { font-family:var(--sg-mono); font-size:9px; padding:3px 8px; border-radius:5px; background:var(--sg-red-soft); color:var(--sg-red-deep); justify-self:end; }\n\/* report bar chart *\/\n.mk-chart { padding:20px; }\n.mk-chart .bars { display:flex; align-items:flex-end; gap:9px; height:130px; padding-bottom:8px; border-bottom:1px solid var(--sg-line); }\n.mk-chart .bars i { flex:1; height:100%; border-radius:6px 6px 0 0; background:var(--sg-bg-2); }\n.mk-chart .bars i.hot { background:var(--sg-grad-red); box-shadow:var(--sg-shadow-red); }\n.mk-chart.up .bars i.hot { background:linear-gradient(180deg,#4ce592,#22b465); box-shadow:0 2px 12px rgba(40,192,109,.22); } \/* uptime = operational green (matches the status .ok dot) *\/\n.mk-chart .lg { display:flex; justify-content:space-between; margin-top:10px; font-family:var(--sg-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--sg-ink-faint); }\n\/* settings editor: reuse .ui-field \/ .ui-toggle (already in this file) for field + toggle rows *\/\n.mk-editor { padding:18px; display:flex; flex-direction:column; gap:11px; }\n.mk-editor .cc { font-family:var(--sg-mono); font-size:9px; color:var(--sg-ink-faint); float:right; }\n\n\/* ============================================================================\n SHARED ATOMS for compare \/ solutions \/ customers \/ showcase \/ why-sgen pages\n (added 2026-06-04 for the full-site build; dual-surface aware, all var(--sg-*))\n ============================================================================ *\/\n\n\/* head-to-head comparison table: feature | SGEN | competitor *\/\n.vs { width:100%; border-collapse:collapse; font-size:14px; border-radius:var(--sg-r-lg); overflow:hidden; box-shadow:var(--sg-shadow-rest); }\n.vs th, .vs td { padding:15px 18px; text-align:left; border-bottom:1px solid var(--sg-line); }\n.surface-dark .vs th, .surface-dark .vs td { border-bottom-color:rgba(255,255,255,.09); }\n.vs thead th { font-family:var(--sg-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--sg-ink-faint); background:var(--sg-bg-2); }\n.vs thead th.sg { color:var(--sg-red-deep); }\n.surface-dark .vs thead th { background:rgba(255,255,255,.04); }\n.surface-dark .vs thead th.sg { color:var(--sg-red-hot); }\n.vs td.feat-name { font-weight:600; color:var(--sg-ink); }\n.vs td.col-sg { background:var(--sg-red-soft); font-weight:600; color:var(--sg-ink); }\n.surface-dark .vs td.col-sg { background:rgba(213,21,34,.10); }\n.vs .yes { color:var(--sg-red); font-weight:800; }\n.surface-dark .vs .yes { color:var(--sg-red-hot); }\n.vs .no { color:var(--sg-ink-faint); }\n.vs tr:last-child td, .vs tbody tr:last-child td { border-bottom:0; }\n\n\/* feature checklist (what's included) *\/\n.checks { display:grid; gap:12px; }\n.checks .ck { display:flex; align-items:flex-start; gap:12px; font-size:15px; }\n.checks .ck .mk { width:22px; height:22px; border-radius:7px; background:var(--sg-grad-red); flex:none; display:grid; place-items:center; box-shadow:var(--sg-shadow-red); margin-top:1px; }\n.checks .ck .mk::after { content:\"\"; width:8px; height:5px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg) translateY(-1px); }\n.checks .ck b { color:var(--sg-ink); }\n\n\/* verdict \/ winner callout band *\/\n.verdict { display:flex; align-items:center; gap:18px; padding:24px 26px; border-radius:var(--sg-r-lg); background:var(--sg-grad-red); color:#fff; box-shadow:var(--sg-shadow-red); }\n.verdict .vk { font-family:var(--sg-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; opacity:.9; }\n.verdict .vt { font-weight:900; font-size:clamp(20px,2.4vw,28px); letter-spacing:-.02em; line-height:1.15; }\n\n\/* showcase site card (crafted browser-frame tile, no real screenshot) *\/\n.sitecard { border-radius:var(--sg-r-lg); overflow:hidden; border:1px solid var(--sg-card-border); background:var(--sg-card-bg); box-shadow:var(--sg-glass-inset); transition:transform .25s var(--sg-ease), box-shadow .25s var(--sg-ease), border-color .25s; }\n.sitecard:hover { transform:translateY(-5px); border-color:var(--sg-red-tint-22); box-shadow:var(--sg-shadow-red), var(--sg-glass-inset); }\n.sitecard .top { display:flex; align-items:center; gap:6px; padding:9px 12px; background:#211f22; }\n.sitecard .top i { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.18); }\n.sitecard .top .u { margin-left:8px; font-family:var(--sg-mono); font-size:9px; color:rgba(255,255,255,.5); }\n.sitecard .shot { aspect-ratio:16\/10; background:linear-gradient(150deg,#f2efe9,#e5e0d6); position:relative; }\n.sitecard .shot.d { background:linear-gradient(150deg,#1b1b20,#0e0e12); }\n.sitecard .shot .lbl { position:absolute; left:16px; bottom:14px; font-weight:800; font-size:17px; letter-spacing:-.02em; color:#1a1a1a; }\n.sitecard .shot.d .lbl { color:#f4f2ee; }\n.sitecard .meta { padding:13px 15px; display:flex; align-items:center; justify-content:space-between; }\n.sitecard .meta .nm { font-weight:700; font-size:14px; }\n.sitecard .meta .tag { font-family:var(--sg-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--sg-ink-faint); }\n\n\/* big proof metric (reuse .stat for the number); metric row wrapper *\/\n.metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }\n.metric .k { font-family:var(--sg-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--sg-ink-faint); margin-top:10px; }\n@media (max-width:760px){ .metrics { grid-template-columns:1fr; gap:22px; } }\n\n\/* comparison tables fit mobile width (fixed layout + wrap) instead of clipping *\/\n@media (max-width:680px){\n .vs { table-layout:fixed; width:100%; font-size:12.5px; }\n .vs th, .vs td { padding:10px 11px; word-break:break-word; overflow-wrap:anywhere; }\n}\n\n\/* ============================================================================\n SHARED ADMIN-SURFACE atoms (promoted from forms.css 2026-06-04 flagship build).\n Reusable crafted-CSS admin window for product dioramas on any module page.\n CRITICAL: .adwin re-asserts the LIGHT-surface tokens so a white admin card\n always reads with dark text, even inside a .surface-dark section (the\n invisible-text bug). Use .adwin for every white admin product surface.\n ============================================================================ *\/\n.adwin { border-radius:16px; overflow:hidden; background:#fff; border:1px solid var(--sg-line); box-shadow:var(--sg-shadow);\n color:var(--sg-ink);\n --sg-ink:#1A1A1A; --sg-ink-soft:#5b5853; --sg-ink-faint:#868279;\n --sg-line:#ECEAE5; --sg-line-2:#f0eeea; --sg-bg-2:#f9f9f9; --sg-red-soft:#fff1f1;\n --sg-card-bg:#fff; --sg-card-border:#ECEAE5; }\n.surface-dark .adwin { box-shadow:var(--sg-shadow-cinematic); }\n.adbar { display:flex; align-items:center; gap:12px; padding:11px 16px; border-bottom:1px solid var(--sg-line); background:var(--sg-bg-2); }\n.adbar .ic { width:24px; height:24px; border-radius:7px; background:var(--sg-grad-red); box-shadow:var(--sg-shadow-red); flex:none; }\n.adbar .ti { font-weight:800; font-size:14px; letter-spacing:-.01em; color:var(--sg-ink); }\n.adbar .ti small { display:block; font-weight:500; font-size:10.5px; color:var(--sg-ink-faint); letter-spacing:0; margin-top:1px; }\n.adbar .act { margin-left:auto; font-family:var(--sg-font); font-size:12px; font-weight:700; color:#fff; padding:8px 13px; border-radius:8px; background:var(--sg-grad-red); box-shadow:var(--sg-shadow-red); white-space:nowrap; }\n.adbar .act.ghost { background:#fff; color:var(--sg-ink-soft); border:1px solid var(--sg-line); box-shadow:none; }\n\/* status-pill tabs (All \/ Published \/ ... with counts) *\/\n.fpills { display:flex; gap:6px; padding:13px 16px 4px; flex-wrap:wrap; }\n.fpill { display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:600; color:var(--sg-ink-soft); padding:7px 12px; border-radius:999px; border:1px solid var(--sg-line); }\n.fpill b { font-family:var(--sg-mono); font-size:10px; padding:1px 6px; border-radius:999px; background:var(--sg-bg-2); color:var(--sg-ink-faint); }\n.fpill.on { background:var(--sg-red-soft); color:var(--sg-red-deep); border-color:transparent; }\n.fpill.on b { background:var(--sg-red); color:#fff; }\n\/* shared charts: conic-gradient doughnut + crafted SVG line *\/\n.donut { width:124px; height:124px; border-radius:50%; margin:4px auto 14px;\n -webkit-mask:radial-gradient(circle 38px at center, transparent 98%, #000 100%); mask:radial-gradient(circle 38px at center, transparent 98%, #000 100%); }\n.dleg { display:flex; flex-direction:column; gap:7px; }\n.dleg .dl { display:flex; align-items:center; gap:9px; font-size:11.5px; color:var(--sg-ink-soft); }\n.dleg .dl .sw { width:10px; height:10px; border-radius:3px; flex:none; }\n.dleg .dl b { margin-left:auto; font-family:var(--sg-mono); color:var(--sg-ink); }\n.lchart { position:relative; height:150px; border-left:1px solid var(--sg-line); border-bottom:1px solid var(--sg-line); }\n.lchart svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }\n.chart-axis { display:flex; justify-content:space-between; margin-top:9px; font-family:var(--sg-mono); font-size:9px; color:var(--sg-ink-faint); }\n\n\/* ============================================================================\n DISCUSSIONS atoms (added 2026-06-04, Wave 1): moderation queue + public\n threaded comments + star reviews. Reused by \/discussions and the\n reviews\/comments cross-links on ecommerce, events, blog. All var(--sg-*).\n ============================================================================ *\/\n\/* shared avatar (initials) *\/\n.av { display:grid; place-items:center; border-radius:50%; color:#fff; font-weight:800; flex:none; background:var(--sg-grad-red); box-shadow:var(--sg-shadow-red); }\n.av.b1 { background:#3b4a73; box-shadow:none; } .av.b2 { background:#1f5c43; box-shadow:none; }\n.av.b3 { background:#7a2533; box-shadow:none; } .av.g { background:#c9c4bb; box-shadow:none; }\n\/* star rating *\/\n.stars { display:inline-flex; gap:2px; }\n.stars i { width:12px; height:12px; background:var(--sg-grad-red); clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%); }\n.stars i.o { background:#dcd8d0; }\n.stars.sm i { width:10px; height:10px; }\n\/* moderation queue list (admin surface) *\/\n.mk-modq { padding:4px 0; }\n.mk-modq .qrow { display:grid; grid-template-columns:auto 1fr auto; gap:13px; align-items:start; padding:13px 16px; border-bottom:1px solid var(--sg-line-2); }\n.mk-modq .qrow:last-child { border-bottom:0; }\n.mk-modq .qrow .av { width:30px; height:30px; font-size:11px; }\n.mk-modq .bd .who { font-weight:700; font-size:12.5px; display:flex; align-items:center; gap:9px; flex-wrap:wrap; }\n.mk-modq .bd .who .on { font-family:var(--sg-mono); font-size:9px; color:var(--sg-ink-faint); font-weight:400; }\n.mk-modq .bd .cm { font-size:12px; color:var(--sg-ink-soft); margin-top:3px; line-height:1.45; }\n.mk-modq .st { font-family:var(--sg-mono); font-size:9px; padding:3px 8px; border-radius:5px; align-self:center; white-space:nowrap; letter-spacing:.04em; }\n.mk-modq .st.ok { background:var(--sg-red-soft); color:var(--sg-red-deep); }\n.mk-modq .st.pend { background:#f6ead0; color:#7a5b00; }\n.mk-modq .st.spam { background:#26262c; color:#fff; }\n\/* public threaded comments + reviews (front surface) *\/\n.mk-thread { padding:18px; display:flex; flex-direction:column; gap:15px; }\n.mk-cmt { display:grid; grid-template-columns:auto 1fr; gap:11px; }\n.mk-cmt.reply { margin-left:36px; }\n.mk-cmt .av { width:32px; height:32px; font-size:11px; }\n.mk-cmt .meta { display:flex; gap:9px; align-items:center; margin-bottom:5px; }\n.mk-cmt .meta b { color:var(--sg-ink); font-weight:700; font-size:13px; }\n.mk-cmt .meta .t { font-family:var(--sg-mono); font-size:10px; color:var(--sg-ink-faint); }\n.mk-cmt .body { font-size:13px; color:var(--sg-ink-soft); line-height:1.5; }\n.mk-cmt .rep { font-family:var(--sg-mono); font-size:10px; color:var(--sg-red); margin-top:7px; letter-spacing:.04em; }\n\n\n\n\n\/* ---- HERO ----------------------------------------------------------------- *\/\n.se-hero { padding-block: 9vh var(--sg-pad); }\n.se-hero .lede { max-width: 1000px; }\n.se-hero h1 { margin-top: 16px; }\n.se-hero .lead { margin-top: 22px; max-width: 70ch; }\n.se-hero .beat { margin-top: 16px; max-width: 74ch; color: var(--sg-ink-soft); }\n.se-hero .cta { margin-top: 30px; }\n.se-hero .stage { margin-top: 52px; }\n.se-jobs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }\n.se-jobs .jb { font-family: var(--sg-mono); font-size: 11px; font-weight: 600; letter-spacing: .04em; color: var(--sg-ink); padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.04); }\n.se-jobs .jb b { color: var(--sg-red-hot); font-weight: 800; }\n\n\/* ===== SEO MANAGER toolbar (Search + 3 dropdowns + Issues pill + Columns + Export) === *\/\n.setool { display: flex; align-items: center; gap: 8px; padding: 13px 16px; border-bottom: 1px solid var(--sg-line); flex-wrap: wrap; }\n.setool .srch { display: inline-flex; align-items: center; gap: 0; }\n.setool .srch .in { font-family: var(--sg-mono); font-size: 11px; color: var(--sg-ink-faint); padding: 8px 13px; border: 1px solid var(--sg-line); border-right: 0; border-radius: 8px 0 0 8px; background: var(--sg-bg-2); min-width: 156px; }\n.setool .srch .go { font-size: 11px; font-weight: 700; color: #fff; padding: 8px 12px; border-radius: 0 8px 8px 0; background: var(--sg-grad-red); box-shadow: var(--sg-shadow-red); }\n.setool .dd { font-family: var(--sg-mono); font-size: 10.5px; color: var(--sg-ink-soft); padding: 8px 12px; border: 1px solid var(--sg-line); border-radius: 8px; background: var(--sg-bg-2); display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }\n.setool .dd .cv { color: var(--sg-ink-faint); }\n.setool .iss { font-family: var(--sg-mono); font-size: 10.5px; font-weight: 700; color: var(--sg-red-deep); padding: 7px 11px; border: 1px solid var(--sg-red-tint-22); border-radius: 8px; background: var(--sg-red-soft); display: inline-flex; align-items: center; gap: 8px; }\n.setool .iss .ct { font-size: 9px; color: #fff; background: var(--sg-red); padding: 1px 7px; border-radius: 999px; }\n.setool .tbtn { margin-left: 0; font-family: var(--sg-mono); font-size: 10.5px; color: var(--sg-ink-soft); padding: 8px 12px; border: 1px solid var(--sg-line); border-radius: 8px; background: #fff; white-space: nowrap; }\n.setool .tbtn.export { margin-left: auto; }\n\n\/* summary line (\"56 issues across 13 pages\" - illustrative sample only) *\/\n.sesum { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--sg-line); font-size: 12px; color: var(--sg-ink-soft); }\n.sesum b { font-weight: 700; color: var(--sg-ink); }\n.sesum .hint { margin-left: auto; font-family: var(--sg-mono); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; color: var(--sg-ink-faint); }\n\n\/* ===== SEO MANAGER table (8 cols: chk \/ Page \/ Type \/ Status \/ Featured \/ Issues \/ SEO Title \/ Meta) === *\/\n.setab .th, .setab .tr { display: grid; grid-template-columns: 26px 1.5fr .7fr .8fr .6fr .55fr 1.5fr 1.7fr; gap: 11px; align-items: center; padding: 12px 16px; }\n.setab .th { font-family: var(--sg-mono); font-size: 8.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--sg-ink-faint); border-bottom: 1px solid var(--sg-line); }\n.setab .tr { border-bottom: 1px solid var(--sg-line-2); font-size: 12px; }\n.setab .tr:last-child { border-bottom: 0; }\n.setab .chk { width: 15px; height: 15px; border-radius: 4px; border: 1.5px solid var(--sg-line); background: #fff; }\n.setab .th .chk { border-color: var(--sg-ink-faint); }\n.setab .pt { color: var(--sg-red-deep); font-weight: 700; }\n.setab .pt small { display: block; font-weight: 400; font-family: var(--sg-mono); font-size: 9px; color: var(--sg-ink-faint); margin-top: 2px; }\n.setab .typ { font-family: var(--sg-mono); font-size: 9px; padding: 3px 8px; border-radius: 5px; background: var(--sg-bg-2); color: var(--sg-ink-soft); justify-self: start; }\n.setab .stp { font-family: var(--sg-mono); font-size: 9px; padding: 3px 8px; border-radius: 5px; background: #e7f7ee; color: #1c7a45; justify-self: start; }\n.setab .ft { width: 30px; height: 22px; border-radius: 5px; background: linear-gradient(135deg,#e9e5dd,#d6d0c5); border: 1px solid var(--sg-line); }\n.setab .is { font-family: var(--sg-mono); font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 999px; background: #fdeedd; color: #b15a00; justify-self: start; }\n.setab .se { font-size: 11.5px; color: var(--sg-ink); border: 1px solid transparent; border-radius: 6px; padding: 5px 7px; display: flex; align-items: center; gap: 7px; }\n.setab .se.edit { border-color: var(--sg-line); background: var(--sg-bg-2); }\n.setab .se .tok { font-family: var(--sg-mono); font-size: 9px; color: var(--sg-red-deep); background: var(--sg-red-soft); padding: 1px 5px; border-radius: 4px; }\n.setab .se .ph { color: var(--sg-ink-faint); font-style: italic; }\n.setab .se .pen { margin-left: auto; font-size: 9px; color: var(--sg-ink-faint); }\n.serow-controls { display: flex; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--sg-line); font-family: var(--sg-mono); font-size: 10px; color: var(--sg-ink-faint); flex-wrap: wrap; }\n.serow-controls span { color: var(--sg-ink-soft); }\n.serow-controls .idx { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; }\n.serow-controls .idx .sw { width: 28px; height: 16px; border-radius: 999px; background: var(--sg-grad-red); position: relative; }\n.serow-controls .idx .sw::after { content: \"\"; position: absolute; top: 2.5px; right: 2.5px; width: 11px; height: 11px; border-radius: 50%; background: #fff; }\n\n\/* ===== VISIBLE COLUMNS modal (2 col grid of 18 toggles) ===== *\/\n.secols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; padding: 16px; }\n@media (max-width: 760px) { .secols { grid-template-columns: 1fr; } }\n.secols .cg { display: flex; align-items: center; justify-content: space-between; padding: 9px 4px; border-bottom: 1px solid var(--sg-line-2); font-size: 12.5px; color: var(--sg-ink); }\n.secols .cg .sw { width: 30px; height: 17px; border-radius: 999px; background: var(--sg-grad-red); position: relative; box-shadow: 0 0 8px rgba(213,21,34,.3); flex: none; }\n.secols .cg .sw::after { content: \"\"; position: absolute; top: 2.5px; right: 2.5px; width: 12px; height: 12px; border-radius: 50%; background: #fff; }\n.secols .cg.locked .nm { color: var(--sg-ink); font-weight: 600; }\n.secols .cg.locked .lk { font-family: var(--sg-mono); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; color: var(--sg-ink-faint); }\n.semodal-foot { padding: 13px 16px; border-top: 1px solid var(--sg-line); display: flex; align-items: center; gap: 10px; }\n.semodal-foot .note { font-size: 11px; color: var(--sg-ink-faint); }\n.semodal-foot .done { margin-left: auto; font-size: 12px; font-weight: 700; color: #fff; padding: 8px 16px; border-radius: 8px; background: var(--sg-grad-red); box-shadow: var(--sg-shadow-red); }\n\n\/* ===== GLOBAL SEO defaults form (form column + Tips rail) ===== *\/\n.seglobal { display: grid; grid-template-columns: 1.6fr 1fr; gap: 0; }\n@media (max-width: 760px) { .seglobal { grid-template-columns: 1fr; } }\n.seglobal .form { padding: 18px; border-right: 1px solid var(--sg-line); display: flex; flex-direction: column; gap: 16px; }\n.seglobal .secfg-h { font-family: var(--sg-font); font-size: 13px; font-weight: 800; color: var(--sg-red-deep); letter-spacing: -.01em; }\n.sechips { display: flex; flex-wrap: wrap; gap: 6px; padding: 12px; border-radius: 10px; background: var(--sg-red-soft); border: 1px solid var(--sg-red-tint-22); }\n.sechips .lg { width: 100%; font-family: var(--sg-mono); font-size: 8.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--sg-red-deep); margin-bottom: 2px; }\n.sechips .ch { font-family: var(--sg-mono); font-size: 10px; color: var(--sg-red-deep); background: #fff; padding: 3px 8px; border-radius: 6px; border: 1px solid var(--sg-red-tint-22); }\n.sefld .lab { font-family: var(--sg-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--sg-ink-faint); display: block; margin-bottom: 6px; }\n.sefld .inp { border: 1px solid var(--sg-line); border-radius: 9px; padding: 10px 12px; font-size: 12.5px; color: var(--sg-ink); background: var(--sg-bg-2); }\n\/* 7-glyph title separator selector *\/\n.sesep { display: flex; gap: 5px; flex-wrap: wrap; }\n.sesep .g { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 8px; border: 1px solid var(--sg-line); background: var(--sg-bg-2); font-size: 15px; color: var(--sg-ink-soft); }\n.sesep .g.on { background: var(--sg-grad-red); color: #fff; border-color: transparent; box-shadow: var(--sg-shadow-red); }\n\/* checkbox rows *\/\n.secheck { display: flex; align-items: flex-start; gap: 11px; padding: 12px 13px; border: 1px solid var(--sg-line); border-radius: 10px; }\n.secheck .bx { width: 18px; height: 18px; border-radius: 5px; background: var(--sg-grad-red); flex: none; display: grid; place-items: center; box-shadow: var(--sg-shadow-red); margin-top: 1px; }\n.secheck .bx::after { content: \"\"; width: 7px; height: 4px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg) translateY(-1px); }\n.secheck .bx.off { background: #fff; border: 1.5px solid var(--sg-line); box-shadow: none; }\n.secheck .bx.off::after { display: none; }\n.secheck .bt { font-size: 12.5px; font-weight: 600; color: var(--sg-ink); }\n.secheck .bh { font-size: 11px; color: var(--sg-ink-faint); margin-top: 3px; line-height: 1.4; }\n\/* tips rail *\/\n.seglobal .rail { padding: 18px; background: var(--sg-bg-2); display: flex; flex-direction: column; gap: 14px; }\n.seglobal .rail .save { font-family: var(--sg-font); font-size: 13px; font-weight: 700; color: #fff; padding: 11px; border-radius: 9px; background: var(--sg-grad-red); box-shadow: var(--sg-shadow-red); text-align: center; display: flex; align-items: center; justify-content: center; gap: 8px; }\n.seglobal .rail .save .ck { width: 13px; height: 9px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg) translateY(-2px); }\n.setips { border: 1px solid var(--sg-line); border-radius: 11px; padding: 15px; background: #fff; }\n.setips .tt { font-family: var(--sg-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--sg-ink-faint); margin-bottom: 11px; }\n.setips .tip { padding: 9px 0; border-top: 1px solid var(--sg-line-2); }\n.setips .tip:first-of-type { border-top: 0; padding-top: 0; }\n.setips .tip .h { font-weight: 700; font-size: 12px; color: var(--sg-ink); }\n.setips .tip .b { font-size: 11px; color: var(--sg-ink-soft); margin-top: 3px; line-height: 1.45; }\n\n\/* ===== PERMALINK picker (4 radios, live example URLs in code chips) ===== *\/\n.seperma { padding: 16px; display: flex; flex-direction: column; gap: 10px; }\n.seperma .pr { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; padding: 14px 15px; border: 1px solid var(--sg-line); border-radius: 11px; }\n.seperma .pr.on { border-color: var(--sg-red); box-shadow: 0 0 0 3px var(--sg-red-soft); }\n.seperma .pr .rd { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--sg-line); flex: none; }\n.seperma .pr.on .rd { border-color: var(--sg-red); background: radial-gradient(circle 5px at center, var(--sg-red) 98%, transparent 100%); }\n.seperma .pr .nm { font-weight: 700; font-size: 13px; color: var(--sg-ink); }\n.seperma .pr .ur { font-family: var(--sg-mono); font-size: 10.5px; color: var(--sg-red-deep); background: var(--sg-red-soft); padding: 5px 10px; border-radius: 7px; border: 1px solid var(--sg-red-tint-22); justify-self: end; white-space: nowrap; }\n.seperma-foot { padding: 13px 16px 0; font-size: 11.5px; color: var(--sg-ink-faint); border-top: 1px solid var(--sg-line-2); margin: 6px 16px 0; }\n\n\/* ===== SCHEMA EDITOR (2 stacked cards) ===== *\/\n.seschema { padding: 18px; display: flex; flex-direction: column; gap: 14px; }\n.seschema .scard { border: 1px solid var(--sg-line); border-radius: 12px; padding: 16px; }\n.seschema .scard .ct { font-family: var(--sg-font); font-size: 13px; font-weight: 800; color: var(--sg-ink); margin-bottom: 13px; }\n.seschema .sel-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; }\n@media (max-width: 760px) { .seschema .sel-row { grid-template-columns: 1fr; } }\n.seschema .ddsel { font-size: 12.5px; color: var(--sg-ink); border: 1px solid var(--sg-line); border-radius: 9px; padding: 10px 12px; background: var(--sg-bg-2); display: flex; align-items: center; justify-content: space-between; }\n.seschema .ddsel .cv { color: var(--sg-ink-faint); }\n.seschema .load { font-size: 12px; font-weight: 700; color: var(--sg-red-deep); border: 1px solid var(--sg-red-tint-22); padding: 10px 15px; border-radius: 9px; background: #fff; white-space: nowrap; display: inline-flex; align-items: center; gap: 7px; }\n.seschema .fl { margin-bottom: 13px; }\n.seschema .fl:last-child { margin-bottom: 0; }\n.seschema .fl .lab { font-family: var(--sg-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--sg-ink-faint); display: block; margin-bottom: 6px; }\n.seschema .fl .hint { font-size: 10.5px; color: var(--sg-ink-faint); margin-top: 5px; }\n.seschema .ta { border: 1px solid var(--sg-line); border-radius: 9px; padding: 12px; font-family: var(--sg-mono); font-size: 11px; color: var(--sg-ink-soft); background: #1a1a1f; line-height: 1.6; min-height: 64px; }\n.seschema .ta .k { color: #d98fa0; } .seschema .ta .v { color: #9fd0b0; } .seschema .ta .p { color: #cdc8c0; }\n\n\/* ===== ROBOTS.TXT editor framed inside the 9-item SEO nav ===== *\/\n.sewrap { display: grid; grid-template-columns: 250px 1fr; gap: 18px; }\n@media (max-width: 760px) { .sewrap { grid-template-columns: 1fr; } }\n.senav { padding: 10px; }\n.senav .ni { display: grid; grid-template-columns: 26px 1fr; gap: 10px; align-items: center; padding: 9px 10px; border-radius: 9px; border-left: 3px solid transparent; }\n.senav .ni .gl { width: 26px; height: 26px; border-radius: 7px; background: var(--sg-bg-2); border: 1px solid var(--sg-line); }\n.senav .ni .tx .t { font-weight: 700; font-size: 12px; color: var(--sg-ink); }\n.senav .ni .tx .s { font-family: var(--sg-mono); font-size: 9px; color: var(--sg-ink-faint); margin-top: 1px; }\n.senav .ni.on { background: var(--sg-red-soft); border-left-color: var(--sg-red); }\n.senav .ni.on .gl { background: var(--sg-grad-red); border-color: transparent; box-shadow: var(--sg-shadow-red); }\n.senav .ni.on .tx .t { color: var(--sg-red-deep); }\n.serobots { padding: 18px; }\n.serobots .rb-body { font-size: 12px; color: var(--sg-ink-soft); line-height: 1.5; margin-bottom: 14px; max-width: 60ch; }\n.serobots .rb-body code { font-family: var(--sg-mono); font-size: 11px; color: var(--sg-red-deep); background: var(--sg-red-soft); padding: 2px 6px; border-radius: 5px; }\n.serobots .lab { font-family: var(--sg-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--sg-ink-faint); display: block; margin-bottom: 7px; }\n.serobots .ta { border: 1px solid var(--sg-line); border-radius: 10px; padding: 15px; font-family: var(--sg-mono); font-size: 11.5px; line-height: 1.75; background: #1a1a1f; color: #cdc8c0; }\n.serobots .ta .ua { color: #9fd0b0; } .serobots .ta .dis { color: #d98fa0; } .serobots .ta .sm { color: #e0a93b; } .serobots .ta .cm { color: #6b6b76; }\n.serobots .rb-foot { margin-top: 13px; display: flex; align-items: center; gap: 11px; }\n.serobots .rb-foot .save { font-size: 12px; font-weight: 700; color: #fff; padding: 9px 16px; border-radius: 8px; background: var(--sg-grad-red); box-shadow: var(--sg-shadow-red); }\n.serobots .rb-foot .live { font-family: var(--sg-mono); font-size: 10px; color: var(--sg-ink-faint); }\n\n\/* ===== GSC verify card (5-step) - center column second card on \u00a76 ===== *\/\n.segsc { padding: 18px; }\n.segsc .fl .lab { font-family: var(--sg-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--sg-ink-faint); display: block; margin-bottom: 6px; }\n.segsc .fl .inp { border: 1px solid var(--sg-line); border-radius: 9px; padding: 10px 12px; font-family: var(--sg-mono); font-size: 11px; color: var(--sg-ink-faint); background: var(--sg-bg-2); }\n.segsc .steps { margin-top: 14px; border: 1px solid #cfe0f5; border-radius: 11px; padding: 15px; background: #f0f6fd; }\n.segsc .steps .sh { font-weight: 700; font-size: 12px; color: #2b5fa8; margin-bottom: 11px; }\n.segsc .steps .st { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; padding: 6px 0; font-size: 12px; color: var(--sg-ink-soft); }\n.segsc .steps .st .n { width: 20px; height: 20px; border-radius: 50%; background: #2b5fa8; color: #fff; font-family: var(--sg-mono); font-size: 10px; font-weight: 700; display: grid; place-items: center; }\n\n\/* ===== \"in the box\" mini-stack (\u00a7 replaces, native checklist) ===== *\/\n.sebox { padding: 14px 16px; display: flex; flex-direction: column; gap: 9px; }\n.sebox .row { display: flex; align-items: center; gap: 13px; padding: 11px 0; border-bottom: 1px solid var(--sg-line-2); }\n.sebox .row:last-child { border-bottom: 0; }\n.sebox .row .pic { width: 32px; height: 32px; border-radius: 8px; background: var(--sg-grad-red); box-shadow: var(--sg-shadow-red); display: grid; place-items: center; color: #fff; font-family: var(--sg-mono); font-weight: 800; font-size: 12px; flex: none; }\n.sebox .row .di { flex: 1; }\n.sebox .row .di .dn { font-weight: 700; font-size: 13px; color: var(--sg-ink); }\n.sebox .row .di .dm { font-family: var(--sg-mono); font-size: 10px; color: var(--sg-ink-faint); margin-top: 2px; }\n.sebox .row .pill { font-family: var(--sg-mono); font-size: 9px; padding: 3px 8px; border-radius: 5px; background: #e7f7ee; color: #1c7a45; }\n\n\/* ---- CLOSE --------------------------------------------------------------- *\/\n.se-close { text-align: center; }\n.se-close .related { display: flex; flex-wrap: wrap; gap: 14px 26px; justify-content: center; margin-top: 28px; }\n.se-close .related a { font-family: var(--sg-mono); font-size: 12px; color: var(--sg-ink); border-bottom: 1px solid var(--sg-red-tint-22); padding-bottom: 2px; }\n.se-close .related a:hover { color: var(--sg-red-hot); }\n.se-close .fine { font-family: var(--sg-mono); font-size: 12px; color: var(--sg-ink-faint); margin-top: 22px; }\n\n\/* ---- RESPONSIVE ---------------------------------------------------------- *\/\n@media (max-width: 900px) {\n .seglobal.seschema .sel-row.seperma .pr { }\n}\n@media (max-width: 760px) {\n .setab .th { display: none; }\n .setab .tr { grid-template-columns: 22px 1fr auto; row-gap: 5px; }\n .setab .typ, .setab .stp, .setab .ft, .setab .se { grid-column: 2 \/ 4; }\n .setab .se { justify-self: stretch; }\n .seperma .pr { grid-template-columns: auto 1fr; row-gap: 8px; }\n .seperma .pr .ur { grid-column: 1 \/ 3; justify-self: start; }\n .setool .tbtn.export { margin-left: 0; }\n}\n\n\n\n\/* SGEN unified dark render skin \u2014 homepage px3 builder-canvas, applied to product mocks via .rdark. *\/\n\/* ============================================================================\n UNIFIED DARK RENDER SKIN (\".rdark\") \u2014 promoted from the homepage px3\n builder-canvas diorama (na__index__r1). Re-skins any white .adwin \/ .ui-mock\n product mock to the dark premium surface. Token-driven: re-points the same\n --sg-* vars .surface-dark uses, so every inner atom that reads a token flips\n automatically. Specificity (0,2,0) beats base .adwin\/.ui-mock. Leaves the\n existing .adwin.dark variant (security) untouched.\n ============================================================================ *\/\n.rdark, .adwin.rdark, .ui-mock.rdark {\n \/* dark premium palette. Bare .rdark covers bespoke front-end preview renders\n (.estore\/.ledmock\/.evpub\/.libr\/...); compound forms beat .adwin\/.ui-mock\n local light-token re-assertion at (0,2,0). *\/\n --sg-ink: #f4f2ee;\n --sg-ink-soft: rgba(255,255,255,.64);\n --sg-ink-faint: rgba(255,255,255,.42);\n --sg-line: rgba(255,255,255,.12);\n --sg-line-2: rgba(255,255,255,.07);\n --sg-bg: #0d0d11;\n --sg-bg-2: rgba(255,255,255,.035);\n --sg-card-bg: rgba(255,255,255,.045);\n --sg-card-border: rgba(255,255,255,.12);\n --sg-red-soft: rgba(213,21,34,.16);\n --sg-red: #ff3742; \/* brighter so red TEXT reads on dark; still a strong fill (scoped to renders) *\/\n --sg-red-deep: #ff5a66; \/* active\/selected pill text \u2192 bright on dark (was #b00000) *\/\n color: var(--sg-ink);\n border: 1px solid rgba(255,255,255,.12);\n box-shadow: var(--sg-shadow-cinematic);\n \/* px3 diorama backdrop: red glow + 28px grid over warm near-black *\/\n background:\n radial-gradient(120% 80% at 78% -8%, rgba(213,21,34,.09), transparent 55%),\n repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, transparent 1px 28px),\n repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 28px),\n linear-gradient(180deg, #16161b, #0e0e12);\n}\n\/* header rail \/ top bar *\/\n.adwin.rdark .adbar, .ui-mock.rdark .adbar { background: rgba(255,255,255,.03); border-bottom-color: rgba(255,255,255,.08); }\n.adwin.rdark .adbar .ti, .ui-mock.rdark .adbar .ti { color: var(--sg-ink); }\n.adwin.rdark .adbar .act.ghost, .ui-mock.rdark .adbar .act.ghost { background: rgba(255,255,255,.06); color: var(--sg-ink); border-color: rgba(255,255,255,.14); }\n\n\/* ===== CURATED residual fixes (colored callouts keep dark text; code-syntax + special) ===== *\/\n\/* light-colored status callouts (alert \/ validation rows) stay light-bg \u2192 force dark text *\/\n.adwin.rdark .alert .ab, .adwin.rdark .alert .at, .ui-mock.rdark .alert .ab, .ui-mock.rdark .alert .at,\n.adwin.rdark .cc-vrow .cc-code, .adwin.rdark .cc-vrow .cc-vmsg { color:#17150f; }\n.adwin.rdark .cc-vrow.warn .cc-vmsg, .adwin.rdark .cc-vrow.ok .cc-vmsg { color:#3a3320; }\n\/* code-pane syntax tokens that read too dark on the dark code surface \u2192 brighten *\/\n.adwin.rdark .phash .uc .snip .tag { color:#7fa8e6; }\n.adwin.rdark .pban .code .tag, .adwin.rdark .cocode .cb .co .t, .adwin.rdark .cc-cm .cb .co .t { color:#ff8a8a; }\n\/* light-gradient preview pane (media optimization) \u2192 dark *\/\n.adwin.rdark .medit .pane, .ui-mock.rdark .medit .pane { background:linear-gradient(160deg,#1b1b22,#131318); }\n\/* media-library: token-var panels that re-assert light locally \u2192 force dark *\/\n.adwin.rdark .mopt .outl .row, .ui-mock.rdark .mopt .outl .row { background:rgba(255,255,255,.05); color:var(--sg-ink); border-color:rgba(255,255,255,.10); }\n.adwin.rdark .mopt .outl .row b { color:var(--sg-ink); }\n.adwin.rdark .medit .fld .inp, .ui-mock.rdark .medit .fld .inp { background:rgba(255,255,255,.05); color:var(--sg-ink); }\n\/* estore storefront: product-photo placeholders + category facets are hardcoded light gradients \u2192 dark *\/\n.rdark .estore .pc .img, .estore.rdark .pc .img { background:linear-gradient(150deg,#1d1d24,#141419); }\n.rdark .estore .pc .img.a, .estore.rdark .pc .img.a { background:linear-gradient(150deg,#241a1d,#181315); }\n.rdark .estore .pc .img.b, .estore.rdark .pc .img.b { background:linear-gradient(150deg,#191e1b,#141815); }\n.rdark .estore .pc .img.c, .estore.rdark .pc .img.c { background:linear-gradient(150deg,#1d1b26,#15141d); }\n.rdark .estore .cats .ct, .estore.rdark .cats .ct { background:rgba(255,255,255,.04); }\n\/* advanced-settings age-gate: white placeholder bars \u2192 dim translucent *\/\n.rdark .agebg span, .agewrap.rdark .agebg span { background:rgba(255,255,255,.10); }\n\/* ============================================================================\n AUTO-GENERATED dark-skin overrides (.rdark) \u2014 flips hardcoded light panels \/\n dark text inside re-skinned renders. Generated from page CSS by\n _gen-overrides.mjs. Pills (light bg + dark text) left intact. DO NOT hand-edit.\n bg-flips:265 color-flips:4 border-flips:54 pills-left:6\n ============================================================================ *\/\n.ui-mock.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .swin, .swin.rdark { background:rgba(18,18,24,.92); }\n.rdark .swin, .swin.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .srail .stab.on, .srail.rdark .stab.on { background:rgba(18,18,24,.92); }\n.rdark .sw::after, .sw::after.rdark { background:rgba(18,18,24,.92); }\n.rdark .agebg span, .agebg.rdark span { background:rgba(18,18,24,.92); }\n.rdark .agecard, .agecard.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); }\n.rdark .exck, .exck.rdark { background:rgba(18,18,24,.92); }\n.rdark .exck.on::after, .exck.on::after.rdark { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .frwarn, .frwarn.rdark { border-color:rgba(255,255,255,.12); }\n.rdark .frph, .frph.rdark { background:rgba(18,18,24,.92); }\n.rdark .frrow .frb, .frrow.rdark .frb { background:rgba(18,18,24,.92); }\n.rdark .frchip .frck::after, .frchip.rdark .frck::after { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .att-sources, .att-sources.rdark { background:rgba(18,18,24,.92); }\n.rdark .cwin, .cwin.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .bhead .hi::after, .bhead.rdark .hi::after { border-color:rgba(255,255,255,.12); }\n.rdark .btab .cb, .btab.rdark .cb { background:rgba(18,18,24,.92); }\n.rdark .btab .tr.sel .cb::after, .btab.rdark .tr.sel .cb::after { border-color:rgba(255,255,255,.12); }\n.rdark .btab .ac, .btab.rdark .ac { background:rgba(18,18,24,.92); }\n.rdark .btab .ac.restore, .btab.rdark .ac.restore { border-color:rgba(255,255,255,.12); }\n.rdark .btab .rename .ri, .btab.rdark .rename .ri { background:rgba(18,18,24,.92); }\n.rdark .barch .file .glyph, .barch.rdark .file .glyph { background:rgba(18,18,24,.92); }\n.rdark .barch .file .glyph::before, .barch.rdark .file .glyph::before { border-color:rgba(255,255,255,.12); }\n.rdark .layer, .layer.rdark { background:rgba(18,18,24,.92); }\n.rdark .rp-node, .rp-node.rdark { background:rgba(18,18,24,.92); }\n.rdark .nativechecks .nck .mk::after, .nativechecks.rdark .nck .mk::after { border-color:rgba(255,255,255,.12); }\n.rdark .ledmock, .ledmock.rdark { background:rgba(18,18,24,.92); }\n.rdark .nativechecks .nck .mk::after, .nativechecks.rdark .nck .mk::after { border-color:rgba(255,255,255,.12); }\n.rdark .ledmock, .ledmock.rdark { background:rgba(18,18,24,.92); }\n.rdark .nativechecks .nck .mk::after, .nativechecks.rdark .nck .mk::after { border-color:rgba(255,255,255,.12); }\n.rdark .ledmock, .ledmock.rdark { background:rgba(18,18,24,.92); }\n.rdark .nativechecks .nck .mk::after, .nativechecks.rdark .nck .mk::after { border-color:rgba(255,255,255,.12); }\n.rdark .ledmock, .ledmock.rdark { background:rgba(18,18,24,.92); }\n.rdark .nativechecks .nck .mk::after, .nativechecks.rdark .nck .mk::after { border-color:rgba(255,255,255,.12); }\n.rdark .ledmock, .ledmock.rdark { background:rgba(18,18,24,.92); }\n.rdark .cc-subhdr, .cc-subhdr.rdark { background:rgba(18,18,24,.92); }\n.rdark .cc-pill-s.inactive, .cc-pill-s.inactive.rdark { background:rgba(18,18,24,.92); }\n.rdark .cc-cm, .cc-cm.rdark { --sg-ink-soft:rgba(255,255,255,.64); }\n.rdark .cc-toggle .sw::after, .cc-toggle.rdark .sw::after { background:rgba(18,18,24,.92); }\n.rdark .cc-tips .tip, .cc-tips.rdark .tip { background:rgba(18,18,24,.92); }\n.rdark .cc-doc, .cc-doc.rdark { background:rgba(18,18,24,.92); }\n.rdark .cc-band.bstart, .cc-band.bstart.rdark { background:rgba(18,18,24,.92); }\n.rdark .cc-band.content, .cc-band.content.rdark { background:rgba(18,18,24,.92); }\n.rdark .cc-stack, .cc-stack.rdark { background:rgba(18,18,24,.92); }\n.rdark .cc-flow .fnode, .cc-flow.rdark .fnode { background:rgba(18,18,24,.92); }\n.rdark .cc-modal, .cc-modal.rdark { background:rgba(18,18,24,.92); }\n.rdark .cc-vrow.warn, .cc-vrow.warn.rdark { border-color:rgba(255,255,255,.12); }\n.rdark .cc-vrow.ok, .cc-vrow.ok.rdark { border-color:rgba(255,255,255,.12); }\n.rdark .cc-vico.ok::after, .cc-vico.ok::after.rdark { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .cc-subhdr, .cc-subhdr.rdark { background:rgba(18,18,24,.92); }\n.rdark .cocode, .cocode.rdark { --sg-ink-soft:rgba(255,255,255,.64); }\n.rdark .ccform .side .rail-toggle, .ccform.rdark .side .rail-toggle { background:rgba(18,18,24,.92); }\n.rdark .ccform .side .rail-toggle .tog .sw::after, .ccform.rdark .side .rail-toggle .tog .sw::after { background:rgba(18,18,24,.92); }\n.rdark .ccform .side .audit, .ccform.rdark .side .audit { background:rgba(18,18,24,.92); }\n.rdark .modal-host .modal-stage, .modal-host.rdark .modal-stage { background:rgba(18,18,24,.92); }\n.rdark .swal, .swal.rdark { background:rgba(18,18,24,.92); }\n.rdark .swal .swbtns .cancel, .swal.rdark .swbtns .cancel { background:rgba(18,18,24,.92); }\n.rdark .cccascade .snip, .cccascade.rdark .snip { background:rgba(18,18,24,.92); border-color:rgba(255,255,255,.12); }\n.rdark .cccascade .snip, .cccascade.rdark .snip { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .cfrow, .cfrow.rdark { background:rgba(18,18,24,.92); }\n.rdark .cfloc .lo .bx, .cfloc.rdark .lo .bx { background:rgba(18,18,24,.92); }\n.rdark .cfloc .lo.on .bx::after, .cfloc.rdark .lo.on .bx::after { border-color:rgba(255,255,255,.12); }\n.rdark .cfgrp .tips .tip, .cfgrp.rdark .tips .tip { background:rgba(18,18,24,.92); }\n.rdark .cfchip, .cfchip.rdark { background:rgba(18,18,24,.92); }\n.rdark .mediapick .thumb::after, .mediapick.rdark .thumb::after { background:rgba(18,18,24,.92); }\n.rdark .mediapick .mp-lib, .mediapick.rdark .mp-lib { background:rgba(18,18,24,.92); }\n.rdark .dcard, .dcard.rdark { background:rgba(18,18,24,.92); }\n.rdark .co-subhdr, .co-subhdr.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .adbar .act.ghost, .adbar.rdark .act.ghost { background:rgba(18,18,24,.92); }\n.rdark .co-subhdr, .co-subhdr.rdark { background:rgba(18,18,24,.92); }\n.rdark .coseo .vis .sw::after, .coseo.rdark .vis .sw::after { background:rgba(18,18,24,.92); }\n.rdark .cocode, .cocode.rdark { --sg-ink-soft:rgba(255,255,255,.64); }\n.rdark .codef .side .stbox, .codef.rdark .side .stbox { background:rgba(18,18,24,.92); }\n.rdark .cfrow, .cfrow.rdark { background:rgba(18,18,24,.92); }\n.rdark .cfloc .lo .bx, .cfloc.rdark .lo .bx { background:rgba(18,18,24,.92); }\n.rdark .cfloc .lo.on .bx::after, .cfloc.rdark .lo.on .bx::after { border-color:rgba(255,255,255,.12); }\n.rdark .cfgrp .tips .tip, .cfgrp.rdark .tips .tip { background:rgba(18,18,24,.92); }\n.rdark .cfchip, .cfchip.rdark { background:rgba(18,18,24,.92); }\n.rdark .cocat .clh .srch, .cocat.rdark .clh .srch { background:rgba(18,18,24,.92); }\n.rdark .cocat .ctab, .cocat.rdark .ctab { background:rgba(18,18,24,.92); }\n.adwin.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .adbar .ic::after, .adbar.rdark .ic::after { border-color:rgba(255,255,255,.12); }\n.rdark .adbar .act.ghost, .adbar.rdark .act.ghost { background:rgba(18,18,24,.92); }\n.rdark .dchk .cx.on .b::after, .dchk.rdark .cx.on .b::after { border-color:rgba(255,255,255,.12); }\n.rdark .sw2::after, .sw2::after.rdark { background:rgba(18,18,24,.92); }\n.rdark .dview .actrow .ab, .dview.rdark .actrow .ab { background:rgba(18,18,24,.92); }\n.rdark .dreply .area, .dreply.rdark .area { background:rgba(18,18,24,.92); }\n.rdark .dpub .pform .fi, .dpub.rdark .pform .fi { background:rgba(18,18,24,.92); }\n.rdark .estore, .estore.rdark { background:rgba(18,18,24,.92); }\n.rdark .estore, .estore.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .estore .sh .mini .ic, .estore.rdark .sh .mini .ic { border-color:rgba(255,255,255,.12); }\n.rdark .estore .cats .ct, .estore.rdark .cats .ct { background:rgba(18,18,24,.92); }\n.rdark .estore .pc, .estore.rdark .pc { background:rgba(18,18,24,.92); }\n.rdark .estore .pc .img.b, .estore.rdark .pc .img.b { background:rgba(18,18,24,.92); }\n.rdark .estore .pc .img .pin, .estore.rdark .pc .img .pin { background:rgba(18,18,24,.92); }\n.rdark .ectrl .sb, .ectrl.rdark .sb { background:rgba(18,18,24,.92); }\n.rdark .ecock .rail .stsel .ss, .ecock.rdark .rail .stsel .ss { background:rgba(18,18,24,.92); }\n.rdark .ecock .refund, .ecock.rdark .refund { background:rgba(18,18,24,.92); }\n.rdark .ecock .refund .opt .ck.on::after, .ecock.rdark .refund .opt .ck.on::after { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .ecock .notes .note, .ecock.rdark .notes .note { background:rgba(18,18,24,.92); }\n.rdark .csw::after, .csw::after.rdark { background:rgba(18,18,24,.92); }\n.rdark .cfield .ck.on::after, .cfield.rdark .ck.on::after { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .eacct, .eacct.rdark { background:rgba(18,18,24,.92); }\n.rdark .eacct, .eacct.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .eacct .card, .eacct.rdark .card { background:rgba(18,18,24,.92); }\n.rdark .ec-price .top .dot, .ec-price.rdark .top .dot { background:rgba(18,18,24,.92); }\n.rdark .evwys .bar .b, .evwys.rdark .bar .b { background:rgba(18,18,24,.92); }\n.rdark .evwys .bar .dd, .evwys.rdark .bar .dd { background:rgba(18,18,24,.92); }\n.rdark .evrec .seg, .evrec.rdark .seg { background:rgba(18,18,24,.92); }\n.rdark .evrec .day, .evrec.rdark .day { background:rgba(18,18,24,.92); }\n.rdark .evrec .iv .stp, .evrec.rdark .iv .stp { background:rgba(18,18,24,.92); }\n.rdark .evrec .endseg, .evrec.rdark .endseg { background:rgba(18,18,24,.92); }\n.rdark .evrec .endval .stp, .evrec.rdark .endval .stp { background:rgba(18,18,24,.92); }\n.rdark .evside-card, .evside-card.rdark { background:rgba(18,18,24,.92); }\n.rdark .evchk .sw::after, .evchk.rdark .sw::after { background:rgba(18,18,24,.92); }\n.rdark .evcats .crow.on .box::after, .evcats.rdark .crow.on .box::after { border-color:rgba(255,255,255,.12); }\n.rdark .evpub, .evpub.rdark { background:rgba(18,18,24,.92); }\n.rdark .evpub, .evpub.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .evpub .brow .url, .evpub.rdark .brow .url { background:rgba(18,18,24,.92); }\n.rdark .evpub .atc, .evpub.rdark .atc { background:rgba(18,18,24,.92); }\n.rdark .evpub .toolbar .tb, .evpub.rdark .toolbar .tb { background:rgba(18,18,24,.92); }\n.rdark .evpub .toolbar .vtog b, .evpub.rdark .toolbar .vtog b { background:rgba(18,18,24,.92); }\n.rdark .evset .cfg .radio b, .evset.rdark .cfg .radio b { background:rgba(18,18,24,.92); }\n.adwin.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .adbar .act.ghost, .adbar.rdark .act.ghost { background:rgba(18,18,24,.92); }\n.rdark .fbld .mrow .sw::after, .fbld.rdark .mrow .sw::after { background:rgba(18,18,24,.92); }\n.rdark .fbld .prev, .fbld.rdark .prev { background:rgba(18,18,24,.92); }\n.rdark .fbld .pcard, .fbld.rdark .pcard { background:rgba(18,18,24,.92); }\n.rdark .fmodal, .fmodal.rdark { background:rgba(18,18,24,.92); }\n.rdark .hm-canvas .blk.sel .h, .hm-canvas.rdark .blk.sel .h { background:rgba(18,18,24,.92); }\n.rdark .swx-thumb .tbody b, .swx-thumb.rdark .tbody b { background:rgba(18,18,24,.92); }\n.rdark .swx-t5, .swx-t5.rdark { background:rgba(18,18,24,.92); }\n.rdark .smx-chip, .smx-chip.rdark { background:rgba(18,18,24,.92); }\n.rdark .prx-status--pop i, .prx-status--pop.rdark i { background:rgba(18,18,24,.92); }\n.rdark .sc-facet .box::after, .sc-facet.rdark .box::after { background:rgba(18,18,24,.92); }\n.rdark .pd-panel::after, .pd-panel::after.rdark { background:rgba(18,18,24,.92); }\n.rdark .pd-navbtn:hover, .pd-navbtn:hover.rdark { border-color:rgba(255,255,255,.12); }\n.rdark .px3-h, .px3-h.rdark { background:rgba(18,18,24,.92); }\n.rdark .px3-ed-sw .chip.k, .px3-ed-sw.rdark .chip.k { background:rgba(18,18,24,.92); }\n.rdark .gcard, .gcard.rdark { background:rgba(18,18,24,.92); }\n.rdark .ghost-hub .gh-c, .ghost-hub.rdark .gh-c { background:rgba(18,18,24,.92); }\n.rdark .drawer, .drawer.rdark { background:rgba(18,18,24,.92); }\n.rdark .sw::after, .sw::after.rdark { background:rgba(18,18,24,.92); }\n.rdark .howto, .howto.rdark { border-color:rgba(255,255,255,.12); }\n.adwin.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .adbar .act.ghost, .adbar.rdark .act.ghost { background:rgba(18,18,24,.92); }\n.rdark .mtile, .mtile.rdark { background:rgba(18,18,24,.92); }\n.rdark .mopt, .mopt.rdark { background:rgba(18,18,24,.92); }\n.rdark .mopt, .mopt.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .medit .pane, .medit.rdark .pane { background:rgba(18,18,24,.92); }\n.rdark .mset .srow .sw.off::after, .mset.rdark .srow .sw.off::after { background:rgba(18,18,24,.92); }\n.rdark .mset .srow .sw.on::after, .mset.rdark .srow .sw.on::after { background:rgba(18,18,24,.92); }\n.adwin.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .adbar .act.ghost, .adbar.rdark .act.ghost { background:rgba(18,18,24,.92); }\n.rdark .acc, .acc.rdark { background:rgba(18,18,24,.92); }\n.rdark .acc .prow, .acc.rdark .prow { background:rgba(18,18,24,.92); }\n.rdark .mchip, .mchip.rdark { background:rgba(18,18,24,.92); }\n.rdark .mp-head .li::after, .mp-head.rdark .li::after { background:rgba(18,18,24,.92); }\n.rdark .trow, .trow.rdark { background:rgba(18,18,24,.92); }\n.rdark .megabar, .megabar.rdark { background:rgba(18,18,24,.92); }\n.rdark .loc .assigned, .loc.rdark .assigned { background:rgba(18,18,24,.92); }\n.rdark .pi-board, .pi-board.rdark { background:rgba(18,18,24,.92); }\n.rdark .pi-row .pi-v, .pi-row.rdark .pi-v { background:rgba(18,18,24,.92); }\n.rdark .phone, .phone.rdark { background:rgba(18,18,24,.92); }\n.rdark .phone, .phone.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .cv-issues .h, .cv-issues.rdark .h { background:rgba(18,18,24,.92); }\n.rdark .libr, .libr.rdark { background:rgba(18,18,24,.92); }\n.rdark .insp .canv .selbtn .h, .insp.rdark .canv .selbtn .h { background:rgba(18,18,24,.92); }\n.rdark .rvis .ck.hidden .bx::after, .rvis.rdark .ck.hidden .bx::after { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .ssdraw .drawer, .ssdraw.rdark .drawer { background:rgba(18,18,24,.92); }\n.rdark .ssdraw .drawer, .ssdraw.rdark .drawer { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .dfield .tgl::after, .dfield.rdark .tgl::after { background:rgba(18,18,24,.92); }\n.rdark .ssdraw .dsave, .ssdraw.rdark .dsave { background:rgba(18,18,24,.92); }\n.rdark .mods, .mods.rdark { background:rgba(18,18,24,.92); }\n.rdark .mod.hot, .mod.hot.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .adbar .ic.clock::after, .adbar.rdark .ic.clock::after { background:rgba(18,18,24,.92); }\n.rdark .adbar .act.ghost, .adbar.rdark .act.ghost { background:rgba(18,18,24,.92); }\n.rdark .ptab .ck, .ptab.rdark .ck { background:rgba(18,18,24,.92); }\n.rdark .pcmp .inp, .pcmp.rdark .inp { background:rgba(18,18,24,.92); }\n.rdark .pcmp .right .inp, .pcmp.rdark .right .inp { background:rgba(18,18,24,.92); }\n.rdark .pban .bh .chk .box::after, .pban.rdark .bh .chk .box::after { border-color:rgba(255,255,255,.12); }\n.rdark .rsel, .rsel.rdark { background:rgba(18,18,24,.92); }\n.rdark .rtoggle, .rtoggle.rdark { background:rgba(18,18,24,.92); }\n.rdark .rtoggle .sw::after, .rtoggle.rdark .sw::after { background:rgba(18,18,24,.92); }\n.rdark .rthumb, .rthumb.rdark { background:rgba(18,18,24,.92); }\n.rdark .pmodal, .pmodal.rdark { background:rgba(18,18,24,.92); }\n.rdark .wcall, .wcall.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); }\n.rdark .wcall .lab2, .wcall.rdark .lab2 { background:rgba(18,18,24,.92); }\n.rdark .parch .perm .opt.on .rd, .parch.rdark .perm .opt.on .rd { background:rgba(18,18,24,.92); }\n.rdark .pdisc .dchk, .pdisc.rdark .dchk { background:rgba(18,18,24,.92); }\n.rdark .pdisc .dchk.on .dbox::after, .pdisc.rdark .dchk.on .dbox::after { border-color:rgba(255,255,255,.12); }\n.rdark .pubd .cform .cfi, .pubd.rdark .cform .cfi { background:rgba(18,18,24,.92); }\n.rdark .optz .ohead .oic::after, .optz.rdark .ohead .oic::after { border-top-color:rgba(255,255,255,.12); }\n.rdark .osw::after, .osw::after.rdark { background:rgba(18,18,24,.92); }\n.rdark .svhead .svseg b.on, .svhead.rdark .svseg b.on { background:rgba(18,18,24,.92); }\n.rdark .tside .nav.on .td, .tside.rdark .nav.on .td { background:rgba(18,18,24,.92); }\n.rdark .srep .tpick .pr .cb.on::after, .srep.rdark .tpick .pr .cb.on::after { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .iex .ec.sel .cb::after, .iex.rdark .ec.sel .cb::after { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .glprev .pg, .glprev.rdark .pg { background:rgba(18,18,24,.92); }\n.rdark .mpanel, .mpanel.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .mpanel .mpb.ghost, .mpanel.rdark .mpb.ghost { background:rgba(18,18,24,.92); }\n.adwin.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .adbar .act.ghost, .adbar.rdark .act.ghost { background:rgba(18,18,24,.92); }\n.rdark .wtool i, .wtool.rdark i { background:rgba(18,18,24,.92); }\n.rdark .wfoot .ptag, .wfoot.rdark .ptag { background:rgba(18,18,24,.92); }\n.rdark .prail .panel, .prail.rdark .panel { background:rgba(18,18,24,.92); }\n.rdark .chk .bx, .chk.rdark .bx { background:rgba(18,18,24,.92); }\n.rdark .chk.on .bx::after, .chk.on.rdark .bx::after { border-color:rgba(255,255,255,.12); }\n.rdark .phash .hbar .code, .phash.rdark .hbar .code { background:rgba(18,18,24,.92); }\n.rdark .phash .uc .demo .lnk.ghost, .phash.rdark .uc .demo .lnk.ghost { background:rgba(18,18,24,.92); }\n.rdark .sc-modal, .sc-modal.rdark { background:rgba(18,18,24,.92); }\n.rdark .psrc .stile .pick, .psrc.rdark .stile .pick { background:rgba(18,18,24,.92); }\n.rdark .psrc .stile .beta, .psrc.rdark .stile .beta { border-color:rgba(255,255,255,.12); }\n.rdark .prend .modal, .prend.rdark .modal { background:rgba(18,18,24,.92); }\n.rdark .prend .modal, .prend.rdark .modal { --sg-ink:#f4f2ee; }\n.rdark .prend .modal .x, .prend.rdark .modal .x { color:var(--sg-ink-soft); }\n.rdark .prend .modal h5, .prend.rdark .modal h5 { color:var(--sg-ink); }\n.rdark .prend .modal p, .prend.rdark .modal p { color:var(--sg-ink); }\n.rdark .plan, .plan.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .adbar .act.ghost, .adbar.rdark .act.ghost { background:rgba(18,18,24,.92); }\n.rdark .rtools .tin, .rtools.rdark .tin { background:rgba(18,18,24,.92); }\n.rdark .rtools .tbtn, .rtools.rdark .tbtn { background:rgba(18,18,24,.92); }\n.rdark .rtools .mag::after, .rtools.rdark .mag::after { border-color:rgba(255,255,255,.12); }\n.rdark .rtools .mag::before, .rtools.rdark .mag::before { background:rgba(18,18,24,.92); }\n.rdark .rtab .ck, .rtab.rdark .ck { background:rgba(18,18,24,.92); }\n.rdark .rsim .simbtn, .rsim.rdark .simbtn { background:rgba(18,18,24,.92); }\n.rdark .rconf .cfld .cval, .rconf.rdark .cfld .cval { background:rgba(18,18,24,.92); }\n.rdark .rstate .sw::after, .rstate.rdark .sw::after { background:rgba(18,18,24,.92); }\n.rdark .rexample, .rexample.rdark { background:rgba(18,18,24,.92); }\n.rdark .redit .ig .pre, .redit.rdark .ig .pre { background:rgba(18,18,24,.92); }\n.rdark .redit .chk .box, .redit.rdark .chk .box { background:rgba(18,18,24,.92); }\n.rdark .redit .swrow, .redit.rdark .swrow { background:rgba(18,18,24,.92); }\n.rdark .redit .sw::after, .redit.rdark .sw::after { background:rgba(18,18,24,.92); }\n.adwin.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.adwin.rdark.dark { --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .stip .res.ok, .stip.rdark .res.ok { border-color:rgba(255,255,255,.12); }\n.rdark .stip .res.info, .stip.rdark .res.info { border-color:rgba(255,255,255,.12); }\n.rdark .stip .res.err, .stip.rdark .res.err { border-color:rgba(255,255,255,.12); }\n.rdark .setool .tbtn, .setool.rdark .tbtn { background:rgba(18,18,24,.92); }\n.rdark .setab .chk, .setab.rdark .chk { background:rgba(18,18,24,.92); }\n.rdark .serow-controls .idx .sw::after, .serow-controls.rdark .idx .sw::after { background:rgba(18,18,24,.92); }\n.rdark .secols .cg .sw::after, .secols.rdark .cg .sw::after { background:rgba(18,18,24,.92); }\n.rdark .sechips .ch, .sechips.rdark .ch { background:rgba(18,18,24,.92); }\n.rdark .secheck .bx::after, .secheck.rdark .bx::after { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .secheck .bx.off, .secheck.rdark .bx.off { background:rgba(18,18,24,.92); }\n.rdark .seglobal .rail .save .ck, .seglobal.rdark .rail .save .ck { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .setips, .setips.rdark { background:rgba(18,18,24,.92); }\n.rdark .seschema .load, .seschema.rdark .load { background:rgba(18,18,24,.92); }\n.rdark .segsc .steps, .segsc.rdark .steps { border-color:rgba(255,255,255,.12); }\n.adwin.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .adbar .act.ghost, .adbar.rdark .act.ghost { background:rgba(18,18,24,.92); }\n.rdark .smset .sw::after, .smset.rdark .sw::after { background:rgba(18,18,24,.92); }\n.rdark .smset .save, .smset.rdark .save { background:rgba(18,18,24,.92); }\n.rdark .smmail .test .ti, .smmail.rdark .test .ti { background:rgba(18,18,24,.92); }\n.rdark .agdash .roster .find, .agdash.rdark .roster .find { background:rgba(18,18,24,.92); }\n.rdark .agdash .arow.cur .login, .agdash.rdark .arow.cur .login { background:rgba(18,18,24,.92); }\n.rdark .aglogin .vstate .back, .aglogin.rdark .vstate .back { background:rgba(18,18,24,.92); }\n.rdark .frhand .ph, .frhand.rdark .ph { background:rgba(18,18,24,.92); }\n.rdark .frhand .ph.done .dot::after, .frhand.rdark .ph.done .dot::after { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .frhand .ph.now .dot, .frhand.rdark .ph.now .dot { background:rgba(18,18,24,.92); }\n.rdark .frhand .ph.now .pt, .frhand.rdark .ph.now .pt { background:rgba(18,18,24,.92); }\n.rdark .frbuild .blk .bb, .frbuild.rdark .blk .bb { background:rgba(18,18,24,.92); }\n.rdark .frbuild .frpub .sw::after, .frbuild.rdark .frpub .sw::after { background:rgba(18,18,24,.92); }\n.rdark .frroles .rt .c .yes::after, .frroles.rdark .rt .c .yes::after { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .hca11y .hcswitch .sw::after, .hca11y.rdark .hcswitch .sw::after { background:rgba(18,18,24,.92); }\n.rdark .hca11y .hcpv .bk, .hca11y.rdark .hcpv .bk { background:rgba(18,18,24,.92); }\n.rdark .mldash .lbar .find, .mldash.rdark .lbar .find { background:rgba(18,18,24,.92); }\n.rdark .mldash .bulk .sel, .mldash.rdark .bulk .sel { background:rgba(18,18,24,.92); }\n.rdark .mldash .bulk .ap, .mldash.rdark .bulk .ap { background:rgba(18,18,24,.92); }\n.rdark .mldash .ckbox, .mldash.rdark .ckbox { background:rgba(18,18,24,.92); }\n.rdark .mldash .lrow .acts .tr, .mldash.rdark .lrow .acts .tr { background:rgba(18,18,24,.92); }\n.rdark .mldash .lrow.cur .acts .ed, .mldash.rdark .lrow.cur .acts .ed { background:rgba(18,18,24,.92); }\n.rdark .mlrec .hours .hrow .tm, .mlrec.rdark .hours .hrow .tm { background:rgba(18,18,24,.92); }\n.rdark .mlsel .vstate .ch, .mlsel.rdark .vstate .ch { background:rgba(18,18,24,.92); }\n.rdark .rsfront .rsf-event .rsf-ev-cta, .rsfront.rdark .rsf-event .rsf-ev-cta { background:rgba(18,18,24,.92); }\n.rdark .rsevents .evrow.cur .evr, .rsevents.rdark .evrow.cur .evr { background:rgba(18,18,24,.92); }\n.rdark .rsform .ff .fi, .rsform.rdark .ff .fi { background:rgba(18,18,24,.92); }\n.rdark .rsform .rsf-recap .rsf-recap-box, .rsform.rdark .rsf-recap .rsf-recap-box { background:rgba(18,18,24,.92); }\n.rdark .rsinbox .inbfil .inbf, .rsinbox.rdark .inbfil .inbf { background:rgba(18,18,24,.92); }\n.rdark .rsstore .sitem, .rsstore.rdark .sitem { background:rgba(18,18,24,.92); }\n.rdark .sbcanvas .palette .blk, .sbcanvas.rdark .palette .blk { background:rgba(18,18,24,.92); }\n.rdark .sbcanvas .cvsec, .sbcanvas.rdark .cvsec { background:rgba(18,18,24,.92); }\n.rdark .sbcanvas .cvsec.hero .hp, .sbcanvas.rdark .cvsec.hero .hp { background:rgba(18,18,24,.92); }\n.rdark .sbcanvas .cvsec.line span, .sbcanvas.rdark .cvsec.line span { background:rgba(18,18,24,.92); }\n.rdark .sbtpls .tpl, .sbtpls.rdark .tpl { background:rgba(18,18,24,.92); }\n.rdark .sbtpls .tpl .body span, .sbtpls.rdark .tpl .body span { background:rgba(18,18,24,.92); }\n.rdark .sbstore .cpay .pay.alt, .sbstore.rdark .cpay .pay.alt { background:rgba(18,18,24,.92); }\n.rdark .sgpush .bt.ghost, .sgpush.rdark .bt.ghost { background:rgba(18,18,24,.92); }\n.rdark .sgjob.done .ok::after, .sgjob.done.rdark .ok::after { border-color:rgba(255,255,255,.12); }\n.rdark .sgclone .tgt .inp, .sgclone.rdark .tgt .inp { background:rgba(18,18,24,.92); }\n.rdark .sgclone .sgjob.done, .sgclone.rdark .sgjob.done, .rdark .sgrestore .sgjob.done, .sgrestore.rdark .sgjob.done { border-color:rgba(255,255,255,.12); }\n.rdark .sgbk .tab .ck, .sgbk.rdark .tab .ck { background:rgba(18,18,24,.92); }\n.adwin.rdark { background:rgba(18,18,24,.92); }\n.adwin.rdark { --sg-ink:#f4f2ee; --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .adbar .act.ghost, .adbar.rdark .act.ghost { background:rgba(18,18,24,.92); }\n.rdark .tbulk .sel.open, .tbulk.rdark .sel.open { background:rgba(18,18,24,.92); }\n.rdark .tbulk .sel .menu, .tbulk.rdark .sel .menu { background:rgba(18,18,24,.92); }\n.rdark .ttab .cb.ck::after, .ttab.rdark .cb.ck::after { border-color:rgba(255,255,255,.12); }\n.rdark .tman .warn, .tman.rdark .warn { border-color:rgba(255,255,255,.12); }\n.rdark .tman .ed, .tman.rdark .ed { background:rgba(18,18,24,.92); }\n.rdark .tman .ed .etool span, .tman.rdark .ed .etool span { background:rgba(18,18,24,.92); }\n.rdark .tman .rail .rcard, .tman.rdark .rail .rcard { background:rgba(18,18,24,.92); }\n.rdark .treuse .src, .treuse.rdark .src { background:rgba(18,18,24,.92); }\n.rdark .treuse .src .sname, .treuse.rdark .src .sname { color:var(--sg-ink); }\n.rdark .tio .btn-io.ghost, .tio.rdark .btn-io.ghost { background:rgba(18,18,24,.92); }\n.rdark .tlib .lcard, .tlib.rdark .lcard { background:rgba(18,18,24,.92); }\n.rdark .tlib .lcard .thumb, .tlib.rdark .lcard .thumb { background:rgba(18,18,24,.92); }\n.rdark .tephead .save .ck::after, .tephead.rdark .save .ck::after { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .tetype .ff, .tetype.rdark .ff { background:rgba(18,18,24,.92); }\n.rdark .tetype .sz, .tetype.rdark .sz { background:rgba(18,18,24,.92); }\n.rdark .teswatch, .teswatch.rdark { background:rgba(18,18,24,.92); }\n.rdark .teswatch .chk::after, .teswatch.rdark .chk::after { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .sgbcanvas .pg .nav .lg, .sgbcanvas.rdark .pg .nav .lg { background:rgba(18,18,24,.92); }\n.rdark .sgbcanvas .pg .hh .h, .sgbcanvas.rdark .pg .hh .h { background:rgba(18,18,24,.92); }\n.rdark .tcfont .wbh .ico i, .tcfont.rdark .wbh .ico i { background:rgba(18,18,24,.92); }\n.rdark .tcfont .wsel, .tcfont.rdark .wsel { background:rgba(18,18,24,.92); }\n.rdark .hfp .fr .sw::after, .hfp.rdark .fr .sw::after { background:rgba(18,18,24,.92); }\n.rdark .hfp .cta1, .hfp.rdark .cta1 { background:rgba(18,18,24,.92); }\n.rdark .hfp , .hfp.rdark { background:rgba(18,18,24,.92); }\n.rdark .tnav-side .nrow.on .gl, .tnav-side.rdark .nrow.on .gl { background:rgba(18,18,24,.92); }\n.rdark .tnav-card .ch .ti, .tnav-card.rdark .ch .ti { background:rgba(18,18,24,.92); }\n.rdark .tbody .sw::after, .tbody.rdark .sw::after { background:rgba(18,18,24,.92); }\n.rdark .ocard, .ocard.rdark { background:rgba(18,18,24,.92); }\n.rdark .ocard .ctl .ms::after, .ocard.rdark .ctl .ms::after { background:rgba(18,18,24,.92); }\n.rdark .iecards .ec.sel .cb::after, .iecards.rdark .ec.sel .cb::after { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .iefmt .pick, .iefmt.rdark .pick { background:rgba(18,18,24,.92); }\n.rdark .iedrop .chip, .iedrop.rdark .chip { background:rgba(18,18,24,.92); }\n.rdark .srcard .warn, .srcard.rdark .warn { border-color:rgba(255,255,255,.12); }\n.rdark .srlist .trow.on .cb::after, .srlist.rdark .trow.on .cb::after { border-bottom-color:rgba(255,255,255,.12); }\n.rdark .sropt .sw::after, .sropt.rdark .sw::after { background:rgba(18,18,24,.92); }\n.rdark .mm-toggle .sw::after, .mm-toggle.rdark .sw::after { background:rgba(18,18,24,.92); }\n.rdark .bktab .act span.restore, .bktab.rdark .act span.restore { border-color:rgba(255,255,255,.12); }\n.rdark .bktab .tr.renaming .fn .edit, .bktab.rdark .tr.renaming .fn .edit { background:rgba(18,18,24,.92); }\n.rdark .sgpanel, .sgpanel.rdark { --sg-ink-soft:rgba(255,255,255,.64); --sg-ink-faint:rgba(255,255,255,.42); }\n.rdark .uhead .gico::before, .uhead.rdark .gico::before { border-color:rgba(255,255,255,.12); }\n.rdark .uform .sel-role, .uform.rdark .sel-role { background:rgba(18,18,24,.92); }\n.rdark .biobox, .biobox.rdark { background:rgba(18,18,24,.92); }\u003C\/template\u003E"},"propagate":[]}]}}}-
Allow search engines to index this site
Leave off while you build or migrate, then switch it on at launch so crawlers see the finished site.
Force Trailing Slash on URLs?
When enabled, all generated permalinks end with a slash.
Site TitleAcme Coffee Roasters