/* =========================
   Design Tokens
========================= */

:root {
    --font-sans: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --green: #95E6D0;
    --green-dark: #55C8AE;
    --red: #ef4444;
    --bg: #080908;
    --bg-soft: #101211;
    --surface: rgba(255, 255, 255, 0.075);
    --surface-strong: rgba(255, 255, 255, 0.115);
    --surface-muted: rgba(255, 255, 255, 0.055);
    --border: rgba(255, 255, 255, 0.13);
    --border-strong: rgba(255, 255, 255, 0.22);
    --text: #ffffff;
    --muted: rgba(255, 255, 255, 0.78);
    --muted-soft: rgba(255, 255, 255, 0.64);
    --shadow: 0 22px 70px rgba(0, 0, 0, 0.34);
    --shadow-soft: 0 14px 42px rgba(0, 0, 0, 0.22);
    --green-glow: 0 0 34px rgba(149, 230, 208, 0.23);
    --red-glow: 0 0 34px rgba(239, 68, 68, 0.17);
    --radius: 24px;
    --radius-sm: 16px;
    --radius-pill: 999px;
    --container: 1180px;
    --nav-height: 78px;
    --ease: cubic-bezier(0.16, 1, 0.3, 1);
    --duration: 0.4s;
    --space-1: 8px;
    --space-2: 16px;
    --space-3: 24px;
    --space-4: 32px;
    --space-5: 40px;
    --space-6: 48px;
    --space-7: 64px;
    --space-8: 80px;
    --text-xs: 0.875rem;
    --text-sm: 0.9375rem;
    --text-base: 1rem;
    --text-md: 1.0625rem;
    --text-lg: 1.125rem;
    --h1: clamp(3rem, 5vw, 4rem);
    --h2: clamp(2.25rem, 4vw, 3rem);
    --h3: clamp(1.5rem, 2.6vw, 2rem);
    --h4: clamp(1.125rem, 1.8vw, 1.375rem);
}

/* =========================
   Reset & Base
========================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
    overflow-y: auto;
}

body {
    margin: 0;
    min-height: 100vh;
    overflow-x: clip;
    color: var(--text);
    background: var(--bg);
    font-family: var(--font-sans);
    font-size: 17px;
    line-height: 1.7;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 14% 8%, rgba(149, 230, 208, 0.24), transparent 28%),
        radial-gradient(circle at 86% 20%, rgba(239, 68, 68, 0.14), transparent 26%),
        radial-gradient(circle at 50% 80%, rgba(149, 230, 208, 0.12), transparent 34%),
        linear-gradient(180deg, #080908 0%, #101211 48%, #080908 100%);
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.16;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.85), transparent 85%);
}

.navbar,
main,
.footer,
#backToTop {
    position: relative;
    z-index: 1;
}

main {
    background: transparent;
}

img,
svg,
video {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea {
    font: inherit;
}

section {
    position: relative;
    padding: 110px 0;
}

section + section {
    border-top: 1px solid rgba(255, 255, 255, 0.045);
}

::selection {
    color: #031008;
    background: rgba(134, 217, 193, 0.9);
}

.container {
    width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}

/* =========================
   Page Loader
========================= */

html.site-loader-running,
html.site-loader-running body {
    overflow: hidden;
}

html:not(.site-loader-complete)::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    background: #ffffff;
    opacity: 1;
    pointer-events: auto;
    transition: opacity 0.46s var(--ease);
}

html.site-loader-exiting::before {
    opacity: 0;
    pointer-events: none;
}

html:not(.site-loader-content-ready) body > :not(.site-loader):not(.navbar) {
    opacity: 0;
    transform: translate3d(0, 8px, 0);
}

html.site-loader-content-ready body > :not(.site-loader):not(.navbar) {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition:
        opacity 0.5s var(--ease),
        transform 0.5s var(--ease);
}

html:not(.site-loader-content-ready) body > .navbar {
    opacity: 0;
}

html.site-loader-content-ready body > .navbar {
    opacity: 1;
    transform: none;
    transition: opacity 0.5s var(--ease);
}

body.site-loader-lock {
    touch-action: none;
}

.site-loader {
    position: fixed;
    inset: 0;
    z-index: 2147483001;
    display: grid;
    place-items: center;
    padding: 32px 20px;
    background: #ffffff;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.46s var(--ease);
}

.site-loader.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.site-loader.is-hidden {
    opacity: 0;
    pointer-events: none;
}

.site-loader__spinner {
    width: 48px;
    height: 48px;
    border: 4px solid rgba(149, 230, 208, 0.14);
    border-top-color: var(--green);
    border-radius: 50%;
    transform-origin: center;
    animation: loaderSpinnerRotate 0.82s linear infinite;
}

@keyframes loaderSpinnerRotate {
    to {
        transform: rotate(360deg);
    }
}

/* =========================
   AI Visibility Hub
========================= */

.ai-visibility-page {
    --hub-ink: #111715;
    --hub-muted: #4f5f5a;
    --hub-soft: #eef7f4;
    --hub-line: rgba(17, 23, 21, 0.12);
    --hub-mint: #55c8ae;
    color: var(--hub-ink);
    background: #f7fbf9;
}

.ai-visibility-page::before,
.ai-visibility-page::after {
    display: none;
}

.ai-visibility-page main {
    background: linear-gradient(180deg, #f8fcfa 0%, #ffffff 18%, #f7fbf9 100%);
}

.ai-visibility-page section {
    scroll-margin-top: calc(var(--nav-height) + 24px);
}

.ai-visibility-page .secondary-btn {
    color: var(--hub-ink);
    border-color: rgba(17, 23, 21, 0.18);
    background: rgba(255, 255, 255, 0.82);
}

.ai-visibility-page .secondary-btn:hover {
    border-color: rgba(85, 200, 174, 0.42);
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(17, 23, 21, 0.1);
}

.ai-hub-hero {
    min-height: calc(92vh - var(--nav-height));
    display: flex;
    align-items: center;
    padding: 104px 0 76px;
    overflow: hidden;
}

.ai-hub-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(85, 200, 174, 0.1) 1px, transparent 1px),
        linear-gradient(rgba(85, 200, 174, 0.08) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.72), transparent 82%);
}

.ai-hub-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
    align-items: center;
    gap: 72px;
}

.ai-hub-kicker,
.ai-hub-section-label,
.ai-visibility-page .section-tag {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 0 0 16px;
    padding: 7px 11px;
    border: 1px solid rgba(85, 200, 174, 0.34);
    border-radius: var(--radius-pill);
    color: #277c6b;
    background: rgba(149, 230, 208, 0.18);
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: uppercase;
}

.ai-hub-hero h1 {
    max-width: 850px;
    margin: 0 0 24px;
    color: var(--hub-ink);
    font-size: 3.85rem;
    font-weight: 850;
    line-height: 1.04;
}

.ai-hub-hero-lede {
    max-width: 720px;
    margin: 0;
    color: var(--hub-muted);
    font-size: 1.16rem;
    line-height: 1.78;
}

.ai-hub-hero-actions,
.ai-audit-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.ai-hub-trust-line {
    max-width: 640px;
    margin: 22px 0 0;
    color: #61726d;
    font-size: 0.95rem;
}

.ai-ecosystem-diagram {
    position: relative;
    display: grid;
    gap: 18px;
    padding: 28px;
    border: 1px solid var(--hub-line);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 251, 249, 0.92));
    box-shadow: 0 28px 80px rgba(17, 23, 21, 0.11);
}

.ai-ecosystem-node,
.ai-ecosystem-center {
    min-height: 118px;
    display: grid;
    align-content: center;
    gap: 7px;
    padding: 22px;
    border: 1px solid var(--hub-line);
    border-radius: 18px;
    background: #ffffff;
}

.ai-ecosystem-center {
    border-color: rgba(85, 200, 174, 0.4);
    color: #ffffff;
    background: #0d1714;
}

.ai-ecosystem-node span,
.ai-ecosystem-center span {
    font-weight: 850;
}

.ai-ecosystem-node small,
.ai-ecosystem-center small {
    color: var(--hub-muted);
    font-size: 0.88rem;
    line-height: 1.5;
}

.ai-ecosystem-center small {
    color: rgba(255, 255, 255, 0.72);
}

.ai-ecosystem-rail {
    width: 2px;
    height: 34px;
    margin: -2px auto;
    background: linear-gradient(180deg, rgba(85, 200, 174, 0), rgba(85, 200, 174, 0.8), rgba(85, 200, 174, 0));
}

.ai-hub-toc {
    position: sticky;
    top: var(--nav-height);
    z-index: 30;
    border-top: 1px solid var(--hub-line);
    border-bottom: 1px solid var(--hub-line);
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(18px);
}

.ai-hub-toc-inner {
    display: flex;
    align-items: center;
    gap: 10px;
    overflow-x: auto;
    padding-top: 12px;
    padding-bottom: 12px;
    scrollbar-width: none;
}

.ai-hub-toc-inner::-webkit-scrollbar {
    display: none;
}

.ai-hub-toc a {
    flex: 0 0 auto;
    padding: 8px 12px;
    border-radius: var(--radius-pill);
    color: #40514c;
    font-size: 0.9rem;
    font-weight: 800;
    transition: color var(--duration) var(--ease), background var(--duration) var(--ease);
}

.ai-hub-toc a:hover,
.ai-hub-toc a:focus-visible {
    color: #0d1714;
    background: rgba(149, 230, 208, 0.2);
}

.ai-hub-section {
    padding: 104px 0;
    border-bottom: 1px solid rgba(17, 23, 21, 0.07);
}

.ai-hub-narrow {
    max-width: 880px;
}

.ai-hub-section h2,
.ai-visibility-page .section-header h2 {
    margin: 0 0 18px;
    color: var(--hub-ink);
    font-size: 2.65rem;
    font-weight: 850;
    line-height: 1.12;
}

.ai-hub-section h3 {
    margin: 0 0 10px;
    color: var(--hub-ink);
    font-size: 1.08rem;
    font-weight: 850;
    line-height: 1.35;
}

.ai-hub-section p,
.ai-visibility-page .section-header p {
    color: var(--hub-muted);
}

.ai-hub-section-header {
    max-width: 790px;
    margin: 0 auto 42px;
    text-align: center;
}

.ai-hub-section-header p:last-child,
.ai-hub-narrow > p {
    margin-bottom: 0;
    font-size: 1.05rem;
    line-height: 1.78;
}

.ai-definition-box {
    margin: 26px 0;
    padding: 28px;
    border: 1px solid rgba(85, 200, 174, 0.32);
    border-left: 5px solid var(--hub-mint);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(17, 23, 21, 0.06);
}

.ai-definition-box p {
    margin: 0;
    color: var(--hub-ink);
    font-size: 1.28rem;
    line-height: 1.66;
}

.ai-definition-grid,
.ai-pairing-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px;
}

.ai-definition-grid article,
.ai-pairing-grid article,
.ai-gap-list article,
.ai-checklist-shell,
.ai-resource-groups article {
    border: 1px solid var(--hub-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 16px 40px rgba(17, 23, 21, 0.05);
}

.ai-definition-grid article,
.ai-pairing-grid article {
    padding: 22px;
}

.ai-definition-grid p,
.ai-pairing-grid p {
    margin: 0;
    font-size: 0.97rem;
    line-height: 1.65;
}

.ai-hub-summary {
    margin-top: 26px;
}

.ai-hub-split-layout,
.ai-framework-layout,
.ai-final-cta-inner,
.ai-audit-box {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
    align-items: center;
    gap: 64px;
}

.ai-text-link {
    display: inline-flex;
    width: fit-content;
    margin-top: 18px;
    color: #247a68;
    font-weight: 850;
}

.ai-text-link:hover,
.ai-inline-links a:hover {
    color: #0d1714;
}

.ai-shift-timeline,
.ai-method-strip {
    display: grid;
    gap: 14px;
}

.ai-shift-timeline div {
    position: relative;
    padding: 22px 22px 22px 78px;
    border: 1px solid var(--hub-line);
    border-radius: 18px;
    background: #ffffff;
}

.ai-shift-timeline span {
    position: absolute;
    top: 22px;
    left: 22px;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #0d1714;
    background: var(--green);
    font-weight: 900;
}

.ai-shift-timeline strong {
    display: block;
    margin-bottom: 4px;
    color: var(--hub-ink);
}

.ai-shift-timeline p,
.ai-gap-list p {
    margin: 0;
    font-size: 0.96rem;
    line-height: 1.62;
}

.ai-process-diagram,
.ai-journey {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.ai-process-diagram article,
.ai-journey article {
    position: relative;
    padding: 24px;
    border: 1px solid var(--hub-line);
    border-radius: 20px;
    background: #ffffff;
}

.ai-process-diagram article::after {
    content: "";
    position: absolute;
    top: 42px;
    right: -13px;
    width: 13px;
    height: 2px;
    background: rgba(85, 200, 174, 0.72);
}

.ai-process-diagram article:last-child::after {
    display: none;
}

.ai-process-diagram span,
.ai-journey span {
    display: inline-flex;
    margin-bottom: 34px;
    color: #247a68;
    font-size: 0.82rem;
    font-weight: 900;
}

.ai-process-diagram p,
.ai-journey p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.64;
}

.ai-comparison-table {
    overflow: hidden;
    border: 1px solid var(--hub-line);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(17, 23, 21, 0.07);
}

.ai-comparison-table [role="row"] {
    display: grid;
    grid-template-columns: 0.78fr 1fr 1fr;
    border-bottom: 1px solid var(--hub-line);
}

.ai-comparison-table [role="row"]:last-child {
    border-bottom: 0;
}

.ai-comparison-table [role="columnheader"],
.ai-comparison-table [role="cell"] {
    padding: 18px;
    border-right: 1px solid var(--hub-line);
}

.ai-comparison-table [role="columnheader"]:last-child,
.ai-comparison-table [role="cell"]:last-child {
    border-right: 0;
}

.ai-table-head {
    color: #ffffff;
    background: #0d1714;
    font-weight: 850;
}

.ai-comparison-table [role="cell"] {
    color: var(--hub-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

.ai-comparison-table [role="cell"]:first-child {
    color: var(--hub-ink);
    font-weight: 850;
}

.ai-framework-section {
    background: #0d1714;
}

.ai-framework-section h2,
.ai-framework-section h3,
.ai-framework-section .ai-framework-copy > p {
    color: #ffffff;
}

.ai-framework-section .ai-hub-section-label {
    color: #aaf0dd;
    background: rgba(149, 230, 208, 0.1);
}

.ai-framework-copy > p,
.ai-framework-panel p {
    color: rgba(255, 255, 255, 0.72);
}

.ai-framework-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 26px 0 18px;
}

.ai-framework-tabs button {
    min-height: 40px;
    padding: 9px 13px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--radius-pill);
    color: rgba(255, 255, 255, 0.76);
    background: rgba(255, 255, 255, 0.06);
    cursor: pointer;
    transition: color var(--duration) var(--ease), border-color var(--duration) var(--ease), background var(--duration) var(--ease);
}

.ai-framework-tabs button[aria-selected="true"],
.ai-framework-tabs button:hover,
.ai-framework-tabs button:focus-visible {
    color: #0d1714;
    border-color: rgba(149, 230, 208, 0.7);
    background: var(--green);
}

.ai-framework-panel {
    min-height: 150px;
    margin-bottom: 24px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.06);
}

.ai-framework-panel p {
    margin-bottom: 0;
}

.ai-framework-visual {
    position: relative;
    min-height: 520px;
    display: grid;
    place-items: center;
}

.ai-framework-core {
    position: relative;
    z-index: 2;
    width: 178px;
    height: 178px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(149, 230, 208, 0.48);
    border-radius: 50%;
    color: #ffffff;
    background: radial-gradient(circle, rgba(149, 230, 208, 0.28), rgba(13, 23, 20, 0.92));
    font-weight: 900;
    text-align: center;
    box-shadow: 0 0 70px rgba(149, 230, 208, 0.25);
}

.ai-framework-ring {
    position: absolute;
    inset: 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
}

.ai-framework-ring span {
    position: absolute;
    width: 112px;
    min-height: 46px;
    display: grid;
    place-items: center;
    padding: 8px;
    border: 1px solid rgba(149, 230, 208, 0.22);
    border-radius: var(--radius-pill);
    color: rgba(255, 255, 255, 0.86);
    background: rgba(255, 255, 255, 0.07);
    font-size: 0.84rem;
    font-weight: 850;
    text-align: center;
}

.ai-framework-ring span:nth-child(1) { top: 0; left: 50%; transform: translate(-50%, -50%); }
.ai-framework-ring span:nth-child(2) { top: 24%; right: 0; transform: translate(38%, -50%); }
.ai-framework-ring span:nth-child(3) { right: 0; bottom: 24%; transform: translate(38%, 50%); }
.ai-framework-ring span:nth-child(4) { bottom: 0; left: 50%; transform: translate(-50%, 50%); }
.ai-framework-ring span:nth-child(5) { bottom: 24%; left: 0; transform: translate(-38%, 50%); }
.ai-framework-ring span:nth-child(6) { top: 24%; left: 0; transform: translate(-38%, -50%); }

.ai-gap-list {
    display: grid;
    gap: 12px;
}

.ai-gap-list article {
    padding: 20px;
}

.ai-gap-list span {
    display: block;
    margin-bottom: 6px;
    color: #247a68;
    font-weight: 900;
}

.ai-checklist-shell {
    padding: 26px;
}

.ai-checklist-progress {
    display: grid;
    gap: 10px;
    margin-bottom: 22px;
    color: var(--hub-ink);
    font-weight: 850;
}

.ai-checklist-meter {
    height: 10px;
    overflow: hidden;
    border-radius: var(--radius-pill);
    background: rgba(17, 23, 21, 0.08);
}

.ai-checklist-meter span {
    width: 0;
    height: 100%;
    display: block;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--green), var(--green-dark));
    transition: width var(--duration) var(--ease);
}

.ai-checklist-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ai-checklist-grid fieldset {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 12px;
    margin: 0;
    padding: 20px;
    border: 1px solid var(--hub-line);
    border-radius: 16px;
    background: #fbfefd;
}

.ai-checklist-grid legend {
    padding: 0 8px;
    color: #247a68;
    font-weight: 900;
}

.ai-checklist-grid label {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px;
    color: #40514c;
    font-size: 0.95rem;
    line-height: 1.5;
}

.ai-checklist-grid input {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    accent-color: var(--green-dark);
}

.ai-checklist-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--hub-line);
}

.ai-checklist-cta p {
    max-width: 560px;
    margin: 0;
}

.ai-method-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ai-method-strip span {
    display: grid;
    min-height: 86px;
    place-items: center;
    border: 1px solid var(--hub-line);
    border-radius: 18px;
    background: #ffffff;
    color: var(--hub-ink);
    font-weight: 850;
}

.ai-inline-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.ai-inline-links a {
    padding: 8px 12px;
    border: 1px solid rgba(85, 200, 174, 0.28);
    border-radius: var(--radius-pill);
    color: #247a68;
    background: rgba(149, 230, 208, 0.14);
    font-size: 0.9rem;
    font-weight: 850;
}

.ai-audit-intro {
    background: linear-gradient(135deg, rgba(13, 23, 20, 0.98), rgba(21, 42, 36, 0.96));
}

.ai-audit-box,
.ai-final-cta-inner {
    padding: 44px;
    border: 1px solid rgba(149, 230, 208, 0.18);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.06);
}

.ai-audit-box h2,
.ai-audit-box p,
.ai-audit-box .ai-hub-section-label {
    color: #ffffff;
}

.ai-audit-box > div > p:last-child {
    color: rgba(255, 255, 255, 0.74);
}

.ai-methodology-notes,
.ai-final-cta {
    background: #ffffff;
}

.ai-hub-faq {
    background: #f7fbf9;
}

.ai-visibility-page .faq > .section-header {
    width: min(calc(100% - 40px), 820px);
}

.ai-visibility-page .faq-item {
    border-color: var(--hub-line);
    background: #ffffff;
}

.ai-visibility-page .faq-question {
    color: var(--hub-ink);
}

.ai-visibility-page .faq-answer p {
    color: var(--hub-muted);
}

.ai-visibility-page .faq-item.active .faq-answer {
    max-height: 420px;
}

.ai-resource-groups {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.ai-resource-groups article {
    display: grid;
    align-content: start;
    gap: 10px;
    padding: 22px;
}

.ai-resource-groups a,
.ai-resource-groups span {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(17, 23, 21, 0.08);
    color: #40514c;
    font-size: 0.95rem;
    line-height: 1.45;
}

.ai-resource-groups a:hover {
    color: #247a68;
}

.ai-resource-groups small {
    color: #75847f;
    font-size: 0.78rem;
    font-weight: 850;
}

.ai-final-cta-inner {
    border-color: rgba(17, 23, 21, 0.09);
    background: linear-gradient(135deg, rgba(149, 230, 208, 0.18), rgba(255, 255, 255, 0.94));
}

.ai-final-cta-inner h2 {
    margin-bottom: 10px;
}

.ai-final-cta-inner p {
    margin-bottom: 0;
}

@media (max-width: 1180px) {
    .ai-hub-hero-layout,
    .ai-hub-split-layout,
    .ai-framework-layout,
    .ai-final-cta-inner,
    .ai-audit-box {
        gap: 44px;
    }

    .ai-process-diagram,
    .ai-journey {
        grid-template-columns: 1fr;
    }

    .ai-process-diagram article::after {
        top: auto;
        right: auto;
        bottom: -13px;
        left: 42px;
        width: 2px;
        height: 13px;
    }
}

@media (max-width: 980px) {
    .ai-hub-hero-layout,
    .ai-hub-split-layout,
    .ai-framework-layout,
    .ai-final-cta-inner,
    .ai-audit-box {
        grid-template-columns: 1fr;
    }

    .ai-hub-hero {
        min-height: auto;
        padding: 92px 0 64px;
    }

    .ai-hub-hero h1 {
        font-size: 3rem;
    }

    .ai-definition-grid,
    .ai-pairing-grid,
    .ai-checklist-grid,
    .ai-resource-groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ai-comparison-table [role="row"] {
        grid-template-columns: 1fr;
    }

    .ai-comparison-table [role="columnheader"],
    .ai-comparison-table [role="cell"] {
        border-right: 0;
        border-bottom: 1px solid var(--hub-line);
    }

    .ai-comparison-table [role="columnheader"]:last-child,
    .ai-comparison-table [role="cell"]:last-child {
        border-bottom: 0;
    }

    .ai-framework-visual {
        min-height: 430px;
    }

    .ai-framework-ring span:nth-child(2),
    .ai-framework-ring span:nth-child(3) {
        transform: translate(18%, -50%);
    }

    .ai-framework-ring span:nth-child(5),
    .ai-framework-ring span:nth-child(6) {
        transform: translate(-18%, -50%);
    }
}

@media (max-width: 720px) {
    .ai-hub-section {
        padding: 76px 0;
    }

    .ai-hub-hero h1 {
        font-size: 2.38rem;
    }

    .ai-hub-section h2,
    .ai-visibility-page .section-header h2 {
        font-size: 2rem;
    }

    .ai-hub-hero-lede,
    .ai-definition-box p {
        font-size: 1.02rem;
    }

    .ai-definition-grid,
    .ai-pairing-grid,
    .ai-checklist-grid,
    .ai-resource-groups,
    .ai-method-strip {
        grid-template-columns: 1fr;
    }

    .ai-checklist-cta,
    .ai-audit-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ai-checklist-cta .primary-btn,
    .ai-audit-actions .primary-btn,
    .ai-audit-actions .secondary-btn,
    .ai-hub-hero-actions .primary-btn,
    .ai-hub-hero-actions .secondary-btn {
        width: 100%;
    }

    .ai-framework-visual {
        min-height: auto;
        place-items: stretch;
    }

    .ai-framework-core {
        width: auto;
        height: auto;
        min-height: 76px;
        border-radius: 18px;
    }

    .ai-framework-ring {
        position: static;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 14px;
        border: 0;
        border-radius: 0;
    }

    .ai-framework-ring span,
    .ai-framework-ring span:nth-child(n) {
        position: static;
        width: auto;
        transform: none;
    }

    .ai-audit-box,
    .ai-final-cta-inner {
        padding: 28px;
        border-radius: 22px;
    }
}

@media (max-width: 520px) {
    .ai-hub-hero-layout,
    .ai-hub-split-layout,
    .ai-framework-layout,
    .ai-final-cta-inner,
    .ai-audit-box {
        gap: 30px;
    }

    .ai-ecosystem-diagram,
    .ai-checklist-shell {
        padding: 18px;
    }

    .ai-ecosystem-node,
    .ai-ecosystem-center,
    .ai-definition-grid article,
    .ai-pairing-grid article,
    .ai-process-diagram article,
    .ai-journey article {
        padding: 18px;
    }

    .ai-shift-timeline div {
        padding: 18px;
    }

    .ai-shift-timeline span {
        position: static;
        margin-bottom: 12px;
    }
}

/* =========================
   AI Visibility Hub V2 Flagship
========================= */

.ai-visibility-v2 {
    --hub-ink: #101715;
    --hub-muted: #43534e;
    --hub-wash: #f4faf7;
    --hub-panel: #ffffff;
    --hub-panel-soft: rgba(255, 255, 255, 0.82);
    --hub-line: rgba(16, 23, 21, 0.12);
    --hub-line-strong: rgba(16, 23, 21, 0.2);
    --hub-mint: #55c8ae;
    --hub-mint-soft: rgba(149, 230, 208, 0.2);
    --hub-slate: #0d1714;
    background: #f7fbf9;
}

.ai-visibility-v2 main {
    background:
        linear-gradient(180deg, rgba(247, 251, 249, 0.98) 0%, #ffffff 21%, #f7fbf9 100%);
}

.ai-visibility-v2 .ai-hub-hero {
    min-height: calc(94vh - var(--nav-height));
    padding: 112px 0 82px;
}

.ai-visibility-v2 .ai-hub-hero h1 {
    max-width: 880px;
    font-size: clamp(3rem, 5.5vw, 5.25rem);
    line-height: 0.99;
}

.ai-visibility-v2 .ai-hub-hero-lede {
    max-width: 760px;
    font-size: 1.18rem;
}

.ai-visibility-v2 .ai-hub-section {
    padding: 116px 0;
}

.ai-visibility-v2 .ai-hub-section h2,
.ai-visibility-v2 .section-header h2 {
    max-width: 900px;
    font-size: clamp(2.15rem, 4vw, 3.45rem);
    line-height: 1.04;
    letter-spacing: 0;
}

.ai-visibility-v2 .ai-hub-section-header {
    max-width: 860px;
    margin-bottom: 48px;
}

.ai-visibility-v2 .ai-hub-kicker,
.ai-visibility-v2 .ai-hub-section-label,
.ai-visibility-v2 .section-tag {
    border-color: rgba(85, 200, 174, 0.38);
    color: #1f7564;
    background: rgba(149, 230, 208, 0.16);
}

.ai-visibility-v2 .ai-fact-box {
    border-left-width: 6px;
    box-shadow: 0 20px 52px rgba(16, 23, 21, 0.07);
}

.ai-visibility-v2 .ai-fact-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
}

.ai-visibility-v2 .ai-fact-row div {
    padding: 18px;
    border: 1px solid var(--hub-line);
    border-radius: 16px;
    background: var(--hub-panel);
    color: var(--hub-muted);
}

.ai-visibility-v2 .ai-fact-row strong {
    color: var(--hub-ink);
}

.ai-visibility-v2 figure {
    margin: 0;
}

.ai-visibility-v2 figcaption {
    width: fit-content;
    margin: 0 0 14px;
    color: #247a68;
    font-size: 0.82rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ai-visibility-v2 .ai-ecosystem-v2 {
    min-height: 520px;
    align-content: center;
    gap: 16px;
}

.ai-visibility-v2 .ai-ecosystem-source,
.ai-visibility-v2 .ai-ecosystem-outcome {
    padding: 22px;
    border: 1px solid var(--hub-line);
    border-radius: 20px;
    background: var(--hub-panel);
    box-shadow: 0 18px 38px rgba(16, 23, 21, 0.07);
}

.ai-visibility-v2 .ai-ecosystem-source span,
.ai-visibility-v2 .ai-ecosystem-outcome span {
    display: block;
    margin-bottom: 6px;
    color: var(--hub-ink);
    font-weight: 900;
}

.ai-visibility-v2 .ai-ecosystem-source small,
.ai-visibility-v2 .ai-ecosystem-outcome small {
    color: var(--hub-muted);
    line-height: 1.55;
}

.ai-visibility-v2 .ai-ecosystem-core {
    width: 134px;
    height: 134px;
    display: grid;
    place-items: center;
    margin: 6px auto;
    border: 1px solid rgba(149, 230, 208, 0.45);
    border-radius: 50%;
    color: #ffffff;
    background:
        radial-gradient(circle at 35% 28%, rgba(149, 230, 208, 0.52), transparent 32%),
        linear-gradient(135deg, #0d1714, #183f36);
    box-shadow: 0 0 0 14px rgba(149, 230, 208, 0.08), 0 28px 80px rgba(16, 23, 21, 0.22);
    font-size: 2rem;
    font-weight: 900;
}

.ai-visibility-v2 .ai-ecosystem-signals {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.ai-visibility-v2 .ai-ecosystem-signals span {
    min-height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(85, 200, 174, 0.24);
    border-radius: var(--radius-pill);
    color: #1f7564;
    background: rgba(149, 230, 208, 0.14);
    font-size: 0.78rem;
    font-weight: 900;
}

.ai-visibility-v2 .ai-score-hub-preview {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(260px, 0.78fr);
    gap: 20px;
    align-items: stretch;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.58);
    border-radius: 30px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.84), rgba(244, 250, 247, 0.66)),
        radial-gradient(circle at 18% 12%, rgba(149, 230, 208, 0.28), transparent 34%);
    box-shadow: 0 28px 80px rgba(16, 23, 21, 0.12);
    backdrop-filter: blur(18px);
    animation: aiScorePreviewFloat 7s ease-in-out infinite;
}

.ai-visibility-v2 .ai-score-hub-preview::before {
    position: absolute;
    inset: 1px;
    border: 1px solid rgba(85, 200, 174, 0.16);
    border-radius: inherit;
    pointer-events: none;
    content: "";
}

.ai-visibility-v2 .ai-score-hub-copy,
.ai-visibility-v2 .ai-score-preview-card {
    position: relative;
    z-index: 1;
}

.ai-visibility-v2 .ai-score-preview-kicker {
    width: fit-content;
    margin: 0 0 12px;
    padding: 7px 10px;
    border: 1px solid rgba(85, 200, 174, 0.34);
    border-radius: var(--radius-pill);
    color: #1f7564;
    background: rgba(149, 230, 208, 0.18);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ai-visibility-v2 .ai-score-hub-copy h2 {
    margin: 0;
    color: var(--hub-ink);
    font-size: clamp(1.8rem, 3.1vw, 2.85rem);
    line-height: 1.02;
    letter-spacing: 0;
}

.ai-visibility-v2 .ai-score-hub-copy p {
    margin: 16px 0 0;
    color: var(--hub-muted);
    font-size: 0.98rem;
    line-height: 1.72;
}

.ai-visibility-v2 .ai-score-benefits {
    display: grid;
    gap: 10px;
    padding: 0;
    margin: 20px 0 0;
    list-style: none;
}

.ai-visibility-v2 .ai-score-benefits li {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 10px;
    align-items: center;
    color: var(--hub-ink);
    font-size: 0.92rem;
    font-weight: 850;
    line-height: 1.35;
}

.ai-visibility-v2 .ai-score-benefits i {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(85, 200, 174, 0.22);
    border-radius: 50%;
    color: #1f7564;
    background: rgba(149, 230, 208, 0.16);
    font-size: 0.88rem;
}

.ai-visibility-v2 .ai-score-preview-card {
    display: grid;
    gap: 14px;
    padding: 20px;
    border: 1px solid rgba(16, 23, 21, 0.1);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74), 0 22px 54px rgba(16, 23, 21, 0.1);
}

.ai-visibility-v2 .ai-score-card-header,
.ai-visibility-v2 .ai-score-card-meta,
.ai-visibility-v2 .ai-score-card-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.ai-visibility-v2 .ai-score-card-header {
    justify-content: space-between;
}

.ai-visibility-v2 .ai-score-card-badge,
.ai-visibility-v2 .ai-score-card-time,
.ai-visibility-v2 .ai-score-card-categories span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 7px 10px;
    border: 1px solid rgba(16, 23, 21, 0.1);
    border-radius: var(--radius-pill);
    color: #1f7564;
    background: rgba(244, 250, 247, 0.9);
    font-size: 0.74rem;
    font-weight: 900;
}

.ai-visibility-v2 .ai-score-card-time {
    color: var(--hub-muted);
}

.ai-visibility-v2 .ai-score-card-gauge {
    display: grid;
    width: 118px;
    height: 118px;
    place-items: center;
    margin: 4px auto 0;
    border-radius: 50%;
    background:
        conic-gradient(from 220deg, #55c8ae 0 74%, rgba(16, 23, 21, 0.08) 74% 100%);
    box-shadow: inset 0 0 0 16px #ffffff, 0 18px 44px rgba(85, 200, 174, 0.18);
}

.ai-visibility-v2 .ai-score-card-gauge span {
    color: var(--hub-ink);
    font-size: 1.65rem;
    font-weight: 950;
}

.ai-visibility-v2 .ai-score-preview-card h3 {
    margin: 0;
    color: var(--hub-ink);
    font-size: 1.25rem;
    line-height: 1.15;
}

.ai-visibility-v2 .ai-score-preview-card p {
    margin: 0;
    color: var(--hub-muted);
    font-size: 0.92rem;
    line-height: 1.58;
}

.ai-visibility-v2 .ai-score-card-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ai-visibility-v2 .ai-score-card-meta div {
    padding: 12px;
    border: 1px solid rgba(16, 23, 21, 0.1);
    border-radius: 16px;
    background: rgba(244, 250, 247, 0.76);
}

.ai-visibility-v2 .ai-score-card-meta strong,
.ai-visibility-v2 .ai-score-card-meta span {
    display: block;
}

.ai-visibility-v2 .ai-score-card-meta strong {
    color: var(--hub-ink);
    font-size: 1.15rem;
}

.ai-visibility-v2 .ai-score-card-meta span {
    color: var(--hub-muted);
    font-size: 0.78rem;
    font-weight: 760;
    line-height: 1.32;
}

.ai-visibility-v2 .ai-score-progress-preview {
    display: grid;
    gap: 9px;
    padding: 12px;
    border: 1px solid rgba(16, 23, 21, 0.08);
    border-radius: 16px;
    background: rgba(13, 23, 20, 0.04);
}

.ai-visibility-v2 .ai-score-progress-preview span {
    display: block;
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(16, 23, 21, 0.08);
}

.ai-visibility-v2 .ai-score-progress-preview span::before {
    display: block;
    width: var(--width);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #55c8ae, #5d7ef7);
    content: "";
}

.ai-visibility-v2 .ai-score-card-categories span {
    min-height: 28px;
    padding: 6px 9px;
    color: var(--hub-muted);
    font-size: 0.7rem;
}

.ai-visibility-v2 .ai-score-preview-cta {
    justify-content: center;
    width: 100%;
    margin-top: 2px;
    box-shadow: 0 18px 42px rgba(85, 200, 174, 0.24);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.ai-visibility-v2 .ai-score-preview-cta:hover,
.ai-visibility-v2 .ai-score-preview-cta:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 24px 54px rgba(85, 200, 174, 0.3);
}

@keyframes aiScorePreviewFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

.ai-visibility-v2 .ai-glossary-grid article {
    position: relative;
    overflow: hidden;
}

.ai-visibility-v2 .ai-glossary-grid small {
    display: block;
    margin-top: 12px;
    color: #247a68;
    font-size: 0.85rem;
    font-weight: 850;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity var(--duration) var(--ease), transform var(--duration) var(--ease);
}

.ai-visibility-v2 .ai-glossary-grid article:hover small,
.ai-visibility-v2 .ai-glossary-grid article:focus-within small,
.ai-visibility-v2 .ai-glossary-grid article:focus small {
    opacity: 1;
    transform: translateY(0);
}

.ai-visibility-v2 .ai-decision-flow div,
.ai-visibility-v2 .ai-process-v2 article,
.ai-visibility-v2 .ai-citation-journey article,
.ai-visibility-v2 .ai-journey-v2 article {
    transition:
        transform var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease);
}

.ai-visibility-v2 .ai-decision-flow div:hover,
.ai-visibility-v2 .ai-process-v2 article:hover,
.ai-visibility-v2 .ai-citation-journey article:hover,
.ai-visibility-v2 .ai-journey-v2 article:hover {
    border-color: rgba(85, 200, 174, 0.38);
    box-shadow: 0 18px 44px rgba(16, 23, 21, 0.09);
    transform: translateY(-4px);
}

.ai-visibility-v2 .ai-geo-seo-visual,
.ai-visibility-v2 .ai-citation-journey {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.74fr) minmax(0, 1fr);
    gap: 14px;
    margin-bottom: 28px;
}

.ai-visibility-v2 .ai-geo-seo-visual div,
.ai-visibility-v2 .ai-citation-journey article {
    min-height: 150px;
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 22px;
    border: 1px solid var(--hub-line);
    border-radius: 20px;
    background: var(--hub-panel);
}

.ai-visibility-v2 .ai-geo-seo-visual .ai-geo-seo-bridge {
    border-color: rgba(85, 200, 174, 0.34);
    background: #0d1714;
    color: #ffffff;
}

.ai-visibility-v2 .ai-geo-seo-visual span,
.ai-visibility-v2 .ai-citation-journey span {
    color: #247a68;
    font-size: 0.82rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ai-visibility-v2 .ai-geo-seo-visual .ai-geo-seo-bridge span,
.ai-visibility-v2 .ai-geo-seo-visual .ai-geo-seo-bridge p {
    color: rgba(255, 255, 255, 0.78);
}

.ai-visibility-v2 .ai-geo-seo-visual strong {
    color: var(--hub-ink);
    font-size: 1.08rem;
}

.ai-visibility-v2 .ai-geo-seo-bridge strong {
    color: #ffffff;
}

.ai-visibility-v2 .ai-geo-seo-visual p,
.ai-visibility-v2 .ai-citation-journey p {
    margin: 0;
}

.ai-visibility-v2 .ai-citation-journey {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ai-visibility-v2 .ai-citation-journey article {
    position: relative;
}

.ai-visibility-v2 .ai-citation-journey article::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -14px;
    width: 14px;
    height: 2px;
    background: rgba(85, 200, 174, 0.72);
}

.ai-visibility-v2 .ai-citation-journey article:last-child::after {
    display: none;
}

.ai-visibility-v2 .ai-trust-loop {
    position: relative;
}

.ai-visibility-v2 .ai-trust-loop article {
    min-height: 190px;
}

.ai-visibility-v2 .ai-framework-section {
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(13, 23, 20, 0.98), rgba(8, 12, 11, 0.98)),
        #0d1714;
}

.ai-visibility-v2 .ai-framework-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(149, 230, 208, 0.08) 1px, transparent 1px),
        linear-gradient(rgba(149, 230, 208, 0.07) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), transparent 82%);
}

.ai-visibility-v2 .ai-framework-tabs button {
    outline-offset: 4px;
}

.ai-visibility-v2 .ai-framework-citeflow figcaption {
    color: #aaf0dd;
}

.ai-visibility-v2 .ai-framework-citeflow .ai-framework-core {
    width: 198px;
    height: 198px;
    font-size: 1.05rem;
}

.ai-visibility-v2 .ai-authority-pyramid {
    display: grid;
    justify-items: center;
    gap: 10px;
    padding: 26px;
    border: 1px solid var(--hub-line);
    border-radius: 26px;
    background: var(--hub-panel);
    box-shadow: 0 18px 54px rgba(16, 23, 21, 0.07);
}

.ai-visibility-v2 .ai-authority-pyramid div {
    display: grid;
    justify-items: center;
    width: var(--pyramid-width, 100%);
    padding: 14px;
    border: 1px solid rgba(85, 200, 174, 0.24);
    border-radius: 14px;
    background: rgba(149, 230, 208, 0.12);
    text-align: center;
}

.ai-visibility-v2 .ai-authority-pyramid div:nth-of-type(1) { --pyramid-width: 46%; }
.ai-visibility-v2 .ai-authority-pyramid div:nth-of-type(2) { --pyramid-width: 58%; }
.ai-visibility-v2 .ai-authority-pyramid div:nth-of-type(3) { --pyramid-width: 70%; }
.ai-visibility-v2 .ai-authority-pyramid div:nth-of-type(4) { --pyramid-width: 82%; }
.ai-visibility-v2 .ai-authority-pyramid div:nth-of-type(5) { --pyramid-width: 94%; }

.ai-visibility-v2 .ai-authority-pyramid span {
    color: var(--hub-ink);
    font-weight: 900;
}

.ai-visibility-v2 .ai-authority-pyramid small {
    color: var(--hub-muted);
}

.ai-visibility-v2 .ai-trust-loop-visual {
    position: relative;
    min-height: 420px;
    display: grid;
    place-items: center;
    border: 1px solid var(--hub-line);
    border-radius: 26px;
    background: var(--hub-panel);
}

.ai-visibility-v2 .ai-trust-loop-visual figcaption {
    position: absolute;
    top: 24px;
    left: 24px;
}

.ai-visibility-v2 .ai-trust-loop-visual::before {
    content: "";
    position: absolute;
    width: min(260px, 58vw);
    aspect-ratio: 1;
    border: 2px solid rgba(85, 200, 174, 0.28);
    border-radius: 50%;
}

.ai-visibility-v2 .ai-loop-node {
    position: absolute;
    width: 140px;
    min-height: 58px;
    display: grid;
    place-items: center;
    padding: 10px;
    border: 1px solid rgba(85, 200, 174, 0.32);
    border-radius: 18px;
    background: #ffffff;
    color: var(--hub-ink);
    font-size: 0.9rem;
    font-weight: 850;
    text-align: center;
    box-shadow: 0 14px 34px rgba(16, 23, 21, 0.08);
}

.ai-visibility-v2 .ai-loop-node:nth-of-type(1) { top: 80px; left: 50%; transform: translateX(-50%); }
.ai-visibility-v2 .ai-loop-node:nth-of-type(2) { top: 50%; right: 38px; transform: translateY(-50%); }
.ai-visibility-v2 .ai-loop-node:nth-of-type(3) { bottom: 58px; left: 50%; transform: translateX(-50%); }
.ai-visibility-v2 .ai-loop-node:nth-of-type(4) { top: 50%; left: 38px; transform: translateY(-50%); }

.ai-visibility-v2 :is(a, button, input, [tabindex]):focus-visible {
    outline: 3px solid rgba(85, 200, 174, 0.7);
    outline-offset: 4px;
}

@media (max-width: 1180px) {
    .ai-visibility-v2 .ai-citation-journey {
        grid-template-columns: 1fr;
    }

    .ai-visibility-v2 .ai-citation-journey article::after {
        top: auto;
        right: auto;
        bottom: -14px;
        left: 34px;
        width: 2px;
        height: 14px;
    }
}

@media (max-width: 980px) {
    .ai-visibility-v2 .ai-hub-hero {
        padding-top: 94px;
    }

    .ai-visibility-v2 .ai-geo-seo-visual,
    .ai-visibility-v2 .ai-fact-row {
        grid-template-columns: 1fr;
    }

    .ai-visibility-v2 .ai-trust-loop-visual,
    .ai-visibility-v2 .ai-ecosystem-v2 {
        min-height: 380px;
    }

    .ai-visibility-v2 .ai-score-hub-preview {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 0.75fr);
    }
}

@media (max-width: 720px) {
    .ai-visibility-v2 .ai-hub-section {
        padding: 78px 0;
    }

    .ai-visibility-v2 .ai-hub-hero h1 {
        font-size: 2.65rem;
    }

    .ai-visibility-v2 .ai-ecosystem-signals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ai-visibility-v2 .ai-score-hub-preview,
    .ai-visibility-v2 .ai-score-card-meta {
        grid-template-columns: 1fr;
    }

    .ai-visibility-v2 .ai-score-hub-preview {
        gap: 18px;
        padding: 18px;
        border-radius: 24px;
    }

    .ai-visibility-v2 .ai-score-hub-copy h2 {
        font-size: 2rem;
    }

    .ai-visibility-v2 .ai-authority-pyramid div {
        width: 100%;
    }

    .ai-visibility-v2 .ai-trust-loop-visual {
        min-height: auto;
        align-content: start;
        gap: 10px;
        padding: 78px 18px 18px;
    }

    .ai-visibility-v2 .ai-trust-loop-visual::before {
        display: none;
    }

    .ai-visibility-v2 .ai-loop-node,
    .ai-visibility-v2 .ai-loop-node:nth-of-type(n) {
        position: static;
        width: 100%;
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-loader__spinner {
        animation: none;
    }
}

/* =========================
   Typography & Utilities
========================= */

h1,
h2,
h3,
h4,
p {
    margin-top: 0;
}

h1,
h2,
h3,
h4 {
    color: var(--text);
    line-height: 1.08;
    letter-spacing: 0;
    text-wrap: balance;
}

p {
    color: var(--muted);
    max-width: 72ch;
    margin-bottom: 1rem;
    font-size: var(--text-md);
    line-height: 1.72;
    text-wrap: pretty;
}

h1 {
    font-size: var(--h1);
    font-weight: 850;
}

h2 {
    font-size: var(--h2);
    font-weight: 850;
}

h3 {
    font-size: var(--h3);
    font-weight: 800;
}

h4 {
    font-size: var(--h4);
    font-weight: 800;
}

.section-header,
.problem-header,
.solution-header,
.process-header,
.insights-header,
.testimonial-heading {
    max-width: 780px;
    margin: 0 auto var(--space-7);
    text-align: center;
}

.section-header h2,
.problem-header h2,
.solution-header h2,
.process-header h2,
.insights-header h2,
.testimonial-title {
    margin-bottom: var(--space-2);
    font-size: var(--h2);
    font-weight: 850;
    line-height: 1.12;
}

.section-header p,
.problem-header p,
.solution-header p,
.process-header p,
.insights-header p,
.testimonial-subtitle {
    max-width: 690px;
    margin: 0 auto;
    color: var(--muted);
    font-size: var(--text-md);
    line-height: 1.72;
}

.section-tag,
.billboard-tag,
.case-tag,
.blog-category,
.popular {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    gap: 8px;
    margin-bottom: 18px;
    padding: 8px 14px;
    border: 1px solid rgba(149, 230, 208, 0.34);
    border-radius: var(--radius-pill);
    color: var(--green);
    background: rgba(149, 230, 208, 0.12);
    box-shadow: 0 0 22px rgba(149, 230, 208, 0.12);
    font-size: var(--text-xs);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

/* Icon fallbacks for local/offline rendering before Font Awesome loads. */
.fa-check::before { content: "\2713"; }
.fa-wallet::before,
.fa-filter-circle-dollar::before,
.fa-cart-shopping::before { content: "$"; }
.fa-bullseye::before { content: "\25CE"; }
.fa-eye::before { content: "\25C7"; }
.fa-chart-line::before,
.fa-gauge-high::before,
.fa-truck-fast::before { content: "\2197"; }
.fa-magnifying-glass-chart::before,
.fa-magnifying-glass::before { content: "\2315"; }
.fa-sitemap::before { content: "\25A7"; }
.fa-layer-group::before { content: "\25A6"; }
.fa-wand-magic-sparkles::before { content: "\2726"; }
.fa-comments::before { content: "\2026"; }
.fa-trophy::before { content: "\2606"; }
.fa-tag::before { content: "$"; }
.fa-headset::before { content: "\2026"; }
.fa-shield-halved::before { content: "\2713"; }
.fa-laptop-code::before,
.fa-code::before { content: "</>"; }
.fa-ranking-star::before { content: "\2605"; }
.fa-google::before { content: "G"; }
.fa-meta::before { content: "M"; }
.fa-palette::before { content: "\25D0"; }
.fa-diagram-project::before { content: "\25A7"; }
.fa-robot::before { content: "AI"; }
.fa-bullhorn::before { content: "\25B6"; }
.fa-briefcase::before { content: "\25A3"; }
.fa-stethoscope::before,
.fa-screwdriver-wrench::before { content: "+"; }
.fa-house-chimney::before { content: "\2302"; }
.fa-graduation-cap::before { content: "^"; }
.fa-seedling::before { content: "\25B3"; }
.fa-location-dot::before { content: "\25CF"; }
.fa-envelope::before { content: "@"; }
.fa-phone::before { content: "#"; }
.fa-facebook-f::before { content: "f"; }
.fa-linkedin-in::before { content: "in"; }
.fa-x-twitter::before { content: "x"; }
.fa-github::before { content: "gh"; }

.highlight {
    color: var(--green);
}

.hidden {
    opacity: 0;
    transform: translateY(34px);
}

.show {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s var(--ease), transform 0.6s var(--ease);
}

/* =========================
   Shared Components
========================= */

.dashboard-card,
.problem-card,
.framework-card,
.timeline-content,
.build-item,
.case-left,
.case-right,
.testimonial-card,
.process-step,
.comparison,
.featured-post,
.small-post,
.price-card,
.faq-item,
.info-card,
.contact-form,
.before,
.after,
.case-results div,
.result-item {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.052)),
        var(--surface);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    transition:
        transform var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        background var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease);
}

.dashboard-card:hover,
.problem-card:hover,
.framework-card:hover,
.timeline-content:hover,
.build-item:hover,
.case-left:hover,
.case-right:hover,
.testimonial-card:hover,
.process-step:hover,
.comparison:hover,
.featured-post:hover,
.small-post:hover,
.price-card:hover,
.faq-item:hover,
.info-card:hover,
.contact-form:hover,
.before:hover,
.after:hover,
.case-results div:hover,
.result-item:hover {
    border-color: rgba(134, 217, 193, 0.34);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.065)),
        var(--surface);
    box-shadow: 0 18px 56px rgba(0, 0, 0, 0.28), 0 0 28px rgba(149, 230, 208, 0.12);
    transform: translateY(-5px);
}

.primary-btn,
.cta-btn,
.build-btn,
.billboard-btn,
.pricing-btn,
.btn-primary,
.contact-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 22px;
    border: 1px solid rgba(134, 217, 193, 0.45);
    border-radius: var(--radius-pill);
    color: #06110d;
    background:
        linear-gradient(135deg, var(--green), var(--green-dark)),
        var(--green);
    box-shadow: 0 14px 34px rgba(149, 230, 208, 0.26);
    font-size: var(--text-sm);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    cursor: pointer;
    transition:
        transform var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        filter var(--duration) var(--ease);
}

.primary-btn:hover,
.cta-btn:hover,
.build-btn:hover,
.billboard-btn:hover,
.pricing-btn:hover,
.btn-primary:hover,
.contact-form button:hover {
    border-color: rgba(255, 255, 255, 0.34);
    box-shadow: 0 18px 46px rgba(149, 230, 208, 0.32), var(--green-glow);
    filter: saturate(1.1) brightness(1.03);
    transform: translateY(-3px);
}

.secondary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 22px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-pill);
    color: var(--text);
    background: rgba(255, 255, 255, 0.075);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    font-size: var(--text-sm);
    font-weight: 800;
    line-height: 1;
    transition:
        transform var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        background var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease);
}

.secondary-btn:hover {
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
    transform: translateY(-3px);
}

.primary-btn:focus-visible,
.cta-btn:focus-visible,
.build-btn:focus-visible,
.billboard-btn:focus-visible,
.pricing-btn:focus-visible,
.btn-primary:focus-visible,
.secondary-btn:focus-visible,
.contact-form button:focus-visible,
.nav-links a:focus-visible,
.footer-links a:focus-visible,
.faq-question:focus-visible {
    outline: 2px solid rgba(134, 217, 193, 0.75);
    outline-offset: 4px;
}

/* =========================
   Animations
========================= */

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.96);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes pulseGlow {
    0%,
    100% {
        box-shadow: 0 0 0 rgba(134, 217, 193, 0);
    }

    50% {
        box-shadow: 0 0 36px rgba(134, 217, 193, 0.24);
    }
}

@keyframes heroBgFade {
    from {
        opacity: 0;
        transform: scale(1.08);
    }

    to {
        opacity: 1;
        transform: scale(1.04);
    }
}

@keyframes heroBgDrift {
    from {
        transform: scale(1.04) translate3d(0, 0, 0);
    }

    to {
        transform: scale(1.08) translate3d(-18px, -10px, 0);
    }
}

.hero-content,
.section-header,
.problem-card,
.framework-card,
.build-item,
.result-item,
.case-card,
.testimonial-card,
.process-step,
.price-card,
.faq-item,
.contact-wrapper {
    animation: fadeUp 0.6s var(--ease) both;
}

.reveal-section {
    opacity: 1;
    transition: opacity 0.75s var(--ease);
}

.reveal-section:not(.is-visible) {
    opacity: 0;
}

.reveal-section > .container,
.faq.reveal-section > .section-header,
.faq.reveal-section > .faq-container,
.contact.reveal-section > .section-header,
.contact.reveal-section > .contact-wrapper,
.footer.reveal-section > .footer-container,
.footer.reveal-section > .footer-bottom {
    transition:
        opacity 0.75s var(--ease),
        transform 0.75s var(--ease),
        filter 0.75s var(--ease);
    will-change: opacity, transform, filter;
}

.reveal-section:not(.is-visible) > .container,
.faq.reveal-section:not(.is-visible) > .section-header,
.faq.reveal-section:not(.is-visible) > .faq-container,
.contact.reveal-section:not(.is-visible) > .section-header,
.contact.reveal-section:not(.is-visible) > .contact-wrapper,
.footer.reveal-section:not(.is-visible) > .footer-container,
.footer.reveal-section:not(.is-visible) > .footer-bottom {
    opacity: 0;
    filter: blur(8px);
    transform: translate3d(0, 42px, 0);
}

.reveal-section.is-visible > .container,
.faq.reveal-section.is-visible > .section-header,
.faq.reveal-section.is-visible > .faq-container,
.contact.reveal-section.is-visible > .section-header,
.contact.reveal-section.is-visible > .contact-wrapper,
.footer.reveal-section.is-visible > .footer-container,
.footer.reveal-section.is-visible > .footer-bottom {
    opacity: 1;
    filter: blur(0);
}

.build-section.reveal-section > .container {
    opacity: 1;
    filter: none;
    transform: none;
}

.build-section.reveal-section .build-left,
.build-section.reveal-section .build-item {
    transition:
        opacity 0.72s var(--ease),
        transform 0.72s var(--ease),
        filter 0.72s var(--ease),
        border-color var(--duration) var(--ease),
        background var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease);
    will-change: opacity, transform, filter;
}

.build-section.reveal-section:not(.is-visible) .build-left,
.build-section.reveal-section:not(.is-visible) .build-item {
    opacity: 0;
    filter: blur(8px);
    transform: translate3d(0, 36px, 0);
}

.build-section.reveal-section.is-visible .build-left,
.build-section.reveal-section.is-visible .build-item {
    opacity: 1;
    filter: blur(0);
}

.build-section.reveal-section.is-visible .build-item:nth-child(2) {
    transition-delay: 0.08s;
}

.build-section.reveal-section.is-visible .build-item:nth-child(3) {
    transition-delay: 0.16s;
}

.build-section.reveal-section.is-visible .build-item:nth-child(4) {
    transition-delay: 0.24s;
}

/* =========================
   Navigation
========================= */

.navbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    min-height: var(--nav-height);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(8, 9, 8, 0.78);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.nav-container {
    min-height: var(--nav-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.logo {
    display: inline-flex;
    align-items: center;
    width: clamp(158px, 14vw, 194px);
    flex: 0 0 auto;
}

.logo img {
    display: block;
    width: 100%;
    height: auto;
}

.nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
}

.nav-links a {
    position: relative;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.94rem;
    font-weight: 700;
    transition: color var(--duration) var(--ease);
}

.nav-links a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 2px;
    border-radius: var(--radius-pill);
    background: linear-gradient(90deg, var(--green), var(--red));
    opacity: 0;
    transform: scaleX(0.5);
    transition: opacity var(--duration) var(--ease), transform var(--duration) var(--ease);
}

.nav-links a:hover {
    color: var(--text);
}

.nav-links a:hover::after {
    opacity: 1;
    transform: scaleX(1);
}

.nav-links a[aria-current="page"] {
    color: var(--text);
}

.nav-links a[aria-current="page"]::after {
    opacity: 1;
    transform: scaleX(1);
}

.cta-btn {
    min-height: 46px;
    padding: 13px 20px;
    font-size: 0.92rem;
}

.mobile-menu-toggle {
    width: 46px;
    height: 46px;
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    padding: 0;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    color: var(--text);
    background: rgba(255, 255, 255, 0.075);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    cursor: pointer;
    transition:
        transform var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        background var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease);
}

.mobile-menu-toggle span {
    width: 18px;
    height: 2px;
    display: block;
    border-radius: var(--radius-pill);
    background: currentColor;
    transition:
        transform var(--duration) var(--ease),
        opacity var(--duration) var(--ease);
}

.mobile-menu-toggle:hover,
.mobile-menu-toggle:focus-visible {
    border-color: rgba(134, 217, 193, 0.38);
    background: rgba(134, 217, 193, 0.09);
    box-shadow: var(--green-glow);
}

.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.mobile-menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 16px;
    right: 16px;
    display: grid;
    gap: var(--space-3);
    max-height: 0;
    overflow: hidden;
    padding: 0 var(--space-3);
    border: 1px solid transparent;
    border-radius: var(--radius);
    background:
        radial-gradient(circle at 18% 0%, rgba(134, 217, 193, 0.14), transparent 42%),
        radial-gradient(circle at 92% 100%, rgba(239, 68, 68, 0.1), transparent 42%),
        linear-gradient(180deg, rgba(20, 23, 21, 0.98), rgba(9, 11, 10, 0.98));
    box-shadow: 0 22px 64px rgba(0, 0, 0, 0.3);
    z-index: 1001;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition:
        max-height 0.42s var(--ease),
        opacity var(--duration) var(--ease),
        transform var(--duration) var(--ease),
        padding var(--duration) var(--ease),
        border-color var(--duration) var(--ease);
}

.mobile-menu.is-open {
    max-height: 520px;
    padding: var(--space-3);
    border-color: var(--border);
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.mobile-nav-links {
    display: grid;
    gap: 8px;
}

.mobile-nav-links a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    color: var(--muted);
    font-size: var(--text-sm);
    font-weight: 800;
    transition:
        color var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        background var(--duration) var(--ease),
        transform var(--duration) var(--ease);
}

.mobile-nav-links a:hover,
.mobile-nav-links a:focus-visible,
.mobile-nav-links a[aria-current="page"] {
    color: var(--text);
    border-color: rgba(134, 217, 193, 0.24);
    background: rgba(134, 217, 193, 0.08);
    transform: translateX(2px);
}

.mobile-menu-cta {
    width: 100%;
}

body.mobile-menu-open {
    overflow: hidden;
}

/* =========================
   Hero
========================= */

.hero {
    min-height: calc(100vh - var(--nav-height));
    padding: 112px 0 104px;
    display: flex;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    background: #080908;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: url("../assets/hero/squareconnect-premium-hero-1600.jpg");
    background-image:
        image-set(
            url("../assets/hero/squareconnect-premium-hero-960.jpg") 1x,
            url("../assets/hero/squareconnect-premium-hero-1600.jpg") 2x
        );
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    transform: scale(1.04);
    animation: heroBgFade 1.2s var(--ease) forwards, heroBgDrift 18s ease-in-out infinite alternate;
    will-change: opacity, transform;
}

.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(5, 5, 5, 0.08), rgba(5, 5, 5, 0.24) 44%, rgba(5, 5, 5, 0.42)),
        radial-gradient(circle at 82% 22%, rgba(149, 230, 208, 0.22), transparent 28%),
        radial-gradient(circle at 16% 82%, rgba(239, 68, 68, 0.12), transparent 30%),
        rgba(5, 5, 5, 0.28);
    pointer-events: none;
}

.hero-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    justify-items: start;
    min-height: calc(100vh - var(--nav-height) - 216px);
}

.hero-content {
    width: min(100%, 680px);
    padding: var(--space-5);
    text-align: left;
    border-radius: var(--radius);
    border: 1px solid rgba(255, 255, 255, 0.14);
    background:
        linear-gradient(180deg, rgba(16, 18, 17, 0.74), rgba(8, 9, 8, 0.62));
    box-shadow: 0 22px 64px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    animation: fadeUp 0.9s var(--ease) 0.15s both;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    margin-bottom: 22px;
    padding: 9px 15px;
    border: 1px solid rgba(149, 230, 208, 0.38);
    border-radius: var(--radius-pill);
    color: var(--green);
    background: rgba(149, 230, 208, 0.13);
    box-shadow: 0 0 26px rgba(149, 230, 208, 0.14);
    font-size: var(--text-sm);
    font-weight: 800;
}

.hero h1 {
    max-width: 760px;
    margin-bottom: var(--space-3);
    font-size: var(--h1);
    font-weight: 850;
    line-height: 1.05;
}

.hero h1 span {
    color: var(--green);
    text-shadow: 0 0 36px rgba(134, 217, 193, 0.32);
}

.hero p {
    max-width: 620px;
    margin-bottom: var(--space-4);
    color: rgba(255, 255, 255, 0.84);
    font-size: var(--text-lg);
    line-height: 1.7;
}

.hero-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    margin-bottom: var(--space-5);
}

.hero-stats {
    display: flex;
    justify-content: flex-start;
    gap: 42px;
}

.hero-stats h3 {
    margin-bottom: 4px;
    color: var(--green);
    font-size: clamp(1.75rem, 2.8vw, 2.25rem);
    font-weight: 850;
    text-shadow: 0 0 22px rgba(134, 217, 193, 0.26);
}

.hero-stats span {
    color: var(--muted-soft);
    font-size: var(--text-sm);
}

.dashboard-card {
    position: relative;
    padding: 32px;
    overflow: hidden;
    transform: rotateX(4deg) rotateY(-6deg);
}

.dashboard-card::before {
    content: "";
    position: absolute;
    inset: -1px;
    pointer-events: none;
    background:
        radial-gradient(circle at 20% 0%, rgba(134, 217, 193, 0.25), transparent 34%),
        radial-gradient(circle at 100% 20%, rgba(239, 68, 68, 0.16), transparent 30%);
}

.dashboard-card > * {
    position: relative;
    z-index: 1;
}

.dashboard-header {
    margin-bottom: 28px;
    color: var(--text);
    font-size: var(--h4);
    font-weight: 850;
}

.metric {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 16px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    color: var(--muted);
    background: rgba(255, 255, 255, 0.05);
}

.metric strong {
    color: var(--green);
    font-size: 1.25rem;
    text-shadow: 0 0 20px rgba(134, 217, 193, 0.3);
}

/* =========================
   Trust Section
========================= */

.trust-section {
    padding: 64px 0;
    background:
        radial-gradient(circle at 18% 50%, rgba(134, 217, 193, 0.1), transparent 28%),
        radial-gradient(circle at 82% 50%, rgba(239, 68, 68, 0.08), transparent 28%);
}

.trust-title {
    max-width: 820px;
    margin: 0 auto 34px;
    color: transparent;
    background: linear-gradient(90deg, var(--green) 0%, var(--green) 45%, var(--red) 55%, var(--red) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    text-shadow: 0 0 26px rgba(134, 217, 193, 0.2), 0 0 26px rgba(239, 68, 68, 0.16);
    font-size: clamp(1.35rem, 2.4vw, 2.15rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.15;
    text-align: center;
}

.logo-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.logo-item {
    --logo-accent-rgb: 134, 217, 193;
    --logo-filter: invert(82%) sepia(20%) saturate(617%) hue-rotate(112deg) brightness(94%) contrast(88%);
    --logo-filter-hover: invert(88%) sepia(24%) saturate(640%) hue-rotate(112deg) brightness(103%) contrast(90%);

    min-height: 104px;
    display: grid;
    place-items: center;
    padding: 22px;
    border: 1px solid rgba(var(--logo-accent-rgb), 0.42);
    border-radius: var(--radius-sm);
    background:
        radial-gradient(circle at 50% 0%, rgba(var(--logo-accent-rgb), 0.18), transparent 58%),
        linear-gradient(180deg, rgba(10, 10, 10, 0.95), rgba(5, 5, 5, 0.82));
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.36), inset 0 1px 0 rgba(var(--logo-accent-rgb), 0.12);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: transform var(--duration) var(--ease), border-color var(--duration) var(--ease), background var(--duration) var(--ease), box-shadow var(--duration) var(--ease);
}

.logo-item:nth-child(2),
.logo-item:nth-child(4) {
    --logo-accent-rgb: 239, 68, 68;
    --logo-filter: invert(39%) sepia(82%) saturate(1612%) hue-rotate(333deg) brightness(104%) contrast(90%);
    --logo-filter-hover: invert(42%) sepia(91%) saturate(1880%) hue-rotate(334deg) brightness(108%) contrast(94%);
}

.logo-item:hover {
    border-color: rgba(var(--logo-accent-rgb), 0.74);
    background:
        radial-gradient(circle at 50% 0%, rgba(var(--logo-accent-rgb), 0.28), transparent 60%),
        linear-gradient(180deg, rgba(12, 12, 12, 0.98), rgba(5, 5, 5, 0.88));
    box-shadow: 0 20px 54px rgba(0, 0, 0, 0.42), 0 0 42px rgba(var(--logo-accent-rgb), 0.26);
    transform: translateY(-4px);
}

.logo-item img {
    max-height: 44px;
    object-fit: contain;
    opacity: 0.96;
    filter: var(--logo-filter);
    transition: opacity var(--duration) var(--ease), filter var(--duration) var(--ease), transform var(--duration) var(--ease);
}

.logo-item:hover img {
    opacity: 1;
    filter: var(--logo-filter-hover);
    transform: scale(1.04);
}

/* =========================
   Problem Section
========================= */

.problem-section {
    background:
        radial-gradient(circle at 12% 18%, rgba(239, 68, 68, 0.1), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.018), rgba(255, 255, 255, 0.045));
}

.problem-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.problem-card {
    min-height: 300px;
    padding: 30px;
}

.problem-number {
    margin-bottom: 26px;
    color: rgba(239, 68, 68, 0.9);
    font-size: var(--text-xs);
    font-weight: 900;
    letter-spacing: 0;
}

.problem-card h3 {
    margin-bottom: 16px;
    font-size: var(--h4);
}

.problem-card p {
    margin-bottom: 0;
    color: var(--muted);
}

/* =========================
   Solution Framework
========================= */

.solution-section {
    background:
        radial-gradient(circle at 84% 8%, rgba(149, 230, 208, 0.18), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.018));
}

.framework-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 18px;
}

.framework-card {
    padding: 26px;
    text-align: center;
}

.framework-letter {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin: 0 auto 20px;
    border-radius: 18px;
    color: var(--text);
    background:
        linear-gradient(135deg, rgba(134, 217, 193, 0.95), rgba(79, 191, 168, 0.9)),
        var(--green);
    box-shadow: var(--green-glow);
    font-size: 1.35rem;
    font-weight: 900;
}

.framework-card h3 {
    margin-bottom: 12px;
    font-size: var(--h4);
}

.framework-card p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: var(--text-sm);
}

/* =========================
   Billboard CTA
========================= */

.billboard-cta {
    padding: 90px 0;
}

.billboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(340px, 1.05fr);
    align-items: center;
    gap: 54px;
    padding: 34px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: calc(var(--radius) + 8px);
    background:
        radial-gradient(circle at 18% 18%, rgba(149, 230, 208, 0.18), transparent 34%),
        radial-gradient(circle at 88% 78%, rgba(239, 68, 68, 0.1), transparent 34%),
        rgba(255, 255, 255, 0.065);
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.26);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.billboard-content h2 {
    margin-bottom: 20px;
    font-size: var(--h2);
    font-weight: 850;
}

.billboard-content p {
    max-width: 560px;
    margin-bottom: 28px;
    color: var(--muted);
    font-size: var(--text-md);
}

.billboard-image {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
}

.billboard-image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    filter: saturate(1.08) contrast(1.04);
    transition: transform 0.6s var(--ease);
}

.billboard-grid:hover .billboard-image img {
    transform: scale(1.04);
}

/* =========================
   Who We Serve
========================= */

.who-we-serve {
    background:
        radial-gradient(circle at 8% 54%, rgba(134, 217, 193, 0.12), transparent 30%),
        radial-gradient(circle at 88% 18%, rgba(239, 68, 68, 0.1), transparent 28%);
}

.timeline {
    position: relative;
    display: grid;
    gap: 36px;
    max-width: 940px;
    margin: 0 auto;
}

.timeline::before {
    content: "";
    position: absolute;
    left: 34px;
    top: 10px;
    bottom: 10px;
    width: 1px;
    background: linear-gradient(180deg, rgba(134, 217, 193, 0.7), rgba(239, 68, 68, 0.42), rgba(134, 217, 193, 0.12));
}

.timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.timeline-number {
    position: relative;
    z-index: 1;
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(134, 217, 193, 0.34);
    border-radius: 50%;
    color: var(--green);
    background: rgba(5, 5, 5, 0.84);
    box-shadow: var(--green-glow);
    font-weight: 900;
}

.timeline-number.red {
    border-color: rgba(239, 68, 68, 0.34);
    color: var(--red);
    box-shadow: var(--red-glow);
}

.timeline-content {
    padding: 30px;
}

.timeline-content h3 {
    margin-bottom: 12px;
    font-size: var(--h3);
}

.timeline-content p {
    margin-bottom: 14px;
    color: var(--muted);
}

.timeline-content p:last-child {
    margin-bottom: 0;
}

.serve-cta {
    max-width: 760px;
    margin: 68px auto 0;
    padding: 36px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    text-align: center;
    background: rgba(255, 255, 255, 0.045);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.serve-cta h3 {
    margin-bottom: 12px;
    font-size: var(--h3);
}

.serve-cta p {
    margin-bottom: 24px;
}

/* =========================
   What We Build
========================= */

.build-section {
    background:
        radial-gradient(circle at 86% 14%, rgba(149, 230, 208, 0.18), transparent 30%),
        radial-gradient(circle at 14% 70%, rgba(239, 68, 68, 0.1), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent);
}

.build-layout {
    display: grid;
    grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
    gap: 80px;
    align-items: flex-start;
}

.build-left {
    position: sticky;
    top: 120px;
}

.build-left h2 {
    margin-bottom: 22px;
    font-size: var(--h2);
    font-weight: 850;
}

.build-left p {
    margin-bottom: 30px;
    color: var(--muted);
    font-size: var(--text-md);
}

.build-right {
    display: flex;
    flex-direction: column;
    gap: 45px;
}

.build-scroll-shell {
    min-width: 0;
}

.build-scrollbar,
.build-swipe-hint {
    display: none;
}

.build-right.dragging {
    cursor: grabbing;
}

.build-item {
    position: relative;
    min-height: 320px;
    padding: 38px;
    overflow: hidden;
}

.build-item::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    background:
        radial-gradient(circle at 12% 0%, rgba(134, 217, 193, 0.2), transparent 34%),
        radial-gradient(circle at 100% 100%, rgba(239, 68, 68, 0.14), transparent 34%);
    transition: opacity var(--duration) var(--ease);
}

.build-item:hover::before {
    opacity: 1;
}

.build-item > * {
    position: relative;
    z-index: 1;
}

.build-number {
    display: block;
    margin-bottom: 30px;
    color: rgba(134, 217, 193, 0.86);
    font-size: clamp(2.5rem, 4vw, 3.25rem);
    font-weight: 850;
    line-height: 1;
    text-shadow: 0 0 32px rgba(134, 217, 193, 0.25);
}

.build-item h3 {
    margin-bottom: 14px;
    font-size: var(--h3);
}

.build-item p {
    margin-bottom: 0;
    color: var(--muted);
}

/* =========================
   Results
========================= */

.results-section {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.014)),
        radial-gradient(circle at 20% 70%, rgba(149, 230, 208, 0.13), transparent 28%);
}

.results-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
        "copy image"
        "cards cards";
    align-items: center;
    gap: 30px;
}

.results-left {
    grid-area: copy;
}

.results-left h2 {
    margin-bottom: 20px;
    font-size: var(--h2);
    font-weight: 850;
}

.results-left h3 {
    margin-bottom: 16px;
    color: var(--green);
    font-size: var(--h3);
}

.results-left p {
    color: var(--muted);
}

.results-right {
    grid-area: cards;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.result-item {
    min-height: 108px;
    display: grid;
    align-content: center;
    padding: 16px 18px;
}

.result-item span {
    display: block;
    margin-bottom: 8px;
    color: var(--green);
    font-size: clamp(1.55rem, 2.4vw, 2rem);
    font-weight: 850;
    line-height: 1;
    text-shadow: 0 0 28px rgba(134, 217, 193, 0.26);
}

.result-item h4 {
    margin-bottom: 0;
    color: var(--muted);
    font-size: 1rem;
}

.results-image {
    grid-area: image;
    min-height: 460px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background:
        linear-gradient(180deg, rgba(5, 5, 5, 0.06), rgba(5, 5, 5, 0.38)),
        url("../assets/hero/squareconnect-results-growth-1600.jpg");
    background-image:
        linear-gradient(180deg, rgba(5, 5, 5, 0.06), rgba(5, 5, 5, 0.38)),
        image-set(
            url("../assets/hero/squareconnect-results-growth-960.jpg") 1x,
            url("../assets/hero/squareconnect-results-growth-1600.jpg") 2x
        );
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: var(--shadow);
    overflow: hidden;
}

/* =========================
   Case Study
========================= */

.case-study {
    background:
        radial-gradient(circle at 82% 18%, rgba(239, 68, 68, 0.1), transparent 26%),
        radial-gradient(circle at 12% 92%, rgba(149, 230, 208, 0.13), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.018), rgba(255, 255, 255, 0.04));
}

.case-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px;
}

.case-left,
.case-right {
    padding: 34px;
}

.case-left h3,
.case-right h3 {
    margin-bottom: 16px;
    font-size: var(--h3);
}

.case-left p {
    color: var(--muted);
}

.before-after,
.solution-list,
.case-results {
    display: grid;
    gap: 16px;
}

.before-after,
.case-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.before,
.after,
.case-results div {
    padding: 22px;
}

.before {
    border-color: rgba(239, 68, 68, 0.22);
}

.after {
    border-color: rgba(134, 217, 193, 0.24);
}

.before h4,
.after h4 {
    margin-bottom: 12px;
}

.before ul,
.after ul,
.price-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.before li,
.after li {
    margin-bottom: 8px;
    color: var(--muted);
}

.solution-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 24px;
}

.solution-list span {
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    color: var(--text);
    background: rgba(255, 255, 255, 0.045);
    transition: transform var(--duration) var(--ease), border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);
}

.solution-list span:hover {
    border-color: rgba(134, 217, 193, 0.32);
    box-shadow: var(--green-glow);
    transform: translateY(-3px);
}

.case-results {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.case-results h2 {
    margin-bottom: 8px;
    color: var(--green);
    font-size: clamp(1.75rem, 2.8vw, 2.25rem);
}

.case-results p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: var(--text-sm);
}

.case-cta {
    max-width: 900px;
    margin: 34px auto 0;
    padding: 54px 34px;
    border: 1px solid var(--border);
    border-radius: calc(var(--radius) + 8px);
    text-align: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(134, 217, 193, 0.18), transparent 42%),
        rgba(255, 255, 255, 0.045);
    box-shadow: var(--shadow);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.case-cta h3 {
    margin-bottom: 14px;
    font-size: var(--h3);
}

.case-cta p {
    max-width: 690px;
    margin: 0 auto 28px;
}

.success-slider {
    position: relative;
}

.success-slider-frame {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 24px;
    background:
        radial-gradient(circle at 18% 8%, rgba(149, 230, 208, 0.16), transparent 32%),
        radial-gradient(circle at 90% 92%, rgba(239, 68, 68, 0.1), transparent 28%),
        rgba(255, 255, 255, 0.052);
    box-shadow:
        0 32px 90px rgba(0, 0, 0, 0.36),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.success-slides {
    position: relative;
    min-height: 620px;
}

.success-slide {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(26px, 3.4vw, 44px);
    align-items: stretch;
    padding: clamp(24px, 3.4vw, 46px);
    opacity: 0;
    pointer-events: none;
    transform: translateX(24px);
    transition:
        opacity 0.55s var(--ease),
        transform 0.55s var(--ease);
}

.success-slide.active {
    position: relative;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
}

.success-visual {
    position: relative;
    min-height: 520px;
    align-self: center;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.045);
    box-shadow: 0 26px 70px rgba(0, 0, 0, 0.32);
}

.success-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.18));
}

.success-visual img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    display: block;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.035);
    transition:
        opacity 0.6s var(--ease),
        transform 1.2s var(--ease);
}

.success-slide.active .success-visual img {
    opacity: 1;
    transform: scale(1);
}

.success-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 22px;
    padding: clamp(4px, 1.6vw, 18px) 0;
}

.success-kicker {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.success-kicker span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 11px;
    border: 1px solid rgba(149, 230, 208, 0.26);
    border-radius: var(--radius-pill);
    color: var(--green);
    background: rgba(149, 230, 208, 0.09);
    font-size: var(--text-xs);
    font-weight: 900;
}

.success-content h3 {
    margin-bottom: 0;
    color: var(--text);
    font-size: clamp(2.1rem, 3.4vw, 3.05rem);
    font-weight: 900;
    line-height: 1.02;
}

.success-copy {
    display: grid;
    gap: 20px;
}

.success-copy span {
    display: block;
    margin-bottom: 8px;
    color: var(--green);
    font-size: var(--text-xs);
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

.success-copy p,
.success-copy li {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.98rem;
    line-height: 1.65;
}

.success-copy p {
    margin-bottom: 0;
}

.success-copy ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.success-copy li {
    position: relative;
    padding-left: 24px;
}

.success-copy li::before {
    content: "";
    position: absolute;
    top: 0.72em;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 18px rgba(149, 230, 208, 0.3);
}

.success-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.success-stat {
    min-height: 124px;
    display: grid;
    align-content: center;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.048);
}

.success-stat strong {
    display: block;
    margin-bottom: 8px;
    color: var(--green);
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    line-height: 1;
}

.success-stat span:last-child {
    color: rgba(255, 255, 255, 0.68);
    font-size: var(--text-xs);
    line-height: 1.45;
}

.success-cta {
    align-self: flex-start;
    margin-top: auto;
}

.success-slide.active .success-kicker,
.success-slide.active .success-content h3,
.success-slide.active .success-copy,
.success-slide.active .success-stats,
.success-slide.active .success-cta {
    animation: storyTextIn 0.58s var(--ease) both;
}

.success-slide.active .success-content h3 {
    animation-delay: 0.06s;
}

.success-slide.active .success-copy {
    animation-delay: 0.12s;
}

.success-slide.active .success-stats {
    animation-delay: 0.18s;
}

.success-slide.active .success-cta {
    animation-delay: 0.24s;
}

.success-slider-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 24px;
}

.success-nav,
.success-dot {
    border: 0;
    cursor: pointer;
}

.success-nav {
    width: 48px;
    height: 48px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 50%;
    color: var(--text);
    background: rgba(255, 255, 255, 0.06);
    transition:
        transform var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease);
}

.success-nav:hover {
    border-color: rgba(149, 230, 208, 0.34);
    box-shadow: var(--green-glow);
    transform: translateY(-2px);
}

.success-dots {
    display: flex;
    align-items: center;
    gap: 9px;
}

.success-dot {
    width: 11px;
    height: 11px;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.22);
    transition:
        width var(--duration) var(--ease),
        background var(--duration) var(--ease);
}

.success-dot.active {
    width: 34px;
    background: var(--green);
}

.success-nav:focus-visible,
.success-dot:focus-visible,
.success-cta:focus-visible {
    outline: 3px solid rgba(149, 230, 208, 0.72);
    outline-offset: 4px;
}

@keyframes storyTextIn {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 992px) {
    .success-slides {
        min-height: 0;
    }

    .success-slide,
    .success-slide.active {
        position: relative;
        grid-template-columns: 1fr;
        display: none;
    }

    .success-slide.active {
        display: grid;
    }

    .success-visual,
    .success-visual img {
        min-height: 340px;
    }
}

@media (max-width: 768px) {
    .success-slider-frame {
        border-radius: 22px;
    }

    .success-slide {
        padding: 18px;
        gap: 22px;
    }

    .success-content {
        gap: 18px;
        padding: 0;
    }

    .success-content h3 {
        font-size: 2.15rem;
    }

    .success-stats {
        grid-template-columns: 1fr;
    }

    .success-cta {
        width: 100%;
    }

    .success-slider-controls {
        gap: 14px;
    }

    .success-nav {
        width: 44px;
        height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .success-slide,
    .success-visual img,
    .success-nav,
    .success-dot,
    .success-slide.active .success-kicker,
    .success-slide.active .success-content h3,
    .success-slide.active .success-copy,
    .success-slide.active .success-stats,
    .success-slide.active .success-cta {
        animation: none;
        transition: none;
        transform: none;
    }

    .success-slide {
        opacity: 0;
    }

    .success-slide.active {
        opacity: 1;
    }

}

/* =========================
   Testimonials
========================= */

.testimonials {
    background:
        radial-gradient(circle at 12% 18%, rgba(149, 230, 208, 0.12), transparent 26%),
        radial-gradient(circle at 92% 78%, rgba(239, 68, 68, 0.1), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent);
}

.testimonial-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 14px;
}

.heading-line {
    width: 72px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(134, 217, 193, 0.7), transparent);
}

.testimonial-heading span {
    color: var(--green);
    font-size: var(--text-xs);
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.testimonial-title {
    margin-bottom: 18px;
    text-align: center;
}

.testimonial-subtitle {
    margin-bottom: 52px;
    text-align: center;
}

.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.testimonial-card {
    position: relative;
    padding: 32px;
    overflow: hidden;
}

.testimonial-card.active {
    border-color: rgba(134, 217, 193, 0.36);
    box-shadow: var(--shadow), var(--green-glow);
}

.testimonial-card.green {
    border-color: rgba(134, 217, 193, 0.18);
}

.testimonial-card.red {
    border-color: rgba(239, 68, 68, 0.18);
}

.testimonial-card.black {
    border-color: rgba(255, 255, 255, 0.12);
}

.avatar-wrapper {
    width: 72px;
    height: 72px;
    margin-bottom: 22px;
    padding: 3px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--green), var(--red));
    box-shadow: 0 0 24px rgba(134, 217, 193, 0.22);
}

.avatar-wrapper img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.quote-mark {
    position: absolute;
    top: 26px;
    right: 28px;
    color: rgba(255, 255, 255, 0.12);
    font-size: 3rem;
    line-height: 1;
}

.green .quote-mark,
.green .stars {
    color: var(--green);
}

.red .quote-mark,
.red .stars {
    color: var(--red);
}

.testimonial-text {
    margin-bottom: 24px;
    color: var(--muted);
}

.client-info h4 {
    margin-bottom: 4px;
    font-size: var(--h4);
}

.client-info span {
    color: var(--muted-soft);
    font-size: var(--text-sm);
}

.stars {
    margin-top: 18px;
    color: var(--green);
    letter-spacing: 0;
}

.testimonial-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 32px;
}

.dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    transition: width var(--duration) var(--ease), background var(--duration) var(--ease), box-shadow var(--duration) var(--ease);
}

.dot.active {
    width: 30px;
    border-radius: var(--radius-pill);
    background: var(--green);
    box-shadow: var(--green-glow);
}

/* =========================
   Process
========================= */

.process-section {
    background:
        radial-gradient(circle at 50% 0%, rgba(149, 230, 208, 0.13), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent);
}

.process-timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.timeline-line {
    position: absolute;
    top: 37px;
    left: 8%;
    right: 8%;
    height: 1px;
    background: linear-gradient(90deg, rgba(134, 217, 193, 0.18), rgba(134, 217, 193, 0.65), rgba(239, 68, 68, 0.4));
}

.process-step {
    position: relative;
    z-index: 1;
    padding: 28px;
}

.step-number {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    margin-bottom: 24px;
    border-radius: 18px;
    color: var(--text);
    background: linear-gradient(135deg, var(--green), var(--green-dark));
    box-shadow: var(--green-glow);
    font-weight: 900;
}

.process-step:nth-of-type(2n) .step-number {
    background: linear-gradient(135deg, var(--red), #b91c1c);
    box-shadow: var(--red-glow);
}

.process-step h3 {
    margin-bottom: 12px;
    font-size: var(--h4);
}

.process-step p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: var(--text-sm);
}

/* =========================
   Why Section
========================= */

.why-section {
    overflow: hidden;
    padding: 126px 0 116px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.058), rgba(255, 255, 255, 0.018) 45%, rgba(149, 230, 208, 0.055)),
        linear-gradient(135deg, rgba(149, 230, 208, 0.105), transparent 38%, rgba(239, 68, 68, 0.07));
}

.why-section .container {
    position: relative;
    z-index: 1;
}

.why-header {
    max-width: 880px;
    margin: 0 auto;
    text-align: center;
}

.why-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin-bottom: 22px;
    padding: 9px 28px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--radius-pill);
    color: #06110d;
    background:
        linear-gradient(135deg, var(--green), #72dcc5 52%, rgba(239, 68, 68, 0.86)),
        var(--green);
    box-shadow:
        0 18px 42px rgba(149, 230, 208, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.48);
    font-size: 0.88rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.why-header h2 {
    max-width: 950px;
    margin: 0 auto 22px;
    color: #ffffff;
    font-size: clamp(2.55rem, 5.4vw, 4.85rem);
    font-weight: 900;
    line-height: 1.02;
    text-shadow: 0 20px 54px rgba(0, 0, 0, 0.34);
}

.why-header h2 span {
    color: transparent;
    background: linear-gradient(135deg, var(--green) 8%, var(--green-dark) 54%, var(--red) 112%);
    background-clip: text;
    -webkit-background-clip: text;
}

.why-header p {
    max-width: 720px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.76);
    font-size: clamp(1rem, 1.9vw, 1.22rem);
    line-height: 1.72;
}

.why-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 36px;
    margin-top: 64px;
}

.why-card {
    position: relative;
    isolation: isolate;
    min-height: 408px;
    overflow: hidden;
    padding: 48px 42px 42px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 26px;
    background:
        linear-gradient(150deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.055) 48%, rgba(255, 255, 255, 0.035)),
        rgba(255, 255, 255, 0.055);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    transition:
        transform var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease),
        background var(--duration) var(--ease);
}

.why-card::before {
    content: "";
    position: absolute;
    inset: 1px;
    z-index: -1;
    border-radius: 25px;
    background:
        linear-gradient(145deg, rgba(149, 230, 208, 0.13), transparent 36%),
        linear-gradient(180deg, transparent 42%, rgba(149, 230, 208, 0.06));
    opacity: 0.78;
    pointer-events: none;
}

.why-card::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--green), var(--green-dark));
    box-shadow: 0 -12px 34px rgba(149, 230, 208, 0.24);
}

.why-card-red::before {
    background:
        linear-gradient(145deg, rgba(239, 68, 68, 0.12), transparent 34%),
        linear-gradient(180deg, transparent 42%, rgba(149, 230, 208, 0.05));
}

.why-card-red::after {
    background: linear-gradient(90deg, var(--green), var(--red));
    box-shadow: 0 -12px 34px rgba(239, 68, 68, 0.18);
}

.why-card:hover,
.why-card:focus-visible {
    border-color: rgba(149, 230, 208, 0.36);
    background:
        linear-gradient(150deg, rgba(255, 255, 255, 0.17), rgba(255, 255, 255, 0.07) 48%, rgba(255, 255, 255, 0.045)),
        rgba(255, 255, 255, 0.07);
    box-shadow:
        0 36px 96px rgba(0, 0, 0, 0.36),
        0 0 42px rgba(149, 230, 208, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transform: translateY(-8px);
}

.why-card:focus-visible {
    outline: 2px solid rgba(149, 230, 208, 0.82);
    outline-offset: 5px;
}

.why-card-number {
    position: absolute;
    top: 34px;
    right: 34px;
    color: rgba(255, 255, 255, 0.052);
    font-size: clamp(4.75rem, 8vw, 6.65rem);
    font-weight: 900;
    line-height: 0.8;
    letter-spacing: 0;
}

.why-icon {
    display: grid;
    width: 112px;
    height: 112px;
    place-items: center;
    margin-bottom: 26px;
    border: 1px solid rgba(149, 230, 208, 0.22);
    border-radius: 50%;
    color: var(--green);
    background:
        linear-gradient(135deg, rgba(149, 230, 208, 0.24), rgba(149, 230, 208, 0.08)),
        rgba(255, 255, 255, 0.05);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 18px 48px rgba(149, 230, 208, 0.14);
    font-size: 2.45rem;
}

.why-card-red .why-icon {
    border-color: rgba(239, 68, 68, 0.26);
    color: #ff7979;
    background:
        linear-gradient(135deg, rgba(239, 68, 68, 0.2), rgba(149, 230, 208, 0.08)),
        rgba(255, 255, 255, 0.05);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 18px 48px rgba(239, 68, 68, 0.12);
}

.why-card-line {
    display: block;
    width: 54px;
    height: 4px;
    margin-bottom: 20px;
    border-radius: var(--radius-pill);
    background: linear-gradient(90deg, var(--green), var(--green-dark));
    box-shadow: 0 0 18px rgba(149, 230, 208, 0.26);
}

.why-card-red .why-card-line {
    background: linear-gradient(90deg, var(--green), var(--red));
    box-shadow: 0 0 18px rgba(239, 68, 68, 0.2);
}

.why-card h3 {
    max-width: 13ch;
    margin-bottom: 18px;
    color: #ffffff;
    font-size: clamp(1.38rem, 2.2vw, 1.74rem);
    font-weight: 900;
    line-height: 1.22;
}

.why-card p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: var(--text-base);
    line-height: 1.76;
}

.why-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 48px;
    color: rgba(255, 255, 255, 0.82);
}

.why-trust span {
    display: grid;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(149, 230, 208, 0.28);
    border-radius: 50%;
    color: #06110d;
    background: linear-gradient(135deg, var(--green), rgba(149, 230, 208, 0.74));
    box-shadow: 0 18px 42px rgba(149, 230, 208, 0.2);
}

.why-trust p {
    max-width: none;
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: var(--text-base);
    font-weight: 650;
}

.comparison {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border: 1px solid rgba(134, 217, 193, 0.22);
    border-radius: var(--radius);
    background:
        linear-gradient(135deg, rgba(134, 217, 193, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025));
    box-shadow: var(--shadow);
}

.comparison::before {
    content: "";
    position: absolute;
    inset: -1px;
    pointer-events: none;
    background:
        radial-gradient(circle at 86% 8%, rgba(134, 217, 193, 0.26), transparent 26%),
        radial-gradient(circle at 10% 92%, rgba(255, 255, 255, 0.08), transparent 26%);
}

.comparison > * {
    position: relative;
    z-index: 1;
}

.comparison-topline,
.comparison-head,
.comparison-row {
    display: grid;
    grid-template-columns: minmax(130px, 0.78fr) repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: center;
}

.comparison-topline {
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border);
}

.comparison-topline span {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.comparison-topline strong {
    grid-column: 2 / -1;
    justify-self: end;
    color: var(--green);
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    line-height: 1.05;
    text-shadow: 0 0 32px rgba(134, 217, 193, 0.25);
}

.comparison-head {
    margin-bottom: 10px;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.comparison-row {
    padding: 16px 0;
    border-top: 1px solid var(--border);
}

.comparison-metric {
    display: flex;
    align-items: center;
    gap: 12px;
}

.comparison-metric span {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(134, 217, 193, 0.24);
    border-radius: 50%;
    color: var(--green);
    font-size: 0.78rem;
    font-weight: 850;
    background: rgba(134, 217, 193, 0.08);
}

.comparison-metric strong {
    font-size: 0.98rem;
    line-height: 1.2;
}

.comparison-cell {
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.035);
    color: var(--muted);
}

.comparison-cell span {
    display: block;
    margin-bottom: 12px;
    font-size: 0.92rem;
    line-height: 1.35;
}

.comparison-cell.squareconnect {
    border-color: rgba(134, 217, 193, 0.34);
    color: var(--text);
    background:
        linear-gradient(135deg, rgba(134, 217, 193, 0.16), rgba(134, 217, 193, 0.04)),
        rgba(255, 255, 255, 0.04);
    box-shadow: inset 0 0 0 1px rgba(134, 217, 193, 0.08);
}

.scorebar {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.09);
}

.scorebar span {
    display: block;
    width: var(--score);
    height: 100%;
    margin: 0;
    border-radius: inherit;
    background: rgba(255, 255, 255, 0.26);
}

.squareconnect .scorebar span {
    background: linear-gradient(90deg, var(--green), rgba(134, 217, 193, 0.62));
    box-shadow: 0 0 22px rgba(134, 217, 193, 0.36);
}

.comparison-summary {
    margin-top: 18px;
    display: flex;
    justify-content: flex-end;
}

.comparison-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border: 1px solid rgba(134, 217, 193, 0.34);
    border-radius: 999px;
    color: #050505;
    background: var(--green);
    font-weight: 850;
    box-shadow: 0 18px 42px rgba(134, 217, 193, 0.26);
}

.comparison-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 54px rgba(134, 217, 193, 0.34);
}

/* =========================
   Insights
========================= */

.insights-section {
    background:
        radial-gradient(circle at 12% 18%, rgba(149, 230, 208, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent);
}

.blog-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr);
    gap: 24px;
}

.featured-post {
    overflow: hidden;
}

.featured-image {
    overflow: hidden;
}

.featured-image img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    filter: saturate(1.08) contrast(1.03);
    transition: transform 0.6s var(--ease);
}

.featured-post:hover .featured-image img {
    transform: scale(1.045);
}

.featured-content {
    padding: 28px;
}

.featured-content h3 {
    margin-bottom: 14px;
    font-size: var(--h3);
}

.featured-content p {
    margin-bottom: 20px;
    color: var(--muted);
}

.blog-link {
    color: var(--green);
    font-weight: 900;
}

.blog-sidebar {
    display: grid;
    gap: 18px;
}

.small-post {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 16px;
}

.small-post img {
    width: 132px;
    height: 104px;
    flex: 0 0 auto;
    border-radius: var(--radius-sm);
    object-fit: cover;
}

.small-post span {
    display: block;
    margin-bottom: 8px;
    color: var(--green);
    font-size: var(--text-xs);
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.small-post h4 {
    margin-bottom: 0;
    font-size: var(--h4);
}

/* =========================
   Blog Module
========================= */

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.blog-hero,
.blog-post-hero {
    padding: 118px 0 86px;
    background:
        radial-gradient(circle at 16% 18%, rgba(149, 230, 208, 0.18), transparent 30%),
        radial-gradient(circle at 86% 24%, rgba(239, 68, 68, 0.1), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent);
}

.reading-progress {
    position: fixed;
    top: var(--nav-height);
    left: 0;
    z-index: 30;
    width: 100%;
    height: 3px;
    background: rgba(255, 255, 255, 0.08);
}

.reading-progress span {
    display: block;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--green), rgba(239, 68, 68, 0.88));
    box-shadow: var(--green-glow);
    transition: width 0.12s linear;
}

.blog-hero.compact {
    padding-bottom: 70px;
}

.blog-hero-grid,
.blog-post-header {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
    gap: clamp(28px, 5vw, 64px);
    align-items: center;
}

.blog-hero-copy h1,
.blog-hero h1,
.blog-post-header h1 {
    max-width: 820px;
    margin-bottom: var(--space-3);
    font-size: clamp(2.65rem, 5vw, 4.45rem);
}

.blog-hero-copy,
.blog-hero-panel,
.blog-post-header > * {
    min-width: 0;
}

.blog-hero-copy p,
.blog-hero > .container > p,
.blog-post-header > div > p {
    max-width: 720px;
    margin-bottom: var(--space-4);
    color: var(--muted);
}

.blog-hero-panel,
.newsletter-card,
.toc-card,
.author-card,
.blog-empty-state,
.blog-sidebar-widget,
.comment-form,
.comment-item,
.blog-card,
.blog-featured-post,
.category-card {
    border: 1px solid rgba(255, 255, 255, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.052)),
        rgba(255, 255, 255, 0.055);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.blog-hero-panel {
    min-height: 330px;
    display: grid;
    align-content: center;
    padding: clamp(28px, 5vw, 48px);
    border-radius: var(--radius);
}

.blog-hero-panel span,
.toc-card span,
.author-card-eyebrow {
    color: var(--green);
    font-size: var(--text-xs);
    font-weight: 900;
    text-transform: uppercase;
}

.blog-hero-panel strong {
    display: block;
    margin: 10px 0;
    color: var(--text);
    font-size: clamp(4rem, 9vw, 7rem);
    font-weight: 900;
    line-height: 0.9;
}

.blog-section {
    padding: 86px 0;
}

.blog-section-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-5);
}

.blog-section-top h2 {
    margin-bottom: 0;
}

.blog-text-link {
    color: var(--green);
    font-weight: 900;
}

.blog-search-bar {
    width: min(100%, 720px);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.075);
    box-shadow: var(--shadow-soft);
}

.blog-search-bar i {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    color: var(--green);
}

.blog-search-bar input {
    min-width: 0;
    border: 0;
    outline: 0;
    color: var(--text);
    background: transparent;
}

.blog-search-bar input::placeholder {
    color: rgba(255, 255, 255, 0.55);
}

.blog-search-bar button,
.newsletter-form button {
    min-height: 46px;
    padding: 0 20px;
    border: 0;
    border-radius: var(--radius-pill);
    color: #04100d;
    background: var(--green);
    font-weight: 900;
    cursor: pointer;
    transition: transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);
}

.blog-search-bar button:hover,
.newsletter-form button:hover {
    box-shadow: var(--green-glow);
    transform: translateY(-2px);
}

.blog-tag-rail {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    max-width: min(100%, 680px);
    margin-top: 14px;
    padding-bottom: 3px;
    overflow-x: auto;
    scrollbar-width: none;
}

.blog-tag-rail::-webkit-scrollbar {
    display: none;
}

.blog-tag-rail a {
    flex: 0 0 auto;
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 10px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: var(--radius-pill);
    color: var(--muted);
    background: rgba(255, 255, 255, 0.065);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    font-size: 0.78rem;
    font-weight: 850;
    transition: transform var(--duration) var(--ease), color var(--duration) var(--ease), border-color var(--duration) var(--ease);
}

.blog-tag-rail-label {
    flex: 0 0 auto;
    color: var(--muted-soft);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.blog-tag-rail a:hover {
    color: var(--green);
    border-color: rgba(149, 230, 208, 0.38);
    transform: translateY(-2px);
}

.blog-tag-rail span {
    min-width: 20px;
    height: 18px;
    display: grid;
    place-items: center;
    border-radius: var(--radius-pill);
    color: #03100c;
    background: var(--green);
    font-size: 0.68rem;
}

.blog-featured-post {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    overflow: hidden;
    border-radius: var(--radius);
}

.blog-featured-media {
    min-height: 420px;
    overflow: hidden;
}

.blog-featured-media img,
.blog-card-image img,
.blog-post-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.06) contrast(1.04);
    transition: transform 0.7s var(--ease);
}

.blog-featured-post:hover .blog-featured-media img,
.blog-card:hover .blog-card-image img {
    transform: scale(1.045);
}

.blog-featured-content {
    display: grid;
    align-content: center;
    padding: clamp(28px, 5vw, 52px);
}

.blog-featured-content h2 {
    margin: 12px 0 16px;
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.blog-grid.two-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.blog-card {
    overflow: hidden;
    border-radius: var(--radius-sm);
    transition: transform var(--duration) var(--ease), border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);
}

.blog-card:hover,
.category-card:hover {
    border-color: rgba(149, 230, 208, 0.35);
    box-shadow: 0 20px 58px rgba(0, 0, 0, 0.26), var(--green-glow);
    transform: translateY(-5px);
}

.blog-card-image {
    display: block;
    height: 220px;
    overflow: hidden;
}

.blog-card-body {
    padding: 22px;
}

.blog-card.compact .blog-card-image {
    height: 160px;
}

.blog-card.compact .blog-card-body {
    padding: 18px;
}

.blog-card h3 {
    margin: 12px 0;
    font-size: clamp(1.18rem, 2vw, 1.45rem);
}

.blog-card p {
    margin-bottom: 20px;
    color: var(--muted);
    font-size: var(--text-sm);
}

.blog-meta-row,
.blog-card-footer,
.share-buttons,
.author-socials {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.blog-meta-row {
    color: var(--muted-soft);
    font-size: var(--text-xs);
    font-weight: 850;
}

.category-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 32px;
    padding: 6px 11px;
    border: 1px solid rgba(149, 230, 208, 0.32);
    border-radius: var(--radius-pill);
    color: var(--green);
    background: rgba(149, 230, 208, 0.1);
    font-size: var(--text-xs);
    font-weight: 900;
}

.blog-card-footer {
    justify-content: space-between;
    color: var(--muted-soft);
    font-size: var(--text-xs);
    font-weight: 800;
}

.author-mini {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 10px;
    color: var(--text);
    font-weight: 900;
}

.author-mini img,
.author-card > img {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border-radius: 50%;
    object-fit: cover;
}

.author-mini.large img {
    width: 52px;
    height: 52px;
}

.author-mini small {
    display: block;
    color: var(--muted-soft);
    font-size: 0.78rem;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.category-card {
    min-height: 210px;
    display: grid;
    align-content: space-between;
    padding: 22px;
    border-radius: var(--radius-sm);
    transition: transform var(--duration) var(--ease), border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);
}

.category-card span {
    color: var(--green);
    font-size: var(--text-xs);
    font-weight: 900;
    text-transform: uppercase;
}

.category-card strong {
    margin-top: 22px;
    color: var(--text);
    font-size: 1.24rem;
    line-height: 1.15;
}

.category-card p {
    margin: 12px 0 0;
    color: var(--muted);
    font-size: var(--text-sm);
}

.blog-with-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
    gap: 32px;
    align-items: start;
}

.blog-sidebar-stack {
    position: sticky;
    top: 104px;
    display: grid;
    gap: 14px;
}

.blog-sidebar-widget {
    padding: 18px;
    border-radius: var(--radius-sm);
}

.blog-sidebar-widget h2 {
    margin-bottom: 12px;
    font-size: 0.98rem;
}

.blog-sidebar-widget .blog-search-bar {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.blog-sidebar-widget .blog-search-bar i {
    display: none;
}

.blog-sidebar-widget .blog-search-bar input {
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.07);
}

.blog-sidebar-widget .blog-search-bar button {
    width: 100%;
}

.sidebar-category-list,
.sidebar-post-list {
    display: grid;
    gap: 12px;
}

.sidebar-category-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    color: var(--muted);
    font-size: var(--text-sm);
    font-weight: 850;
}

.sidebar-category-list a:hover,
.sidebar-post:hover strong,
.tag-cloud a:hover {
    color: var(--green);
}

.sidebar-category-list strong {
    min-width: 32px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: var(--radius-pill);
    color: #03100c;
    background: var(--green);
    font-size: 0.78rem;
}

.sidebar-post {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.sidebar-post img {
    width: 72px;
    height: 64px;
    border-radius: 12px;
    object-fit: cover;
}

.sidebar-post strong {
    display: block;
    color: var(--text);
    font-size: 0.92rem;
    line-height: 1.3;
    transition: color var(--duration) var(--ease);
}

.sidebar-post small,
.search-result-count {
    color: var(--muted-soft);
    font-size: var(--text-xs);
    font-weight: 800;
}

.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tag-cloud a {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 6px 11px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: var(--radius-pill);
    color: var(--muted);
    background: rgba(255, 255, 255, 0.055);
    font-size: var(--text-xs);
    font-weight: 850;
}

.newsletter-card {
    padding: 28px;
    border-radius: var(--radius);
}

.newsletter-card:not(.compact) {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    max-width: 1060px;
    margin: 0 auto;
    padding: clamp(34px, 6vw, 68px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 32px;
    background:
        linear-gradient(135deg, rgba(149, 230, 208, 0.2), transparent 30%),
        linear-gradient(315deg, rgba(239, 68, 68, 0.16), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.06)),
        rgba(8, 9, 8, 0.78);
    box-shadow:
        0 34px 110px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(24px) saturate(150%);
    -webkit-backdrop-filter: blur(24px) saturate(150%);
    transform: translateZ(0);
}

.newsletter-card:not(.compact)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(149, 230, 208, 0.34), transparent 28%, rgba(239, 68, 68, 0.24) 72%, transparent),
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 42%);
    opacity: 0.72;
    pointer-events: none;
}

.newsletter-card:not(.compact)::after {
    content: "";
    position: absolute;
    inset: 1px;
    z-index: -1;
    border-radius: 31px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    pointer-events: none;
}

.newsletter-card:not(.compact) .section-tag {
    margin-bottom: 18px;
    border-color: rgba(149, 230, 208, 0.34);
    color: #ffffff;
    background:
        linear-gradient(135deg, rgba(149, 230, 208, 0.22), rgba(239, 68, 68, 0.12)),
        rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.newsletter-card h2 {
    margin-bottom: 12px;
    font-size: clamp(1.65rem, 2.6vw, 2.15rem);
}

.newsletter-card:not(.compact) h2 {
    max-width: 760px;
    margin-bottom: 16px;
    font-size: clamp(2.25rem, 5vw, 4.15rem);
    line-height: 1.02;
    letter-spacing: 0;
}

.newsletter-card:not(.compact) > p:not(.section-tag) {
    max-width: 670px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: clamp(1rem, 1.7vw, 1.2rem);
    line-height: 1.75;
}

.newsletter-card.compact {
    position: relative;
    overflow: hidden;
    padding: 16px;
    border-color: rgba(149, 230, 208, 0.2);
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(149, 230, 208, 0.16), transparent 42%),
        linear-gradient(315deg, rgba(239, 68, 68, 0.12), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.055)),
        rgba(8, 9, 8, 0.72);
    box-shadow:
        0 20px 54px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.newsletter-card.compact .section-tag {
    margin-bottom: 10px;
    padding: 6px 10px;
    border-color: rgba(149, 230, 208, 0.28);
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.72rem;
}

.newsletter-card.compact h2 {
    margin-bottom: 8px;
    font-size: 1.02rem;
    line-height: 1.18;
}

.newsletter-card.compact p {
    margin-bottom: 0;
    font-size: 0.84rem;
    line-height: 1.45;
}

.newsletter-card.compact .newsletter-form {
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 12px 0 0;
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.075);
}

.newsletter-card.compact .newsletter-form input,
.newsletter-card.compact .newsletter-form button {
    min-height: 40px;
}

.newsletter-card.compact .newsletter-form input {
    border-color: transparent;
    background: rgba(255, 255, 255, 0.06);
}

.newsletter-card.compact .newsletter-form button {
    border: 0;
    color: #080908;
    background: linear-gradient(135deg, var(--green), #ffffff 58%, rgba(239, 68, 68, 0.86));
    box-shadow: 0 12px 26px rgba(149, 230, 208, 0.2);
    font-weight: 950;
    transition:
        transform var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease);
}

.newsletter-card.compact .newsletter-form button:hover,
.newsletter-card.compact .newsletter-form button:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(149, 230, 208, 0.28);
}

.newsletter-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    margin: 22px 0 10px;
}

.newsletter-card:not(.compact) .newsletter-form {
    max-width: 760px;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 12px;
    margin: 34px 0 14px;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.09);
    box-shadow:
        0 18px 52px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.newsletter-form input {
    min-width: 0;
    min-height: 48px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--radius-pill);
    color: var(--text);
    background: rgba(255, 255, 255, 0.075);
    outline: 0;
}

.newsletter-card:not(.compact) .newsletter-form input {
    min-height: 58px;
    padding: 0 22px;
    border-color: transparent;
    color: #ffffff;
    background: transparent;
    font-size: 1rem;
}

.newsletter-card:not(.compact) .newsletter-form input::placeholder {
    color: rgba(255, 255, 255, 0.58);
}

.newsletter-card:not(.compact) .newsletter-form input:focus {
    box-shadow: inset 0 -2px 0 rgba(149, 230, 208, 0.88);
}

.newsletter-card:not(.compact) .newsletter-form button {
    min-height: 58px;
    padding: 0 28px;
    border: 0;
    border-radius: var(--radius-pill);
    color: #080908;
    background:
        linear-gradient(135deg, var(--green), #ffffff 56%, rgba(239, 68, 68, 0.9));
    box-shadow:
        0 16px 34px rgba(149, 230, 208, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.48);
    font-weight: 950;
    transition:
        transform var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease),
        filter var(--duration) var(--ease);
}

.newsletter-card:not(.compact) .newsletter-form button:hover,
.newsletter-card:not(.compact) .newsletter-form button:focus-visible {
    transform: translateY(-2px);
    box-shadow:
        0 22px 48px rgba(149, 230, 208, 0.3),
        0 0 0 4px rgba(149, 230, 208, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.55);
    filter: saturate(1.08);
}

.newsletter-form.is-complete {
    display: block;
    padding: 14px 16px;
    border: 1px solid rgba(149, 230, 208, 0.3);
    border-radius: var(--radius-sm);
    color: var(--green);
    background: rgba(149, 230, 208, 0.1);
}

.newsletter-card:not(.compact) .newsletter-form.is-complete {
    max-width: 520px;
    margin-top: 34px;
    padding: 18px 22px;
    border-radius: var(--radius-pill);
    color: #ffffff;
    background:
        linear-gradient(135deg, rgba(149, 230, 208, 0.22), rgba(255, 255, 255, 0.08)),
        rgba(8, 9, 8, 0.72);
}

.newsletter-card small {
    color: var(--muted-soft);
}

.newsletter-card:not(.compact) small {
    display: block;
    color: rgba(255, 255, 255, 0.62);
    font-size: var(--text-sm);
}

.blog-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: var(--space-5);
}

.blog-pagination div {
    display: flex;
    gap: 8px;
}

.blog-pagination a,
.blog-pagination span {
    min-width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--muted);
    background: rgba(255, 255, 255, 0.055);
    font-weight: 900;
}

.blog-pagination a.is-active,
.blog-pagination a:hover {
    color: #04100d;
    border-color: rgba(149, 230, 208, 0.5);
    background: var(--green);
}

.blog-pagination a.is-disabled,
.blog-pagination span.is-disabled {
    opacity: 0.4;
    pointer-events: none;
}

.breadcrumbs {
    margin-bottom: var(--space-3);
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
    color: var(--muted-soft);
    font-size: var(--text-xs);
    font-weight: 800;
}

.breadcrumbs li:not(:last-child)::after {
    content: "/";
    margin-left: 8px;
    color: rgba(255, 255, 255, 0.34);
}

.breadcrumbs a:hover {
    color: var(--green);
}

body[data-blog-page="post"] main,
body[data-blog-page="post"] #blogApp,
body[data-blog-page="post"] article,
body[data-blog-page="post"] .blog-post-hero,
body[data-blog-page="post"] .blog-post-body-section,
body[data-blog-page="post"] .related-posts-section,
body[data-blog-page="post"] .comments-section,
body[data-blog-page="post"] .comments-section + .blog-section {
    background: #ffffff;
}

body[data-blog-page="post"] .blog-post-hero,
body[data-blog-page="post"] .blog-post-body-section {
    background-image: none;
}

body[data-blog-page="post"] .blog-post-hero {
    padding: 118px 0 64px;
}

body[data-blog-page="post"] .blog-post-hero .container {
    width: min(calc(100% - 48px), 1000px);
}

body[data-blog-page="post"] .breadcrumbs ol,
body[data-blog-page="post"] .blog-meta-row,
body[data-blog-page="post"] .author-mini small {
    color: #6b7280;
}

body[data-blog-page="post"] .breadcrumbs li:not(:last-child)::after {
    color: #d1d5db;
}

body[data-blog-page="post"] .breadcrumbs a:hover,
body[data-blog-page="post"] .blog-post-content a,
body[data-blog-page="post"] .toc-card nav a:hover,
body[data-blog-page="post"] .blog-text-link {
    color: var(--green-dark);
}

body[data-blog-page="post"] .blog-post-header {
    grid-template-columns: minmax(0, 800px);
    justify-content: center;
    gap: 36px;
}

body[data-blog-page="post"] .blog-post-header > div {
    max-width: 800px;
}

body[data-blog-page="post"] .blog-post-header h1 {
    max-width: 800px;
    margin: 18px 0 22px;
    color: #111111;
    font-size: clamp(2.8rem, 5.8vw, 4.65rem);
    line-height: 1.02;
}

body[data-blog-page="post"] .blog-post-header > div > p {
    max-width: 760px;
    margin-bottom: 28px;
    color: #4b5563;
    font-size: clamp(1.08rem, 1.6vw, 1.26rem);
    line-height: 1.72;
}

body[data-blog-page="post"] .blog-post-header .author-mini {
    color: #111111;
}

body[data-blog-page="post"] .category-badge {
    border-color: rgba(85, 200, 174, 0.32);
    color: #047867;
    background: rgba(149, 230, 208, 0.18);
}

.blog-post-cover {
    height: clamp(360px, 44vw, 560px);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

body[data-blog-page="post"] .blog-post-cover {
    width: 100%;
    height: auto;
    max-height: 520px;
    aspect-ratio: 16 / 9;
    border-color: #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 18px 50px rgba(17, 24, 39, 0.1);
}

.blog-post-body-section {
    padding: 72px 0;
}

body[data-blog-page="post"] .blog-post-body-section {
    padding: 40px 0 76px;
}

.blog-post-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 760px);
    gap: clamp(28px, 5vw, 64px);
    align-items: start;
    justify-content: center;
}

body[data-blog-page="post"] .blog-post-layout {
    width: min(calc(100% - 48px), 800px);
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
}

.toc-card {
    position: sticky;
    top: 104px;
    padding: 22px;
    border-radius: var(--radius-sm);
}

body[data-blog-page="post"] .toc-card {
    position: static;
    border-color: #e5e7eb;
    background: #ffffff;
    box-shadow: 0 12px 34px rgba(17, 24, 39, 0.06);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.toc-card nav {
    display: grid;
    gap: 10px;
    margin: 16px 0 22px;
}

.toc-card nav a {
    color: var(--muted);
    font-size: var(--text-sm);
    line-height: 1.35;
}

body[data-blog-page="post"] .toc-card nav a,
body[data-blog-page="post"] .share-buttons span {
    color: #4b5563;
}

.toc-card nav a:hover {
    color: var(--green);
}

.share-buttons {
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.share-buttons span {
    width: 100%;
    color: var(--muted-soft);
    text-transform: none;
}

.share-buttons a,
.share-buttons button,
.author-socials a {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--text);
    background: rgba(255, 255, 255, 0.055);
    cursor: pointer;
    transition: transform var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease);
}

body[data-blog-page="post"] .share-buttons a,
body[data-blog-page="post"] .share-buttons button,
body[data-blog-page="post"] .author-socials a {
    border-color: #e5e7eb;
    color: #111827;
    background: #ffffff;
}

.share-buttons a:hover,
.share-buttons button:hover,
.share-buttons button.copied,
.author-socials a:hover {
    color: var(--green);
    border-color: rgba(149, 230, 208, 0.38);
    transform: translateY(-2px);
}

.blog-post-content {
    min-width: 0;
}

body[data-blog-page="post"] .blog-post-content {
    width: min(100%, 780px);
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #111111;
    background: #ffffff;
    box-shadow: none;
}

.article-section {
    padding: 0 0 42px;
    border-top: 0;
}

.article-section h2 {
    margin-bottom: 18px;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
}

body[data-blog-page="post"] .article-section {
    padding-bottom: 52px;
}

body[data-blog-page="post"] .article-section:not(:first-child) {
    padding-top: 4px;
}

body[data-blog-page="post"] .article-section:last-of-type {
    padding-bottom: 28px;
}

body[data-blog-page="post"] .article-section h2,
body[data-blog-page="post"] .blog-post-content h2 {
    margin: 0 0 24px;
    color: #111111;
    font-size: clamp(1.72rem, 2.7vw, 2.28rem);
    line-height: 1.18;
}

body[data-blog-page="post"] .blog-post-content h3 {
    margin: 42px 0 16px;
    color: #111111;
    font-size: clamp(1.28rem, 2vw, 1.5rem);
    line-height: 1.28;
}

.article-section p {
    max-width: none;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.08rem;
}

body[data-blog-page="post"] .article-section p,
body[data-blog-page="post"] .blog-post-content li {
    color: #111111;
    font-size: 1.125rem;
    line-height: 1.8;
}

body[data-blog-page="post"] .article-section p {
    margin-bottom: 24px;
}

body[data-blog-page="post"] .article-section p:last-child {
    margin-bottom: 0;
}

.article-kicker {
    margin-bottom: 10px;
    color: var(--green) !important;
    font-size: var(--text-xs) !important;
    font-weight: 900;
    text-transform: uppercase;
}

.article-image,
.article-code,
.article-pullquote,
.article-checklist,
.article-callout,
.article-table-wrap,
.article-related-links,
.article-faq {
    margin: 34px 0;
}

.article-image img {
    width: 100%;
    max-height: 460px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--radius-sm);
    object-fit: cover;
    box-shadow: var(--shadow-soft);
}

body[data-blog-page="post"] .article-image img {
    height: auto;
    border-color: #e5e7eb;
    border-radius: 14px;
    box-shadow: none;
}

.article-image figcaption,
.article-code figcaption {
    margin-top: 10px;
    color: var(--muted-soft);
    font-size: var(--text-xs);
    font-weight: 800;
}

body[data-blog-page="post"] .article-image figcaption,
body[data-blog-page="post"] .article-code figcaption {
    color: #6b7280;
}

.article-pullquote {
    padding: 30px;
    border-left: 4px solid var(--green);
    border-radius: var(--radius-sm);
    background: rgba(149, 230, 208, 0.1);
}

body[data-blog-page="post"] .article-pullquote {
    padding: clamp(24px, 4vw, 34px);
    border: 1px solid #e5e7eb;
    border-left: 4px solid var(--green-dark);
    border-radius: 16px;
    background: #f9fafb;
    box-shadow: none;
}

.article-pullquote p {
    margin-bottom: 12px;
    color: var(--text) !important;
    font-size: clamp(1.35rem, 2.5vw, 1.75rem) !important;
    font-weight: 850;
    line-height: 1.32;
}

body[data-blog-page="post"] .article-pullquote p {
    color: #111111 !important;
    font-size: clamp(1.22rem, 2vw, 1.55rem) !important;
    line-height: 1.55;
}

.article-pullquote cite {
    color: var(--muted);
    font-style: normal;
    font-weight: 800;
}

body[data-blog-page="post"] .article-pullquote cite {
    color: #4b5563;
}

.article-code {
    overflow: hidden;
    border: 1px solid rgba(149, 230, 208, 0.22);
    border-radius: var(--radius-sm);
    background: #050706;
}

body[data-blog-page="post"] .article-code {
    border-color: #e5e7eb;
    border-radius: 14px;
    background: #f9fafb;
    box-shadow: none;
}

.article-code figcaption {
    margin: 0;
    padding: 14px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

body[data-blog-page="post"] .article-code figcaption {
    color: #6b7280;
    background: #ffffff;
    border-bottom-color: #e5e7eb;
}

.article-code pre {
    overflow-x: auto;
    margin: 0;
    padding: 22px;
}

.article-code code {
    color: rgba(255, 255, 255, 0.88);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 0.92rem;
    line-height: 1.65;
}

body[data-blog-page="post"] .article-code code {
    color: #111111;
}

.article-checklist {
    display: grid;
    gap: 12px;
    padding: 0;
    list-style: none;
}

body[data-blog-page="post"] .blog-post-content ul,
body[data-blog-page="post"] .blog-post-content ol {
    margin: 28px 0;
    padding-left: 1.45rem;
}

body[data-blog-page="post"] .blog-post-content li + li {
    margin-top: 12px;
}

body[data-blog-page="post"] .article-checklist {
    gap: 16px;
    padding: 22px;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #ffffff;
}

.article-checklist li {
    position: relative;
    padding-left: 30px;
    color: rgba(255, 255, 255, 0.82);
}

body[data-blog-page="post"] .article-checklist li {
    color: #111111;
}

.article-checklist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.58em;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: var(--green-glow);
}

.article-callout,
.article-related-links,
.article-faq {
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #f9fafb;
}

.article-callout {
    padding: clamp(22px, 4vw, 30px);
    border-left: 4px solid var(--green-dark);
}

.article-callout > span,
.article-related-links > span {
    display: block;
    margin-bottom: 10px;
    color: var(--green-dark);
    font-size: var(--text-xs);
    font-weight: 900;
    text-transform: uppercase;
}

body[data-blog-page="post"] .article-callout h3 {
    margin: 0 0 14px;
}

body[data-blog-page="post"] .article-callout p:last-child {
    margin-bottom: 0;
}

.article-callout .article-related-links {
    margin: 22px 0 0;
    background: #ffffff;
}

.article-table-wrap {
    overflow-x: auto;
    border-radius: 14px;
}

body[data-blog-page="post"] .blog-post-content table {
    width: 100%;
    margin: 34px 0;
    border-collapse: collapse;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    color: #111111;
    font-size: 1rem;
}

body[data-blog-page="post"] .blog-post-content iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    margin: 34px 0;
    border: 0;
    border-radius: var(--radius-sm);
}

body[data-blog-page="post"] .blog-post-content th,
body[data-blog-page="post"] .blog-post-content td {
    padding: 14px 16px;
    border-bottom: 1px solid #e5e7eb;
    text-align: left;
    vertical-align: top;
}

body[data-blog-page="post"] .blog-post-content th {
    color: #111111;
    background: #f9fafb;
    font-weight: 900;
}

body[data-blog-page="post"] .blog-post-content tr:last-child td {
    border-bottom: 0;
}

.article-related-links {
    padding: 22px;
}

body[data-blog-page="post"] .article-related-links ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding-left: 1.2rem;
}

body[data-blog-page="post"] .article-related-links li + li {
    margin-top: 0;
}

.article-faq {
    overflow: hidden;
}

.article-faq details + details {
    border-top: 1px solid #e5e7eb;
}

.article-faq summary {
    cursor: pointer;
    padding: 18px 22px;
    color: #111111;
    font-weight: 850;
}

.article-faq p {
    padding: 0 22px 20px;
}

.post-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 20px 0 28px;
}

.post-nav-card {
    min-height: 128px;
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.055);
}

body[data-blog-page="post"] .post-nav {
    margin-top: 8px;
}

body[data-blog-page="post"] .post-nav-card {
    border-color: #e5e7eb;
    background: #ffffff;
    box-shadow: 0 12px 34px rgba(17, 24, 39, 0.06);
}

.post-nav-card.next {
    text-align: right;
}

.post-nav-card span {
    color: var(--green);
    font-size: var(--text-xs);
    font-weight: 900;
    text-transform: uppercase;
}

.post-nav-card strong {
    color: var(--text);
    line-height: 1.3;
}

body[data-blog-page="post"] .post-nav-card strong {
    color: #111111;
}

.post-nav-card:hover {
    border-color: rgba(149, 230, 208, 0.34);
    box-shadow: var(--green-glow);
}

.post-nav-card.is-empty {
    visibility: hidden;
}

.author-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    padding: 24px;
    border-radius: var(--radius-sm);
}

body[data-blog-page="post"] .author-card {
    border-color: #e5e7eb;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 12px 34px rgba(17, 24, 39, 0.06);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.author-card > img {
    width: 72px;
    height: 72px;
}

.author-card h3 {
    margin: 4px 0 8px;
}

body[data-blog-page="post"] .author-card h3 a {
    color: #111111;
}

.author-card p {
    margin-bottom: 14px;
    color: var(--muted);
    font-size: var(--text-sm);
}

body[data-blog-page="post"] .author-card p {
    color: #4b5563;
}

.blog-state-section {
    min-height: 68vh;
    display: grid;
    align-items: center;
    padding-top: 120px;
}

.comments-section {
    padding-top: 0;
}

body[data-blog-page="post"] .related-posts-section {
    padding-top: 84px;
}

body[data-blog-page="post"] .related-posts-section .section-header h2,
body[data-blog-page="post"] .comments-header h2 {
    color: #111111;
}

body[data-blog-page="post"] .related-posts-section .blog-card {
    border-color: #e5e7eb;
    background: #ffffff;
    box-shadow: 0 16px 42px rgba(17, 24, 39, 0.08);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body[data-blog-page="post"] .related-posts-section .blog-card h3 a {
    color: #111111;
}

body[data-blog-page="post"] .related-posts-section .blog-card p,
body[data-blog-page="post"] .related-posts-section .blog-meta-row,
body[data-blog-page="post"] .related-posts-section .blog-card-footer,
body[data-blog-page="post"] .comments-header p {
    color: #4b5563;
}

body[data-blog-page="post"] .related-posts-section .author-mini {
    color: #111111;
}

.blog-comments-shell {
    width: min(calc(100% - 40px), 920px);
}

body[data-blog-page="post"] .blog-comments-shell {
    width: min(calc(100% - 40px), 820px);
}

.comments-header {
    margin-bottom: 28px;
}

.comments-header h2 {
    margin-bottom: 12px;
}

.comment-form {
    display: grid;
    gap: 16px;
    margin-bottom: 30px;
    padding: 24px;
    border-radius: var(--radius-sm);
}

body[data-blog-page="post"] .comment-form,
body[data-blog-page="post"] .comment-item {
    border-color: #e5e7eb;
    background: #ffffff;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.comment-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.comment-form label {
    display: grid;
    gap: 8px;
    color: var(--muted);
    font-size: var(--text-sm);
    font-weight: 850;
}

body[data-blog-page="post"] .comment-form label {
    color: #111111;
}

.comment-form input,
.comment-form textarea {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 14px;
    color: var(--text);
    background: rgba(255, 255, 255, 0.07);
    outline: 0;
}

body[data-blog-page="post"] .comment-form input,
body[data-blog-page="post"] .comment-form textarea {
    border-color: #d1d5db;
    color: #111111;
    background: #ffffff;
}

.comment-form input {
    min-height: 48px;
    padding: 0 15px;
}

.comment-form textarea {
    resize: vertical;
    padding: 14px 15px;
}

.comment-form input:focus,
.comment-form textarea:focus {
    border-color: rgba(149, 230, 208, 0.45);
    box-shadow: 0 0 0 4px rgba(149, 230, 208, 0.12);
}

.comment-form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.comment-form-actions [data-replying-to] {
    margin-right: auto;
    color: var(--green);
    font-size: var(--text-sm);
    font-weight: 900;
}

.comment-form-actions button[type="submit"] {
    min-height: 46px;
    padding: 0 20px;
    border: 0;
    border-radius: var(--radius-pill);
    color: #03100c;
    background: var(--green);
    font-weight: 900;
    cursor: pointer;
}

.comments-list {
    display: grid;
    gap: 16px;
}

.comment-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    margin-left: calc(var(--comment-depth, 0) * 28px);
    padding: 20px;
    border-radius: var(--radius-sm);
}

.comment-avatar {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #03100c;
    background: var(--green);
    font-size: var(--text-xs);
    font-weight: 950;
}

.comment-body header {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.comment-body header strong {
    color: var(--text);
}

body[data-blog-page="post"] .comment-body header strong {
    color: #111111;
}

.comment-body time {
    color: var(--muted-soft);
    font-size: var(--text-xs);
    font-weight: 800;
}

.comment-body p,
.comments-empty {
    color: var(--muted);
    font-size: var(--text-sm);
}

body[data-blog-page="post"] .comment-body p,
body[data-blog-page="post"] .comments-empty {
    color: #4b5563;
    line-height: 1.7;
}

.comment-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.comment-actions button {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--radius-pill);
    color: var(--muted);
    background: rgba(255, 255, 255, 0.055);
    cursor: pointer;
    font-size: var(--text-xs);
    font-weight: 850;
}

body[data-blog-page="post"] .comment-actions button {
    border-color: #e5e7eb;
    color: #4b5563;
    background: #ffffff;
}

.comment-actions button:hover {
    color: var(--green);
    border-color: rgba(149, 230, 208, 0.35);
}

.comment-replies {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.blog-empty-state {
    width: min(100%, 720px);
    margin-inline: auto;
    padding: clamp(28px, 5vw, 48px);
    border-radius: var(--radius);
    text-align: center;
}

.blog-empty-state i {
    margin-bottom: 18px;
    color: var(--green);
    font-size: 2rem;
}

.blog-empty-state p {
    margin-inline: auto;
}

.blog-loading-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.blog-loading-grid div {
    min-height: 340px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.055));
    background-size: 220% 100%;
    animation: blogLoading 1.4s infinite linear;
}

@keyframes blogLoading {
    to {
        background-position: -220% 0;
    }
}

/* =========================
   Pricing
========================= */

.pricing-section {
    background:
        radial-gradient(circle at 50% 8%, rgba(149, 230, 208, 0.17), transparent 28%),
        radial-gradient(circle at 90% 88%, rgba(239, 68, 68, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent);
}

.billing-toggle {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 auto 44px;
    padding: 7px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.055);
    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.pricing-billing-toggle {
    margin-bottom: 34px;
}

.billing-option {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    border: 0;
    border-radius: var(--radius-pill);
    color: rgba(255, 255, 255, 0.72);
    background: transparent;
    font: inherit;
    font-size: var(--text-sm);
    font-weight: 900;
    letter-spacing: 0;
    cursor: pointer;
    transition:
        color var(--duration) var(--ease),
        background var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease),
        transform var(--duration) var(--ease);
}

.billing-option small {
    padding: 3px 8px;
    border-radius: var(--radius-pill);
    color: var(--green);
    background: rgba(149, 230, 208, 0.12);
    font-size: 0.72rem;
    font-weight: 950;
    line-height: 1;
}

.billing-option:hover {
    color: var(--text);
    background: rgba(255, 255, 255, 0.06);
}

.billing-option.active {
    color: var(--bg);
    background: linear-gradient(135deg, var(--green), #58c5b0);
    box-shadow: 0 16px 34px rgba(88, 197, 176, 0.22);
}

.billing-option.active small {
    color: var(--bg);
    background: rgba(8, 12, 11, 0.12);
}

.billing-option:focus-visible {
    outline: 3px solid rgba(149, 230, 208, 0.7);
    outline-offset: 4px;
}

.billing-label {
    color: var(--muted);
    font-weight: 800;
}

.billing-label.active {
    color: var(--text);
}

.billing-label small {
    color: var(--green);
    font-weight: 800;
}

.switch {
    position: relative;
    width: 58px;
    height: 32px;
    display: inline-block;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    inset: 0;
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.08);
    cursor: pointer;
    transition: background var(--duration) var(--ease), box-shadow var(--duration) var(--ease);
}

.slider::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 4px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--text);
    transition: transform var(--duration) var(--ease);
}

input:checked + .slider {
    background: rgba(134, 217, 193, 0.5);
    box-shadow: var(--green-glow);
}

input:checked + .slider::before {
    transform: translateX(26px);
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
    align-items: stretch;
    gap: 22px;
}

.price-card {
    --card-accent: var(--green);
    position: relative;
    display: flex;
    flex-direction: column;
    isolation: isolate;
    overflow: hidden;
    min-height: 100%;
    padding: 1px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 26px;
    background:
        linear-gradient(145deg, rgba(149, 230, 208, 0.26), rgba(239, 68, 68, 0.12)),
        rgba(255, 255, 255, 0.035);
    box-shadow:
        0 28px 80px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
    transition:
        border-color var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease),
        transform var(--duration) var(--ease);
}

.price-card::before {
    content: "";
    position: absolute;
    inset: 1px;
    z-index: -1;
    border-radius: 25px;
    background:
        radial-gradient(circle at 20% 0%, rgba(149, 230, 208, 0.18), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.045));
}

.price-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.16), transparent 30%, rgba(255, 255, 255, 0.08));
    opacity: 0;
    transition: opacity var(--duration) var(--ease);
}

.price-card:hover {
    border-color: rgba(149, 230, 208, 0.48);
    box-shadow:
        0 34px 96px rgba(0, 0, 0, 0.44),
        0 0 44px rgba(149, 230, 208, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    transform: translateY(-8px);
}

.price-card:hover::after {
    opacity: 1;
}

.price-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 100%;
    padding: clamp(22px, 2.2vw, 30px);
    border-radius: 25px;
}

.price-card-top {
    min-height: 220px;
}

.price-card.featured {
    --card-accent: var(--red);
    border-color: rgba(149, 230, 208, 0.58);
    background:
        linear-gradient(145deg, rgba(149, 230, 208, 0.34), rgba(239, 68, 68, 0.24)),
        rgba(255, 255, 255, 0.055);
    box-shadow:
        0 34px 96px rgba(0, 0, 0, 0.44),
        0 0 54px rgba(149, 230, 208, 0.19),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    transform: translateY(-10px);
}

.price-card.featured:hover {
    border-color: rgba(149, 230, 208, 0.78);
    box-shadow:
        0 40px 110px rgba(0, 0, 0, 0.5),
        0 0 68px rgba(149, 230, 208, 0.24),
        0 0 38px rgba(239, 68, 68, 0.14);
    transform: translateY(-16px);
}

.price-card h3 {
    margin-bottom: 18px;
    color: var(--text);
    font-size: clamp(1.58rem, 2.2vw, 2.18rem);
    font-weight: 900;
    line-height: 1.08;
}

.price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-height: 52px;
    margin-bottom: 16px;
    color: var(--text);
    font-size: clamp(2.1rem, 3.6vw, 3rem);
    font-weight: 950;
    line-height: 1;
}

.price-value {
    display: inline-block;
    font-size: inherit;
    letter-spacing: 0;
}

.price-value.is-changing,
.period.is-changing {
    animation: pricePulse 0.34s var(--ease);
}

.period {
    display: inline-block;
    color: rgba(255, 255, 255, 0.72);
    font-size: var(--text-sm);
    font-weight: 850;
}

@keyframes pricePulse {
    0% {
        opacity: 0;
        transform: translateY(8px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.plan-desc {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: var(--text-sm);
    line-height: 1.65;
}

.price-card ul,
.plan-feature-list {
    display: grid;
    gap: 13px;
    margin-bottom: 30px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.11);
}

.price-card ul li,
.plan-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: rgba(255, 255, 255, 0.77);
    font-size: var(--text-sm);
    line-height: 1.55;
}

.feature-check,
.price-card ul i {
    display: inline-grid;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    place-items: center;
    margin-top: 1px;
    border: 1px solid rgba(149, 230, 208, 0.36);
    border-radius: 50%;
    color: var(--green);
    background: rgba(149, 230, 208, 0.12);
    font-size: 0.78rem;
    font-weight: 900;
}

.pricing-btn {
    width: 100%;
    margin-top: auto;
    border: 0;
    border-radius: var(--radius-pill);
    background: linear-gradient(135deg, var(--green), #58c5b0);
    box-shadow: 0 18px 40px rgba(88, 197, 176, 0.2);
    color: var(--bg);
    font-weight: 900;
    transition:
        box-shadow var(--duration) var(--ease),
        transform var(--duration) var(--ease),
        filter var(--duration) var(--ease);
}

.pricing-btn:hover {
    filter: brightness(1.04);
    box-shadow: 0 22px 54px rgba(88, 197, 176, 0.3);
    transform: translateY(-2px);
}

.pricing-btn:focus-visible {
    outline: 3px solid rgba(149, 230, 208, 0.7);
    outline-offset: 4px;
}

.popular {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 8px;
    position: static;
    margin: 0;
    margin-bottom: 20px;
    padding: 8px 13px;
    border: 1px solid rgba(239, 68, 68, 0.36);
    border-radius: var(--radius-pill);
    color: var(--red);
    background: rgba(239, 68, 68, 0.11);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
    .price-card,
    .price-card::after,
    .pricing-btn,
    .billing-option {
        transition: none;
    }

    .price-card,
    .price-card.featured,
    .price-card:hover,
    .price-card.featured:hover,
    .pricing-btn:hover,
    .billing-option:hover {
        transform: none;
    }

    .price-value.is-changing,
    .period.is-changing {
        animation: none;
    }
}

/* =========================
   FAQ
========================= */

.faq {
    background:
        radial-gradient(circle at 14% 22%, rgba(149, 230, 208, 0.12), transparent 26%),
        radial-gradient(circle at 86% 88%, rgba(239, 68, 68, 0.07), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.018), rgba(255, 255, 255, 0.04));
}

.faq > .section-header {
    width: min(calc(100% - 40px), 760px);
}

.faq-container {
    width: min(calc(100% - 40px), 860px);
    display: grid;
    gap: 16px;
    margin: 0 auto;
}

.faq-item {
    padding: 0;
    overflow: hidden;
}

.faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 26px;
    border: 0;
    color: var(--text);
    background: transparent;
    font-weight: 850;
    text-align: left;
    cursor: pointer;
}

.faq-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--green);
    background: rgba(134, 217, 193, 0.08);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--duration) var(--ease);
}

.faq-answer p {
    margin: 0;
    padding: 0 26px 24px;
    color: var(--muted);
}

.faq-item.active .faq-answer {
    max-height: 220px;
}

.faq-item.active .faq-icon {
    border-color: rgba(134, 217, 193, 0.36);
    box-shadow: var(--green-glow);
}

/* =========================
   Contact
========================= */

.contact {
    background:
        radial-gradient(circle at 84% 12%, rgba(149, 230, 208, 0.14), transparent 28%),
        radial-gradient(circle at 16% 88%, rgba(239, 68, 68, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent);
}

.contact > .section-header {
    width: min(calc(100% - 40px), 780px);
}

.contact-wrapper {
    width: min(calc(100% - 40px), var(--container));
    display: grid;
    grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
    gap: 24px;
    margin: 0 auto;
}

.contact-info {
    display: grid;
    gap: 18px;
}

.info-card {
    padding: 28px;
}

.icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
    border: 1px solid rgba(134, 217, 193, 0.28);
    border-radius: 18px;
    background: rgba(134, 217, 193, 0.09);
    box-shadow: var(--green-glow);
    font-size: 1.35rem;
}

.info-card h3 {
    margin-bottom: 8px;
    font-size: 1.2rem;
}

.info-card p {
    margin-bottom: 0;
}

.contact-form {
    display: grid;
    gap: 16px;
    padding: 28px;
}

.input-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.contact-form input,
.contact-form textarea,
.contact-form select {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--radius-sm);
    color: var(--text);
    background: rgba(255, 255, 255, 0.085);
    outline: none;
    transition: border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), background var(--duration) var(--ease);
}

.contact-form input,
.contact-form select {
    min-height: 54px;
    padding: 0 17px;
}

.contact-form select {
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--green) 50%),
        linear-gradient(135deg, var(--green) 50%, transparent 50%);
    background-position:
        calc(100% - 22px) 50%,
        calc(100% - 16px) 50%;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.contact-form select option {
    color: #050505;
}

.contact-form textarea {
    resize: vertical;
    min-height: 152px;
    padding: 17px;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.58);
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus {
    border-color: rgba(149, 230, 208, 0.56);
    background: rgba(255, 255, 255, 0.105);
    box-shadow: 0 0 0 4px rgba(149, 230, 208, 0.12), 0 12px 30px rgba(0, 0, 0, 0.16);
}

.contact-form button {
    border: 0;
}

/* =========================
   Inner Pages
========================= */

.page-hero {
    min-height: calc(86vh - var(--nav-height));
    display: flex;
    align-items: center;
    padding: 112px 0 104px;
    overflow: hidden;
    background:
        radial-gradient(circle at 14% 24%, rgba(149, 230, 208, 0.22), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(239, 68, 68, 0.1), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent);
}

.about-hero,
.pricing-hero {
    background:
        radial-gradient(circle at 18% 18%, rgba(149, 230, 208, 0.2), transparent 28%),
        radial-gradient(circle at 86% 78%, rgba(239, 68, 68, 0.08), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent);
}

.services-hero,
.contact-hero {
    background:
        radial-gradient(circle at 82% 16%, rgba(149, 230, 208, 0.2), transparent 26%),
        radial-gradient(circle at 12% 78%, rgba(239, 68, 68, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent);
}

.page-hero-container {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    align-items: center;
    gap: var(--space-8);
}

.page-hero-content h1 {
    max-width: 820px;
    margin-bottom: var(--space-3);
    font-size: var(--h1);
    font-weight: 850;
    line-height: 1.05;
}

.page-hero-content p {
    max-width: 650px;
    margin-bottom: var(--space-4);
    color: var(--muted);
    font-size: var(--text-lg);
    line-height: 1.7;
}

.page-hero-visual {
    position: relative;
}

.page-hero-card,
.mission-card,
.feature-card,
.service-card,
.mini-service-card,
.work-list article,
.industry-card,
.value-card,
.page-cta,
.contact-panel,
.comparison-table-wrap,
.map-placeholder {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.052)),
        var(--surface);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    transition:
        transform var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        background var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease);
}

.page-hero-card:hover,
.mission-card:hover,
.feature-card:hover,
.service-card:hover,
.mini-service-card:hover,
.work-list article:hover,
.industry-card:hover,
.value-card:hover,
.page-cta:hover,
.contact-panel:hover,
.comparison-table-wrap:hover,
.map-placeholder:hover {
    border-color: rgba(134, 217, 193, 0.34);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.065)),
        var(--surface);
    box-shadow: 0 18px 56px rgba(0, 0, 0, 0.28), 0 0 28px rgba(149, 230, 208, 0.12);
    transform: translateY(-5px);
}

.page-hero-card {
    position: relative;
    min-height: 430px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    padding: var(--space-4);
}

.page-hero-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(134, 217, 193, 0.18), transparent 42%),
        linear-gradient(315deg, rgba(239, 68, 68, 0.16), transparent 36%);
}

.page-hero-card > * {
    position: relative;
    z-index: 1;
}

.page-hero-card .eyebrow {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 18px;
    padding: 8px 13px;
    border: 1px solid rgba(134, 217, 193, 0.26);
    border-radius: var(--radius-pill);
    color: var(--green);
    background: rgba(134, 217, 193, 0.09);
    font-size: var(--text-xs);
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.page-hero-card h2 {
    max-width: 500px;
    margin-bottom: var(--space-3);
    font-size: clamp(1.5rem, 2.6vw, 2rem);
    font-weight: 850;
    line-height: 1.15;
}

.signal-list {
    display: grid;
    gap: 14px;
}

.signal-list div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.08);
}

.signal-list span {
    color: var(--muted);
}

.signal-list strong {
    color: var(--green);
    font-size: 1.32rem;
    text-shadow: 0 0 20px rgba(134, 217, 193, 0.3);
}

.story-section,
.mission-section,
.why-choose-section,
.values-section,
.services-section,
.industries-section,
.comparison-section,
.contact-page-section,
.map-section,
.authority-section,
.page-cta-section {
    background:
        radial-gradient(circle at 12% 12%, rgba(134, 217, 193, 0.1), transparent 26%),
        radial-gradient(circle at 88% 84%, rgba(239, 68, 68, 0.07), transparent 28%);
}

.story-layout,
.showcase-layout,
.map-layout,
.contact-page-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: center;
    gap: 58px;
}

.story-media,
.showcase-media {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}

.story-media img,
.showcase-media img {
    width: 100%;
    min-height: 500px;
    object-fit: cover;
    filter: saturate(1.08) contrast(1.03);
    transition: transform 0.7s var(--ease);
}

.story-media:hover img,
.showcase-media:hover img {
    transform: scale(1.04);
}

.story-content h2,
.showcase-content h2,
.map-copy h2,
.contact-panel h2 {
    margin-bottom: 20px;
    font-size: var(--h2);
    font-weight: 850;
}

.story-content p,
.showcase-content p,
.map-copy p,
.contact-panel p {
    color: var(--muted);
}

.mission-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.mission-card,
.feature-card,
.service-card,
.value-card {
    padding: 30px;
}

.mission-card {
    min-height: 310px;
}

.mission-card h3,
.feature-card h3,
.service-card h3,
.value-card h3,
.work-list h3 {
    margin-bottom: 13px;
    font-size: var(--h4);
}

.mission-card p,
.feature-card p,
.service-card p,
.value-card p,
.work-list p {
    margin-bottom: 0;
    color: var(--muted);
}

.feature-icon {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    margin-bottom: 22px;
    border: 1px solid rgba(134, 217, 193, 0.3);
    border-radius: 18px;
    color: var(--green);
    background: rgba(134, 217, 193, 0.1);
    box-shadow: var(--green-glow);
    font-size: 1.2rem;
}

.feature-icon.red {
    border-color: rgba(239, 68, 68, 0.28);
    color: var(--red);
    background: rgba(239, 68, 68, 0.1);
    box-shadow: var(--red-glow);
}

.feature-card-grid,
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.services-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.feature-card,
.service-card {
    min-height: 285px;
}

.authority-hero {
    min-height: calc(78vh - var(--nav-height));
}

.authority-hero-card {
    min-height: 360px;
}

.authority-hero-card p {
    color: var(--muted);
}

.authority-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.authority-panel {
    padding: 30px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.035)),
        rgba(255, 255, 255, 0.04);
    box-shadow: var(--card-shadow);
}

.authority-panel-wide {
    grid-column: 1 / -1;
}

.authority-panel h2 {
    margin-bottom: 14px;
    font-size: var(--h3);
}

.authority-panel p:last-child,
.authority-list:last-child {
    margin-bottom: 0;
}

.authority-list {
    display: grid;
    gap: 10px;
    padding-left: 20px;
    color: var(--muted);
}

.authority-link-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.authority-link-list a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(134, 217, 193, 0.24);
    border-radius: 999px;
    color: var(--text);
    background: rgba(134, 217, 193, 0.08);
}

.author-profile-card {
    min-height: 390px;
}

.author-profile-card img {
    width: min(240px, 86%);
    height: auto;
    margin-bottom: 22px;
}

.author-profile-card a {
    color: var(--green);
    font-weight: 800;
}

.compact-process {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-visual-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.mini-service-card {
    min-height: 178px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 26px;
}

.mini-service-card i {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(134, 217, 193, 0.3);
    border-radius: 18px;
    color: var(--green);
    background: rgba(134, 217, 193, 0.1);
    box-shadow: var(--green-glow);
    font-size: 1.2rem;
}

.mini-service-card.red i {
    border-color: rgba(239, 68, 68, 0.28);
    color: var(--red);
    background: rgba(239, 68, 68, 0.1);
    box-shadow: var(--red-glow);
}

.mini-service-card span {
    color: var(--text);
    font-size: var(--h4);
    font-weight: 850;
}

.service-showcase {
    background:
        radial-gradient(circle at 86% 18%, rgba(134, 217, 193, 0.13), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent);
}

.work-list {
    display: grid;
    gap: 16px;
    margin-top: 34px;
}

.work-list article {
    padding: 24px;
}

.work-list span,
.value-card span {
    display: inline-flex;
    margin-bottom: 18px;
    color: var(--green);
    font-size: var(--text-xs);
    font-weight: 900;
    letter-spacing: 0;
}

.industries-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.industry-card {
    min-height: 164px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px;
}

.industry-card i {
    color: var(--green);
    font-size: 1.45rem;
    text-shadow: 0 0 22px rgba(134, 217, 193, 0.26);
}

.industry-card h3 {
    margin-bottom: 0;
    font-size: var(--h4);
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.page-cta {
    position: relative;
    overflow: hidden;
    padding: 58px;
    text-align: center;
}

.page-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 10%, rgba(134, 217, 193, 0.22), transparent 30%),
        radial-gradient(circle at 86% 80%, rgba(239, 68, 68, 0.14), transparent 28%);
}

.page-cta > * {
    position: relative;
    z-index: 1;
}

.page-cta .section-tag {
    margin-right: auto;
    margin-left: auto;
}

.page-cta h2 {
    max-width: 860px;
    margin: 0 auto 18px;
    font-size: var(--h2);
    font-weight: 850;
}

.page-cta p {
    max-width: 720px;
    margin: 0 auto 30px;
    color: var(--muted);
    font-size: var(--text-md);
}

.page-cta-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
}

.page-pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
    align-items: stretch;
    gap: 24px;
}

.page-pricing-grid .price-card {
    min-height: 690px;
}

/* =========================
   AI Visibility Audit Page
========================= */

.visibility-audit-page {
    color: #101513;
    background: #ffffff;
}

.visibility-audit-page::before,
.visibility-audit-page::after {
    display: none;
}

.visibility-audit-page main {
    background: #ffffff;
}

.audit-reference-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 0;
    background: #ffffff;
}

.audit-reference-section::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 0;
    height: clamp(520px, 54vw, 660px);
    background:
        linear-gradient(135deg, rgba(149, 230, 208, 0.08), transparent 42%),
        #10231f;
}

.audit-reference-section::after {
    content: "";
    position: absolute;
    top: clamp(402px, 35vw, 520px);
    left: -10%;
    z-index: 0;
    width: 120%;
    height: clamp(210px, 19vw, 280px);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    background: #ffffff;
    transform: rotate(3deg);
    transform-origin: left center;
}

.audit-reference-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 430px);
    grid-template-areas:
        "copy form"
        "lower form";
    align-items: start;
    column-gap: clamp(46px, 6vw, 76px);
    min-height: 860px;
    padding: clamp(82px, 8vw, 122px) 0 clamp(78px, 8vw, 112px);
}

.audit-hero-copy {
    grid-area: copy;
    max-width: 760px;
    min-height: clamp(340px, 36vw, 430px);
}

.audit-kicker {
    margin: 0 0 18px;
    color: #95E6D0;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.audit-hero-copy h1 {
    max-width: 820px;
    margin: 0 0 24px;
    color: #ffffff;
    font-size: clamp(3.05rem, 4.9vw, 4.95rem);
    font-weight: 850;
    line-height: 1.02;
    letter-spacing: 0;
}

.audit-hero-copy p {
    max-width: 670px;
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(1.08rem, 1.35vw, 1.22rem);
    line-height: 1.68;
}

.audit-lower-content {
    grid-area: lower;
    max-width: 680px;
    padding-top: clamp(46px, 6vw, 84px);
}

.audit-lower-content > p {
    margin: 0 0 34px;
    color: #25312d;
    font-size: clamp(1.08rem, 1.45vw, 1.24rem);
    line-height: 1.68;
}

.audit-lower-content h2 {
    margin: 0 0 24px;
    color: #101513;
    font-size: clamp(1.35rem, 2.3vw, 2rem);
    line-height: 1.18;
}

.audit-benefit-list {
    display: grid;
    gap: 18px;
    margin: 0;
    padding: 0;
    color: #25312d;
    font-size: clamp(1.02rem, 1.35vw, 1.18rem);
    line-height: 1.5;
    list-style: none;
}

.audit-benefit-list li {
    position: relative;
    padding-left: 38px;
}

.audit-benefit-list li::before {
    content: "\f00c";
    position: absolute;
    top: 0.12em;
    left: 0;
    color: #55C8AE;
    font-family: "Font Awesome 6 Free";
    font-size: 1rem;
    font-weight: 900;
}

.audit-hero-image {
    position: absolute;
    top: clamp(238px, 22vw, 300px);
    right: 22px;
    z-index: 2;
    width: clamp(132px, 13vw, 178px);
    height: clamp(132px, 13vw, 178px);
    margin: 0;
    border-radius: 50%;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18);
}

.audit-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 72% 48%;
    border: 6px solid rgba(255, 255, 255, 0.86);
    border-radius: inherit;
}

.audit-form-card {
    grid-area: form;
    z-index: 3;
    width: 100%;
    margin-top: clamp(226px, 22vw, 286px);
    padding: clamp(28px, 2.6vw, 36px);
    border: 1px solid #e1e8e5;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(16, 21, 19, 0.16);
}

.audit-form-header {
    margin-bottom: 22px;
}

.audit-form-header h2 {
    margin: 0;
    color: #14221e;
    font-size: clamp(1.9rem, 2.7vw, 2.35rem);
    line-height: 1.08;
}

.audit-form-header p {
    margin: 9px 0 0;
    color: #44514d;
    font-size: 1rem;
    line-height: 1.55;
}

.audit-form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.audit-field {
    display: grid;
    gap: 7px;
}

.audit-field-wide {
    grid-column: 1 / -1;
}

.audit-field span {
    color: #17211e;
    font-size: 0.9rem;
    font-weight: 850;
}

.audit-field strong {
    color: #178f77;
}

.audit-field input,
.audit-field select,
.audit-field textarea {
    width: 100%;
    min-height: 52px;
    padding: 13px 16px;
    border: 1px solid #d8e0dd;
    border-radius: 5px;
    color: #101513;
    background: #fbfcfb;
    outline: 0;
    transition: border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);
}

.audit-field textarea {
    resize: vertical;
}

.audit-field input:focus,
.audit-field select:focus,
.audit-field textarea:focus {
    border-color: #55C8AE;
    box-shadow: 0 0 0 4px rgba(85, 200, 174, 0.14);
}

.audit-field small {
    display: none;
    min-height: 0;
    color: #b42318;
    font-size: 0.78rem;
    line-height: 1.4;
}

.audit-field.has-error small {
    display: block;
    min-height: 18px;
}

.audit-field.has-error input,
.audit-field.has-error select,
.audit-field.has-error textarea {
    border-color: #ef4444;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.08);
}

.audit-form-footer {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.audit-submit-btn {
    width: 100%;
    min-height: 62px;
    justify-content: center;
    gap: 10px;
    border-radius: 5px;
    box-shadow: 0 14px 30px rgba(85, 200, 174, 0.26);
    text-transform: none;
}

.audit-submit-btn.is-loading i {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(8, 9, 8, 0.16);
    border-top-color: #080908;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
}

.audit-submit-btn.is-loading i::before {
    content: "";
}

[data-audit-status] {
    min-height: 24px;
    margin: 0;
    color: #5b6662;
    font-size: 0.92rem;
}

[data-audit-status][data-state="error"] {
    color: #b42318;
}

.audit-honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.audit-success {
    display: grid;
    justify-items: start;
    gap: 14px;
    padding: clamp(12px, 3vw, 22px);
}

.audit-success-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #0b4d41;
    background: #ddfaf2;
    animation: auditSuccessPop 0.42s var(--ease);
}

.audit-success h2 {
    margin: 0;
    color: #0b0f0e;
    font-size: clamp(2rem, 4vw, 2.8rem);
}

.audit-success p {
    margin: 0;
    color: #4d5b56;
}

.audit-success .primary-btn {
    margin-top: 8px;
}

@keyframes auditSuccessPop {
    0% {
        opacity: 0;
        transform: scale(0.74);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@media (min-width: 1181px) {
    .pricing-grid,
    .page-pricing-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .pricing-grid > .price-card,
    .page-pricing-grid > .price-card {
        grid-column: auto;
    }
}

@media (min-width: 993px) and (max-width: 1180px) {
    .page-pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.custom-price {
    min-height: 52px;
    align-items: center;
    font-size: clamp(2rem, 4vw, 2.35rem);
}

.pricing-score-card p {
    margin-bottom: 0;
    color: var(--muted);
}

.score-meter {
    height: 12px;
    overflow: hidden;
    margin-bottom: 22px;
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.08);
}

.score-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--green), var(--red));
    box-shadow: var(--green-glow);
}

.comparison-table-wrap {
    overflow-x: auto;
    padding: 12px;
}

.comparison-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.comparison-table th,
.comparison-table td {
    padding: 20px 18px;
    border-bottom: 1px solid var(--border);
    color: var(--muted);
    text-align: left;
    vertical-align: middle;
}

.comparison-table thead th {
    color: var(--text);
    background: rgba(255, 255, 255, 0.045);
    font-size: var(--text-xs);
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.comparison-table thead th:first-child {
    border-radius: 16px 0 0 16px;
}

.comparison-table thead th:last-child {
    border-radius: 0 16px 16px 0;
}

.comparison-table tbody th {
    color: var(--text);
    font-weight: 850;
}

.comparison-status {
    display: inline-grid;
    min-width: 28px;
    min-height: 28px;
    place-items: center;
    border-radius: 50%;
    font-weight: 950;
    line-height: 1;
}

.comparison-status.included {
    color: var(--green);
    background: rgba(149, 230, 208, 0.12);
}

.comparison-status.not-included {
    color: rgba(255, 255, 255, 0.38);
    background: rgba(255, 255, 255, 0.055);
}

.comparison-table td i {
    color: var(--green);
}

.comparison-table tbody tr:last-child th,
.comparison-table tbody tr:last-child td {
    border-bottom: 0;
}

.contact-page-layout {
    grid-template-columns: minmax(320px, 0.85fr) minmax(0, 1.15fr);
    align-items: stretch;
}

.contact-panel {
    display: flex;
    flex-direction: column;
    padding: 34px;
}

.business-info-grid {
    display: grid;
    gap: 16px;
    margin-top: auto;
}

.business-info-grid .info-card {
    padding: 22px;
}

.business-info-grid .icon {
    color: var(--green);
    font-size: 1rem;
}

.contact-form-expanded {
    gap: 18px;
    padding: 34px;
}

.contact-form-expanded label {
    display: grid;
    gap: 9px;
}

.contact-form-expanded label span {
    color: var(--text);
    font-size: var(--text-sm);
    font-weight: 850;
}

.map-layout {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
}

.map-placeholder {
    position: relative;
    min-height: 440px;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(134, 217, 193, 0.13), transparent 36%),
        linear-gradient(315deg, rgba(239, 68, 68, 0.12), transparent 34%),
        rgba(255, 255, 255, 0.045);
}

.map-grid-lines {
    position: absolute;
    inset: 0;
    opacity: 0.42;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.09) 1px, transparent 1px);
    background-size: 48px 48px;
    transform: rotate(-2deg) scale(1.06);
}

.map-pin {
    position: absolute;
    left: 50%;
    top: 50%;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border: 1px solid rgba(134, 217, 193, 0.34);
    border-radius: var(--radius-pill);
    color: var(--text);
    background: rgba(5, 5, 5, 0.76);
    box-shadow: var(--green-glow), var(--shadow-soft);
    transform: translate(-50%, -50%);
}

.map-pin i {
    color: var(--red);
}

.contact-status {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    color: var(--muted);
    background: rgba(255, 255, 255, 0.055);
}

.contact-status span {
    width: 12px;
    height: 12px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 22px rgba(134, 217, 193, 0.62);
}

/* =========================
   Footer
========================= */

.footer {
    padding: 76px 0 0;
    border-top: 1px solid var(--border);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015)),
        rgba(5, 5, 5, 0.82);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.footer-container {
    width: min(calc(100% - 40px), var(--container));
    display: grid;
    grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr));
    gap: 36px;
    margin: 0 auto;
}

.footer-brand h2 {
    margin-bottom: 12px;
    font-size: var(--h3);
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    width: min(218px, 100%);
    margin-bottom: 14px;
}

.footer-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.footer-brand p,
.footer-links p {
    color: var(--muted);
}

.footer-links h3 {
    margin-bottom: 16px;
    color: var(--text);
    font-size: var(--h4);
}

.footer-links a {
    display: block;
    margin-bottom: 10px;
    color: var(--muted);
    transition: color var(--duration) var(--ease), transform var(--duration) var(--ease);
}

.footer-links a:hover {
    color: var(--green);
    transform: translateX(4px);
}

.footer-links p {
    margin-bottom: 10px;
}

.social-links {
    display: flex;
    gap: 12px;
    margin-top: 22px;
}

.social-links a {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--text);
    background: rgba(255, 255, 255, 0.05);
    transition: transform var(--duration) var(--ease), border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);
}

.social-links a:hover {
    border-color: rgba(134, 217, 193, 0.36);
    box-shadow: var(--green-glow);
    transform: translateY(-3px);
}

.footer-bottom {
    margin-top: 56px;
    padding: 22px 20px;
    border-top: 1px solid var(--border);
    text-align: center;
}

.footer-bottom p {
    margin-bottom: 0;
    color: var(--muted-soft);
}

/* =========================
   Premium Typography System
========================= */

section {
    padding: var(--space-8) 0;
}

.section-header .section-tag,
.problem-header .section-tag,
.solution-header .section-tag,
.process-header .section-tag,
.insights-header .section-tag,
.page-hero .section-tag,
.story-content .section-tag,
.showcase-content .section-tag,
.map-copy .section-tag,
.contact-panel .section-tag,
.page-cta .section-tag {
    margin-bottom: var(--space-2);
}

.section-header h2,
.problem-header h2,
.solution-header h2,
.process-header h2,
.insights-header h2,
.testimonial-title,
.billboard-content h2,
.build-left h2,
.results-left h2,
.why-left h2,
.story-content h2,
.showcase-content h2,
.map-copy h2,
.contact-panel h2,
.page-cta h2 {
    font-size: var(--h2);
    font-weight: 850;
    line-height: 1.12;
}

.section-header p,
.problem-header p,
.solution-header p,
.process-header p,
.insights-header p,
.testimonial-subtitle,
.billboard-content p,
.build-left p,
.results-left p,
.why-left p,
.story-content p,
.showcase-content p,
.map-copy p,
.contact-panel p,
.page-cta p {
    font-size: var(--text-md);
    line-height: 1.72;
}

.problem-card,
.framework-card,
.timeline-content,
.build-item,
.case-left,
.case-right,
.testimonial-card,
.process-step,
.price-card,
.faq-item,
.info-card,
.contact-form,
.mission-card,
.feature-card,
.service-card,
.work-list article,
.industry-card,
.value-card,
.contact-panel {
    border-radius: var(--radius);
}

.problem-card,
.framework-card,
.timeline-content,
.build-item,
.case-left,
.case-right,
.testimonial-card,
.process-step,
.price-card,
.contact-form,
.mission-card,
.feature-card,
.service-card,
.work-list article,
.value-card,
.contact-panel {
    padding: var(--space-4);
}

.industry-card,
.info-card,
.before,
.after,
.case-results div {
    padding: var(--space-3);
}

.problem-card h3,
.framework-card h3,
.timeline-content h3,
.build-item h3,
.case-left h3,
.case-right h3,
.process-step h3,
.price-card h3,
.info-card h3,
.mission-card h3,
.feature-card h3,
.service-card h3,
.work-list h3,
.industry-card h3,
.value-card h3 {
    margin-bottom: var(--space-2);
    font-size: var(--h4);
    font-weight: 800;
    line-height: 1.18;
}

.timeline-content h3,
.build-item h3,
.case-left h3,
.case-right h3,
.price-card h3,
.work-list h3 {
    font-size: var(--h3);
}

.pricing-grid > .price-card,
.page-pricing-grid > .price-card {
    padding: 1px;
    border-radius: 26px;
}

.pricing-grid > .price-card h3,
.page-pricing-grid > .price-card h3 {
    margin-bottom: 18px;
    font-size: clamp(1.58rem, 2.2vw, 2.18rem);
    font-weight: 900;
    line-height: 1.08;
}

.problem-card p,
.framework-card p,
.timeline-content p,
.build-item p,
.case-left p,
.case-right p,
.testimonial-text,
.process-step p,
.plan-desc,
.price-card li,
.faq-answer p,
.info-card p,
.mission-card p,
.feature-card p,
.service-card p,
.work-list p,
.industry-card p,
.value-card p,
.comparison-row,
.comparison-table th,
.comparison-table td,
.footer-brand p,
.footer-links p,
.footer-links a {
    font-size: var(--text-sm);
    line-height: 1.65;
}

.hero p,
.page-hero-content p {
    max-width: 64ch;
}

.hero h1,
.page-hero-content h1 {
    max-width: 760px;
    font-size: var(--h1);
    font-weight: 850;
    line-height: 1.06;
}

.page-hero-content h1 {
    max-width: 780px;
}

.hero-buttons {
    gap: var(--space-2);
}

.before ul,
.after ul,
.price-card ul {
    display: grid;
    gap: 10px;
    margin: 0 0 var(--space-4);
    padding: 0;
    list-style: none;
}

.pricing-grid > .price-card .plan-feature-list,
.page-pricing-grid > .price-card .plan-feature-list {
    gap: 13px;
    margin: 0 0 30px;
    padding: 24px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.11);
}

.before li,
.after li,
.price-card li {
    margin: 0;
}

.footer-links a {
    margin-bottom: 8px;
}

/* =========================
   Back To Top
========================= */

#backToTop {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(134, 217, 193, 0.4);
    border-radius: 50%;
    color: var(--text);
    background: linear-gradient(135deg, rgba(134, 217, 193, 0.95), rgba(79, 191, 168, 0.88));
    box-shadow: var(--green-glow);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transform: translateY(18px);
    transition: opacity var(--duration) var(--ease), transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);
}

#backToTop.show {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

#backToTop:hover {
    box-shadow: 0 20px 58px rgba(134, 217, 193, 0.42), var(--green-glow);
}

/* =========================
   Responsive
========================= */

@media (max-width: 1100px) {
    .nav-links {
        gap: 18px;
    }

    .problem-grid,
    .why-card-grid,
    .pricing-grid,
    .results-right {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .why-card-grid .why-card:nth-child(3) {
        grid-column: 1 / -1;
        width: min(100%, calc((100% - 36px) / 2));
        justify-self: center;
    }

    .footer-container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 992px) {
    section {
        padding: 88px 0;
    }

    .hero {
        padding: 100px 0 92px;
    }

    .hero-container,
    .billboard-grid,
    .results-layout,
    .case-card,
    .why-layout,
    .blog-layout,
    .contact-wrapper {
        grid-template-columns: 1fr;
    }

    .results-layout {
        grid-template-areas:
            "copy"
            "image"
            "cards";
    }

    .results-image {
        min-height: 360px;
    }

    .hero-container {
        justify-items: center;
        min-height: auto;
        text-align: center;
    }

    .hero-content {
        width: min(100%, 720px);
        text-align: center;
        background: rgba(5, 5, 5, 0.24);
    }

    .hero p {
        margin-right: auto;
        margin-left: auto;
    }

    .hero-buttons,
    .hero-stats {
        justify-content: center;
        flex-wrap: wrap;
    }

    .dashboard-card {
        transform: none;
    }

    .why-section {
        padding: 104px 0 96px;
    }

    .why-card-grid {
        gap: 28px;
        margin-top: 54px;
    }

    .why-card {
        min-height: 386px;
        padding: 40px 34px 38px;
    }

    .why-icon {
        width: 98px;
        height: 98px;
        font-size: 2.1rem;
    }

    .build-layout {
        display: block;
    }

    .build-scroll-shell {
        position: relative;
    }

    .build-scrollbar {
        position: relative;
        z-index: 4;
        display: block;
        width: calc(100% - 84px);
        max-width: 100%;
        height: 6px;
        margin-top: -6px;
        overflow: hidden;
        border-radius: var(--radius-pill);
        background: rgba(255, 255, 255, 0.12);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
    }

    .build-scrollbar span {
        display: block;
        width: 34%;
        height: 100%;
        border-radius: inherit;
        background: #16A34A;
        box-shadow: 0 0 18px rgba(22, 163, 74, 0.28);
        transform: translateX(0);
        transition: background 0.2s var(--ease), transform 0.12s linear;
    }

    .build-swipe-hint {
        position: absolute;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        left: 2px;
        bottom: 18px;
        z-index: 4;
        padding: 2px 9px;
        border: 1px solid rgba(22, 163, 74, 0.22);
        border-radius: var(--radius-pill);
        color: rgba(255, 255, 255, 0.78);
        background: rgba(8, 9, 8, 0.58);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
        backdrop-filter: blur(12px);
        font-size: 0.72rem;
        font-weight: 750;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        pointer-events: none;
        animation: buildSwipeHint 2.8s var(--ease) infinite;
        transition: opacity 0.35s var(--ease), transform 0.35s var(--ease), visibility 0.35s var(--ease);
    }

    .build-scroll-shell.has-build-scrolled .build-swipe-hint {
        opacity: 0;
        visibility: hidden;
        transform: translateX(8px);
        animation: none;
    }

    .build-left {
        position: relative;
        top: 0;
        margin-bottom: 60px;
    }

    .build-left h2 {
        font-size: var(--h2);
    }

    .build-right {
        display: flex;
        flex-direction: row;
        gap: 22px;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 24px;
        scroll-snap-type: x mandatory;
        scrollbar-color: #16A34A rgba(255, 255, 255, 0.14);
        scrollbar-width: thin;
        -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 46px), rgba(0, 0, 0, 0.12) 100%);
        mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 46px), rgba(0, 0, 0, 0.12) 100%);
        -webkit-overflow-scrolling: touch;
    }

    .build-right::-webkit-scrollbar {
        height: 6px;
    }

    .build-right::-webkit-scrollbar-track {
        border-radius: var(--radius-pill);
        background: rgba(255, 255, 255, 0.12);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
    }

    .build-right::-webkit-scrollbar-thumb {
        border-radius: var(--radius-pill);
        background: #16A34A;
    }

    .build-right::-webkit-scrollbar-thumb:hover {
        background: #22c55e;
    }

    .build-item {
        flex: 0 0 88vw;
        min-width: 88vw;
        min-height: 300px;
        padding: 35px;
        scroll-snap-align: start;
    }

    .build-number {
        font-size: clamp(2.25rem, 4vw, 3rem);
    }

    .build-item h3 {
        font-size: var(--h3);
    }

    .testimonial-grid,
    .process-timeline {
        grid-template-columns: 1fr;
    }

    .timeline-line {
        display: none;
    }

    .case-results,
    .before-after,
    .solution-list {
        grid-template-columns: 1fr;
    }

    .small-post {
        align-items: flex-start;
        flex-direction: column;
    }

    .small-post img {
        width: 100%;
        height: 220px;
    }
}

@keyframes buildSwipeHint {
    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(6px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .build-swipe-hint {
        animation: none;
    }
}

@media (max-width: 768px) {
    .container,
    .faq > .section-header,
    .faq-container,
    .contact > .section-header,
    .contact-wrapper,
    .footer-container {
        width: min(calc(100% - 32px), var(--container));
    }

    .nav-container {
        min-height: 70px;
    }

    .nav-links,
    .navbar .cta-btn {
        display: none;
    }

    .mobile-menu-toggle {
        display: flex;
    }

    .logo {
        width: 154px;
    }

    .hero {
        min-height: auto;
        padding-top: 88px;
    }

    .hero::after {
        background:
            linear-gradient(180deg, rgba(5, 5, 5, 0.48), rgba(5, 5, 5, 0.38)),
            radial-gradient(circle at 50% 18%, rgba(149, 230, 208, 0.18), transparent 34%),
            rgba(5, 5, 5, 0.16);
    }

    .hero-content {
        padding: 28px 18px;
    }

    .hero h1 {
        font-size: var(--h1);
    }

    .hero-stats {
        gap: 24px;
    }

    .logo-row,
    .problem-grid,
    .framework-grid,
    .results-right,
    .pricing-grid,
    .input-group,
    .footer-container {
        grid-template-columns: 1fr;
    }

    .comparison {
        padding: 18px;
    }

    .comparison-topline,
    .comparison-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .comparison-topline strong {
        grid-column: auto;
        justify-self: start;
    }

    .comparison-head {
        display: none;
    }

    .billboard-grid,
    .serve-cta,
    .case-cta {
        padding: 28px;
    }

    .timeline::before {
        display: none;
    }

    .timeline-item {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .timeline-number {
        width: 58px;
        height: 58px;
    }

    .comparison-row {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .price-card.featured {
        transform: none;
    }

    .price-card.featured:hover {
        transform: translateY(-7px);
    }

    .price-card-top {
        min-height: 0;
    }

    .footer-container {
        text-align: center;
    }

    .social-links {
        justify-content: center;
    }
}

@media (max-width: 520px) {
    section {
        padding: 76px 0;
    }

    .hero h1 {
        font-size: 2.55rem;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .primary-btn,
    .secondary-btn,
    .cta-btn,
    .build-btn,
    .billboard-btn,
    .pricing-btn,
    .btn-primary,
    .contact-form button {
        width: 100%;
    }

    .hero-stats {
        display: grid;
        grid-template-columns: 1fr;
    }

    .why-section {
        padding: 84px 0;
    }

    .why-badge {
        min-height: 38px;
        padding: 8px 20px;
        font-size: 0.76rem;
    }

    .why-header p {
        font-size: 1rem;
    }

    .why-card-grid {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-top: 40px;
    }

    .why-card-grid .why-card:nth-child(3) {
        grid-column: auto;
        width: 100%;
    }

    .why-card {
        min-height: 0;
        padding: 34px 28px 36px;
        border-radius: 22px;
    }

    .why-card::before {
        border-radius: 21px;
    }

    .why-card-number {
        top: 28px;
        right: 24px;
        font-size: 4.4rem;
    }

    .why-icon {
        width: 86px;
        height: 86px;
        margin-bottom: 22px;
        font-size: 1.9rem;
    }

    .why-card h3 {
        max-width: 16ch;
        font-size: 1.45rem;
    }

    .why-trust {
        align-items: flex-start;
        gap: 12px;
        margin-top: 34px;
        text-align: left;
    }

    .why-trust p {
        line-height: 1.55;
    }

    .results-image {
        min-height: 280px;
    }

    .section-header h2,
    .problem-header h2,
    .solution-header h2,
    .process-header h2,
    .insights-header h2,
    .testimonial-title,
    .build-left h2,
    .results-left h2,
    .why-header h2,
    .why-left h2 {
        font-size: 2.25rem;
    }

    .dashboard-card,
    .problem-card,
    .framework-card,
    .timeline-content,
    .build-item,
    .case-left,
    .case-right,
    .testimonial-card,
    .process-step,
    .price-card,
    .contact-form,
    .info-card {
        padding: 24px;
    }

    .pricing-grid > .price-card,
    .page-pricing-grid > .price-card {
        padding: 1px;
    }

    .build-item {
        flex-basis: 88vw;
        min-width: 88vw;
    }

    .billing-toggle {
        flex-wrap: wrap;
        justify-content: center;
        border-radius: var(--radius);
    }
}

@media (max-width: 1180px) {
    .services-grid,
    .industries-grid,
    .values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .audit-reference-layout {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 410px);
        column-gap: 42px;
    }
}

@media (max-width: 992px) {
    .page-hero {
        min-height: auto;
        padding: 100px 0 92px;
    }

    .page-hero-container,
    .story-layout,
    .showcase-layout,
    .map-layout,
    .contact-page-layout {
        grid-template-columns: 1fr;
    }

    .page-hero-container,
    .page-hero-content {
        text-align: center;
    }

    .page-hero-content p {
        margin-right: auto;
        margin-left: auto;
    }

    .page-hero-card {
        min-height: 360px;
    }

    .mission-grid,
    .feature-card-grid,
    .authority-layout,
    .page-pricing-grid,
    .compact-process {
        grid-template-columns: 1fr;
    }

    .page-pricing-grid .price-card {
        min-height: auto;
    }

    .story-media img,
    .showcase-media img {
        min-height: 360px;
    }

    .contact-panel {
        min-height: auto;
    }

    .audit-reference-section::before {
        height: 540px;
    }

    .audit-reference-section::after {
        top: 398px;
        left: -36%;
        width: 170%;
        height: 210px;
        transform: rotate(4deg);
    }

    .audit-reference-layout {
        grid-template-columns: 1fr;
        grid-template-areas:
            "copy"
            "lower"
            "form";
        min-height: auto;
        padding: 70px 0 84px;
    }

    .audit-hero-copy {
        max-width: 760px;
        min-height: auto;
        padding-bottom: 130px;
    }

    .audit-lower-content {
        padding-top: 72px;
    }

    .audit-hero-image {
        top: 320px;
        right: 24px;
        width: 136px;
        height: 136px;
    }

    .audit-form-card {
        max-width: 640px;
        margin-top: 42px;
    }
}

@media (max-width: 768px) {
    .page-hero-content h1 {
        font-size: 2.75rem;
    }

    .page-hero-card,
    .mission-card,
    .feature-card,
    .service-card,
    .value-card,
    .contact-panel,
    .contact-form-expanded,
    .page-cta {
        padding: 26px;
    }

    .service-visual-grid,
    .services-grid,
    .industries-grid,
    .audit-form-grid,
    .values-grid {
        grid-template-columns: 1fr;
    }

    .audit-reference-section::before {
        height: 510px;
    }

    .audit-reference-section::after {
        top: 386px;
    }

    .audit-hero-copy h1 {
        font-size: clamp(2.65rem, 12vw, 4rem);
    }

    .audit-hero-copy {
        padding-bottom: 116px;
    }

    .audit-form-card {
        padding: 24px;
    }

    .mini-service-card,
    .industry-card {
        min-height: 140px;
    }

    .story-media img,
    .showcase-media img {
        min-height: 300px;
    }

    .map-placeholder {
        min-height: 340px;
    }

    .comparison-table-wrap {
        margin-inline: -6px;
    }

    .contact-status {
        align-items: flex-start;
    }
}

@media (max-width: 520px) {
    .page-hero {
        padding-top: 86px;
    }

    .page-hero-content h1 {
        font-size: 2.38rem;
    }

    .page-hero-content p,
    .page-cta p {
        font-size: 1rem;
    }

    .page-cta-actions {
        flex-direction: column;
    }

    .page-hero-card {
        min-height: 320px;
    }

    .audit-reference-layout {
        gap: 24px;
        padding-top: 52px;
        padding-bottom: 66px;
    }

    .audit-reference-section::before {
        height: 500px;
    }

    .audit-reference-section::after {
        top: 372px;
        left: -60%;
        width: 220%;
    }

    .audit-hero-copy h1 {
        font-size: 2.42rem;
    }

    .audit-hero-copy p,
    .audit-form-header p,
    .audit-lower-content > p {
        margin-bottom: 0;
        font-size: 1rem;
        line-height: 1.62;
    }

    .audit-lower-content {
        padding-top: 62px;
    }

    .audit-hero-copy {
        padding-bottom: 108px;
    }

    .audit-hero-image {
        display: none;
    }

    .audit-form-card {
        padding: 20px;
    }

    .audit-form-header h2 {
        font-size: 1.9rem;
    }

    .signal-list div,
    .contact-status {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-cta h2,
    .story-content h2,
    .showcase-content h2,
    .map-copy h2,
    .contact-panel h2 {
        font-size: 2.12rem;
    }

    .map-pin {
        width: calc(100% - 40px);
        justify-content: center;
        text-align: center;
    }

    .comparison-table {
        min-width: 0;
    }

    .comparison-table,
    .comparison-table thead,
    .comparison-table tbody,
    .comparison-table tr,
    .comparison-table th,
    .comparison-table td {
        display: block;
    }

    .comparison-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .comparison-table tbody tr {
        padding: 16px;
        border: 1px solid var(--border);
        border-radius: var(--radius-sm);
        background: rgba(255, 255, 255, 0.04);
    }

    .comparison-table tbody tr + tr {
        margin-top: 12px;
    }

    .comparison-table tbody th,
    .comparison-table tbody td {
        padding: 0;
        border: 0;
    }

    .comparison-table tbody th {
        margin-bottom: 12px;
    }

    .comparison-table tbody td {
        display: flex;
        justify-content: space-between;
        gap: 14px;
        padding-top: 10px;
        border-top: 1px solid var(--border);
    }

    .comparison-table tbody td::before {
        content: attr(data-label);
        color: var(--text);
        font-weight: 850;
    }
}

@media (min-width: 769px) {
    .build-layout {
        display: grid;
        grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
        align-items: flex-start;
        gap: 80px;
    }

    .build-left {
        position: sticky;
        top: 120px;
        margin-bottom: 0;
    }

    .build-right {
        display: flex;
        flex-direction: column;
        gap: 45px;
        overflow: visible;
        padding-bottom: 0;
        scroll-snap-type: none;
    }

    .build-item {
        flex: initial;
        min-width: 0;
        min-height: 320px;
        scroll-snap-align: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* =========================
   Authentication & App
========================= */

.fa-user-plus::before { content: "+"; }
.fa-right-to-bracket::before { content: "\2192"; }
.fa-lock::before,
.fa-key::before { content: "\25CF"; }
.fa-shield-halved::before { content: "\25C8"; }
.fa-circle-check::before { content: "\2713"; }
.fa-clock::before { content: "\25F7"; }
.fa-user::before { content: "\25CB"; }
.fa-building::before { content: "\25A4"; }
.fa-bell::before { content: "!"; }
.fa-file-invoice-dollar::before,
.fa-credit-card::before { content: "$"; }
.fa-paypal::before { content: "P"; }
.fa-calendar-check::before { content: "\2713"; }
.fa-gear::before { content: "\2699"; }
.fa-arrow-right-from-bracket::before { content: "\2192"; }
.fa-chart-pie::before { content: "\25D4"; }
.fa-folder-open::before { content: "\25A1"; }
.fa-upload::before { content: "\2191"; }
.fa-list-check::before { content: "\2611"; }
.fa-triangle-exclamation::before { content: "!"; }
.fa-spinner::before { content: "\25CC"; }

.auth-main {
    min-height: calc(100vh - var(--nav-height));
    display: grid;
    align-items: center;
    padding: 74px 0 92px;
}

.auth-shell {
    width: min(calc(100% - 40px), 1120px);
    display: grid;
    grid-template-columns: minmax(0, 0.86fr) minmax(420px, 0.72fr);
    gap: var(--space-6);
    align-items: center;
    margin: 0 auto;
}

.auth-copy {
    max-width: 650px;
}

.auth-copy h1 {
    margin-bottom: var(--space-3);
    font-size: clamp(2.45rem, 4.8vw, 4rem);
}

.auth-copy p {
    margin-bottom: var(--space-4);
    font-size: var(--text-lg);
}

.auth-benefits {
    display: grid;
    gap: 14px;
    margin-top: var(--space-4);
    padding: 0;
    list-style: none;
}

.auth-benefits li {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--muted);
    font-weight: 700;
}

.auth-benefits i,
.app-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(134, 217, 193, 0.26);
    border-radius: 12px;
    color: var(--green);
    background: rgba(134, 217, 193, 0.08);
    box-shadow: 0 0 22px rgba(134, 217, 193, 0.1);
    font-size: 0.92rem;
}

.auth-card,
.app-card,
.quick-action-card,
.activity-item,
.notification-item,
.app-sidebar,
.app-topbar {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.035)),
        var(--surface);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.auth-card {
    padding: var(--space-4);
}

.auth-card-header {
    margin-bottom: var(--space-4);
}

.auth-card-header h2 {
    margin-bottom: 8px;
    font-size: clamp(1.65rem, 3vw, 2.2rem);
}

.auth-card-header p,
.auth-footer-note {
    margin-bottom: 0;
    color: var(--muted);
    font-size: var(--text-sm);
}

.auth-form {
    display: grid;
    gap: 16px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.form-field {
    display: grid;
    gap: 8px;
}

.form-field span,
.check-field span {
    color: var(--text);
    font-size: var(--text-sm);
    font-weight: 800;
}

.form-field input,
.form-field select,
.auth-form textarea {
    width: 100%;
    min-height: 54px;
    padding: 0 17px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    color: var(--text);
    background: rgba(255, 255, 255, 0.055);
    outline: none;
    transition:
        border-color var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease),
        background var(--duration) var(--ease);
}

.form-field select {
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--green) 50%),
        linear-gradient(135deg, var(--green) 50%, transparent 50%);
    background-position:
        calc(100% - 22px) 50%,
        calc(100% - 16px) 50%;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.form-field select option {
    color: #050505;
}

.auth-form textarea {
    min-height: 124px;
    padding: 16px 17px;
    resize: vertical;
}

.form-field input::placeholder,
.auth-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.42);
}

.form-field input:focus,
.form-field select:focus,
.auth-form textarea:focus {
    border-color: rgba(134, 217, 193, 0.45);
    background: rgba(255, 255, 255, 0.075);
    box-shadow: var(--green-glow);
}

.form-field.has-error input,
.form-field.has-error select,
.check-field.has-error {
    border-color: rgba(239, 68, 68, 0.62);
}

.field-error {
    min-height: 18px;
    color: #ff9d9d;
    font-size: 0.82rem;
    line-height: 1.4;
}

.check-field {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    color: var(--muted);
    font-size: var(--text-sm);
}

.check-field input {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin-top: 4px;
    accent-color: var(--green);
}

.form-row-between {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.inline-link {
    color: var(--green);
    font-size: var(--text-sm);
    font-weight: 850;
}

.inline-link:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.auth-divider {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    color: var(--muted-soft);
    font-size: var(--text-xs);
    font-weight: 850;
    text-transform: uppercase;
}

.auth-divider::before,
.auth-divider::after {
    content: "";
    height: 1px;
    background: var(--border);
}

.google-btn {
    width: 100%;
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-pill);
    color: var(--text);
    background: rgba(255, 255, 255, 0.055);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    cursor: pointer;
    font-size: var(--text-sm);
    font-weight: 850;
    transition:
        transform var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        background var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease);
}

.google-btn:hover {
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.09);
    box-shadow: var(--shadow-soft);
    transform: translateY(-3px);
}

.auth-form .primary-btn {
    width: 100%;
    border: 0;
}

.form-status {
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    color: var(--muted);
    background: rgba(255, 255, 255, 0.045);
    font-size: var(--text-sm);
}

.form-status[data-state="error"] {
    border-color: rgba(239, 68, 68, 0.34);
    color: #ffb6b6;
    background: rgba(239, 68, 68, 0.08);
}

.form-status[data-state="success"] {
    border-color: rgba(134, 217, 193, 0.34);
    color: var(--green);
    background: rgba(134, 217, 193, 0.08);
}

.loading-dot {
    width: 10px;
    height: 10px;
    display: inline-block;
    margin-right: 8px;
    border-radius: 50%;
    background: currentColor;
    animation: pulseGlow 1s var(--ease) infinite;
}

.verification-state {
    display: grid;
    gap: var(--space-3);
}

.verification-icon {
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(134, 217, 193, 0.32);
    border-radius: 22px;
    color: var(--green);
    background: rgba(134, 217, 193, 0.09);
    box-shadow: var(--green-glow);
    font-size: 1.6rem;
}

.app-body {
    min-height: 100vh;
}

.app-layout {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    display: grid;
    grid-template-columns: 286px minmax(0, 1fr);
    gap: var(--space-4);
    width: min(calc(100% - 40px), 1440px);
    margin: 0 auto;
    padding: var(--space-4) 0;
}

.app-sidebar {
    position: sticky;
    top: var(--space-4);
    align-self: start;
    display: grid;
    gap: var(--space-4);
    min-height: calc(100vh - 64px);
    padding: var(--space-3);
}

.app-logo {
    display: inline-flex;
    align-items: center;
    width: min(196px, 100%);
}

.app-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.app-user-chip {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.04);
}

.avatar,
.profile-photo {
    display: grid;
    place-items: center;
    border: 1px solid rgba(134, 217, 193, 0.32);
    border-radius: 50%;
    color: var(--green);
    background: rgba(134, 217, 193, 0.1);
    font-weight: 900;
}

.avatar {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
}

.app-user-chip strong {
    display: block;
    line-height: 1.25;
}

.app-user-chip small {
    color: var(--muted-soft);
}

.app-nav {
    display: grid;
    gap: 8px;
}

.app-nav a,
.logout-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    color: var(--muted);
    background: transparent;
    cursor: pointer;
    font-size: var(--text-sm);
    font-weight: 850;
    text-align: left;
    transition:
        color var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        background var(--duration) var(--ease),
        transform var(--duration) var(--ease);
}

.app-nav a:hover,
.app-nav a[aria-current="page"],
.logout-btn:hover {
    color: var(--text);
    border-color: rgba(134, 217, 193, 0.24);
    background: rgba(134, 217, 193, 0.08);
    transform: translateX(2px);
}

.logout-btn {
    width: 100%;
    margin-top: auto;
}

.app-main {
    display: grid;
    gap: var(--space-4);
}

.app-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-3);
}

.app-topbar h1 {
    margin-bottom: 8px;
    font-size: clamp(2rem, 4vw, 3.25rem);
}

.app-topbar p {
    margin-bottom: 0;
}

.app-topbar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
    gap: var(--space-4);
}

.stats-grid,
.quick-actions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
}

.app-card,
.quick-action-card {
    padding: var(--space-3);
}

.app-card h2,
.profile-section h2 {
    margin-bottom: 10px;
    font-size: 1.35rem;
}

.stat-value {
    margin: 8px 0 4px;
    color: var(--text);
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
}

.stat-label,
.app-meta {
    color: var(--muted-soft);
    font-size: var(--text-sm);
}

.plan-card {
    display: grid;
    gap: 16px;
    overflow: hidden;
}

.plan-progress {
    height: 10px;
    overflow: hidden;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.07);
}

.plan-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--green), var(--red));
}

.activity-list,
.notification-list {
    display: grid;
    gap: 12px;
}

.activity-item,
.notification-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    border-radius: var(--radius-sm);
    box-shadow: none;
}

.activity-item p,
.notification-item p {
    margin-bottom: 2px;
    color: var(--text);
    font-size: var(--text-sm);
    font-weight: 800;
}

.activity-item small,
.notification-item small {
    color: var(--muted-soft);
}

.quick-action-card {
    display: grid;
    gap: 14px;
    color: var(--text);
    transition:
        transform var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease),
        background var(--duration) var(--ease);
}

.quick-action-card:hover {
    border-color: rgba(134, 217, 193, 0.34);
    box-shadow: var(--shadow), var(--green-glow);
    transform: translateY(-5px);
}

.quick-action-card strong {
    font-size: 1.05rem;
    line-height: 1.25;
}

.quick-action-card span {
    color: var(--muted);
    font-size: var(--text-sm);
}

.empty-state,
.error-state,
.loading-state {
    padding: var(--space-3);
    border: 1px dashed var(--border-strong);
    border-radius: var(--radius);
    color: var(--muted);
    background: rgba(255, 255, 255, 0.035);
}

.error-state {
    border-color: rgba(239, 68, 68, 0.34);
    color: #ffb6b6;
    background: rgba(239, 68, 68, 0.08);
}

.profile-layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
    gap: var(--space-4);
}

.profile-photo-card {
    display: grid;
    gap: var(--space-3);
    align-content: start;
}

.profile-photo {
    width: 132px;
    height: 132px;
    background-size: cover;
    background-position: center;
    font-size: 2.1rem;
}

.profile-photo.has-photo {
    color: transparent;
}

.upload-control input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.profile-stack {
    display: grid;
    gap: var(--space-4);
}

.preference-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid var(--border);
}

.preference-row:last-of-type {
    border-bottom: 0;
}

.toggle {
    position: relative;
    width: 54px;
    height: 30px;
    flex: 0 0 54px;
}

.toggle input {
    opacity: 0;
}

.toggle span {
    position: absolute;
    inset: 0;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.12);
    transition: background var(--duration) var(--ease);
}

.toggle span::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--text);
    transition: transform var(--duration) var(--ease);
}

.toggle input:checked + span {
    background: var(--green-dark);
}

.toggle input:checked + span::before {
    transform: translateX(24px);
}

.payment-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
    gap: var(--space-4);
}

.payment-plan-grid,
.payment-method-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
}

.payment-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.payment-plan-card,
.payment-method-card {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.03)),
        var(--surface);
    box-shadow: var(--shadow-soft);
    transition:
        transform var(--duration) var(--ease),
        border-color var(--duration) var(--ease),
        box-shadow var(--duration) var(--ease),
        background var(--duration) var(--ease);
}

.payment-plan-card {
    position: relative;
    display: grid;
    min-height: 166px;
    padding: 20px;
    cursor: pointer;
}

.payment-plan-card input {
    position: absolute;
    inset: 18px 18px auto auto;
    width: 18px;
    height: 18px;
    accent-color: var(--green);
}

.payment-plan-card span,
.payment-method-card {
    display: grid;
    gap: 10px;
}

.payment-plan-card strong,
.payment-method-card h3 {
    margin: 0;
    color: var(--text);
    font-size: 1.1rem;
    line-height: 1.25;
}

.payment-plan-card small {
    color: var(--green);
    font-weight: 900;
}

.payment-plan-card em {
    color: var(--muted);
    font-style: normal;
    font-size: var(--text-sm);
}

.payment-plan-card:has(input:checked),
.payment-plan-card:hover,
.payment-method-card:hover {
    border-color: rgba(134, 217, 193, 0.34);
    background:
        linear-gradient(180deg, rgba(134, 217, 193, 0.1), rgba(255, 255, 255, 0.04)),
        var(--surface);
    box-shadow: var(--shadow), var(--green-glow);
    transform: translateY(-5px);
}

.payment-method-card {
    padding: var(--space-3);
}

.payment-method-card p {
    margin-bottom: 0;
    font-size: var(--text-sm);
}

.payment-method-card .primary-btn,
.payment-method-card .secondary-btn {
    width: 100%;
}

.single-payment-method {
    grid-template-columns: minmax(0, 1fr);
}

.paystack-method-card {
    min-height: 220px;
}

.billing-action-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: var(--space-3);
}

.billing-action-row .primary-btn,
.billing-action-row .secondary-btn {
    width: 100%;
}

.payment-history-item small {
    word-break: break-word;
}

/* =========================
   Checkout
========================= */

.checkout-main {
    position: relative;
    z-index: 1;
}

.checkout-hero {
    padding: 94px 0 42px;
    background:
        radial-gradient(circle at 16% 22%, rgba(149, 230, 208, 0.18), transparent 28%),
        radial-gradient(circle at 86% 22%, rgba(59, 130, 246, 0.14), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent);
}

.checkout-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr);
    gap: var(--space-5);
    align-items: end;
}

.checkout-copy h1,
.success-card h1 {
    max-width: 760px;
    margin-bottom: var(--space-3);
    font-size: var(--h1);
    line-height: 1.04;
}

.checkout-copy p {
    font-size: var(--text-lg);
}

.checkout-trust-strip {
    display: grid;
    gap: 12px;
    padding: var(--space-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.052)),
        var(--surface);
    box-shadow: var(--shadow-soft);
}

.checkout-trust-strip span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--muted);
    font-weight: 800;
}

.checkout-trust-strip i,
.success-icon {
    color: var(--green);
}

.checkout-section {
    padding-top: 42px;
}

.checkout-layout,
.success-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.48fr);
    gap: var(--space-4);
    align-items: start;
}

.checkout-stack {
    display: grid;
    gap: var(--space-4);
}

.checkout-panel,
.checkout-summary,
.success-card,
.success-next {
    border-color: rgba(255, 255, 255, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.052)),
        var(--surface);
}

.checkout-option-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: var(--space-3);
}

.checkout-feature-box {
    padding: var(--space-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: rgba(255, 255, 255, 0.055);
}

.checkout-feature-box h3 {
    margin-bottom: 6px;
    font-size: var(--h3);
}

.checkout-badge {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid rgba(149, 230, 208, 0.34);
    border-radius: var(--radius-pill);
    color: var(--green);
    background: rgba(149, 230, 208, 0.11);
    font-size: var(--text-sm);
    font-weight: 850;
}

.checkout-feature-list {
    display: grid;
    gap: 11px;
    padding: 0;
    margin: var(--space-3) 0 0;
    list-style: none;
}

.checkout-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--muted);
    font-size: var(--text-sm);
    line-height: 1.55;
}

.checkout-feature-list i {
    margin-top: 4px;
    color: var(--green);
}

.checkout-demo-box,
.secure-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-top: var(--space-3);
    padding: var(--space-3);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: rgba(255, 255, 255, 0.055);
}

.checkout-demo-box p,
.secure-note p {
    margin-bottom: 0;
    font-size: var(--text-sm);
}

.checkout-summary {
    position: sticky;
    top: calc(var(--nav-height) + 24px);
    display: grid;
    gap: 18px;
    padding: var(--space-4);
}

.checkout-summary h2 {
    margin-bottom: 0;
}

.summary-line,
.summary-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 0;
    border-top: 1px solid var(--border);
}

.summary-line span,
.summary-total span {
    color: var(--muted);
    font-size: var(--text-sm);
    font-weight: 800;
}

.summary-total strong {
    color: var(--green);
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    line-height: 1;
}

.checkout-review {
    border-color: var(--border);
    background: rgba(255, 255, 255, 0.055);
}

.checkout-submit,
.checkout-cancel {
    width: 100%;
}

.secure-note {
    align-items: flex-start;
    margin-top: 0;
}

.secure-note i {
    margin-top: 4px;
    color: var(--green);
}

.payment-success-section {
    min-height: calc(100vh - var(--nav-height));
    display: grid;
    align-items: center;
    padding: 96px 0;
    background:
        radial-gradient(circle at 18% 24%, rgba(149, 230, 208, 0.18), transparent 30%),
        radial-gradient(circle at 88% 78%, rgba(59, 130, 246, 0.12), transparent 28%);
}

.success-card {
    padding: var(--space-5);
}

.success-icon {
    width: 78px;
    height: 78px;
    display: grid;
    place-items: center;
    margin-bottom: var(--space-3);
    border: 1px solid rgba(149, 230, 208, 0.34);
    border-radius: 24px;
    background: rgba(149, 230, 208, 0.12);
    font-size: 1.8rem;
}

.success-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: var(--space-4) 0;
}

.success-summary div {
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.055);
}

.success-summary span {
    display: block;
    margin-bottom: 6px;
    color: var(--muted-soft);
    font-size: var(--text-xs);
    font-weight: 850;
}

.success-summary strong {
    color: var(--text);
    font-size: var(--text-md);
    word-break: break-word;
}

.payment-failed-section {
    background:
        radial-gradient(circle at 18% 24%, rgba(239, 68, 68, 0.14), transparent 30%),
        radial-gradient(circle at 88% 78%, rgba(149, 230, 208, 0.1), transparent 28%);
}

.failure-icon {
    color: var(--red);
    border-color: rgba(239, 68, 68, 0.34);
    background: rgba(239, 68, 68, 0.11);
}

/* =========================
   Visual Polish Refinements
========================= */

.auth-card,
.app-card,
.quick-action-card,
.activity-item,
.notification-item,
.app-sidebar,
.app-topbar,
.payment-plan-card,
.payment-method-card {
    border-color: rgba(255, 255, 255, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.052)),
        var(--surface);
    box-shadow: 0 14px 42px rgba(0, 0, 0, 0.22);
}

.app-card,
.quick-action-card,
.payment-plan-card,
.payment-method-card {
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.auth-copy p,
.auth-benefits li,
.app-topbar p,
.quick-action-card span,
.payment-plan-card em,
.payment-method-card p {
    color: var(--muted);
}

.form-field input,
.form-field select,
.auth-form textarea {
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.085);
}

.form-field input::placeholder,
.auth-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.58);
}

.form-field input:focus,
.form-field select:focus,
.auth-form textarea:focus {
    border-color: rgba(149, 230, 208, 0.56);
    background: rgba(255, 255, 255, 0.105);
    box-shadow: 0 0 0 4px rgba(149, 230, 208, 0.12), 0 12px 30px rgba(0, 0, 0, 0.16);
}

.google-btn,
.app-user-chip,
.empty-state,
.loading-state {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.075);
}

.google-btn:hover,
.quick-action-card:hover,
.payment-plan-card:has(input:checked),
.payment-plan-card:hover,
.payment-method-card:hover {
    border-color: rgba(149, 230, 208, 0.38);
    box-shadow: 0 18px 52px rgba(0, 0, 0, 0.28), 0 0 30px rgba(149, 230, 208, 0.13);
}

.app-nav a:hover,
.app-nav a[aria-current="page"],
.logout-btn:hover,
.mobile-nav-links a:hover,
.mobile-nav-links a:focus-visible,
.mobile-nav-links a[aria-current="page"] {
    border-color: rgba(149, 230, 208, 0.28);
    background: rgba(149, 230, 208, 0.105);
}

.app-icon,
.auth-benefits i,
.avatar,
.profile-photo,
.verification-icon {
    border-color: rgba(149, 230, 208, 0.34);
    background: rgba(149, 230, 208, 0.12);
}

.footer {
    border-top-color: rgba(255, 255, 255, 0.12);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.025)),
        rgba(8, 9, 8, 0.88);
}

.footer-links a,
.footer-brand p,
.footer-links p,
.footer-bottom p {
    color: var(--muted);
}

.payment-summary-card {
    position: sticky;
    top: var(--space-4);
}

@media (max-width: 1100px) {
    .auth-shell,
    .dashboard-grid,
    .profile-layout,
    .payment-layout,
    .checkout-shell,
    .checkout-layout,
    .success-layout {
        grid-template-columns: 1fr;
    }

    .checkout-summary,
    .payment-summary-card {
        position: static;
    }

    .auth-copy {
        text-align: center;
        margin: 0 auto;
    }

    .auth-benefits {
        width: min(100%, 540px);
        margin-inline: auto;
        text-align: left;
    }
}

@media (max-width: 920px) {
    .nav-links,
    .navbar .cta-btn {
        display: none;
    }

    .mobile-menu-toggle {
        display: flex;
    }

    .app-layout {
        grid-template-columns: 1fr;
        width: min(calc(100% - 32px), 1440px);
    }

    .app-sidebar {
        position: relative;
        top: auto;
        min-height: auto;
    }

    .app-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .logout-btn {
        margin-top: 0;
    }

    .app-topbar {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .auth-main {
        padding-top: 48px;
    }

    .auth-shell {
        width: min(calc(100% - 32px), 1120px);
        grid-template-columns: 1fr;
    }

    .auth-card,
    .app-card,
    .quick-action-card,
    .app-sidebar,
    .app-topbar,
    .checkout-summary,
    .success-card {
        padding: 22px;
    }

    .form-grid,
    .stats-grid,
    .quick-actions-grid,
    .app-nav,
    .payment-plan-grid,
    .payment-method-grid,
    .billing-action-row,
    .checkout-option-grid,
    .success-summary {
        grid-template-columns: 1fr;
    }

    .checkout-demo-box,
    .secure-note {
        align-items: stretch;
        flex-direction: column;
    }

    .form-row-between,
    .preference-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .auth-copy h1,
    .app-topbar h1 {
        font-size: 2.35rem;
    }

    .app-topbar-actions,
    .app-topbar-actions .primary-btn,
    .app-topbar-actions .secondary-btn,
    .google-btn,
    .auth-form .primary-btn {
        width: 100%;
    }
}

@media (max-width: 1180px) {
    .category-grid,
    .blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .blog-post-layout {
        grid-template-columns: minmax(0, 760px);
    }

    .toc-card {
        position: relative;
        top: auto;
    }
}

@media (max-width: 992px) {
    .blog-hero-grid,
    .blog-featured-post,
    .blog-with-sidebar,
    .blog-post-header {
        grid-template-columns: 1fr;
    }

    .blog-sidebar-stack {
        position: static;
    }

    .blog-featured-media {
        min-height: 340px;
    }

    .blog-post-cover {
        height: 380px;
    }
}

@media (max-width: 768px) {
    .blog-hero,
    .blog-post-hero {
        padding: 96px 0 66px;
    }

    .blog-section {
        padding: 72px 0;
    }

    .blog-section-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .category-grid,
    .blog-grid,
    .blog-grid.two-column,
    .blog-loading-grid {
        grid-template-columns: 1fr;
    }

    .blog-search-bar,
    .newsletter-form {
        grid-template-columns: 1fr;
        border-radius: var(--radius-sm);
    }

    .newsletter-card:not(.compact) {
        padding: 30px 22px;
        border-radius: 24px;
    }

    .newsletter-card:not(.compact)::after {
        border-radius: 23px;
    }

    .newsletter-card:not(.compact) h2 {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .newsletter-card:not(.compact) .newsletter-form {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 8px;
        border-radius: 22px;
    }

    .newsletter-card:not(.compact) .newsletter-form input,
    .newsletter-card:not(.compact) .newsletter-form button {
        width: 100%;
        min-height: 52px;
    }

    .blog-search-bar i {
        display: none;
    }

    .blog-search-bar button,
    .newsletter-form button {
        width: 100%;
    }

    .blog-featured-media,
    .blog-card-image {
        min-height: 0;
        height: 240px;
    }

    .blog-featured-content,
    .newsletter-card,
    .toc-card,
    .author-card,
    .blog-empty-state {
        padding: 24px;
    }

    .blog-post-cover {
        height: 300px;
    }

    body[data-blog-page="post"] .blog-post-body-section {
        padding: 44px 0;
    }

    body[data-blog-page="post"] .blog-post-hero {
        padding: 92px 0 44px;
    }

    body[data-blog-page="post"] .blog-post-header {
        gap: 28px;
    }

    body[data-blog-page="post"] .blog-post-header h1 {
        font-size: clamp(2.35rem, 9.4vw, 3.3rem);
        line-height: 1.05;
    }

    body[data-blog-page="post"] .blog-post-content {
        padding: 0;
        border-radius: 0;
    }

    body[data-blog-page="post"] .article-section p,
    body[data-blog-page="post"] .blog-post-content li {
        font-size: 1rem;
        line-height: 1.8;
    }

    .author-card {
        grid-template-columns: 1fr;
    }

    .comment-form-grid,
    .post-nav {
        grid-template-columns: 1fr;
    }

    .post-nav-card.next {
        text-align: left;
    }

    .comment-item {
        margin-left: 0;
    }
}

@media (max-width: 520px) {
    .blog-hero-copy h1,
    .blog-hero h1,
    .blog-post-header h1 {
        font-size: 2.35rem;
    }

    .blog-pagination {
        gap: 8px;
    }

    .blog-pagination a,
    .blog-pagination span {
        min-width: 38px;
        height: 38px;
    }

    .breadcrumbs ol,
    .blog-card-footer,
    .blog-meta-row,
    .comment-form-actions,
    .comment-body header {
        align-items: flex-start;
        flex-direction: column;
    }

    .comment-form-actions [data-replying-to] {
        margin-right: 0;
    }

    .article-pullquote,
    .comment-form,
    .comment-item {
        padding: 20px;
    }
}

/* AI Visibility Hub late cascade guards */
.ai-visibility-page {
    color: var(--hub-ink);
    background: #f7fbf9;
}

.ai-visibility-page::before,
.ai-visibility-page::after {
    display: none;
}

.ai-visibility-page main {
    background: linear-gradient(180deg, #f8fcfa 0%, #ffffff 18%, #f7fbf9 100%);
}

.ai-visibility-page .ai-hub-section h2,
.ai-visibility-page .section-header h2,
.ai-visibility-page .ai-hub-section h3,
.ai-visibility-page .faq-question {
    color: var(--hub-ink);
}

.ai-visibility-page .ai-hub-section p,
.ai-visibility-page .section-header p,
.ai-visibility-page .faq-answer p {
    color: var(--hub-muted);
}

.ai-visibility-page .ai-framework-section h2,
.ai-visibility-page .ai-framework-section h3,
.ai-visibility-page .ai-framework-section .ai-framework-copy > p,
.ai-visibility-page .ai-audit-box h2,
.ai-visibility-page .ai-audit-box p,
.ai-visibility-page .ai-audit-box .ai-hub-section-label {
    color: #ffffff;
}

.ai-visibility-page .ai-framework-panel p,
.ai-visibility-page .ai-audit-box > div > p:last-child {
    color: rgba(255, 255, 255, 0.74);
}

.ai-visibility-page .faq {
    background: #f7fbf9;
}

.ai-visibility-page .faq-item {
    border-color: var(--hub-line);
    background: #ffffff;
}

.ai-visibility-page .faq-item.active .faq-answer {
    max-height: 420px;
}

.ai-visibility-page .secondary-btn {
    color: var(--hub-ink);
    border-color: rgba(17, 23, 21, 0.18);
    background: rgba(255, 255, 255, 0.82);
}

.ai-visibility-page .secondary-btn:hover {
    border-color: rgba(85, 200, 174, 0.42);
    background: #ffffff;
}

@media (max-width: 980px) {
    .ai-visibility-page .ai-hub-hero-layout,
    .ai-visibility-page .ai-hub-split-layout,
    .ai-visibility-page .ai-framework-layout,
    .ai-visibility-page .ai-final-cta-inner,
    .ai-visibility-page .ai-audit-box {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .ai-visibility-page .ai-definition-grid,
    .ai-visibility-page .ai-pairing-grid,
    .ai-visibility-page .ai-checklist-grid,
    .ai-visibility-page .ai-resource-groups,
    .ai-visibility-page .ai-method-strip {
        grid-template-columns: 1fr;
    }
}

/* AI Visibility Score Product */
.ai-score-page {
    --score-ink: #101816;
    --score-muted: #5f6f6a;
    --score-soft: #f4faf7;
    --score-line: rgba(18, 32, 28, 0.12);
    --score-mint: #57d7b2;
    --score-teal: #178d78;
    --score-blue: #4267f5;
    --score-gold: #d9a642;
    color: var(--score-ink);
    background: #f7fbf9;
}

.ai-score-page::before,
.ai-score-page::after {
    display: none;
}

.ai-score-main {
    min-height: calc(100vh - var(--nav-height));
    background:
        radial-gradient(circle at 12% 6%, rgba(87, 215, 178, 0.14), transparent 28%),
        linear-gradient(180deg, #f8fcfa 0%, #ffffff 34%, #f5faf7 100%);
}

.score-view {
    padding: 112px 0 86px;
}

.score-view[hidden] {
    display: none !important;
}

.score-view-active {
    animation: scoreFadeUp 420ms ease both;
}

.score-kicker {
    margin: 0 0 14px;
    color: var(--score-teal);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.score-hero-layout,
.score-intro-layout,
.score-assessment-layout,
.score-results-grid,
.score-insight-grid,
.score-lead-section,
.score-opportunity-panel {
    display: grid;
    gap: 32px;
}

.score-hero-layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.75fr);
    align-items: center;
}

.score-hero-copy h1,
.score-intro h2 {
    max-width: 760px;
    margin: 0;
    color: var(--score-ink);
    font-size: clamp(2.65rem, 6vw, 5.8rem);
    line-height: 0.98;
    letter-spacing: 0;
}

.score-hero-lede,
.score-intro-layout > div > p {
    max-width: 720px;
    margin: 24px 0 0;
    color: var(--score-muted);
    font-size: clamp(1.05rem, 2vw, 1.24rem);
    line-height: 1.75;
}

.score-hero-actions,
.score-lead-actions,
.score-final-actions,
.score-results-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    margin-top: 30px;
}

.score-trust-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0;
    margin: 24px 0 0;
    list-style: none;
}

.score-trust-list li,
.score-signal-grid span,
.score-result-meta span,
.score-priority-card span,
.score-priority-card strong {
    border: 1px solid var(--score-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--score-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.score-trust-list li {
    padding: 9px 12px;
}

.score-product-panel,
.score-intro-card,
.score-live-panel,
.score-question-card,
.score-result-panel,
.score-lead-section,
.score-report-preview,
.score-opportunity-panel {
    border: 1px solid var(--score-line);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 24px 70px rgba(18, 32, 28, 0.08);
}

.score-product-panel,
.score-intro-card,
.score-live-panel,
.score-question-card,
.score-result-panel,
.score-report-preview,
.score-opportunity-panel {
    padding: 28px;
}

.score-mini-gauge {
    display: grid;
    width: 132px;
    height: 132px;
    place-items: center;
    margin-bottom: 24px;
    border: 1px solid rgba(87, 215, 178, 0.36);
    border-radius: 50%;
    background: conic-gradient(from 210deg, var(--score-mint), var(--score-blue), #e8f6f1 72%);
    box-shadow: inset 0 0 0 18px #ffffff;
}

.score-mini-gauge span {
    color: var(--score-ink);
    font-size: 2rem;
    font-weight: 900;
}

.score-product-panel h2,
.score-intro-card h3,
.score-result-panel h3,
.score-lead-copy h3,
.score-report-preview h3,
.score-opportunity-panel h3 {
    margin: 0;
    color: var(--score-ink);
    font-size: clamp(1.45rem, 3vw, 2rem);
    line-height: 1.12;
}

.score-product-panel p,
.score-intro-card li,
.score-result-panel p,
.score-lead-copy p,
.score-report-preview p,
.score-opportunity-panel p {
    color: var(--score-muted);
    line-height: 1.72;
}

.score-signal-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 24px;
}

.score-signal-grid span {
    padding: 10px;
    text-align: center;
}

.score-intro-layout {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    align-items: start;
}

.score-flow-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 34px;
}

.score-flow-steps div {
    min-height: 128px;
    padding: 18px;
    border: 1px solid var(--score-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.74);
}

.score-flow-steps strong {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    margin-bottom: 18px;
    border-radius: 50%;
    background: var(--score-ink);
    color: #ffffff;
}

.score-flow-steps span {
    display: block;
    color: var(--score-ink);
    font-weight: 800;
    line-height: 1.35;
}

.score-intro-card ul {
    display: grid;
    gap: 12px;
    padding-left: 20px;
    margin: 20px 0 26px;
}

.score-assessment-layout {
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    align-items: start;
}

.score-live-panel {
    position: sticky;
    top: calc(var(--nav-height) + 24px);
}

.score-live-header,
.score-question-topline,
.score-result-meta,
.score-category-row,
.score-priority-card > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.score-live-header span,
.score-live-number span,
.score-question-topline span {
    color: var(--score-muted);
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.score-live-header strong {
    color: var(--score-teal);
}

.score-progress-track,
.score-category-meter,
.score-live-category i,
.score-comparison i {
    display: block;
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(18, 32, 28, 0.08);
}

.score-progress-track {
    margin: 18px 0 28px;
}

.score-progress-track span,
.score-category-meter i,
.score-live-category i::before,
.score-comparison i::before {
    display: block;
    width: var(--width, 0%);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--score-mint), var(--score-blue));
    transition: width 320ms ease;
    content: "";
}

.score-live-number strong {
    display: block;
    margin-top: 6px;
    color: var(--score-ink);
    font-size: 3.2rem;
    line-height: 1;
}

.score-live-number small {
    color: var(--score-muted);
    font-size: 1.1rem;
}

.score-live-note {
    margin: 16px 0 20px;
    color: var(--score-muted);
    font-size: 0.95rem;
    line-height: 1.55;
}

.score-category-list {
    display: grid;
    gap: 12px;
}

.score-live-category {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 7px 12px;
    color: var(--score-muted);
    font-size: 0.85rem;
}

.score-live-category i {
    grid-column: 1 / -1;
}

.score-question-card {
    min-height: 560px;
}

.score-question-card h2 {
    max-width: 860px;
    margin: 18px 0 12px;
    color: var(--score-ink);
    font-size: clamp(2rem, 4.5vw, 3.8rem);
    line-height: 1.04;
}

.score-question-card p {
    max-width: 760px;
    color: var(--score-muted);
    font-size: 1.04rem;
    line-height: 1.7;
}

.score-answer-region {
    margin-top: 28px;
}

.score-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.score-choice {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: center;
    min-height: 84px;
    padding: 18px;
    border: 1px solid var(--score-line);
    border-radius: 18px;
    background: #ffffff;
    color: var(--score-ink);
    text-align: left;
    cursor: pointer;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.score-choice span {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: var(--score-soft);
    color: var(--score-teal);
    font-weight: 900;
}

.score-choice strong {
    font-size: 1rem;
    line-height: 1.35;
}

.score-choice:hover,
.score-choice:focus-visible,
.score-choice.is-selected {
    border-color: rgba(87, 215, 178, 0.72);
    box-shadow: 0 14px 38px rgba(23, 141, 120, 0.12);
    transform: translateY(-2px);
}

.score-choice.is-selected span {
    background: var(--score-ink);
    color: #ffffff;
}

.score-text-answer {
    display: grid;
    gap: 10px;
    max-width: 640px;
}

.score-text-answer span,
.score-form-grid span {
    color: var(--score-ink);
    font-weight: 800;
}

.score-text-answer input,
.score-form-grid input {
    width: 100%;
    min-height: 58px;
    padding: 0 16px;
    border: 1px solid var(--score-line);
    border-radius: 14px;
    background: #ffffff;
    color: var(--score-ink);
    font: inherit;
}

.score-question-actions {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-top: 34px;
}

.score-keyboard-note,
.score-skip-note {
    margin-top: 18px;
    font-size: 0.9rem !important;
}

.score-results {
    padding-top: 92px;
}

.score-results-hero {
    display: grid;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
    gap: 32px;
    align-items: center;
    padding: 36px;
    border: 1px solid var(--score-line);
    border-radius: 32px;
    background: #0f1715;
    color: #ffffff;
    box-shadow: 0 26px 80px rgba(18, 32, 28, 0.18);
}

.score-gauge-card {
    display: grid;
    place-items: center;
}

.score-gauge {
    display: grid;
    width: min(260px, 68vw);
    aspect-ratio: 1;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(var(--score-mint) calc(var(--score) * 1%), rgba(255, 255, 255, 0.1) 0);
    box-shadow: inset 0 0 0 22px rgba(255, 255, 255, 0.08);
    position: relative;
}

.score-gauge::after {
    position: absolute;
    inset: 34px;
    border-radius: 50%;
    background: #0f1715;
    content: "";
}

.score-gauge span,
.score-gauge small {
    position: relative;
    z-index: 1;
}

.score-gauge span {
    align-self: end;
    color: #ffffff;
    font-size: 4.6rem;
    font-weight: 900;
    line-height: 0.95;
}

.score-gauge small {
    align-self: start;
    color: rgba(255, 255, 255, 0.62);
    font-weight: 800;
}

.score-results-copy h2,
.score-results-copy p {
    color: #ffffff;
}

.score-results-copy h2 {
    margin: 0;
    font-size: clamp(2.15rem, 5vw, 4.6rem);
    line-height: 1;
}

.score-results-copy > p {
    max-width: 780px;
    margin-top: 18px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 1.12rem;
    line-height: 1.7;
}

.score-result-meta {
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: 22px;
}

.score-result-meta span {
    padding: 9px 12px;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.78);
    border-color: rgba(255, 255, 255, 0.16);
}

.score-results-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    margin-top: 32px;
}

.score-panel-header {
    margin-bottom: 22px;
}

.score-panel-header p {
    margin-bottom: 0;
}

.score-category-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(160px, 0.75fr) auto;
    padding: 16px 0;
    border-top: 1px solid var(--score-line);
}

.score-category-row:first-child {
    border-top: 0;
}

.score-category-row strong,
.score-category-row b {
    color: var(--score-ink);
}

.score-category-row span {
    display: block;
    margin-top: 4px;
    color: var(--score-muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.score-radar {
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    overflow: visible;
}

.score-radar-bg {
    fill: #f8fcfa;
}

.score-radar-grid {
    fill: none;
    stroke: rgba(18, 32, 28, 0.12);
}

.score-radar-axis {
    stroke: rgba(18, 32, 28, 0.1);
}

.score-radar-shape {
    fill: rgba(87, 215, 178, 0.24);
    stroke: var(--score-teal);
    stroke-width: 2.4;
}

.score-radar-dot {
    fill: var(--score-blue);
}

.score-radar text {
    fill: var(--score-muted);
    font-size: 10px;
    font-weight: 800;
}

.score-insight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 32px;
}

.score-insight-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    padding: 18px 0;
    border-top: 1px solid var(--score-line);
}

.score-insight-item span {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border-radius: 50%;
    background: var(--score-soft);
    color: var(--score-teal);
    font-weight: 900;
}

.score-insight-item h4,
.score-priority-card h4,
.score-recommendation-columns h4,
.score-report-grid h4 {
    margin: 0 0 8px;
    color: var(--score-ink);
    font-size: 1.05rem;
}

.score-insight-item p {
    margin: 0;
}

.score-priority-section,
.score-recommendation-section,
.score-lead-section,
.score-opportunity-panel,
.score-report-preview,
.score-results-actions {
    margin-top: 32px;
}

.score-priority-grid,
.score-recommendation-columns,
.score-report-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.score-priority-card,
.score-recommendation-columns article,
.score-report-grid article {
    padding: 20px;
    border: 1px solid var(--score-line);
    border-radius: 18px;
    background: var(--score-soft);
}

.score-priority-card span,
.score-priority-card strong {
    padding: 7px 10px;
    background: #ffffff;
}

.score-priority-card p,
.score-priority-card small {
    color: var(--score-muted);
    line-height: 1.6;
}

.score-recommendation-columns ul {
    display: grid;
    gap: 12px;
    padding-left: 20px;
    margin: 0;
    color: var(--score-muted);
    line-height: 1.62;
}

.score-opportunity-panel {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.7fr);
    align-items: center;
    background: #0f1715;
}

.score-opportunity-panel h3,
.score-opportunity-panel p {
    color: #ffffff;
}

.score-opportunity-panel p:not(.score-kicker) {
    color: rgba(255, 255, 255, 0.72);
}

.score-comparison {
    display: grid;
    gap: 16px;
}

.score-comparison div {
    color: rgba(255, 255, 255, 0.78);
    font-weight: 800;
}

.score-comparison span {
    display: block;
    margin-bottom: 8px;
}

.score-comparison i {
    background: rgba(255, 255, 255, 0.12);
}

.score-lead-section {
    grid-template-columns: minmax(0, 0.85fr) minmax(360px, 1fr);
    align-items: start;
    padding: 30px;
}

.score-success-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    margin-top: 32px;
    padding: 30px;
    border: 1px solid rgba(87, 215, 178, 0.34);
    border-radius: 24px;
    background:
        radial-gradient(circle at 12% 12%, rgba(87, 215, 178, 0.18), transparent 34%),
        #ffffff;
    box-shadow: 0 24px 70px rgba(18, 32, 28, 0.08);
}

.score-success-panel[hidden] {
    display: none !important;
}

.score-success-panel h3 {
    margin: 0;
    color: var(--score-ink);
    font-size: clamp(1.45rem, 3vw, 2.1rem);
    line-height: 1.12;
}

.score-success-panel p:not(.score-kicker) {
    max-width: 720px;
    margin: 12px 0 0;
    color: var(--score-muted);
    line-height: 1.72;
}

.score-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.score-form-grid label {
    display: grid;
    gap: 8px;
}

.score-form-grid small,
.score-form-status {
    min-height: 18px;
    color: #b24538;
    font-size: 0.85rem;
}

.score-form-grid label.has-error input {
    border-color: #b24538;
}

.score-report-grid article span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    margin-bottom: 14px;
    border-radius: 50%;
    background: var(--score-ink);
    color: #ffffff;
    font-weight: 900;
}

.score-results-actions {
    justify-content: center;
}

.ai-score-page button:focus-visible,
.ai-score-page a:focus-visible,
.ai-score-page input:focus-visible {
    outline: 3px solid rgba(66, 103, 245, 0.42);
    outline-offset: 4px;
}

@keyframes scoreFadeUp {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1100px) {
    .score-hero-layout,
    .score-intro-layout,
    .score-assessment-layout,
    .score-results-grid,
    .score-opportunity-panel,
    .score-lead-section {
        grid-template-columns: 1fr;
    }

    .score-live-panel {
        position: static;
    }

    .score-live-panel .score-category-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .score-view {
        padding: 82px 0 62px;
    }

    .score-flow-steps,
    .score-priority-grid,
    .score-recommendation-columns,
    .score-report-grid,
    .score-insight-grid {
        grid-template-columns: 1fr;
    }

    .score-results-hero {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .score-success-panel {
        grid-template-columns: 1fr;
    }

    .score-category-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .score-choice-grid,
    .score-form-grid,
    .score-live-panel .score-category-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .score-hero-copy h1,
    .score-intro h2 {
        font-size: 2.65rem;
    }

    .score-product-panel,
    .score-intro-card,
    .score-live-panel,
    .score-question-card,
    .score-result-panel,
    .score-lead-section,
    .score-report-preview,
    .score-opportunity-panel {
        padding: 20px;
        border-radius: 18px;
    }

    .score-question-card h2 {
        font-size: 2rem;
    }

    .score-question-actions,
    .score-hero-actions,
    .score-lead-actions,
    .score-final-actions,
    .score-results-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .score-question-actions .primary-btn,
    .score-question-actions .secondary-btn,
    .score-hero-actions .primary-btn,
    .score-hero-actions .secondary-btn,
    .score-lead-actions .primary-btn,
    .score-lead-actions .secondary-btn,
    .score-results-actions .primary-btn,
    .score-results-actions .secondary-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
