/*
  H.O.R.D.E. Visual Refresh — Phase 1
  Scope: public marketing, SEO/product landing pages, and blog templates.
  This stylesheet intentionally does not target the protected application shell.
*/

:root {
    --horde-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --horde-space-1: .375rem;
    --horde-space-2: .625rem;
    --horde-space-3: .875rem;
    --horde-space-4: 1.125rem;
    --horde-space-5: 1.5rem;
    --horde-space-6: 2rem;
    --horde-space-7: 3rem;
    --horde-space-8: 4.5rem;
    --horde-radius-sm: 8px;
    --horde-radius-md: 12px;
    --horde-radius-lg: 18px;
    --horde-radius-xl: 24px;
    --horde-control-height: 44px;
    --horde-content-max: 1180px;
    --horde-reading-max: 820px;
    --horde-blue: #2563eb;
    --horde-blue-strong: #1d4ed8;
    --horde-blue-soft: #60a5fa;
    --horde-green: #16a34a;
    --horde-red: #dc2626;
    --horde-table-head: transparent;
    --horde-table-row: transparent;
    --horde-input: transparent;
    --horde-overlay: rgba(2, 8, 18, .72);
    --horde-badge-neutral: transparent;
}

html[data-theme="dark"] {
    color-scheme: dark;
    --horde-page: #07111f;
    --horde-page-deep: #050b14;
    --horde-surface: #0d1a2b;
    --horde-surface-raised: #11223a;
    --horde-surface-subtle: #0a1626;
    --horde-text: #f7fbff;
    --horde-text-strong: #ffffff;
    --horde-muted: #a9b9cd;
    --horde-muted-strong: #cad7e7;
    --horde-border: rgba(148, 163, 184, .22);
    --horde-border-strong: rgba(96, 165, 250, .50);
    --horde-blue-tint: rgba(37, 99, 235, .14);
    --horde-blue-tint-strong: rgba(37, 99, 235, .24);
    --horde-blue-line: rgba(96, 165, 250, .52);
    --horde-success-tint: rgba(34, 197, 94, .13);
    --horde-danger-tint: rgba(239, 68, 68, .12);
    --horde-shadow: 0 18px 42px rgba(0, 0, 0, .26);
    --horde-shadow-hover: 0 24px 54px rgba(0, 0, 0, .36);
    --horde-table-head: #11223a;
    --horde-table-row: #0a1626;
    --horde-input: #091626;
    --horde-overlay: rgba(2, 8, 18, .76);
    --horde-badge-neutral: rgba(148, 163, 184, .12);
}

html[data-theme="light"] {
    color-scheme: light;
    --horde-page: #f4f7fb;
    --horde-page-deep: #eaf0f8;
    --horde-surface: #ffffff;
    --horde-surface-raised: #f8fbff;
    --horde-surface-subtle: #eef4fb;
    --horde-text: #102033;
    --horde-text-strong: #071425;
    --horde-muted: #53657a;
    --horde-muted-strong: #34465c;
    --horde-border: #d8e2ee;
    --horde-border-strong: #93c5fd;
    --horde-blue-tint: #eaf2ff;
    --horde-blue-tint-strong: #dbeafe;
    --horde-blue-line: #2563eb;
    --horde-success-tint: #edf9f0;
    --horde-danger-tint: #fff1f2;
    --horde-shadow: 0 15px 34px rgba(15, 23, 42, .08);
    --horde-shadow-hover: 0 20px 42px rgba(15, 23, 42, .14);
    --horde-table-head: #edf3fa;
    --horde-table-row: #f8fbff;
    --horde-input: #ffffff;
    --horde-overlay: rgba(15, 23, 42, .46);
    --horde-badge-neutral: #eef2f7;
}

html:not([data-theme]) {
    color-scheme: dark;
}

html:not([data-theme]) body.horde-public-site {
    --horde-page: #07111f;
    --horde-page-deep: #050b14;
    --horde-surface: #0d1a2b;
    --horde-surface-raised: #11223a;
    --horde-surface-subtle: #0a1626;
    --horde-text: #f7fbff;
    --horde-text-strong: #ffffff;
    --horde-muted: #a9b9cd;
    --horde-muted-strong: #cad7e7;
    --horde-border: rgba(148, 163, 184, .22);
    --horde-border-strong: rgba(96, 165, 250, .50);
    --horde-blue-tint: rgba(37, 99, 235, .14);
    --horde-blue-tint-strong: rgba(37, 99, 235, .24);
    --horde-blue-line: rgba(96, 165, 250, .52);
    --horde-success-tint: rgba(34, 197, 94, .13);
    --horde-danger-tint: rgba(239, 68, 68, .12);
    --horde-shadow: 0 18px 42px rgba(0, 0, 0, .26);
    --horde-shadow-hover: 0 24px 54px rgba(0, 0, 0, .36);
}

body.horde-public-site {
    min-height: 100vh;
    color: var(--horde-text);
    background: linear-gradient(180deg, var(--horde-page) 0%, var(--horde-page-deep) 100%) !important;
    font-family: var(--horde-font-sans) !important;
    font-synthesis: none;
    letter-spacing: .002em;
}

body.horde-public-site::before {
    display: none !important;
}

body.horde-public-site .wrap {
    min-height: 100vh;
    position: relative;
    isolation: isolate;
}

body.horde-public-site .wrap::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0 0 auto;
    height: min(760px, 72vw);
    pointer-events: none;
    background:
        linear-gradient(115deg, transparent 0 41%, var(--horde-blue-tint) 41.1% 41.25%, transparent 41.35% 100%),
        radial-gradient(ellipse 72% 48% at 86% -2%, var(--horde-blue-tint-strong), transparent 68%);
    opacity: .74;
}

body.horde-public-site a {
    color: inherit;
}

body.horde-public-site a:focus-visible,
body.horde-public-site button:focus-visible,
body.horde-public-site summary:focus-visible {
    outline: 3px solid var(--horde-blue-soft);
    outline-offset: 3px;
}

/* Shared public navigation */
body.horde-public-site .nav {
    width: min(var(--horde-content-max), calc(100% - 44px));
    min-height: 78px;
    margin: 0 auto;
    padding: var(--horde-space-3) 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--horde-space-5);
    border-bottom: 1px solid var(--horde-border);
    background: transparent;
}

body.horde-public-site .brand {
    min-width: max-content;
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    text-decoration: none;
}

body.horde-public-site .brand-mark {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: block;
    object-fit: contain;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.horde-public-site .brand-name {
    color: var(--horde-text-strong);
    font-size: 1.02rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .16em;
}

body.horde-public-site .brand-sub {
    margin-top: .34rem;
    color: var(--horde-muted);
    font-size: .61rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: .10em;
}

body.horde-public-site .nav-links {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: .2rem;
    flex-wrap: wrap;
    color: var(--horde-muted);
    font-size: .82rem;
    font-weight: 750;
}

body.horde-public-site .nav-links > a:not(.btn) {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 0 .56rem;
    border-radius: var(--horde-radius-sm);
    color: var(--horde-muted);
    text-decoration: none;
    transition: color .16s ease, background-color .16s ease;
}

body.horde-public-site .nav-links > a:not(.btn):hover {
    color: var(--horde-text-strong);
    background: var(--horde-blue-tint);
}

.horde-public-theme-toggle {
    min-width: 38px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    padding: 0 .58rem;
    color: var(--horde-muted-strong);
    background: transparent;
    border: 1px solid var(--horde-border);
    border-radius: var(--horde-radius-sm);
    font: inherit;
    font-size: .76rem;
    font-weight: 800;
    cursor: pointer;
    transition: color .16s ease, background-color .16s ease, border-color .16s ease;
}

.horde-public-theme-toggle:hover {
    color: var(--horde-text-strong);
    background: var(--horde-blue-tint);
    border-color: var(--horde-border-strong);
}

.horde-public-theme-toggle svg {
    width: 15px;
    height: 15px;
    stroke: currentColor;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

/* Shared public buttons */
body.horde-public-site .btn {
    min-height: var(--horde-control-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .68rem 1rem;
    border: 1px solid transparent;
    border-radius: var(--horde-radius-sm);
    box-shadow: none;
    color: var(--horde-text-strong);
    font-size: .88rem;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    transition: transform .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

body.horde-public-site .btn:hover {
    transform: translateY(-1px);
}

body.horde-public-site .btn-primary {
    background: var(--horde-blue);
    border-color: var(--horde-blue);
    color: #ffffff !important;
    box-shadow: 0 10px 22px rgba(37, 99, 235, .22);
}

body.horde-public-site .btn-primary:hover {
    background: var(--horde-blue-strong);
    border-color: var(--horde-blue-strong);
    box-shadow: 0 14px 28px rgba(37, 99, 235, .30);
}

body.horde-public-site .btn-outline {
    background: transparent;
    border-color: var(--horde-border-strong);
    color: var(--horde-text-strong);
}

body.horde-public-site .btn-outline:hover {
    background: var(--horde-blue-tint);
    border-color: var(--horde-blue-line);
}

/* Home and product-page hierarchy */
body.horde-public-site .hero {
    width: min(var(--horde-content-max), calc(100% - 44px));
    min-height: 540px;
    margin: 0 auto;
    padding: clamp(3rem, 7vw, 6.4rem) 0 clamp(3.75rem, 7vw, 6rem);
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(340px, .86fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
}

body.horde-public-site .hero h1,
body.horde-public-site .article-shell h1 {
    max-width: 780px;
    margin: 0;
    color: var(--horde-text-strong);
    font-size: clamp(2.65rem, 5.4vw, 5.2rem);
    font-weight: 880;
    line-height: .99;
    letter-spacing: -.058em;
    text-wrap: balance;
}

body.horde-public-site .hero h1 span,
body.horde-public-site .article-shell h1 span {
    color: var(--horde-blue-soft);
    text-shadow: none;
}

body.horde-public-site .eyebrow,
body.horde-public-site .founding-kicker,
body.horde-public-site .camp-public-pill,
body.horde-public-site .camp-strength-pill,
body.horde-public-site .tier-badge,
body.horde-public-site .goat-signature-tier-addon-pill,
body.horde-public-site .meta-pill {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin: 0 0 1.15rem;
    padding: .32rem .54rem;
    border: 1px solid var(--horde-border-strong) !important;
    border-radius: 6px !important;
    background: var(--horde-blue-tint) !important;
    color: var(--horde-blue-soft) !important;
    font-size: .67rem;
    font-weight: 850;
    line-height: 1;
    letter-spacing: .085em;
    text-transform: uppercase;
}

body.horde-public-site .lead {
    max-width: 735px;
    margin: 1.35rem 0 0;
    color: var(--horde-muted-strong);
    font-size: clamp(1rem, 1.35vw, 1.15rem);
    font-weight: 450;
    line-height: 1.7;
}

body.horde-public-site .hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.75rem;
}

body.horde-public-site .checks,
body.horde-public-site .check-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .62rem 1.4rem;
    max-width: 780px;
    margin: 1.8rem 0 0;
    padding: 0;
}

body.horde-public-site .check,
body.horde-public-site .check-list li {
    position: relative;
    min-height: 24px;
    padding-left: 1.45rem;
    color: var(--horde-muted-strong);
    font-size: .86rem;
    font-weight: 650;
    line-height: 1.45;
    list-style: none;
}

body.horde-public-site .check::before,
body.horde-public-site .check-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .39rem;
    width: .48rem;
    height: .48rem;
    border-radius: 50%;
    background: var(--horde-blue-soft);
    box-shadow: 0 0 0 4px var(--horde-blue-tint);
}

body.horde-public-site .product-card,
body.horde-public-site .seo-card,
body.horde-public-site .article-card {
    background: linear-gradient(155deg, var(--horde-surface-raised), var(--horde-surface));
    border: 1px solid var(--horde-border);
    border-radius: var(--horde-radius-xl);
    box-shadow: var(--horde-shadow);
}

body.horde-public-site .product-card {
    padding: .7rem;
}

body.horde-public-site .viewer {
    min-height: 405px;
    overflow: hidden;
    border: 1px solid var(--horde-border);
    border-radius: calc(var(--horde-radius-xl) - 6px);
}

body.horde-public-site .viewer::after {
    background: linear-gradient(180deg, transparent, rgba(3, 10, 22, .75));
}

body.horde-public-site .overlay-tag {
    border-radius: 6px;
    background: rgba(7, 17, 31, .82);
    border-color: rgba(147, 197, 253, .40);
    color: #dbeafe;
    font-size: .72rem;
    letter-spacing: .06em;
}

body.horde-public-site .viewer-footer {
    border-top-color: rgba(148, 163, 184, .22);
    background: rgba(7, 17, 31, .82);
}

body.horde-public-site .mini-title {
    color: #f8fbff;
    font-weight: 820;
}

body.horde-public-site .mini-sub {
    color: #bfccdd;
}

/* Section system */
body.horde-public-site .section,
body.horde-public-site .public-hub,
body.horde-public-site .founding-offer,
body.horde-public-site .mobile-companion-public,
body.horde-public-site .camp-public-add-on,
body.horde-public-site .camp-strength-showcase {
    width: min(var(--horde-content-max), calc(100% - 44px));
    margin: 0 auto;
    padding: clamp(3.65rem, 6.5vw, 6.5rem) 0;
}

body.horde-public-site .section h2,
body.horde-public-site .public-hub h2,
body.horde-public-site .founding-panel h2,
body.horde-public-site .mobile-companion-panel h2,
body.horde-public-site .camp-public-card h2,
body.horde-public-site .camp-strength-panel h2,
body.horde-public-site .pricing-header h2,
body.horde-public-site .related h2 {
    max-width: 820px;
    margin: 0;
    color: var(--horde-text-strong);
    font-size: clamp(1.75rem, 3.5vw, 3.15rem);
    font-weight: 830;
    line-height: 1.08;
    letter-spacing: -.045em;
}

body.horde-public-site .section p.section-lead,
body.horde-public-site .public-hub p,
body.horde-public-site .founding-panel p,
body.horde-public-site .mobile-companion-panel p,
body.horde-public-site .camp-public-card p,
body.horde-public-site .camp-strength-panel p,
body.horde-public-site .pricing-note,
body.horde-public-site .pricing-header p {
    max-width: 760px;
    margin: 1rem 0 0;
    color: var(--horde-muted);
    font-size: 1rem;
    line-height: 1.72;
}

body.horde-public-site .grid,
body.horde-public-site .public-hub-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

body.horde-public-site .public-hub-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.horde-public-site .card,
body.horde-public-site .public-hub-card,
body.horde-public-site .mobile-expectation-item,
body.horde-public-site .camp-strength-item,
body.horde-public-site .founding-slot,
body.horde-public-site .mini-row,
body.horde-public-site .post-link {
    background: var(--horde-surface) !important;
    border: 1px solid var(--horde-border) !important;
    border-radius: var(--horde-radius-md) !important;
    box-shadow: none !important;
}

body.horde-public-site .card {
    min-height: 100%;
    padding: 1.45rem;
}

body.horde-public-site .card:hover,
body.horde-public-site .public-hub-card:hover,
body.horde-public-site .post-link:hover {
    border-color: var(--horde-border-strong) !important;
    background: var(--horde-surface-raised) !important;
    box-shadow: var(--horde-shadow-hover) !important;
    transform: translateY(-2px);
}

body.horde-public-site .card h3,
body.horde-public-site .public-hub-card strong,
body.horde-public-site .post-link {
    color: var(--horde-text-strong);
    font-size: 1.05rem;
    font-weight: 790;
    line-height: 1.22;
    letter-spacing: -.016em;
}

body.horde-public-site .card p,
body.horde-public-site .public-hub-card span,
body.horde-public-site .public-hub-card em,
body.horde-public-site .founding-slot,
body.horde-public-site .mobile-expectation-item,
body.horde-public-site .camp-strength-item,
body.horde-public-site .mini-row {
    color: var(--horde-muted);
    font-size: .9rem;
    line-height: 1.6;
}

body.horde-public-site .card .icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    margin-bottom: 1rem;
    border: 1px solid var(--horde-border-strong);
    border-radius: var(--horde-radius-sm);
    background: var(--horde-blue-tint);
    color: var(--horde-blue-soft);
}

body.horde-public-site .card .line-icon,
body.horde-public-site .card .line-icon svg {
    color: currentColor;
    stroke: currentColor;
}

body.horde-public-site .public-hub-panel,
body.horde-public-site .founding-panel,
body.horde-public-site .mobile-companion-panel,
body.horde-public-site .camp-public-card,
body.horde-public-site .camp-strength-panel,
body.horde-public-site .pricing-strip,
body.horde-public-site .all-plans,
body.horde-public-site .goat-signature-tier-addon-card {
    border: 1px solid var(--horde-border) !important;
    border-radius: var(--horde-radius-lg) !important;
    background: linear-gradient(145deg, var(--horde-surface-raised), var(--horde-surface)) !important;
    box-shadow: var(--horde-shadow) !important;
}

body.horde-public-site .public-hub-panel,
body.horde-public-site .founding-panel,
body.horde-public-site .mobile-companion-panel,
body.horde-public-site .camp-public-card,
body.horde-public-site .camp-strength-panel {
    padding: clamp(1.45rem, 3vw, 2.4rem);
}

body.horde-public-site .public-hub-top {
    gap: 1rem;
}

body.horde-public-site .public-hub-card {
    min-height: 188px;
    display: flex;
    flex-direction: column;
    gap: .7rem;
    padding: 1.2rem;
    text-decoration: none;
    transition: transform .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

body.horde-public-site .public-hub-card em {
    margin-top: auto;
    color: var(--horde-blue-soft);
    font-style: normal;
    font-size: .7rem;
    font-weight: 820;
    letter-spacing: .075em;
    text-transform: uppercase;
}

/* Camp, strength, and mobile product moments */
body.horde-public-site .camp-public-card,
body.horde-public-site .camp-strength-panel,
body.horde-public-site .mobile-companion-panel {
    color: var(--horde-text);
}

body.horde-public-site .camp-public-card::before,
body.horde-public-site .camp-strength-panel::before,
body.horde-public-site .mobile-companion-panel::before {
    opacity: .5;
}

body.horde-public-site .camp-chip,
body.horde-public-site .mobile-tool-chip {
    padding: .36rem .56rem;
    border: 1px solid var(--horde-border) !important;
    border-radius: 6px !important;
    background: var(--horde-surface-subtle) !important;
    color: var(--horde-muted-strong) !important;
    font-size: .73rem;
    font-weight: 740;
}

body.horde-public-site .camp-strength-list,
body.horde-public-site .mobile-expectation-list {
    gap: .8rem;
}

body.horde-public-site .camp-strength-item,
body.horde-public-site .mobile-expectation-item {
    padding: 1rem;
}

body.horde-public-site .camp-strength-item strong,
body.horde-public-site .mobile-expectation-item strong {
    color: var(--horde-text-strong) !important;
}

body.horde-public-site .mobile-phone-card {
    background: var(--horde-surface-subtle) !important;
    border-color: var(--horde-border) !important;
    border-radius: var(--horde-radius-lg) !important;
    box-shadow: none !important;
}

body.horde-public-site .mobile-tool-chip.primary {
    background: var(--horde-blue) !important;
    border-color: var(--horde-blue) !important;
    color: #ffffff !important;
}

/* Pricing and commercial hierarchy */
body.horde-public-site .pricing-header {
    padding: 0 0 1.5rem;
    border-bottom: 1px solid var(--horde-border);
}

body.horde-public-site .pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.75rem;
}

body.horde-public-site .tier-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 1.45rem;
    border: 1px solid var(--horde-border) !important;
    border-radius: var(--horde-radius-lg) !important;
    background: var(--horde-surface) !important;
    box-shadow: none !important;
    color: var(--horde-text);
}

body.horde-public-site .tier-card.featured {
    border-color: var(--horde-border-strong) !important;
    background: linear-gradient(155deg, var(--horde-blue-tint), var(--horde-surface)) !important;
    box-shadow: 0 18px 44px rgba(37, 99, 235, .13) !important;
}

body.horde-public-site .tier-card::before {
    display: none !important;
}

body.horde-public-site .tier-card h3,
body.horde-public-site .goat-signature-tier-addon h3 {
    margin: .35rem 0 .7rem;
    color: var(--horde-text-strong) !important;
    font-size: 1.35rem;
    font-weight: 820;
    line-height: 1.14;
    letter-spacing: -.03em;
}

body.horde-public-site .tier-topline,
body.horde-public-site .tier-subtext,
body.horde-public-site .tier-meta,
body.horde-public-site .goat-addon-box p,
body.horde-public-site .goat-feature-detail-grid {
    color: var(--horde-muted) !important;
    line-height: 1.55;
}

body.horde-public-site .tier-price {
    color: var(--horde-text-strong) !important;
    font-size: 2.1rem;
    font-weight: 870;
    letter-spacing: -.055em;
}

body.horde-public-site .tier-term {
    color: var(--horde-muted) !important;
}

body.horde-public-site .tier-list {
    margin: 1.25rem 0;
    padding: 0;
    border-top: 1px solid var(--horde-border);
}

body.horde-public-site .tier-list li {
    position: relative;
    padding: .66rem 0 .66rem 1.25rem;
    border-bottom: 1px solid var(--horde-border);
    color: var(--horde-muted-strong) !important;
    font-size: .88rem;
    line-height: 1.45;
    list-style: none;
}

body.horde-public-site .tier-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.02rem;
    width: .38rem;
    height: .38rem;
    border-radius: 50%;
    background: var(--horde-blue-soft);
}

body.horde-public-site .goat-addon-box,
body.horde-public-site .goat-feature-collapse,
body.horde-public-site .goat-feature-detail-grid {
    border-color: var(--horde-border) !important;
    background: var(--horde-surface-subtle) !important;
}

body.horde-public-site .goat-addon-heading,
body.horde-public-site .goat-feature-collapse summary {
    color: var(--horde-text-strong) !important;
}

body.horde-public-site .goat-addon-list span,
body.horde-public-site .goat-signature-tier-addon-actions span {
    border: 1px solid var(--horde-border) !important;
    border-radius: 6px !important;
    background: var(--horde-surface-subtle) !important;
    color: var(--horde-muted-strong) !important;
    font-size: .76rem;
}

body.horde-public-site .goat-signature-tier-addon {
    width: auto;
    max-width: none;
    margin: 1rem 0;
    padding: 0;
}

body.horde-public-site .goat-signature-tier-addon-card {
    gap: 1rem;
    padding: 1.25rem;
    color: var(--horde-text);
}

body.horde-public-site .goat-signature-tier-addon p {
    color: var(--horde-muted) !important;
}

body.horde-public-site .goat-signature-tier-addon-actions a,
body.horde-public-site .camp-link {
    min-height: var(--horde-control-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .68rem .9rem;
    border: 1px solid var(--horde-blue) !important;
    border-radius: var(--horde-radius-sm) !important;
    background: var(--horde-blue) !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-size: .84rem;
    font-weight: 820;
    text-decoration: none;
}

body.horde-public-site .all-plans,
body.horde-public-site .pricing-strip {
    gap: 1rem;
    padding: 1.3rem;
    color: var(--horde-muted);
    line-height: 1.6;
}

body.horde-public-site .pricing-strip strong,
body.horde-public-site .all-plans strong {
    color: var(--horde-text-strong);
}

/* SEO landing pages */
body.horde-marketing-site .hero {
    min-height: 430px;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr);
}

body.horde-marketing-site .seo-card {
    align-self: stretch;
    padding: 1.55rem;
}

body.horde-marketing-site .seo-card h2 {
    margin: 0;
    color: var(--horde-text-strong);
    font-size: 1.18rem;
    font-weight: 800;
    line-height: 1.25;
}

body.horde-marketing-site .seo-card > p {
    color: var(--horde-muted);
    font-size: .9rem;
    line-height: 1.58;
}

body.horde-marketing-site .mini-stack {
    display: grid;
    gap: .62rem;
    margin-top: 1rem;
}

body.horde-marketing-site .mini-row {
    padding: .82rem;
}

body.horde-marketing-site .pricing-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

body.horde-marketing-site .related {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1.5rem;
}

body.horde-marketing-site .chip {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 .62rem;
    border: 1px solid var(--horde-border) !important;
    border-radius: var(--horde-radius-sm) !important;
    background: var(--horde-surface) !important;
    color: var(--horde-muted-strong) !important;
    font-size: .77rem;
    font-weight: 720;
    text-decoration: none;
}

body.horde-marketing-site .chip:hover {
    border-color: var(--horde-border-strong) !important;
    background: var(--horde-blue-tint) !important;
    color: var(--horde-text-strong) !important;
}

body.horde-marketing-horde-camp-strength-analytics .hero .seo-card,
body.horde-marketing-horde-mobile-companion-pwa .hero .seo-card {
    border-color: var(--horde-border-strong);
}

/* Blog templates */
body.horde-public-site .blog-shell,
body.horde-public-site .article-shell,
body.horde-public-site .related {
    width: min(var(--horde-reading-max), calc(100% - 44px));
    max-width: var(--horde-reading-max);
    margin-left: auto;
    margin-right: auto;
}

body.horde-public-site .blog-shell,
body.horde-public-site .article-shell {
    padding: clamp(3rem, 6vw, 5.5rem) 0 2.5rem;
}

body.horde-public-site .article-shell {
    display: block;
}

body.horde-public-site .article-shell h1 {
    font-size: clamp(2.45rem, 5vw, 4.55rem);
}

body.horde-public-site .article-card {
    margin-top: 2rem;
    padding: clamp(1.25rem, 3vw, 2.4rem);
}

body.horde-public-site .article-card p {
    color: var(--horde-muted-strong) !important;
    font-size: 1rem;
    line-height: 1.8;
}

body.horde-public-site .article-card h2 {
    margin: 2.4rem 0 .72rem;
    color: var(--horde-text-strong);
    font-size: clamp(1.38rem, 2.5vw, 1.85rem);
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -.032em;
}

body.horde-public-site .meta-row {
    gap: .48rem;
    margin-top: 1.3rem;
}

body.horde-public-site .meta-pill {
    margin: 0;
    min-height: 26px;
}

body.horde-public-site .cta-card {
    margin-top: 2rem;
    padding: 1.2rem;
    border: 1px solid var(--horde-border-strong) !important;
    border-radius: var(--horde-radius-md) !important;
    background: var(--horde-blue-tint) !important;
}

body.horde-public-site .cta-card strong {
    color: var(--horde-text-strong) !important;
}

body.horde-public-site .cta-card p {
    color: var(--horde-muted-strong) !important;
}

body.horde-public-site .post-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

body.horde-public-site .post-link {
    min-height: 100%;
    display: block;
    padding: 1rem;
    text-decoration: none;
    transition: transform .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

/* Future-ready shared component contract for public templates. */
body.horde-public-site table,
body.horde-public-site .table {
    width: 100%;
    border-collapse: collapse;
    color: var(--horde-text);
    border: 1px solid var(--horde-border);
    border-radius: var(--horde-radius-md);
    overflow: hidden;
    background: var(--horde-surface);
}

body.horde-public-site th {
    padding: .75rem .9rem;
    background: var(--horde-table-head);
    color: var(--horde-text-strong);
    font-size: .74rem;
    font-weight: 820;
    letter-spacing: .065em;
    text-align: left;
    text-transform: uppercase;
}

body.horde-public-site td {
    padding: .82rem .9rem;
    border-top: 1px solid var(--horde-border);
    color: var(--horde-muted-strong);
}

body.horde-public-site tbody tr:nth-child(even) {
    background: var(--horde-table-row);
}

body.horde-public-site input,
body.horde-public-site select,
body.horde-public-site textarea {
    min-height: var(--horde-control-height);
    padding: .6rem .75rem;
    border: 1px solid var(--horde-border);
    border-radius: var(--horde-radius-sm);
    background: var(--horde-input);
    color: var(--horde-text);
    font: inherit;
}

body.horde-public-site .modal,
body.horde-public-site .modal-backdrop {
    background: var(--horde-overlay);
}

body.horde-public-site .modal-content,
body.horde-public-site .modal-card {
    border: 1px solid var(--horde-border);
    border-radius: var(--horde-radius-lg);
    background: var(--horde-surface);
    color: var(--horde-text);
    box-shadow: var(--horde-shadow-hover);
}

body.horde-public-site .badge,
body.horde-public-site .pill {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: .25rem .48rem;
    border: 1px solid var(--horde-border);
    border-radius: 6px;
    background: var(--horde-badge-neutral);
    color: var(--horde-muted-strong);
    font-size: .7rem;
    font-weight: 780;
    line-height: 1;
}

body.horde-public-site .badge-success,
body.horde-public-site .pill-success {
    border-color: rgba(34, 197, 94, .48);
    background: var(--horde-success-tint);
    color: var(--horde-green);
}

body.horde-public-site .badge-danger,
body.horde-public-site .pill-danger {
    border-color: rgba(239, 68, 68, .48);
    background: var(--horde-danger-tint);
    color: var(--horde-red);
}

/* Footer */
body.horde-public-site footer {
    width: min(var(--horde-content-max), calc(100% - 44px));
    max-width: var(--horde-content-max);
    margin: 0 auto;
    padding: 2rem 0 3rem;
    border-top: 1px solid var(--horde-border);
    color: var(--horde-muted);
    font-size: .82rem;
    line-height: 1.7;
}

body.horde-public-site footer a {
    color: var(--horde-muted-strong);
}

body.horde-public-site footer a:hover {
    color: var(--horde-blue-soft);
}

body.horde-public-site .trademark-note {
    color: var(--horde-muted) !important;
}

/* Controlled responsive behavior */
@media (max-width: 1040px) {
    body.horde-public-site .nav,
    body.horde-public-site .hero,
    body.horde-public-site .section,
    body.horde-public-site .public-hub,
    body.horde-public-site .founding-offer,
    body.horde-public-site .mobile-companion-public,
    body.horde-public-site .camp-public-add-on,
    body.horde-public-site .camp-strength-showcase,
    body.horde-public-site footer {
        width: min(100% - 32px, var(--horde-content-max));
    }

    body.horde-public-site .hero,
    body.horde-marketing-site .hero {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    body.horde-public-site .product-card,
    body.horde-marketing-site .seo-card {
        max-width: 760px;
    }

    body.horde-public-site .public-hub-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    body.horde-public-site .nav {
        width: 100%;
        min-height: 0;
        padding: .8rem 1rem;
        display: grid;
        grid-template-columns: 1fr auto;
        gap: .7rem;
        border-bottom-color: var(--horde-border);
    }

    body.horde-public-site .nav-links {
        grid-column: 1 / -1;
        width: calc(100vw - 2rem);
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: .15rem;
        scrollbar-width: thin;
    }

    body.horde-public-site .nav-links > a,
    body.horde-public-site .nav-links > button {
        flex: 0 0 auto;
    }

    body.horde-public-site .nav-links > a:not(.btn) {
        padding: 0 .48rem;
    }

    body.horde-public-site .brand-mark {
        width: 39px;
        height: 39px;
        min-width: 39px;
    }

    body.horde-public-site .brand-name {
        font-size: .92rem;
    }

    body.horde-public-site .brand-sub {
        font-size: .55rem;
    }

    body.horde-public-site .hero,
    body.horde-public-site .section,
    body.horde-public-site .public-hub,
    body.horde-public-site .founding-offer,
    body.horde-public-site .mobile-companion-public,
    body.horde-public-site .camp-public-add-on,
    body.horde-public-site .camp-strength-showcase {
        width: min(100% - 32px, var(--horde-content-max));
    }

    body.horde-public-site .hero {
        padding-top: 3.4rem;
    }

    body.horde-public-site .hero h1,
    body.horde-public-site .article-shell h1 {
        font-size: clamp(2.35rem, 12vw, 3.5rem);
    }

    body.horde-public-site .checks,
    body.horde-public-site .check-list,
    body.horde-public-site .grid,
    body.horde-public-site .public-hub-grid,
    body.horde-public-site .pricing-grid,
    body.horde-public-site .post-links {
        grid-template-columns: 1fr;
    }

    body.horde-public-site .viewer {
        min-height: 310px;
    }

    body.horde-public-site .public-hub-top,
    body.horde-marketing-site .pricing-strip,
    body.horde-public-site .founding-panel,
    body.horde-public-site .goat-signature-tier-addon-card {
        grid-template-columns: 1fr !important;
        align-items: flex-start;
    }

    body.horde-public-site .pricing-strip {
        align-items: flex-start;
        flex-direction: column;
    }

    body.horde-public-site .blog-shell,
    body.horde-public-site .article-shell,
    body.horde-public-site .related {
        width: min(100% - 32px, var(--horde-reading-max));
    }

    body.horde-public-site footer {
        width: min(100% - 32px, var(--horde-content-max));
    }
}

@media (max-width: 460px) {
    body.horde-public-site .nav-links > a:not(.btn):not(:nth-of-type(-n + 3)) {
        display: none;
    }

    body.horde-public-site .horde-public-theme-toggle span {
        display: none;
    }

    body.horde-public-site .hero-actions,
    body.horde-public-site .hero-actions .btn {
        width: 100%;
    }

    body.horde-public-site .hero-actions .btn {
        min-height: 48px;
    }
}

/* Demo entry shares the same public visual system without changing its demo routes. */
body.horde-demo-entry {
    display: block;
}

body.horde-demo-entry .demo-shell {
    min-height: 100vh;
    padding: clamp(1rem, 4vw, 3rem) 1rem;
    background: transparent;
}

body.horde-demo-entry .demo-card {
    width: min(100%, 980px);
    border: 1px solid var(--horde-border) !important;
    border-radius: var(--horde-radius-xl) !important;
    background: linear-gradient(155deg, var(--horde-surface-raised), var(--horde-surface)) !important;
    box-shadow: var(--horde-shadow) !important;
}

body.horde-demo-entry .demo-hero {
    position: relative;
    padding: clamp(2rem, 5vw, 3.8rem);
    border-bottom: 1px solid var(--horde-border) !important;
    background: var(--horde-blue-tint) !important;
}

body.horde-demo-entry .demo-theme-bar {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

body.horde-demo-entry .demo-mark {
    width: 70px;
    height: 70px;
    margin: 0 auto 1rem;
    display: block;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    object-fit: contain;
}

body.horde-demo-entry .eyebrow {
    color: var(--horde-blue-soft) !important;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .1em;
}

body.horde-demo-entry h1 {
    color: var(--horde-text-strong);
    font-size: clamp(2.2rem, 5vw, 4.3rem);
    font-weight: 860;
    line-height: 1;
    letter-spacing: -.055em;
}

body.horde-demo-entry .hero-copy {
    color: var(--horde-muted-strong);
}

body.horde-demo-entry .demo-grid {
    gap: 1rem;
    padding: clamp(1rem, 3vw, 2rem);
}

body.horde-demo-entry .demo-option {
    border: 1px solid var(--horde-border) !important;
    border-radius: var(--horde-radius-md) !important;
    background: var(--horde-surface-subtle) !important;
    box-shadow: none !important;
    color: var(--horde-text);
}

body.horde-demo-entry .demo-option:hover {
    border-color: var(--horde-border-strong) !important;
    background: var(--horde-surface-raised) !important;
    transform: translateY(-2px);
}

body.horde-demo-entry .demo-option .tier,
body.horde-demo-entry .demo-addon-note strong {
    color: var(--horde-text-strong) !important;
}

body.horde-demo-entry .demo-option .desc,
body.horde-demo-entry .demo-addon-note-body {
    color: var(--horde-muted) !important;
}

body.horde-demo-entry .demo-pill {
    border: 1px solid var(--horde-border) !important;
    border-radius: 6px !important;
    background: var(--horde-blue-tint) !important;
    color: var(--horde-blue-soft) !important;
}

body.horde-demo-entry .demo-pill.addon {
    background: var(--horde-surface) !important;
    color: var(--horde-muted-strong) !important;
}

body.horde-demo-entry .demo-button {
    min-height: var(--horde-control-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .68rem .9rem;
    border: 1px solid var(--horde-blue) !important;
    border-radius: var(--horde-radius-sm) !important;
    background: var(--horde-blue) !important;
    color: #ffffff !important;
    font-size: .84rem;
    font-weight: 820;
    text-decoration: none;
}

body.horde-demo-entry .demo-addon-note {
    border-color: var(--horde-border) !important;
    background: var(--horde-surface) !important;
}

body.horde-demo-entry .demo-addon-note summary {
    color: var(--horde-text-strong) !important;
}

body.horde-demo-entry .demo-footer {
    border-top: 1px solid var(--horde-border) !important;
    background: var(--horde-surface-subtle) !important;
    color: var(--horde-muted) !important;
}

body.horde-demo-entry .demo-footer a {
    color: var(--horde-blue-soft) !important;
}

@media (max-width: 760px) {
    body.horde-demo-entry .demo-grid {
        grid-template-columns: 1fr;
    }
}

/* --------------------------------------------------------------------------
   Phase 1A — Public visual rhythm + code-built product preview.
   This layer intentionally overrides only public marketing presentation.
   -------------------------------------------------------------------------- */

/* Keep public pages breathable without stacking oversized section padding. */
body.horde-public-site .section,
body.horde-public-site .public-hub,
body.horde-public-site .founding-offer,
body.horde-public-site .mobile-companion-public,
body.horde-public-site .camp-public-add-on,
body.horde-public-site .camp-strength-showcase {
    padding: clamp(2.25rem, 4.2vw, 4rem) 0 !important;
}

body.horde-public-site.horde-public-home .hero {
    min-height: 0;
    padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(1.75rem, 3vw, 2.8rem);
    gap: clamp(2rem, 4vw, 4rem);
}

body.horde-public-site.horde-public-home .public-hub {
    padding-top: clamp(1.4rem, 2.6vw, 2.4rem) !important;
}

body.horde-public-site .founding-offer + .mobile-companion-public,
body.horde-public-site .mobile-companion-public + .section,
body.horde-public-site .section + .section,
body.horde-public-site .section + .camp-public-add-on,
body.horde-public-site .camp-public-add-on + .camp-strength-showcase {
    padding-top: clamp(1.9rem, 3.5vw, 3.25rem) !important;
}

body.horde-public-site .final-public-cta {
    padding-bottom: clamp(2.6rem, 4vw, 4.25rem) !important;
    text-align: center;
}

body.horde-marketing-site .hero {
    min-height: 0;
    padding-top: clamp(2.5rem, 5vw, 4.4rem);
    padding-bottom: clamp(2rem, 3.6vw, 3.1rem);
}

body.horde-public-site .blog-shell,
body.horde-public-site .article-shell {
    padding-top: clamp(2.25rem, 4.5vw, 4.3rem);
    padding-bottom: clamp(1.6rem, 3vw, 2.5rem);
}

body.horde-public-site .related {
    padding-top: clamp(1.75rem, 3vw, 2.8rem);
    padding-bottom: clamp(2.4rem, 4vw, 4rem);
}

/* Product-composition hero: code only, no image dependency. */
body.horde-public-site .product-stage-frame {
    position: relative;
    min-width: 0;
    padding: 0 !important;
    overflow: hidden;
    border-color: var(--horde-border-strong) !important;
    background: #071426 !important;
    box-shadow: 0 28px 62px rgba(0, 0, 0, .32), 0 0 64px rgba(37, 99, 235, .13) !important;
}

body.horde-public-site .product-stage-frame::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(145deg, rgba(255,255,255,.09), transparent 21%, transparent 68%, rgba(37,99,235,.16));
}

body.horde-public-site .horde-product-stage {
    position: relative;
    isolation: isolate;
    min-height: clamp(420px, 39vw, 550px);
    overflow: hidden;
    color: #eef6ff;
    font-family: var(--horde-font-sans);
    background:
        radial-gradient(ellipse 75% 58% at 52% 46%, rgba(24, 108, 223, .22), transparent 70%),
        linear-gradient(135deg, #133c79 0%, #0e2b59 46%, #07172f 100%);
}

body.horde-public-site .horde-product-stage::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .56;
    background:
        linear-gradient(90deg, transparent 49.7%, rgba(204, 235, 255, .32) 49.7% 50.3%, transparent 50.3%),
        repeating-linear-gradient(90deg, rgba(204, 235, 255, .15) 0 1px, transparent 1px 10%),
        repeating-linear-gradient(0deg, rgba(204, 235, 255, .10) 0 1px, transparent 1px 19%);
}

body.horde-public-site .horde-product-stage::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(2, 10, 25, .05), rgba(2, 10, 25, .18) 48%, rgba(2, 10, 25, .75));
}

body.horde-public-site .horde-stage-field {
    position: absolute;
    z-index: -1;
    inset: 5% 8%;
    border: 1px solid rgba(181, 224, 255, .17);
    transform: perspective(620px) rotateX(55deg) scale(1.28) translateY(12%);
    transform-origin: center bottom;
    box-shadow: inset 0 0 70px rgba(37, 99, 235, .12);
}

body.horde-public-site .stage-yard {
    position: absolute;
    top: 49%;
    color: rgba(224, 242, 254, .16);
    font-size: clamp(.72rem, 1.5vw, 1.06rem);
    font-weight: 900;
    letter-spacing: .03em;
    transform: translate(-50%, -50%) rotate(-90deg);
}

body.horde-public-site .stage-yard-10 { left: 12%; }
body.horde-public-site .stage-yard-20 { left: 29%; }
body.horde-public-site .stage-yard-30 { left: 46%; }
body.horde-public-site .stage-yard-40 { left: 63%; }
body.horde-public-site .stage-yard-50 { left: 80%; }

body.horde-public-site .horde-stage-caption {
    position: absolute;
    top: 3.2%;
    left: 50%;
    z-index: 2;
    color: rgba(219, 234, 254, .72);
    font-size: clamp(.48rem, .72vw, .62rem);
    font-weight: 850;
    letter-spacing: .17em;
    text-transform: uppercase;
    transform: translateX(-50%);
    white-space: nowrap;
}

body.horde-public-site .horde-stage-app {
    position: absolute;
    z-index: 3;
    top: 18%;
    right: 18.5%;
    bottom: 13.5%;
    left: 19%;
    overflow: hidden;
    border: 1px solid rgba(122, 186, 255, .56);
    border-radius: clamp(8px, 1vw, 13px);
    background: linear-gradient(155deg, rgba(8, 26, 52, .96), rgba(5, 17, 35, .96));
    box-shadow: 0 20px 48px rgba(0, 0, 0, .48), 0 0 30px rgba(37, 99, 235, .25);
}

body.horde-public-site .horde-stage-appbar {
    height: 11.5%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4.4%;
    border-bottom: 1px solid rgba(148, 163, 184, .20);
    background: rgba(3, 14, 30, .72);
}

body.horde-public-site .horde-stage-appbrand,
body.horde-public-site .horde-stage-app-meta {
    display: flex;
    align-items: center;
    gap: .48em;
    color: rgba(236, 246, 255, .9);
    font-size: clamp(.4rem, .72vw, .58rem);
    font-weight: 850;
    letter-spacing: .06em;
}

body.horde-public-site .horde-stage-appbrand span {
    width: 1.65em;
    height: 1.65em;
    display: grid;
    place-items: center;
    border: 1px solid rgba(96, 165, 250, .75);
    border-radius: 50%;
    color: #ffffff;
    font-size: 1.05em;
    box-shadow: 0 0 12px rgba(37, 99, 235, .44);
}

body.horde-public-site .horde-stage-app-meta {
    color: rgba(184, 213, 245, .60);
    font-size: clamp(.32rem, .52vw, .45rem);
}

body.horde-public-site .horde-stage-app-meta i {
    width: .62em;
    height: .62em;
    border-radius: 50%;
    background: rgba(148, 163, 184, .42);
}

body.horde-public-site .horde-stage-workspace {
    height: 88.5%;
    display: grid;
    grid-template-columns: 22% 78%;
}

body.horde-public-site .horde-stage-nav {
    display: grid;
    align-content: start;
    gap: 2.8%;
    padding: 8% 7%;
    border-right: 1px solid rgba(148, 163, 184, .16);
    background: rgba(4, 14, 30, .54);
}

body.horde-public-site .horde-stage-nav span {
    display: flex;
    align-items: center;
    min-height: 1.5em;
    padding: 0 .55em;
    border-radius: .34em;
    color: rgba(191, 219, 254, .56);
    font-size: clamp(.32rem, .55vw, .47rem);
    font-weight: 720;
}

body.horde-public-site .horde-stage-nav span.active {
    color: #dbeafe;
    background: rgba(37, 99, 235, .48);
}

body.horde-public-site .horde-stage-main {
    min-width: 0;
    padding: 5.2% 5.8%;
}

body.horde-public-site .horde-stage-main-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .6em;
}

body.horde-public-site .horde-stage-main-head small,
body.horde-public-site .horde-stage-kpis small,
body.horde-public-site .horde-stage-chart small {
    display: block;
    color: rgba(147, 197, 253, .56);
    font-size: clamp(.28rem, .46vw, .39rem);
    font-weight: 760;
    letter-spacing: .055em;
}

body.horde-public-site .horde-stage-main-head strong {
    display: block;
    margin-top: .22em;
    color: #f5faff;
    font-size: clamp(.62rem, 1vw, .88rem);
    letter-spacing: -.02em;
}

body.horde-public-site .horde-stage-days {
    display: flex;
    gap: .28em;
}

body.horde-public-site .horde-stage-days b {
    padding: .38em .46em;
    border: 1px solid rgba(148, 163, 184, .21);
    border-radius: .32em;
    color: rgba(191, 219, 254, .72);
    font-size: clamp(.28rem, .45vw, .38rem);
    font-weight: 780;
}

body.horde-public-site .horde-stage-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4%;
    margin-top: 6%;
}

body.horde-public-site .horde-stage-kpis > div,
body.horde-public-site .horde-stage-chart,
body.horde-public-site .horde-stage-activity {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .17);
    border-radius: .55em;
    background: rgba(15, 41, 78, .54);
}

body.horde-public-site .horde-stage-kpis > div {
    min-height: 4.8em;
    padding: .72em;
}

body.horde-public-site .horde-stage-kpis strong {
    display: block;
    margin-top: .25em;
    color: #eff8ff;
    font-size: clamp(.75rem, 1.28vw, 1.12rem);
    line-height: 1;
}

body.horde-public-site .horde-stage-kpis em {
    display: block;
    margin-top: .35em;
    color: rgba(191, 219, 254, .54);
    font-size: clamp(.28rem, .45vw, .37rem);
    font-style: normal;
}

body.horde-public-site .stage-ring {
    position: absolute;
    top: .65em;
    right: .65em;
    width: 1.75em;
    height: 1.75em;
    border: .25em solid rgba(96, 165, 250, .28);
    border-top-color: #60a5fa;
    border-right-color: #60a5fa;
    border-radius: 50%;
    transform: rotate(24deg);
}

body.horde-public-site .horde-stage-chart {
    margin-top: 5.4%;
    padding: .75em;
}

body.horde-public-site .horde-stage-chart-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .5em;
}

body.horde-public-site .horde-stage-chart-head strong {
    color: rgba(239, 248, 255, .9);
    font-size: clamp(.35rem, .58vw, .50rem);
}

body.horde-public-site .horde-stage-bars {
    height: 3.75em;
    display: flex;
    align-items: end;
    gap: .5em;
    margin-top: .45em;
}

body.horde-public-site .horde-stage-bars i {
    width: 12%;
    border-radius: .2em .2em 0 0;
    background: linear-gradient(180deg, #3b82f6, rgba(37, 99, 235, .24));
}
body.horde-public-site .horde-stage-bars i:nth-child(1) { height: 42%; }
body.horde-public-site .horde-stage-bars i:nth-child(2) { height: 66%; }
body.horde-public-site .horde-stage-bars i:nth-child(3) { height: 51%; }
body.horde-public-site .horde-stage-bars i:nth-child(4) { height: 82%; }
body.horde-public-site .horde-stage-bars i:nth-child(5) { height: 72%; }

body.horde-public-site .horde-stage-activity {
    display: grid;
    gap: .38em;
    margin-top: 5.2%;
    padding: .72em;
}

body.horde-public-site .horde-stage-activity div {
    display: grid;
    grid-template-columns: .7em minmax(0, 1fr) auto;
    gap: .42em;
    align-items: center;
    color: rgba(219, 234, 254, .68);
    font-size: clamp(.28rem, .45vw, .39rem);
    white-space: nowrap;
}

body.horde-public-site .horde-stage-activity span {
    width: .5em;
    height: .5em;
    border-radius: 50%;
    background: #60a5fa;
    box-shadow: 0 0 0 .18em rgba(96, 165, 250, .13);
}

body.horde-public-site .horde-stage-activity small {
    color: rgba(147, 197, 253, .44);
    font-size: .92em;
}

body.horde-public-site .horde-stage-float {
    position: absolute;
    z-index: 5;
    overflow: hidden;
    border: 1px solid rgba(96, 165, 250, .62);
    border-radius: clamp(7px, .86vw, 11px);
    background: linear-gradient(145deg, rgba(7, 24, 52, .96), rgba(4, 13, 29, .96));
    box-shadow: 0 14px 32px rgba(0, 0, 0, .44), 0 0 20px rgba(37, 99, 235, .18);
    color: rgba(229, 241, 255, .92);
}

body.horde-public-site .horde-stage-float small {
    display: block;
    color: rgba(191, 219, 254, .75);
    font-size: clamp(.32rem, .48vw, .43rem);
    font-weight: 820;
    letter-spacing: .035em;
}

body.horde-public-site .roster-card {
    top: 8.5%;
    left: 3.6%;
    width: 26%;
    padding: 3.8%;
}

body.horde-public-site .stage-player,
body.horde-public-site .stage-portal-player {
    display: flex;
    align-items: center;
    gap: .52em;
    margin-top: .65em;
}

body.horde-public-site .stage-player > b,
body.horde-public-site .stage-portal-player > b {
    width: 2.45em;
    height: 2.45em;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #69442e, #c98a59 48%, #24160f 49% 100%);
    color: rgba(255,255,255,.9);
    font-size: clamp(.46rem, .76vw, .65rem);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.20);
}

body.horde-public-site .stage-player span,
body.horde-public-site .stage-portal-player span {
    min-width: 0;
}

body.horde-public-site .stage-player strong,
body.horde-public-site .stage-portal-player strong {
    display: block;
    color: #f5faff;
    font-size: clamp(.37rem, .58vw, .51rem);
    white-space: nowrap;
}

body.horde-public-site .stage-player em,
body.horde-public-site .stage-portal-player em {
    display: block;
    margin-top: .28em;
    color: rgba(191, 219, 254, .58);
    font-size: clamp(.3rem, .42vw, .36rem);
    font-style: normal;
    white-space: nowrap;
}

body.horde-public-site .stage-status {
    width: fit-content;
    margin-top: .62em;
    padding: .34em .46em;
    border: 1px solid rgba(34, 197, 94, .48);
    border-radius: .32em;
    background: rgba(34, 197, 94, .16);
    color: #86efac;
    font-size: clamp(.28rem, .44vw, .38rem);
    font-weight: 820;
}

body.horde-public-site .stage-mini-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .32em;
    margin-top: .8em;
    padding-top: .6em;
    border-top: 1px solid rgba(148, 163, 184, .18);
}

body.horde-public-site .stage-mini-stats span,
body.horde-public-site .stage-mini-stats strong {
    display: block;
    color: rgba(191, 219, 254, .6);
    font-size: clamp(.25rem, .38vw, .33rem);
    text-align: center;
}

body.horde-public-site .stage-mini-stats strong {
    margin-top: .27em;
    color: #f4faff;
    font-size: clamp(.38rem, .60vw, .52rem);
}

body.horde-public-site .schedule-card {
    top: 6.8%;
    right: 4.2%;
    width: 29.2%;
    padding: 3.1%;
}

body.horde-public-site .schedule-card > strong {
    display: block;
    margin: .45em 0 .62em;
    color: #eef7ff;
    font-size: clamp(.48rem, .76vw, .65rem);
}

body.horde-public-site .stage-schedule-row {
    display: grid;
    grid-template-columns: 2.55em minmax(0, 1fr) auto;
    gap: .36em;
    align-items: center;
    min-height: 1.9em;
    border-top: 1px solid rgba(148, 163, 184, .13);
    color: rgba(191, 219, 254, .62);
    font-size: clamp(.27rem, .42vw, .37rem);
}

body.horde-public-site .stage-schedule-row b {
    overflow: hidden;
    color: rgba(237, 246, 255, .84);
    font-size: inherit;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.horde-public-site .stage-schedule-row em {
    color: rgba(147, 197, 253, .62);
    font-size: .92em;
    font-style: normal;
}

body.horde-public-site .stage-schedule-row.game {
    padding: .08em .28em;
    border-radius: .3em;
    background: rgba(37, 99, 235, .55);
}

body.horde-public-site .strength-card {
    bottom: 7.8%;
    left: 3.5%;
    width: 25.5%;
    padding: 3.5%;
}

body.horde-public-site .strength-card > span {
    display: block;
    margin-top: .85em;
    color: rgba(191, 219, 254, .55);
    font-size: clamp(.29rem, .43vw, .37rem);
}

body.horde-public-site .strength-card > strong {
    display: block;
    margin-top: .12em;
    color: #eff8ff;
    font-size: clamp(.84rem, 1.35vw, 1.16rem);
    letter-spacing: -.04em;
}

body.horde-public-site .stage-spark {
    height: 2.1em;
    display: flex;
    align-items: end;
    gap: .26em;
    margin: .65em 0 .75em;
    padding-bottom: .1em;
    border-bottom: 1px solid rgba(148, 163, 184, .18);
}

body.horde-public-site .stage-spark i {
    width: 13%;
    border-top: .15em solid #60a5fa;
    transform: skewY(-26deg);
}
body.horde-public-site .stage-spark i:nth-child(1) { height: 28%; }
body.horde-public-site .stage-spark i:nth-child(2) { height: 46%; }
body.horde-public-site .stage-spark i:nth-child(3) { height: 37%; }
body.horde-public-site .stage-spark i:nth-child(4) { height: 68%; }
body.horde-public-site .stage-spark i:nth-child(5) { height: 52%; }
body.horde-public-site .stage-spark i:nth-child(6) { height: 84%; }

body.horde-public-site .stage-strength-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: .38em;
    margin-top: .45em;
    color: rgba(191, 219, 254, .58);
    font-size: clamp(.27rem, .41vw, .36rem);
}

body.horde-public-site .stage-strength-row b { color: #f3f9ff; font-size: inherit; }
body.horde-public-site .stage-strength-row em { color: #60a5fa; font-size: inherit; font-style: normal; }

body.horde-public-site .play-card {
    right: 3.8%;
    bottom: 7.2%;
    width: 27.2%;
    padding: 3.35%;
}

body.horde-public-site .play-card > strong,
body.horde-public-site .play-card > span {
    display: block;
    margin-top: .55em;
    color: #edf7ff;
    font-size: clamp(.32rem, .50vw, .43rem);
}
body.horde-public-site .play-card > span { margin-top: .17em; color: rgba(191,219,254,.62); }

body.horde-public-site .stage-playboard {
    position: relative;
    height: 4.4em;
    margin-top: .75em;
    border-top: 1px solid rgba(148, 163, 184, .16);
    background:
        linear-gradient(150deg, transparent 43%, rgba(147, 197, 253, .35) 43.4% 44%, transparent 44.4%),
        linear-gradient(30deg, transparent 58%, rgba(147, 197, 253, .35) 58.4% 59%, transparent 59.4%);
}

body.horde-public-site .stage-playboard i,
body.horde-public-site .stage-playboard b {
    position: absolute;
    width: .78em;
    height: .78em;
    border: .14em solid rgba(219, 234, 254, .82);
    border-radius: 50%;
}
body.horde-public-site .stage-playboard b::before,
body.horde-public-site .stage-playboard b::after {
    content: "";
    position: absolute;
    top: -.38em;
    left: .22em;
    width: .14em;
    height: 1.3em;
    border-radius: 2px;
    background: rgba(219, 234, 254, .86);
}
body.horde-public-site .stage-playboard b::before { transform: rotate(45deg); }
body.horde-public-site .stage-playboard b::after { transform: rotate(-45deg); }
body.horde-public-site .stage-playboard .p1 { left: 11%; top: 68%; }
body.horde-public-site .stage-playboard .p2 { left: 27%; top: 48%; }
body.horde-public-site .stage-playboard .p3 { left: 43%; top: 70%; }
body.horde-public-site .stage-playboard .p4 { left: 62%; top: 43%; }
body.horde-public-site .stage-playboard .p5 { left: 78%; top: 63%; }
body.horde-public-site .stage-playboard b:nth-of-type(1) { left: 20%; top: 15%; }
body.horde-public-site .stage-playboard b:nth-of-type(2) { left: 53%; top: 18%; }
body.horde-public-site .stage-playboard b:nth-of-type(3) { left: 72%; top: 18%; }
body.horde-public-site .stage-playboard b:nth-of-type(4) { left: 87%; top: 35%; }

body.horde-public-site .film-card {
    bottom: 4.1%;
    left: 25.4%;
    width: 24.2%;
    padding: 2.7%;
}

body.horde-public-site .stage-film-frame {
    position: relative;
    height: 4.65em;
    margin-top: .7em;
    overflow: hidden;
    border: 1px solid rgba(147, 197, 253, .34);
    border-radius: .38em;
    background:
        radial-gradient(circle at 22% 33%, rgba(34, 197, 94, .66) 0 5%, transparent 5.6%),
        radial-gradient(circle at 72% 64%, rgba(255,255,255,.85) 0 3%, transparent 3.6%),
        linear-gradient(148deg, rgba(35, 89, 38, .96), rgba(29, 92, 64, .75) 48%, rgba(6, 31, 44, .96));
}

body.horde-public-site .stage-film-frame::before,
body.horde-public-site .stage-film-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(24deg, transparent 48%, rgba(255,255,255,.38) 48.5% 49%, transparent 49.5%);
}
body.horde-public-site .stage-film-frame::after { transform: scaleX(-1); opacity: .55; }
body.horde-public-site .stage-film-frame b {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 1.75em;
    height: 1.75em;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(7, 22, 44, .80);
    color: #f8fbff;
    font-size: .55em;
    transform: translate(-50%, -50%);
}

body.horde-public-site .stage-film-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .4em;
    margin-top: .5em;
    color: rgba(219, 234, 254, .83);
    font-size: clamp(.29rem, .45vw, .38rem);
}
body.horde-public-site .stage-film-row em { color: rgba(147,197,253,.58); font-style: normal; }

body.horde-public-site .portal-card {
    right: 22%;
    bottom: 3.9%;
    width: 23.5%;
    padding: 2.85%;
}

body.horde-public-site .stage-portal-player { margin-top: .65em; }
body.horde-public-site .stage-portal-player > b { background: linear-gradient(145deg, #33516f, #7ca3c9 48%, #17253a 49% 100%); }
body.horde-public-site .portal-card ul {
    display: grid;
    gap: .35em;
    margin: .6em 0 .72em;
    padding: 0;
    list-style: none;
    color: rgba(219, 234, 254, .72);
    font-size: clamp(.29rem, .44vw, .38rem);
}
body.horde-public-site .portal-card li::before { content: "✓"; margin-right: .45em; color: #60a5fa; font-weight: 900; }
body.horde-public-site .stage-send {
    min-height: 1.8em;
    display: grid;
    place-items: center;
    border-radius: .32em;
    background: #2563eb;
    color: #ffffff;
    font-size: clamp(.3rem, .47vw, .40rem);
    font-weight: 800;
}

@media (max-width: 980px) {
    body.horde-public-site.horde-public-home .hero {
        grid-template-columns: minmax(0, 1fr);
    }

    body.horde-public-site .product-stage-frame {
        width: min(100%, 720px);
        margin: 0 auto;
    }

    body.horde-public-site .horde-product-stage {
        min-height: min(74vw, 550px);
    }
}

@media (max-width: 660px) {
    body.horde-public-site .section,
    body.horde-public-site .public-hub,
    body.horde-public-site .founding-offer,
    body.horde-public-site .mobile-companion-public,
    body.horde-public-site .camp-public-add-on,
    body.horde-public-site .camp-strength-showcase {
        width: min(100% - 32px, var(--horde-content-max));
        padding-block: 2.15rem !important;
    }

    body.horde-public-site.horde-public-home .hero {
        width: min(100% - 32px, var(--horde-content-max));
        padding-top: 2.15rem;
        padding-bottom: 1.5rem;
    }

    body.horde-public-site .checks,
    body.horde-public-site .check-list {
        grid-template-columns: 1fr;
        gap: .55rem;
        margin-top: 1.4rem;
    }

    body.horde-public-site .horde-product-stage {
        min-height: 410px;
    }

    body.horde-public-site .horde-stage-app {
        top: 17%;
        right: 16.5%;
        bottom: 15%;
        left: 16.5%;
    }

    body.horde-public-site .film-card,
    body.horde-public-site .portal-card {
        display: none;
    }

    body.horde-public-site .roster-card { top: 8%; left: 3.8%; width: 29%; }
    body.horde-public-site .schedule-card { top: 8%; right: 3.8%; width: 31%; }
    body.horde-public-site .strength-card { bottom: 8%; left: 4%; width: 29%; }
    body.horde-public-site .play-card { right: 4%; bottom: 8%; width: 30%; }
}

@media (max-width: 430px) {
    body.horde-public-site .horde-product-stage {
        min-height: 355px;
    }

    body.horde-public-site .horde-stage-caption {
        top: 2.4%;
    }

    body.horde-public-site .horde-stage-nav span:nth-child(n+5),
    body.horde-public-site .horde-stage-days b:nth-child(n+4),
    body.horde-public-site .horde-stage-kpis > div:nth-child(3),
    body.horde-public-site .horde-stage-activity div:nth-child(3) {
        display: none;
    }

    body.horde-public-site .horde-stage-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.horde-public-site .strength-card,
    body.horde-public-site .play-card {
        display: none;
    }

    body.horde-public-site .roster-card { top: 8%; left: 3%; width: 32%; }
    body.horde-public-site .schedule-card { top: 8%; right: 3%; width: 34%; }
}

/* --------------------------------------------------------------------------
   Phase 1B — Public CSS cache recovery + compact section rhythm.
   This must remain last so it wins over legacy inline template rules.
   -------------------------------------------------------------------------- */

/* The public templates ship their shared style with a version query so a
   local browser cannot reuse an earlier Phase 1 stylesheet. */

/* Public page rhythm: intentional separation, not vertical dead space. */
body.horde-public-site .section,
body.horde-public-site .public-hub,
body.horde-public-site .founding-offer,
body.horde-public-site .mobile-companion-public,
body.horde-public-site .camp-public-add-on,
body.horde-public-site .camp-strength-showcase {
    padding-block: clamp(1.75rem, 3vw, 2.75rem) !important;
}

body.horde-public-site.horde-public-home .hero,
body.horde-marketing-site .hero {
    min-height: 0 !important;
    padding-top: clamp(2rem, 4vw, 3.5rem) !important;
    padding-bottom: clamp(1.1rem, 2vw, 1.8rem) !important;
}

body.horde-public-site.horde-public-home .public-hub {
    padding-top: clamp(1rem, 2vw, 1.65rem) !important;
}

body.horde-public-site .section + .section,
body.horde-public-site .section + .camp-public-add-on,
body.horde-public-site .mobile-companion-public + .section,
body.horde-public-site .founding-offer + .mobile-companion-public,
body.horde-public-site .camp-public-add-on + .camp-strength-showcase {
    padding-top: clamp(1.25rem, 2.25vw, 2rem) !important;
}

body.horde-public-site .section > :first-child,
body.horde-public-site .public-hub > :first-child,
body.horde-public-site .founding-offer > :first-child,
body.horde-public-site .mobile-companion-public > :first-child,
body.horde-public-site .camp-public-add-on > :first-child,
body.horde-public-site .camp-strength-showcase > :first-child {
    margin-top: 0 !important;
}

/* Product stage hardening: every element in the composition receives the
   same local box model, while the scene itself stays isolated from public
   page typography and legacy component rules. */
body.horde-public-site .product-stage-frame,
body.horde-public-site .product-stage-frame *,
body.horde-public-site .horde-product-stage,
body.horde-public-site .horde-product-stage * {
    box-sizing: border-box;
}

body.horde-public-site .product-stage-frame {
    display: block !important;
    min-height: 0 !important;
}

body.horde-public-site .horde-product-stage {
    display: block !important;
    position: relative !important;
    min-height: clamp(420px, 39vw, 550px) !important;
    overflow: hidden !important;
}

/* Do not let global public-card, heading, list, or paragraph rules flatten
   the small UI surfaces within the visual. */
body.horde-public-site .horde-product-stage strong,
body.horde-public-site .horde-product-stage b,
body.horde-public-site .horde-product-stage small,
body.horde-public-site .horde-product-stage span,
body.horde-public-site .horde-product-stage em,
body.horde-public-site .horde-product-stage i,
body.horde-public-site .horde-product-stage li,
body.horde-public-site .horde-product-stage ul,
body.horde-public-site .horde-product-stage aside,
body.horde-public-site .horde-product-stage div {
    max-width: none;
}

/* A small checksum marker for visual confirmation during local testing. */
body.horde-public-site.horde-public-home .product-stage-frame::after {
    content: "";
    position: absolute;
    z-index: 8;
    right: .75rem;
    bottom: .75rem;
    width: .42rem;
    height: .42rem;
    border-radius: 50%;
    background: #60a5fa;
    box-shadow: 0 0 0 4px rgba(96, 165, 250, .16), 0 0 18px rgba(96, 165, 250, .76);
    pointer-events: none;
}

@media (max-width: 660px) {
    body.horde-public-site .section,
    body.horde-public-site .public-hub,
    body.horde-public-site .founding-offer,
    body.horde-public-site .mobile-companion-public,
    body.horde-public-site .camp-public-add-on,
    body.horde-public-site .camp-strength-showcase {
        padding-block: 1.6rem !important;
    }

    body.horde-public-site.horde-public-home .hero,
    body.horde-marketing-site .hero {
        padding-top: 1.65rem !important;
        padding-bottom: 1rem !important;
    }
}

/* --------------------------------------------------------------------------
   Phase 1C — Product truth + public-system consistency.
   The approved H.O.R.D.E. product-stage look is the reference for every
   public surface: navy depth, field-grid structure, restrained blue signal,
   compact operational cards, and no generated / generic product artwork.
   -------------------------------------------------------------------------- */

:root {
    --horde-public-section-y: clamp(1.15rem, 1.9vw, 1.85rem);
    --horde-public-section-y-tight: clamp(.9rem, 1.45vw, 1.35rem);
    --horde-module-grid: rgba(96, 165, 250, .08);
}

/* Hard cap the public page rhythm. This wins over each page's legacy inline
   section padding so public pages cannot develop vertical dead zones. */
body.horde-public-site .section,
body.horde-public-site .public-hub,
body.horde-public-site .founding-offer,
body.horde-public-site .mobile-companion-public,
body.horde-public-site .camp-public-add-on,
body.horde-public-site .camp-strength-showcase {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-block: var(--horde-public-section-y) !important;
}

body.horde-public-site .section + .section,
body.horde-public-site .section + .camp-public-add-on,
body.horde-public-site .section + .camp-strength-showcase,
body.horde-public-site .public-hub + .founding-offer,
body.horde-public-site .founding-offer + .mobile-companion-public,
body.horde-public-site .mobile-companion-public + .section,
body.horde-public-site .camp-public-add-on + .camp-strength-showcase,
body.horde-public-site .camp-strength-showcase + .section {
    padding-top: var(--horde-public-section-y-tight) !important;
}

body.horde-public-site.horde-public-home .hero {
    padding-bottom: .8rem !important;
}

body.horde-public-site.horde-public-home .public-hub {
    padding-top: .8rem !important;
}

/* Shared product language for real feature summaries. These are HTML/CSS
   surfaces, not image cards. Their copy names only existing HORDE modules. */
body.horde-public-site .public-hub-panel,
body.horde-public-site .founding-panel,
body.horde-public-site .mobile-companion-panel,
body.horde-public-site .camp-public-card,
body.horde-public-site .camp-strength-panel,
body.horde-public-site .pricing-strip,
body.horde-public-site .all-plans,
body.horde-public-site .goat-signature-tier-addon-card,
body.horde-public-site .seo-card,
body.horde-public-site .mission-card,
body.horde-public-site .article-card {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, var(--horde-module-grid) 1px, transparent 1px),
        linear-gradient(var(--horde-module-grid) 1px, transparent 1px),
        linear-gradient(145deg, var(--horde-surface-raised), var(--horde-surface)) !important;
    background-size: 40px 40px, 40px 40px, auto !important;
}

body.horde-public-site .public-hub-panel::after,
body.horde-public-site .founding-panel::after,
body.horde-public-site .mobile-companion-panel::after,
body.horde-public-site .camp-public-card::after,
body.horde-public-site .camp-strength-panel::after,
body.horde-public-site .seo-card::after,
body.horde-public-site .mission-card::after,
body.horde-public-site .article-card::after {
    content: "";
    position: absolute;
    top: 0;
    left: 1.35rem;
    width: 4.25rem;
    height: 2px;
    border-radius: 999px;
    background: var(--horde-blue-soft);
    box-shadow: 0 0 16px rgba(96, 165, 250, .34);
    opacity: .78;
}

body.horde-public-site .card,
body.horde-public-site .public-hub-card,
body.horde-public-site .mobile-expectation-item,
body.horde-public-site .camp-strength-item,
body.horde-public-site .founding-slot,
body.horde-public-site .mini-row,
body.horde-public-site .post-card,
body.horde-public-site .post-link {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(150deg, rgba(37, 99, 235, .08), transparent 55%),
        var(--horde-surface) !important;
}

body.horde-public-site .card::before,
body.horde-public-site .public-hub-card::before,
body.horde-public-site .post-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--horde-blue), rgba(96, 165, 250, .08) 72%, transparent);
    opacity: .72;
}

body.horde-public-site .card:hover,
body.horde-public-site .public-hub-card:hover,
body.horde-public-site .post-card:hover,
body.horde-public-site .post-link:hover {
    transform: translateY(-2px);
    border-color: var(--horde-border-strong) !important;
    box-shadow: 0 16px 34px rgba(2, 8, 18, .22) !important;
}

/* Feature hub: compact module cards modeled after the approved product stage. */
body.horde-public-site .public-hub-grid {
    gap: .8rem;
    margin-top: 1.35rem;
}

body.horde-public-site .public-hub-card.horde-module-card {
    min-height: 204px;
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    align-content: start;
    gap: .52rem;
    padding: 1.12rem;
}

body.horde-public-site .public-hub-card .public-module-kicker {
    display: block;
    margin: 0;
    color: var(--horde-blue-soft);
    font-size: .63rem;
    font-weight: 900;
    letter-spacing: .11em;
    line-height: 1.2;
    text-transform: uppercase;
}

body.horde-public-site .public-hub-card.horde-module-card strong {
    margin: 0;
    color: var(--horde-text-strong);
    font-size: 1.05rem;
    font-weight: 850;
}

body.horde-public-site .public-hub-card.horde-module-card > span:not(.public-module-kicker) {
    margin: 0;
    color: var(--horde-muted);
    font-size: .84rem;
    line-height: 1.53;
}

body.horde-public-site .public-hub-card.horde-module-card em {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-top: .55rem;
    color: var(--horde-blue-soft);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .08em;
}

body.horde-public-site .public-hub-card.horde-module-card em b {
    color: var(--horde-text-strong);
    font-size: .95rem;
    line-height: 1;
}

/* The SEO and blog panels use the same compact command-surface identity,
   avoiding a separate generic-dashboard visual language. */
body.horde-public-site .horde-module-summary,
body.horde-public-site .horde-reading-surface {
    isolation: isolate;
}

body.horde-public-site .horde-module-summary .mini-stack {
    gap: .65rem;
}

body.horde-public-site .horde-module-summary .mini-row {
    min-height: 0;
    padding: .82rem .9rem;
    border-radius: 10px !important;
    color: var(--horde-muted-strong) !important;
    font-size: .83rem;
    line-height: 1.48;
}

body.horde-public-site .horde-reading-surface {
    border-radius: var(--horde-radius-lg) !important;
}

/* Public accent cleanup: gold remains reserved for existing GOAT Signature
   commercial copy, while everyday product cards and blog metadata use HORDE blue. */
body.horde-public-site .post-kicker,
body.horde-public-site .meta-pill,
body.horde-public-site .camp-public-pill,
body.horde-public-site .camp-strength-pill,
body.horde-public-site .strength-mini-badge,
body.horde-public-site .founding-kicker {
    border-color: var(--horde-border-strong) !important;
    background: var(--horde-blue-tint) !important;
    color: var(--horde-blue-soft) !important;
}

body.horde-public-site .topic-strip,
body.horde-public-site .cta-card {
    border-color: var(--horde-border-strong) !important;
    background: linear-gradient(145deg, var(--horde-blue-tint), var(--horde-surface)) !important;
}

body.horde-public-site .topic-strip strong,
body.horde-public-site .cta-card strong {
    color: var(--horde-text-strong) !important;
}

/* This was a local verification marker, not a public design feature. */
body.horde-public-site.horde-public-home .product-stage-frame::after {
    display: none !important;
}

@media (max-width: 780px) {
    body.horde-public-site .section,
    body.horde-public-site .public-hub,
    body.horde-public-site .founding-offer,
    body.horde-public-site .mobile-companion-public,
    body.horde-public-site .camp-public-add-on,
    body.horde-public-site .camp-strength-showcase {
        padding-block: 1.05rem !important;
    }

    body.horde-public-site .public-hub-card.horde-module-card {
        min-height: 0;
    }
}
