<style>
    .if-pub-page {
        --pub-section-y: clamp(4.25rem, 10vw, 6.25rem);
        --pub-section-y-lg: clamp(6rem, 11vw, 9rem);
        --pub-section-y-xl: clamp(7rem, 12vw, 10.5rem);
        --pub-block-gap: clamp(2.75rem, 5.5vw, 4rem);
        --pub-card-gap: clamp(1.125rem, 2.5vw, 1.75rem);
        --pub-inner-x: clamp(1rem, 4vw, 1.5rem);
        --pub-head-title-gap: clamp(1rem, 2.4vw, 1.5rem);
        --pub-head-subtitle-gap: clamp(1.375rem, 3.2vw, 2rem);
        --pub-stack-sm: 0.875rem;
        --pub-stack-md: 1.5rem;
        --pub-stack-lg: 2.25rem;
        --pub-stack-xl: clamp(2.5rem, 5vw, 3.75rem);
        --pub-anchor-offset: 6rem;
        --pub-bg-base: #d8e2ed;
        --pub-bg-mesh-1: rgb(37 99 235 / 20%);
        --pub-bg-mesh-2: rgb(59 130 246 / 15%);
        --pub-bg-mesh-3: rgb(96 165 250 / 12%);
        --pub-bg-mesh-4: rgb(114 191 68 / 11%);
        position: relative;
        isolation: isolate;
        min-height: 100vh;
        color: var(--if-text);
        background-color: var(--pub-bg-base);
    }

    .if-pub-page::before {
        content: '';
        position: fixed;
        inset: 0;
        z-index: -2;
        pointer-events: none;
        background:
            radial-gradient(ellipse 115% 75% at 50% -18%, var(--pub-bg-mesh-1), transparent 58%),
            radial-gradient(ellipse 72% 52% at 96% 8%, var(--pub-bg-mesh-2), transparent 54%),
            radial-gradient(ellipse 64% 48% at 4% 22%, var(--pub-bg-mesh-3), transparent 50%),
            radial-gradient(ellipse 52% 42% at 88% 72%, var(--pub-bg-mesh-4), transparent 52%),
            radial-gradient(ellipse 58% 42% at 12% 82%, rgb(37 99 235 / 10%), transparent 54%),
            radial-gradient(ellipse 70% 48% at 12% 88%, rgb(148 163 184 / 14%), transparent 56%),
            radial-gradient(ellipse 45% 30% at 50% 55%, rgb(255 255 255 / 22%), transparent 72%),
            linear-gradient(175deg, #f0f5fb 0%, #e8eef6 32%, #dde6f0 62%, #d4dfea 100%);
    }

    .if-pub-page::after {
        content: '';
        position: fixed;
        inset: 0;
        z-index: -1;
        pointer-events: none;
        opacity: 0.62;
        background-image:
            radial-gradient(rgb(37 99 235 / 13%) 1px, transparent 1px),
            linear-gradient(rgb(148 163 184 / 9%) 1px, transparent 1px),
            linear-gradient(90deg, rgb(148 163 184 / 9%) 1px, transparent 1px);
        background-size: 28px 28px, 72px 72px, 72px 72px;
        mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 96%);
        -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 96%);
    }

    .if-pub-inner {
        margin-left: auto;
        margin-right: auto;
        max-width: 80rem;
        padding-left: var(--pub-inner-x);
        padding-right: var(--pub-inner-x);
    }

    @media (min-width: 768px) {
        .if-pub-page {
            --pub-inner-x: 1.75rem;
            --pub-block-gap: clamp(3rem, 5vw, 4rem);
            --pub-card-gap: 1.875rem;
        }
    }

    @media (min-width: 1024px) {
        .if-pub-page {
            --pub-inner-x: 2.25rem;
            --pub-block-gap: clamp(3.5rem, 4.5vw, 4.75rem);
            --pub-card-gap: 2rem;
        }
    }

    @media (min-width: 1280px) {
        .if-pub-page {
            --pub-inner-x: 2.5rem;
            --pub-section-y-lg: var(--pub-section-y-xl);
        }
    }

    .if-pub-page > main {
        display: flex;
        flex-direction: column;
    }

    .if-pub-section {
        position: relative;
        padding-top: var(--pub-section-y);
        padding-bottom: var(--pub-section-y);
    }

    @media (min-width: 768px) {
        .if-pub-section {
            padding-top: var(--pub-section-y-lg);
            padding-bottom: var(--pub-section-y-lg);
        }
    }

    .if-pub-section.pb-0 {
        padding-bottom: 0;
    }

    .if-pub-section.scroll-mt-24 {
        scroll-margin-top: var(--pub-anchor-offset);
    }

    .if-pub-hero.if-pub-section {
        padding-top: clamp(3.25rem, 8.5vw, 6.5rem);
    }

    @media (min-width: 1024px) {
        .if-pub-hero.if-pub-section {
            padding-top: clamp(4.5rem, 9vw, 7.75rem);
        }
    }

    .if-pub-section--canvas {
        background:
            linear-gradient(180deg, rgb(255 255 255 / 38%) 0%, rgb(255 255 255 / 16%) 48%, rgb(255 255 255 / 22%) 100%);
        border-top: 1px solid rgb(255 255 255 / 55%);
        border-bottom: 1px solid rgb(148 163 184 / 22%);
        box-shadow: inset 0 1px 0 rgb(255 255 255 / 65%);
    }

    .if-pub-section--surface {
        background: rgb(255 255 255 / 48%);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        border-top: 1px solid rgb(255 255 255 / 45%);
        border-bottom: 1px solid rgb(148 163 184 / 20%);
    }

    .if-pub-section--glow {
        background:
            radial-gradient(ellipse 90% 65% at 50% -8%, rgb(37 99 235 / 16%), transparent 68%),
            radial-gradient(ellipse 45% 35% at 80% 20%, rgb(114 191 68 / 10%), transparent 60%),
            radial-gradient(ellipse 40% 30% at 10% 40%, rgb(96 165 250 / 10%), transparent 58%),
            linear-gradient(180deg, rgb(255 255 255 / 52%) 0%, rgb(248 250 252 / 28%) 100%);
    }

    .if-pub-section-head {
        margin-left: auto;
        margin-right: auto;
        max-width: 46rem;
        padding-inline: clamp(0rem, 2vw, 0.5rem);
        padding-top: clamp(0.5rem, 1.5vw, 1rem);
        padding-bottom: clamp(0.25rem, 1vw, 0.5rem);
        text-align: center;
    }

    .if-pub-section-body {
        margin-top: var(--pub-block-gap);
    }

    .if-pub-section-head + .if-pub-section-body,
    .if-pub-inner > .if-pub-section-head + .if-pub-section-body {
        margin-top: var(--pub-block-gap);
    }

    .if-pub-after-body {
        margin-top: var(--pub-stack-xl);
        margin-bottom: clamp(2rem, 4.5vw, 3.5rem);
        padding-top: clamp(0.5rem, 1.5vw, 1rem);
        text-align: center;
    }

    .if-pub-inner > .if-pub-after-body:last-child {
        margin-bottom: clamp(2.5rem, 5vw, 4rem);
    }

    .if-pub-section-footer {
        margin-top: clamp(3rem, 6vw, 4.5rem);
        margin-bottom: clamp(2.75rem, 5.5vw, 4.25rem);
        text-align: center;
    }

    .if-pub-bridge {
        margin-top: clamp(2.5rem, 5vw, 3.75rem);
        margin-bottom: 0;
    }

    .if-pub-eyebrow {
        display: block;
        margin: 0;
        font-size: 0.75rem;
        font-weight: 600;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: var(--if-primary);
    }

    .if-pub-section-head .if-pub-eyebrow {
        margin-bottom: var(--pub-head-title-gap);
    }

    .if-pub-section-head .if-pub-eyebrow + .if-pub-section-title,
    .if-pub-section-head .if-pub-eyebrow + h1.if-pub-section-title,
    .if-pub-section-head .if-pub-eyebrow + h2.if-pub-section-title {
        margin-top: 0;
    }

    .if-pub-section-title {
        margin-top: var(--pub-head-title-gap);
        font-size: clamp(1.75rem, 4vw, 2.25rem);
        font-weight: 700;
        letter-spacing: -0.02em;
        line-height: 1.2;
        color: var(--if-text);
    }

    .if-pub-section-head > .if-pub-section-title:first-child,
    .if-pub-section-head > h1.if-pub-section-title:first-child,
    .if-pub-section-head > h2.if-pub-section-title:first-child {
        margin-top: 0;
    }

    .if-pub-section-head .if-pub-section-title + .if-pub-section-subtitle,
    .if-pub-section-head .if-pub-section-title + p.if-pub-section-subtitle {
        margin-top: var(--pub-head-subtitle-gap);
    }

    .if-pub-section-subtitle {
        margin-top: var(--pub-head-subtitle-gap);
        max-width: 42rem;
        margin-left: auto;
        margin-right: auto;
        font-size: clamp(1rem, 2.2vw, 1.0625rem);
        line-height: 1.7;
        color: var(--if-text-secondary);
    }

    /* Trust strip */
    .if-pub-trust {
        padding: 0.5rem 0 1.25rem;
        background: transparent;
    }

    @media (min-width: 768px) {
        .if-pub-trust {
            padding-bottom: 1.75rem;
        }
    }

    .if-pub-trust .if-pub-inner {
        overflow: hidden;
        border-radius: calc(var(--if-radius) + 4px);
        border: 1px solid rgb(148 163 184 / 28%);
        background: rgb(255 255 255 / 62%);
        box-shadow: 0 8px 32px rgb(15 23 42 / 8%), 0 1px 2px rgb(15 23 42 / 5%);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    .if-pub-trust__grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
    }

    @media (min-width: 768px) {
        .if-pub-trust__grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }
    }

    .if-pub-trust__item {
        padding: 1.35rem 1.25rem;
        text-align: center;
        font-size: 0.875rem;
        font-weight: 600;
        color: var(--if-text);
        border-bottom: 1px solid var(--if-border);
    }

    @media (min-width: 768px) {
        .if-pub-trust__item {
            border-bottom: none;
            border-right: 1px solid var(--if-border);
            padding: 1.65rem 1.25rem;
        }

        .if-pub-trust__item:last-child {
            border-right: none;
        }
    }

    .if-pub-trust__item:nth-child(odd) {
        border-right: 1px solid var(--if-border);
    }

    @media (min-width: 768px) {
        .if-pub-trust__item:nth-child(odd) {
            border-right: 1px solid var(--if-border);
        }
    }

    @media (max-width: 767px) {
        .if-pub-trust__item:nth-last-child(-n+2) {
            border-bottom: none;
        }
    }

    /* Product tour */
    .if-pub-tour-card {
        overflow: hidden;
        border-radius: 1.125rem;
        border: 1px solid var(--if-border);
        background: var(--if-bg-surface);
        box-shadow: 0 16px 48px rgb(15 23 42 / 8%), 0 2px 8px rgb(15 23 42 / 4%);
    }

    .if-pub-tabs {
        display: flex;
        align-items: stretch;
        gap: 0;
        border-bottom: 1px solid var(--if-border);
        background: linear-gradient(180deg, var(--if-bg-canvas) 0%, var(--if-bg-surface) 100%);
    }

    .if-pub-tabs__wrap {
        position: relative;
        flex: 1 1 auto;
        min-width: 0;
    }

    .if-pub-tabs__scroll {
        display: flex;
        gap: 0.35rem;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        padding: 0.625rem 0.5rem 0.5rem;
    }

    .if-pub-tabs__scroll::-webkit-scrollbar {
        display: none;
    }

    .if-pub-tabs__fade {
        position: absolute;
        top: 0;
        bottom: 0;
        z-index: 2;
        width: 2rem;
        pointer-events: none;
    }

    .if-pub-tabs__fade--left {
        left: 0;
        background: linear-gradient(90deg, var(--if-bg-surface) 0%, transparent 100%);
    }

    .if-pub-tabs__fade--right {
        right: 0;
        background: linear-gradient(270deg, var(--if-bg-surface) 0%, transparent 100%);
    }

    .if-pub-tabs__indicator {
        position: absolute;
        bottom: 0.35rem;
        left: 0;
        z-index: 1;
        height: 2px;
        border-radius: 2px;
        background: rgb(37 99 235 / 35%);
        transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        will-change: transform, width;
        pointer-events: none;
    }

    .if-pub-tabs__nav {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 2.75rem;
        min-height: 2.75rem;
        margin: 0;
        border: none;
        background: transparent;
        color: var(--if-text-secondary);
        font-size: 1.25rem;
        line-height: 1;
        cursor: pointer;
        transition: color 0.15s ease, background 0.15s ease;
    }

    .if-pub-tabs__nav:hover {
        color: var(--if-primary);
        background: var(--if-nav-hover);
    }

    .if-pub-tabs__nav:focus-visible {
        outline: 2px solid var(--if-primary);
        outline-offset: -2px;
    }

    .if-pub-tab {
        flex: 0 0 auto;
        scroll-snap-align: center;
        margin: 0;
        border: 1px solid transparent;
        border-radius: 9999px;
        background: transparent;
        min-height: 2.75rem;
        padding: 0.625rem 1rem;
        font-family: inherit;
        font-size: 0.8125rem;
        font-weight: 600;
        line-height: 1.2;
        color: var(--if-text-secondary);
        white-space: nowrap;
        cursor: pointer;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
        transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
    }

    @media (min-width: 768px) {
        .if-pub-tab {
            min-height: 3rem;
            padding: 0.875rem 1.25rem;
            font-size: 0.875rem;
        }

        .if-pub-tabs__nav {
            min-width: 3rem;
            min-height: 3rem;
        }
    }

    .if-pub-tab__label {
        display: block;
        pointer-events: none;
    }

    .if-pub-tab:hover {
        color: var(--if-text);
        background: var(--if-nav-hover);
        border-color: var(--if-border);
    }

    .if-pub-tab.is-pressed {
        transform: scale(0.96);
    }

    .if-pub-tab[aria-selected='true'],
    .if-pub-tab.is-active {
        color: #fff;
        border-color: var(--if-primary);
        background: linear-gradient(135deg, var(--if-primary) 0%, #3b82f6 100%);
        box-shadow: 0 4px 14px rgb(37 99 235 / 28%);
    }

    .if-pub-tab:focus-visible {
        outline: 2px solid var(--if-primary);
        outline-offset: -2px;
    }

    .if-pub-tour__meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        margin: 0;
        padding: 0.625rem 1rem;
        border-bottom: 1px solid var(--if-border);
        background: var(--if-bg-canvas);
        font-size: 0.75rem;
        color: var(--if-text-secondary);
    }

    .if-pub-tour__meta-end {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 0.35rem;
        min-width: 5.5rem;
    }

    .if-pub-tour__progress {
        width: 5.5rem;
        height: 3px;
        overflow: hidden;
        border-radius: 9999px;
        background: var(--if-border);
    }

    .if-pub-tour__progress-fill {
        display: block;
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, var(--if-primary), #60a5fa);
        transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .if-pub-tour__dots {
        display: flex;
        justify-content: center;
        gap: 0.5rem;
        padding: 0.75rem 1rem 0.25rem;
        border-bottom: 1px solid var(--if-border);
        background: var(--if-bg-canvas);
    }

    @media (min-width: 768px) {
        .if-pub-tour__dots {
            display: none;
        }
    }

    .if-pub-tour__dot {
        width: 0.5rem;
        height: 0.5rem;
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 9999px;
        background: var(--if-border-strong);
        cursor: pointer;
        transition: transform 0.2s ease, background 0.2s ease, width 0.2s ease;
    }

    .if-pub-tour__dot.is-active {
        width: 1.25rem;
        background: var(--if-primary);
    }

    .if-pub-tour__dot:focus-visible {
        outline: 2px solid var(--if-primary);
        outline-offset: 2px;
    }

    .if-pub-tour__swipe-hint {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
    }

    @media (min-width: 1024px) {
        .if-pub-tour__swipe-hint::before {
            content: '';
            display: inline-block;
            width: 1rem;
            height: 1rem;
            opacity: 0.55;
            background: currentColor;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M7 11l-4 4 4 4M17 11l4 4-4 4M3 15h18'/%3E%3C/svg%3E") center / contain no-repeat;
            -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M7 11l-4 4 4 4M17 11l4 4-4 4M3 15h18'/%3E%3C/svg%3E") center / contain no-repeat;
        }
    }

    .if-pub-tour__counter {
        flex-shrink: 0;
        font-variant-numeric: tabular-nums;
        font-weight: 600;
        color: var(--if-text);
    }

    .if-pub-tabpanels {
        position: relative;
        min-height: 28rem;
        touch-action: pan-y pinch-zoom;
    }

    @media (min-width: 1024px) {
        .if-pub-tabpanels {
            min-height: 24rem;
        }
    }

    .if-pub-tabpanel {
        padding: clamp(1.35rem, 3vw, 1.75rem);
    }

    .if-pub-tabpanel[hidden] {
        display: none;
    }

    .if-pub-tabpanel.is-active {
        animation: if-pub-panel-in 0.35s cubic-bezier(0.4, 0, 0.2, 1) both;
    }

    @keyframes if-pub-panel-in {
        from {
            opacity: 0;
            transform: translateY(8px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .if-pub-tabs__indicator,
        .if-pub-tab,
        .if-pub-tabpanel.is-active {
            transition: none;
            animation: none;
        }
    }

    @media (min-width: 768px) {
        .if-pub-tabpanel {
            padding: clamp(1.75rem, 3.5vw, 2.25rem);
        }
    }

    @media (min-width: 1024px) {
        .if-pub-tabpanel {
            padding: clamp(2.25rem, 3.5vw, 2.75rem);
        }
    }

    .if-pub-tabpanel__grid {
        display: grid;
        gap: clamp(1.75rem, 4vw, 2.5rem);
        align-items: start;
    }

    @media (min-width: 1024px) {
        .if-pub-tabpanel__grid {
            grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
            gap: clamp(2.5rem, 4vw, 3.5rem);
            align-items: center;
        }
    }

    .if-pub-tabpanel__title {
        font-size: 1.5rem;
        font-weight: 700;
        letter-spacing: -0.02em;
        line-height: 1.2;
        color: var(--if-text);
    }

    @media (min-width: 768px) {
        .if-pub-tabpanel__title {
            font-size: 1.75rem;
        }
    }

    .if-pub-tabpanel__desc {
        margin-top: 0.75rem;
        font-size: 0.9375rem;
        line-height: 1.65;
        color: var(--if-text-secondary);
    }

    .if-pub-tabpanel__features {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin: 1rem 0 0;
        padding: 0;
        list-style: none;
    }

    .if-pub-tabpanel__features li {
        display: inline-flex;
        align-items: center;
        padding: 0.35rem 0.75rem;
        border-radius: 999px;
        border: 1px solid var(--if-border);
        background: var(--if-bg-canvas);
        font-size: 0.75rem;
        font-weight: 600;
        line-height: 1.3;
        color: var(--if-text-secondary);
        transition: border-color 0.15s ease, color 0.15s ease;
    }

    .if-pub-tabpanel.is-active .if-pub-tabpanel__features li {
        animation: if-pub-chip-in 0.4s cubic-bezier(0.4, 0, 0.2, 1) both;
    }

    .if-pub-tabpanel.is-active .if-pub-tabpanel__features li:nth-child(2) {
        animation-delay: 0.05s;
    }

    .if-pub-tabpanel.is-active .if-pub-tabpanel__features li:nth-child(3) {
        animation-delay: 0.1s;
    }

    @keyframes if-pub-chip-in {
        from {
            opacity: 0;
            transform: translateY(4px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .if-pub-tabpanel__cta {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        margin-top: 1.25rem;
        font-size: 0.875rem;
        font-weight: 600;
        color: var(--if-primary);
        text-decoration: none;
        transition: color 0.15s ease;
    }

    .if-pub-tabpanel__cta:hover {
        color: var(--if-primary-hover);
    }

    .if-pub-tabpanel__frame {
        width: 100%;
    }

    /* Browser frame */
    .if-pub-browser {
        overflow: hidden;
        border-radius: 0.75rem;
        border: 1px solid var(--if-border);
        background: #fff;
        box-shadow: 0 12px 40px rgb(15 23 42 / 10%), 0 2px 8px rgb(15 23 42 / 4%);
    }

    .if-pub-browser__chrome {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        border-bottom: 1px solid var(--if-border);
        background: var(--if-bg-canvas);
        padding: 0.65rem 1rem;
    }

    .if-pub-browser__dot {
        height: 0.625rem;
        width: 0.625rem;
        border-radius: 9999px;
        flex-shrink: 0;
    }

    .if-pub-browser__dot--red { background: #f87171; }
    .if-pub-browser__dot--amber { background: #fbbf24; }
    .if-pub-browser__dot--green { background: #34d399; }

    .if-pub-browser__url {
        margin-left: 0.5rem;
        flex: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        border-radius: 0.375rem;
        background: #fff;
        padding: 0.35rem 0.75rem;
        font-size: 0.6875rem;
        color: var(--if-text-muted);
    }

    .if-pub-browser__screen {
        display: block;
        width: 100%;
        height: auto;
        vertical-align: top;
    }

    /* Hero */
    .if-pub-hero {
        position: relative;
        overflow: hidden;
        padding-bottom: 0;
    }

    .if-pub-hero__bg {
        position: absolute;
        inset: 0;
        background:
            radial-gradient(ellipse 75% 58% at 18% 28%, rgb(37 99 235 / 26%), transparent 66%),
            radial-gradient(ellipse 55% 48% at 82% 12%, rgb(96 165 250 / 18%), transparent 62%),
            radial-gradient(ellipse 42% 38% at 55% 85%, rgb(114 191 68 / 12%), transparent 58%),
            radial-gradient(ellipse 50% 40% at 70% 60%, rgb(59 130 246 / 10%), transparent 55%),
            linear-gradient(158deg, rgb(239 246 255 / 72%) 0%, rgb(248 250 252 / 42%) 45%, transparent 100%);
    }

    .if-pub-hero__bg::before {
        content: '';
        position: absolute;
        inset: 0;
        background: radial-gradient(ellipse 60% 40% at 50% 0%, rgb(255 255 255 / 28%), transparent 70%);
        pointer-events: none;
    }

    .if-pub-hero__bg::after {
        content: '';
        position: absolute;
        inset: 0;
        background-image:
            linear-gradient(rgb(148 163 184 / 10%) 1px, transparent 1px),
            linear-gradient(90deg, rgb(148 163 184 / 10%) 1px, transparent 1px);
        background-size: 56px 56px;
        mask-image: linear-gradient(180deg, rgb(0 0 0 / 50%), transparent 90%);
        -webkit-mask-image: linear-gradient(180deg, rgb(0 0 0 / 50%), transparent 90%);
        pointer-events: none;
    }

    .if-pub-hero__grid {
        display: grid;
        align-items: center;
        gap: clamp(2.5rem, 6vw, 3.5rem);
        padding-bottom: clamp(1.25rem, 3vw, 2rem);
    }

    @media (min-width: 1024px) {
        .if-pub-hero__grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: clamp(3.5rem, 5vw, 5.5rem);
            padding-bottom: clamp(2rem, 3vw, 3rem);
        }
    }

    .if-pub-hero__content > .if-pub-eyebrow {
        margin-bottom: var(--pub-head-title-gap);
    }

    .if-pub-hero__content > .if-pub-eyebrow + .if-pub-hero__title,
    .if-pub-hero__content > .if-pub-eyebrow + h1 {
        margin-top: 0;
    }

    .if-pub-hero__content > .if-pub-lead,
    .if-pub-hero__content > p.if-pub-lead {
        margin-top: var(--pub-head-subtitle-gap);
    }

    .if-pub-hero__title {
        font-size: clamp(2rem, 5vw, 3.5rem);
        font-weight: 700;
        letter-spacing: -0.03em;
        line-height: 1.08;
    }

    .if-pub-hero__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        margin-top: clamp(2rem, 4vw, 2.75rem);
    }

    /* Cards */
     .if-pub-card {
        --tilt-x: 0deg;
        --tilt-y: 0deg;
        border-radius: calc(var(--if-radius) + 2px);
        border: 1px solid rgb(148 163 184 / 28%);
        background: rgb(255 255 255 / 78%);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        box-shadow: 0 4px 20px rgb(15 23 42 / 7%), 0 1px 2px rgb(15 23 42 / 5%);
        transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
        transform: perspective(800px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(0);
    }

    .if-pub-card:hover {
        border-color: var(--if-border-strong);
        box-shadow: 0 12px 32px rgb(15 23 42 / 9%), 0 2px 6px rgb(15 23 42 / 5%);
        transform: perspective(800px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-3px);
    }

    .if-pub-card-grid {
        display: grid;
        gap: var(--pub-card-gap);
    }

    @media (min-width: 640px) {
        .if-pub-card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .if-pub-card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .if-pub-card-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    @media (min-width: 1024px) {
        .if-pub-card-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    }

    /* Industry card */
    .if-pub-industry-card {
        display: block;
        overflow: hidden;
        border-radius: calc(var(--if-radius) + 2px);
        border: 1px solid var(--if-border);
        background: var(--if-bg-surface);
        box-shadow: var(--if-shadow);
        text-decoration: none;
        color: inherit;
        transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    }

    .if-pub-industry-card:hover {
        border-color: var(--if-border-strong);
        box-shadow: 0 8px 24px rgb(15 23 42 / 8%);
        transform: translateY(-2px);
    }

    .if-pub-industry-card__media {
        aspect-ratio: 16 / 10;
        overflow: hidden;
        background: var(--if-bg-canvas);
    }

    .if-pub-industry-card__media img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        transition: transform 0.35s ease;
    }

    .if-pub-industry-card:hover .if-pub-industry-card__media img {
        transform: scale(1.04);
    }

    .if-pub-industry-card__body {
        padding: 1.125rem 1.25rem 1.25rem;
    }

    /* Section transitions */
    .if-pub-section + .if-pub-section .if-pub-section-head {
        padding-top: clamp(0.75rem, 2vw, 1.25rem);
    }

    .if-pub-section.if-pub-section--glow:has(+ .if-pub-cta) {
        padding-bottom: clamp(5rem, 11vw, 8rem);
    }

    .if-pub-section.if-pub-section--glow:has(+ .if-pub-cta) .if-pub-inner > a {
        box-shadow: 0 10px 28px rgb(37 99 235 / 22%);
    }

    .if-pub-section + .if-pub-cta {
        padding-top: clamp(5.5rem, 11vw, 8.5rem);
    }

    /* CTA band */
    .if-pub-cta {
        background:
            radial-gradient(ellipse 80% 120% at 50% 100%, rgb(29 78 216 / 35%), transparent 70%),
            linear-gradient(135deg, #1d4ed8 0%, var(--if-primary) 48%, #2563eb 100%);
        padding: clamp(5rem, 11vw, 7.5rem) 0;
    }

    .if-pub-cta > div {
        padding-left: var(--pub-inner-x);
        padding-right: var(--pub-inner-x);
    }

    .if-pub-cta h2 + p {
        margin-top: var(--pub-stack-md);
    }

    .if-pub-cta p + a,
    .if-pub-cta p + div {
        margin-top: var(--pub-stack-lg);
    }

    /* Nav polish */
    .if-pub-nav {
        border-bottom: 1px solid rgb(148 163 184 / 24%);
        background: rgb(248 250 252 / 58%);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        box-shadow: 0 1px 0 rgb(255 255 255 / 55%) inset;
        transition: background 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    }

    .if-pub-nav.is-scrolled {
        background: rgb(248 250 252 / 78%);
        border-bottom-color: rgb(148 163 184 / 30%);
        box-shadow: 0 4px 24px rgb(15 23 42 / 8%), 0 1px 0 rgb(255 255 255 / 65%) inset;
    }

    .if-pub-nav__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1.25rem;
        min-height: 4.25rem;
        padding-block: 0.35rem;
    }

    @media (min-width: 768px) {
        .if-pub-nav__inner {
            min-height: 4.5rem;
        }
    }

    .if-pub-nav__links a {
        font-size: 0.875rem;
        font-weight: 500;
        color: var(--if-text-secondary);
        text-decoration: none;
        transition: color 0.15s ease;
    }

    .if-pub-nav__links a:hover,
    .if-pub-nav__links a.is-active {
        color: var(--if-text);
    }

    .if-pub-nav__links a.is-active {
        position: relative;
    }

    .if-pub-nav__links a.is-active::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: -1.35rem;
        height: 2px;
        border-radius: 2px;
        background: var(--if-primary);
    }

    .if-pub-nav__mobile:not(.hidden) {
        display: block;
    }

    /* Benefits strip */
    .if-pub-benefits {
        position: relative;
        margin-top: clamp(2.5rem, 5vw, 3.5rem);
        border-top: 1px solid rgb(148 163 184 / 22%);
        padding-top: clamp(1.5rem, 3vw, 2rem);
        padding-bottom: clamp(2rem, 4vw, 2.75rem);
        background: linear-gradient(180deg, rgb(255 255 255 / 28%) 0%, transparent 100%);
    }

    .if-pub-benefits__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.875rem 1.75rem;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .if-pub-benefits__item {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.5rem 1rem;
        border: 1px solid rgb(37 99 235 / 14%);
        border-radius: 9999px;
        background: rgb(255 255 255 / 78%);
        font-size: 0.8125rem;
        font-weight: 600;
        color: var(--if-text-secondary);
        box-shadow: 0 1px 4px rgb(15 23 42 / 5%);
        transition: color 0.2s ease, transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    }

    @media (min-width: 768px) {
        .if-pub-benefits__item {
            font-size: 0.875rem;
            padding: 0.55rem 1.15rem;
        }
    }

    .if-pub-benefits__item:hover {
        color: var(--if-text);
        border-color: rgb(37 99 235 / 28%);
        box-shadow: 0 4px 14px rgb(37 99 235 / 10%);
        transform: translateY(-2px);
    }

    .if-pub-benefits__check {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.25rem;
        height: 1.25rem;
        border-radius: 9999px;
        background: rgb(37 99 235 / 12%);
        color: var(--if-primary);
        font-size: 0.7rem;
        font-weight: 700;
    }

    /* Operations flow */
    .if-pub-flow {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.35rem;
        max-width: 48rem;
        margin-left: auto;
        margin-right: auto;
    }

    @media (min-width: 1024px) {
        .if-pub-flow {
            flex-direction: row;
            flex-wrap: wrap;
            justify-content: center;
            gap: 0.5rem 0.25rem;
        }

        .if-pub-flow__arrow {
            display: none;
        }

        .if-pub-flow__step:not(:last-child)::after {
            content: '→';
            margin-left: 0.5rem;
            color: var(--if-text-muted);
            font-weight: 600;
        }
    }

    .if-pub-flow__node {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 6.5rem;
        border-radius: 9999px;
        border: 1px solid var(--if-border);
        background: var(--if-bg-surface);
        padding: 0.65rem 1rem;
        font-size: 0.8125rem;
        font-weight: 600;
        color: var(--if-text);
        box-shadow: var(--if-shadow);
        transition: border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
    }

    .if-pub-flow__step.is-lit .if-pub-flow__node {
        border-color: var(--if-primary);
        color: var(--if-primary);
        box-shadow: 0 6px 20px rgb(37 99 235 / 14%);
        transform: scale(1.04);
    }

    .if-pub-flow__arrow {
        color: var(--if-primary);
        font-size: 1rem;
        line-height: 1;
    }

    /* Pillars — operating system grid */
    .if-pub-pillars {
        display: grid;
        gap: var(--pub-card-gap);
    }

    @media (min-width: 640px) {
        .if-pub-pillars {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (min-width: 1024px) {
        .if-pub-pillars {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: var(--pub-card-gap);
        }
    }

    .if-pub-pillar {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: var(--pub-stack-md);
        overflow: hidden;
        border-radius: calc(var(--if-radius) + 4px);
        border: 1px solid var(--if-border);
        background: rgb(255 255 255 / 98%);
        padding: clamp(1.35rem, 3vw, 1.75rem);
        box-shadow: 0 4px 24px rgb(15 23 42 / 5%), 0 1px 2px rgb(15 23 42 / 4%);
        transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    }

    .if-pub-pillar::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: var(--pillar-accent, var(--if-primary));
        opacity: 0.85;
    }

    .if-pub-pillar:hover {
        border-color: var(--pillar-border, var(--if-border-strong));
        box-shadow: 0 14px 36px rgb(15 23 42 / 9%), 0 2px 8px rgb(15 23 42 / 4%);
        transform: translateY(-2px);
    }

    .if-pub-pillar__icon-wrap {
        display: flex;
        height: 3rem;
        width: 3rem;
        align-items: center;
        justify-content: center;
        border-radius: 0.875rem;
        background: var(--pillar-icon-bg, var(--if-info-bg));
        color: var(--pillar-accent, var(--if-primary));
        box-shadow: inset 0 1px 0 rgb(255 255 255 / 65%);
    }

    .if-pub-pillar__icon-wrap svg {
        height: 1.375rem;
        width: 1.375rem;
    }

    .if-pub-pillar__content {
        display: flex;
        flex: 1;
        flex-direction: column;
    }

    .if-pub-pillar__title {
        font-size: 1.0625rem;
        font-weight: 700;
        letter-spacing: -0.01em;
        line-height: 1.25;
        color: var(--if-text);
    }

    .if-pub-pillar__body {
        margin-top: 0.5rem;
        flex: 1;
        font-size: 0.875rem;
        line-height: 1.6;
        color: var(--if-text-secondary);
    }

    .if-pub-pillar__link {
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
        margin-top: 1rem;
        font-size: 0.8125rem;
        font-weight: 600;
        color: var(--pillar-accent, var(--if-primary));
        text-decoration: none;
        transition: gap 0.15s ease, color 0.15s ease;
    }

    .if-pub-pillar__link:hover {
        gap: 0.45rem;
        color: var(--if-primary-hover);
    }

    .if-pub-pillar--production {
        --pillar-accent: #2563eb;
        --pillar-icon-bg: #eff6ff;
        --pillar-border: #bfdbfe;
    }

    .if-pub-pillar--inventory {
        --pillar-accent: #0891b2;
        --pillar-icon-bg: #ecfeff;
        --pillar-border: #a5f3fc;
    }

    .if-pub-pillar--workforce {
        --pillar-accent: #7c3aed;
        --pillar-icon-bg: #f5f3ff;
        --pillar-border: #ddd6fe;
    }

    .if-pub-pillar--procurement {
        --pillar-accent: #d97706;
        --pillar-icon-bg: #fffbeb;
        --pillar-border: #fde68a;
    }

    .if-pub-pillar--finance {
        --pillar-accent: #059669;
        --pillar-icon-bg: #ecfdf5;
        --pillar-border: #a7f3d0;
    }

    .if-pub-pillar--reporting {
        --pillar-accent: #4f46e5;
        --pillar-icon-bg: #eef2ff;
        --pillar-border: #c7d2fe;
    }

    /* Dashboard showcase */
    .if-pub-dashboard-showcase {
        display: grid;
        gap: 1.5rem;
    }

    @media (min-width: 1024px) {
        .if-pub-dashboard-showcase {
            grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
            align-items: start;
            gap: 2rem;
        }
    }

    .if-pub-dashboard-showcase__kpis {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .if-pub-kpi-card {
        border-radius: var(--if-radius);
        border: 1px solid var(--if-border);
        background: var(--if-bg-surface);
        padding: 1rem 1.125rem;
        box-shadow: var(--if-shadow);
    }

    .if-pub-kpi-card__label {
        font-size: 0.75rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: var(--if-text-muted);
    }

    .if-pub-kpi-card__value {
        margin-top: 0.35rem;
        font-size: 1.375rem;
        font-weight: 700;
        letter-spacing: -0.02em;
        color: var(--if-text);
    }

    /* Maturity ladder */
    .if-pub-maturity {
        display: grid;
        gap: 1rem;
        max-width: 48rem;
        margin-left: auto;
        margin-right: auto;
    }

    .if-pub-maturity__step {
        display: flex;
        gap: 1rem;
        align-items: flex-start;
        border-radius: var(--if-radius);
        border: 1px solid var(--if-border);
        background: var(--if-bg-surface);
        padding: 1.125rem 1.25rem;
        box-shadow: var(--if-shadow);
    }

    .if-pub-maturity__badge {
        flex-shrink: 0;
        display: flex;
        height: 2rem;
        width: 2rem;
        align-items: center;
        justify-content: center;
        border-radius: 9999px;
        background: var(--if-primary);
        font-size: 0.8125rem;
        font-weight: 700;
        color: #fff;
    }

    /* Comparison table */
    .if-pub-comparison__table {
        width: 100%;
        min-width: 42rem;
        border-collapse: collapse;
        font-size: 0.875rem;
        background: var(--if-bg-surface);
        border: 1px solid var(--if-border);
        border-radius: var(--if-radius);
        overflow: hidden;
        box-shadow: var(--if-shadow);
    }

    .if-pub-comparison__table th,
    .if-pub-comparison__table td {
        padding: 0.9rem 1rem;
        text-align: left;
        vertical-align: top;
        border-bottom: 1px solid var(--if-border);
    }

    .if-pub-comparison__table thead th {
        background: var(--if-bg-canvas);
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--if-text-secondary);
    }

    .if-pub-comparison__table tbody th[scope='row'] {
        font-weight: 600;
        color: var(--if-text);
        background: var(--if-bg-canvas);
        width: 18%;
    }

    .if-pub-comparison__table td {
        color: var(--if-text-secondary);
        width: 27%;
    }

    .if-pub-comparison__highlight {
        background: var(--if-info-bg) !important;
        color: var(--if-text) !important;
        font-weight: 600;
    }

    .if-pub-comparison__table tr:last-child th,
    .if-pub-comparison__table tr:last-child td {
        border-bottom: none;
    }

    /* FAQ */
    .if-pub-faq {
        display: grid;
        gap: 0.75rem;
    }

    .if-pub-faq__item {
        border-radius: var(--if-radius);
        border: 1px solid var(--if-border);
        background: var(--if-bg-surface);
        overflow: hidden;
    }

    .if-pub-faq__question {
        cursor: pointer;
        list-style: none;
        padding: 1rem 1.25rem;
        font-weight: 600;
        color: var(--if-text);
    }

    .if-pub-faq__question::-webkit-details-marker {
        display: none;
    }

    .if-pub-faq__answer {
        padding: 0 1.25rem 1.125rem;
        font-size: 0.9375rem;
        line-height: 1.65;
        color: var(--if-text-secondary);
    }

    /* Trusted by */
    .if-pub-trusted {
        padding: clamp(3.5rem, 8vw, 5rem) 0;
        background: transparent;
    }

    @media (min-width: 768px) {
        .if-pub-trusted {
            padding: clamp(4.5rem, 8vw, 6rem) 0;
        }
    }

    .if-pub-trusted__pills {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.875rem;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .if-pub-trusted__pill {
        border-radius: 9999px;
        border: 1px solid var(--if-border);
        background: rgb(255 255 255 / 90%);
        padding: 0.65rem 1.15rem;
        font-size: 0.8125rem;
        font-weight: 600;
        color: var(--if-text-secondary);
        box-shadow: 0 2px 8px rgb(15 23 42 / 4%);
    }

    /* Implementation steps */
    .if-pub-impl {
        display: grid;
        gap: var(--pub-card-gap);
        max-width: 56rem;
        margin-left: auto;
        margin-right: auto;
    }

    @media (min-width: 768px) {
        .if-pub-impl {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }

    .if-pub-impl__step {
        border-radius: calc(var(--if-radius) + 2px);
        border: 1px solid var(--if-border);
        background: rgb(255 255 255 / 96%);
        padding: 1.5rem 1.35rem;
        box-shadow: 0 4px 20px rgb(15 23 42 / 5%);
    }

    .if-pub-impl__number {
        display: inline-flex;
        height: 2rem;
        width: 2rem;
        align-items: center;
        justify-content: center;
        border-radius: 9999px;
        background: var(--if-primary);
        font-size: 0.8125rem;
        font-weight: 700;
        color: #fff;
        margin-bottom: 0.75rem;
    }

    /* Register industry preview */
    .if-pub-register-preview__media {
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background: var(--if-bg-canvas);
    }

    /* Logo */
    .if-pub-logo {
        width: auto;
        max-width: min(12.5rem, 42vw);
        object-fit: contain;
        object-position: left center;
    }

    .if-pub-logo-link {
        text-decoration: none;
        transition: opacity 0.15s ease;
    }

    .if-pub-logo-link:hover {
        opacity: 0.88;
    }

    /* Footer */
    .if-pub-footer {
        margin-top: auto;
        border-top: 1px solid rgb(148 163 184 / 22%);
        background:
            linear-gradient(180deg, transparent 0%, rgb(255 255 255 / 32%) 28%, rgb(248 250 252 / 52%) 100%);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    .if-pub-footer .if-pub-inner {
        padding-top: clamp(3.5rem, 8vw, 4.5rem);
        padding-bottom: clamp(3.5rem, 8vw, 4.5rem);
    }

    .if-pub-footer .grid {
        gap: clamp(2rem, 4vw, 2.5rem);
    }

    /* Chaos grid — 5 cards */
    .if-pub-card-grid--chaos {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    @media (min-width: 640px) {
        .if-pub-card-grid--chaos {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (min-width: 1024px) {
        .if-pub-card-grid--chaos {
            grid-template-columns: repeat(6, minmax(0, 1fr));
        }

        .if-pub-card-grid--chaos > :nth-child(1),
        .if-pub-card-grid--chaos > :nth-child(2),
        .if-pub-card-grid--chaos > :nth-child(3) {
            grid-column: span 2;
        }

        .if-pub-card-grid--chaos > :nth-child(4),
        .if-pub-card-grid--chaos > :nth-child(5) {
            grid-column: span 3;
        }
    }

    /* Maturity spacing */
    .if-pub-maturity {
        gap: 1.125rem;
    }

    @media (min-width: 768px) {
        .if-pub-maturity {
            gap: 1.25rem;
        }
    }

    .if-pub-maturity__step {
        padding: 1.25rem 1.35rem;
    }

    /* Flow desktop spacing */
    @media (min-width: 1024px) {
        .if-pub-flow {
            gap: 0.65rem 0.5rem;
        }

        .if-pub-flow__node {
            min-width: 7.25rem;
            padding: 0.75rem 1.1rem;
        }
    }

    /* Scroll progress */
    .if-pub-progress {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 60;
        height: 3px;
        transform-origin: left center;
        transform: scaleX(0);
        background: linear-gradient(90deg, var(--if-primary), #60a5fa, #93c5fd);
        pointer-events: none;
    }

    /* Scroll reveal */
    .if-pub-reveal {
        opacity: 0;
        transform: translate3d(0, 28px, 0);
        transition:
            opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
            transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
        transition-delay: var(--reveal-delay, 0s);
    }

    .if-pub-reveal.is-revealed {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

    /* Hero motion */
    .if-pub-hero__bg {
        will-change: transform;
        transition: transform 0.1s linear;
    }

    .if-pub-hero__visual {
        will-change: transform;
        transition: transform 0.1s linear;
    }

    /* Section in-view reactions */
    .if-pub-section.is-inview .if-pub-section-title {
        color: var(--if-text);
    }

    #product.is-inview .if-pub-tour-card,
    #product.has-entered .if-pub-tour-card {
        box-shadow: 0 20px 56px rgb(37 99 235 / 12%), 0 4px 16px rgb(15 23 42 / 6%);
    }

    #product.has-entered:not(.is-inview) .if-pub-tour-card {
        box-shadow: 0 16px 48px rgb(15 23 42 / 8%), 0 2px 8px rgb(15 23 42 / 4%);
        transition: box-shadow 0.6s ease;
    }

    #product.is-inview .if-pub-tabs__indicator {
        height: 3px;
        box-shadow: 0 0 12px rgb(37 99 235 / 45%);
    }

    .if-pub-tour-card {
        transition: box-shadow 0.5s ease, transform 0.5s ease;
    }

    #product.is-inview .if-pub-tour-card {
        transform: translateY(-2px);
    }

    /* KPI pulse when visible */
    .if-pub-kpi-card {
        transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
    }

    .if-pub-kpi-card:hover,
    .if-pub-section.is-inview .if-pub-kpi-card {
        border-color: rgb(37 99 235 / 25%);
    }

    .if-pub-kpi-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgb(15 23 42 / 8%);
    }

    /* FAQ open animation */
    .if-pub-faq__item {
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .if-pub-faq__item[open] {
        border-color: rgb(37 99 235 / 30%);
        box-shadow: 0 6px 20px rgb(15 23 42 / 6%);
    }

    .if-pub-faq__answer {
        animation: if-pub-faq-open 0.25s ease;
    }

    @keyframes if-pub-faq-open {
        from {
            opacity: 0;
            transform: translateY(-4px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* Trust items hover */
    .if-pub-trust__item {
        transition: background 0.2s ease, color 0.2s ease;
    }

    .if-pub-trust__item:hover {
        background: var(--if-info-bg);
        color: var(--if-primary);
    }

    /* Benefits strip motion */
    @media (prefers-reduced-motion: reduce) {
        .if-pub-reveal {
            opacity: 1;
            transform: none;
            transition: none;
        }

        .if-pub-hero__bg,
        .if-pub-hero__visual,
        .if-pub-card,
        .if-pub-tour-card,
        .if-pub-flow__node {
            transition: none;
            transform: none;
        }

        .if-pub-faq__answer {
            animation: none;
        }

        .if-pub-scroll-top {
            transition: none;
        }
    }

    /* Scroll to top bubble */
    .if-pub-scroll-top {
        position: fixed;
        right: 1.25rem;
        bottom: 1.25rem;
        z-index: 55;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 3rem;
        height: 3rem;
        border: 1px solid rgb(37 99 235 / 20%);
        border-radius: 9999px;
        background: rgb(255 255 255 / 92%);
        color: var(--if-primary);
        box-shadow: 0 10px 30px rgb(15 23 42 / 12%), 0 2px 8px rgb(37 99 235 / 10%);
        backdrop-filter: blur(10px);
        cursor: pointer;
        transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease, background 0.2s ease;
    }

    .if-pub-scroll-top:hover {
        transform: translateY(-3px);
        background: #fff;
        box-shadow: 0 14px 36px rgb(15 23 42 / 14%), 0 4px 12px rgb(37 99 235 / 16%);
    }

    .if-pub-scroll-top:focus-visible {
        outline: 2px solid var(--if-primary);
        outline-offset: 2px;
    }

    .if-pub-scroll-top[hidden] {
        display: none;
    }

    @media (min-width: 768px) {
        .if-pub-scroll-top {
            right: 1.75rem;
            bottom: 1.75rem;
            width: 3.25rem;
            height: 3.25rem;
        }
    }

    /* Section rhythm boost */
    .if-pub-section + .if-pub-section {
        margin-top: 0;
    }

    .if-pub-inner .grid {
        gap: clamp(2rem, 4.5vw, 3.5rem);
    }

    @media (min-width: 1024px) {
        .if-pub-inner .grid.lg\:grid-cols-2,
        .if-pub-inner .grid.lg\:gap-16 {
            gap: clamp(3rem, 5vw, 5rem);
        }
    }

    .if-pub-faq {
        gap: var(--pub-stack-md);
    }

    /* Hero quick links */
    .if-pub-hero__quick {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem 0.75rem;
        margin-top: clamp(1.25rem, 3vw, 1.75rem);
    }

    .if-pub-hero__quick-link {
        display: inline-flex;
        align-items: center;
        min-height: 2rem;
        padding: 0.35rem 0.85rem;
        border: 1px solid rgb(37 99 235 / 16%);
        border-radius: 9999px;
        background: rgb(255 255 255 / 65%);
        font-size: 0.75rem;
        font-weight: 600;
        color: var(--if-text-secondary);
        text-decoration: none;
        transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
    }

    .if-pub-hero__quick-link:hover {
        color: var(--if-primary);
        border-color: rgb(37 99 235 / 32%);
        background: #fff;
        transform: translateY(-1px);
    }

    /* Sticky section nav (homepage) */
    .if-pub-section-nav {
        position: sticky;
        top: 4.25rem;
        z-index: 40;
        margin-bottom: -0.5rem;
        padding: 0.65rem 0;
        border-bottom: 1px solid rgb(148 163 184 / 22%);
        background: rgb(248 250 252 / 62%);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        box-shadow: 0 4px 18px rgb(15 23 42 / 5%);
    }

    .if-pub-section-nav[hidden] {
        display: none;
    }

    .if-pub-section-nav__inner {
        display: flex;
        gap: 0.35rem;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 0.15rem;
    }

    .if-pub-section-nav__inner::-webkit-scrollbar {
        display: none;
    }

    .if-pub-section-nav__link {
        flex: 0 0 auto;
        padding: 0.45rem 0.9rem;
        border-radius: 9999px;
        font-size: 0.75rem;
        font-weight: 600;
        color: var(--if-text-secondary);
        text-decoration: none;
        white-space: nowrap;
        transition: color 0.2s ease, background 0.2s ease;
    }

    .if-pub-section-nav__link:hover,
    .if-pub-section-nav__link.is-active {
        color: var(--if-primary);
        background: rgb(37 99 235 / 10%);
    }

    @media (min-width: 768px) {
        .if-pub-section-nav {
            top: 4.5rem;
        }

        .if-pub-section-nav__link {
            font-size: 0.8125rem;
        }
    }

    /* Homepage explore cards */
    .if-pub-explore-grid {
        display: grid;
        gap: clamp(1rem, 2vw, 1.35rem);
        grid-template-columns: minmax(0, 1fr);
    }

    @media (min-width: 640px) {
        .if-pub-explore-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (min-width: 1024px) {
        .if-pub-explore-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }

    .if-pub-explore-card {
        display: flex;
        flex-direction: column;
        gap: 0.55rem;
        min-height: 100%;
        padding: 1.35rem 1.4rem 1.25rem;
        border: 1px solid rgb(148 163 184 / 28%);
        border-radius: calc(var(--if-radius) + 2px);
        background: rgb(255 255 255 / 76%);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        text-decoration: none;
        color: inherit;
        box-shadow: 0 10px 28px rgb(15 23 42 / 6%);
        transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    }

    .if-pub-explore-card:hover {
        border-color: rgb(37 99 235 / 28%);
        box-shadow: 0 16px 36px rgb(15 23 42 / 8%);
        transform: translateY(-2px);
    }

    .if-pub-explore-card__eyebrow {
        font-size: 0.6875rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--if-primary);
    }

    .if-pub-explore-card__title {
        font-size: 1.0625rem;
        font-weight: 700;
        line-height: 1.35;
        color: var(--if-text);
    }

    .if-pub-explore-card__body {
        flex: 1;
        font-size: 0.875rem;
        line-height: 1.55;
        color: var(--if-text-secondary);
    }

    .if-pub-explore-card__link {
        margin-top: 0.35rem;
        font-size: 0.8125rem;
        font-weight: 600;
        color: var(--if-primary);
    }

    /* Mobile sticky CTA */
    .if-pub-sticky-cta {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 54;
        display: flex;
        gap: 0.5rem;
        padding: 0.65rem 1rem calc(0.65rem + env(safe-area-inset-bottom, 0px));
        border-top: 1px solid rgb(148 163 184 / 24%);
        background: rgb(248 250 252 / 82%);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        box-shadow: 0 -8px 28px rgb(15 23 42 / 9%);
    }

    .if-pub-sticky-cta[hidden] {
        display: none;
    }

    .if-pub-sticky-cta__primary,
    .if-pub-sticky-cta__secondary {
        flex: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.75rem;
        border-radius: var(--if-radius);
        font-size: 0.8125rem;
        font-weight: 600;
        text-decoration: none;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .if-pub-sticky-cta__primary {
        background: var(--if-primary);
        color: #fff;
        box-shadow: 0 4px 14px rgb(37 99 235 / 28%);
    }

    .if-pub-sticky-cta__secondary {
        border: 1px solid var(--if-border-strong);
        background: #fff;
        color: var(--if-text);
    }

    .if-pub-sticky-cta__primary:active,
    .if-pub-sticky-cta__secondary:active {
        transform: scale(0.98);
    }

    @media (min-width: 768px) {
        .if-pub-sticky-cta {
            display: none !important;
        }
    }

    .if-pub-page.has-sticky-cta {
        padding-bottom: 4.75rem;
    }

    /* Feature module grid */
    .if-pub-features-strip {
        padding: clamp(2rem, 4.5vw, 3.25rem) 0;
        background: linear-gradient(180deg, rgb(248 250 252 / 60%) 0%, transparent 100%);
    }

    .if-pub-features-strip__title {
        margin: 0 0 1rem;
        text-align: center;
        font-size: 0.75rem;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--if-text-muted);
    }

    .if-pub-features-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem;
    }

    @media (min-width: 640px) {
        .if-pub-features-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0.75rem;
        }
    }

    @media (min-width: 1024px) {
        .if-pub-features-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0.85rem;
        }
    }

    .if-pub-feature-card {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
        padding: 0.85rem 0.9rem;
        border: 1px solid rgb(226 232 240 / 90%);
        border-radius: var(--if-radius);
        background: rgb(255 255 255 / 88%);
        text-align: left;
        cursor: pointer;
        transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease;
    }

    .if-pub-feature-card:hover,
    .if-pub-feature-card.is-active {
        border-color: rgb(37 99 235 / 35%);
        background: #fff;
        box-shadow: 0 8px 22px rgb(37 99 235 / 12%);
        transform: translateY(-2px);
    }

    .if-pub-feature-card__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.5rem;
        height: 1.5rem;
        border-radius: 0.4rem;
        background: rgb(37 99 235 / 12%);
        color: var(--if-primary);
        font-size: 0.65rem;
    }

    .if-pub-feature-card[data-feature-card="dashboard"] .if-pub-feature-card__icon { background: rgb(59 130 246 / 14%); color: #2563eb; }
    .if-pub-feature-card[data-feature-card="production"] .if-pub-feature-card__icon { background: rgb(234 88 12 / 14%); color: #ea580c; }
    .if-pub-feature-card[data-feature-card="planning"] .if-pub-feature-card__icon { background: rgb(168 85 247 / 14%); color: #9333ea; }
    .if-pub-feature-card[data-feature-card="inventory"] .if-pub-feature-card__icon { background: rgb(22 163 74 / 14%); color: #16a34a; }
    .if-pub-feature-card[data-feature-card="workforce"] .if-pub-feature-card__icon { background: rgb(14 165 233 / 14%); color: #0284c7; }
    .if-pub-feature-card[data-feature-card="expenses"] .if-pub-feature-card__icon { background: rgb(217 119 6 / 14%); color: #d97706; }
    .if-pub-feature-card[data-feature-card="users"] .if-pub-feature-card__icon { background: rgb(99 102 241 / 14%); color: #4f46e5; }

    .if-pub-feature-card__label {
        font-size: 0.8125rem;
        font-weight: 700;
        color: var(--if-text);
        line-height: 1.3;
    }

    .if-pub-feature-card__hint {
        font-size: 0.6875rem;
        color: var(--if-text-muted);
        line-height: 1.35;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* Chaos cards */
    .if-pub-chaos-card {
        position: relative;
        padding-top: 2.5rem !important;
    }

    .if-pub-chaos-card__num {
        position: absolute;
        top: 1.25rem;
        left: 1.25rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 9999px;
        background: rgb(37 99 235 / 10%);
        font-size: 0.75rem;
        font-weight: 700;
        color: var(--if-primary);
    }

    /* Trust strip icons */
    .if-pub-trust__item {
        gap: 0.5rem;
    }

    .if-pub-trust__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 0.5rem;
        background: rgb(37 99 235 / 8%);
        font-size: 0.9rem;
        line-height: 1;
    }

    /* Pillar SVG icons */
    .if-pub-pillar__icon-wrap svg {
        width: 1.35rem;
        height: 1.35rem;
        color: var(--if-primary);
    }

    /* Subpage heroes */
    .if-pub-page-hero__head {
        max-width: 48rem;
        margin-left: auto;
        margin-right: auto;
    }

    .if-pub-page-hero__subtitle {
        margin-top: clamp(1.25rem, 3vw, 1.75rem);
        font-size: 1.0625rem;
        line-height: 1.7;
        color: var(--if-text-secondary);
    }

    .if-pub-page-hero__content > .if-pub-eyebrow {
        margin-bottom: var(--pub-head-title-gap);
    }

    .if-pub-page-hero__content > .if-pub-eyebrow + .if-pub-section-title,
    .if-pub-page-hero__content > .if-pub-eyebrow + h1.if-pub-section-title {
        margin-top: 0;
    }

    .if-pub-page-hero.if-pub-section.pb-0 {
        padding-bottom: clamp(3rem, 6.5vw, 5rem);
    }

    .if-pub-page-hero__content .if-pub-headline {
        margin-top: var(--pub-stack-md);
        font-size: clamp(1.125rem, 2.5vw, 1.25rem);
        font-weight: 500;
        line-height: 1.45;
        color: var(--if-text);
    }

    .if-pub-page-hero__content .if-pub-headline + .if-pub-page-hero__subtitle {
        margin-top: var(--pub-head-subtitle-gap);
    }

    .if-pub-hero-badge {
        display: inline-flex;
        margin-top: var(--pub-stack-md);
        border-radius: 9999px;
        background: var(--if-info-bg);
        padding: 0.25rem 0.75rem;
        font-size: 0.75rem;
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--if-primary);
    }

    .if-pub-page-hero + .if-pub-trusted--compact {
        padding-top: clamp(0.5rem, 1.5vw, 1rem);
    }

    /* Left-aligned content stacks (about, story, africa grid) */
    .if-pub-content-block .if-pub-eyebrow {
        margin-bottom: var(--pub-head-title-gap);
    }

    .if-pub-content-block .if-pub-section-title,
    .if-pub-content-block h1.if-pub-section-title,
    .if-pub-content-block h2.if-pub-section-title {
        margin-top: 0;
    }

    .if-pub-lead {
        margin-top: var(--pub-head-subtitle-gap);
        font-size: clamp(1rem, 2.2vw, 1.125rem);
        line-height: 1.7;
        color: var(--if-text-secondary);
    }

    .if-pub-content-block .if-pub-lead {
        margin-top: var(--pub-head-subtitle-gap);
    }

    .if-pub-inline-cta {
        display: inline-flex;
        align-items: center;
        min-height: 2.75rem;
        margin-top: clamp(1.75rem, 4vw, 2.5rem);
        font-size: 0.875rem;
        font-weight: 600;
        color: var(--if-primary);
        text-decoration: none;
        transition: color 0.2s ease;
    }

    .if-pub-inline-cta:hover {
        color: var(--if-primary-hover);
    }

    /* Centered prose blocks (vision, etc.) */
    .if-pub-section-prose {
        text-align: center;
    }

    .if-pub-section-prose > h2,
    .if-pub-section-prose > .if-pub-section-title {
        margin-top: 0;
        font-size: clamp(1.75rem, 4vw, 2.5rem);
        font-weight: 700;
        letter-spacing: -0.02em;
        line-height: 1.2;
        color: var(--if-text);
    }

    .if-pub-section-prose > .if-pub-lead {
        margin-top: var(--pub-head-subtitle-gap);
        max-width: 42rem;
        margin-left: auto;
        margin-right: auto;
    }

    /* Section tail content below main body */
    .if-pub-section-tail {
        margin-top: clamp(2.75rem, 5.5vw, 4rem);
    }

    /* Card copy rhythm */
    .if-pub-card > h2 + p,
    .if-pub-card > h3 + p,
    .if-pub-card h2 + p,
    .if-pub-card h3 + p {
        margin-top: var(--pub-stack-sm);
    }

    .if-pub-card p + a,
    .if-pub-card p + .if-pub-inline-cta,
    .if-pub-card p + button {
        margin-top: var(--pub-stack-md);
    }

    .if-pub-pricing-notes {
        margin-top: var(--pub-stack-xl);
    }

    .if-pub-pricing-notes p + p {
        margin-top: var(--pub-stack-sm);
    }

    .if-pub-edition-card h3 + p {
        margin-top: var(--pub-stack-sm);
    }

    /* Any section immediately before blue CTA band */
    .if-pub-section:has(+ .if-pub-cta) {
        padding-bottom: clamp(4.5rem, 9vw, 7rem);
    }

    .if-pub-section:has(+ .if-pub-cta) .if-pub-section-footer {
        margin-bottom: clamp(3rem, 6vw, 4.5rem);
    }

    /* CTA band — unified across all pages */
    .if-pub-cta__actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.75rem;
        margin-top: var(--pub-stack-lg);
    }

    .if-pub-cta__note {
        margin-top: var(--pub-stack-md);
        font-size: 0.875rem;
        color: rgb(191 219 254);
    }

    .if-pub-cta__note a {
        color: inherit;
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    .if-pub-cta__note a:hover {
        color: #fff;
    }

    .if-pub-cta__btn {
        display: inline-flex;
        align-items: center;
        min-height: 2.75rem;
        padding: 0.65rem 1.5rem;
        border-radius: var(--if-radius);
        font-size: 0.875rem;
        font-weight: 600;
        text-decoration: none;
        transition: background 0.2s ease, transform 0.2s ease;
    }

    .if-pub-cta__btn--primary {
        background: #fff;
        color: var(--if-primary);
        box-shadow: 0 4px 14px rgb(15 23 42 / 12%);
    }

    .if-pub-cta__btn--primary:hover {
        background: rgb(239 246 255);
        transform: translateY(-2px);
    }

    .if-pub-cta__btn--ghost {
        border: 1px solid rgb(255 255 255 / 30%);
        color: #fff;
    }

    .if-pub-cta__btn--ghost:hover {
        background: rgb(255 255 255 / 10%);
    }

    .if-pub-inner > .grid {
        gap: clamp(2.5rem, 5vw, 4rem);
    }

    @media (min-width: 1024px) {
        .if-pub-inner > .grid.lg\:grid-cols-2,
        .if-pub-inner > .grid.lg\:gap-16 {
            gap: clamp(3rem, 5vw, 5rem);
        }
    }

    .if-pub-page-hero__split {
        display: grid;
        gap: clamp(2rem, 5vw, 4rem);
        align-items: center;
    }

    @media (min-width: 1024px) {
        .if-pub-page-hero__split {
            grid-template-columns: 1fr 1fr;
        }
    }

    .if-pub-page-hero__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        margin-top: 1.75rem;
    }

    .if-pub-page-hero__actions--center {
        justify-content: center;
    }

    .if-pub-page-hero__btn {
        display: inline-flex;
        align-items: center;
        min-height: 2.75rem;
        padding: 0.55rem 1.25rem;
        border: 1px solid var(--if-border-strong);
        border-radius: var(--if-radius);
        background: #fff;
        font-size: 0.875rem;
        font-weight: 600;
        color: var(--if-text);
        text-decoration: none;
        transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    }

    .if-pub-page-hero__btn:hover {
        background: var(--if-bg-canvas);
        transform: translateY(-1px);
    }

    .if-pub-page-hero__btn--primary {
        border-color: transparent;
        background: var(--if-primary);
        color: #fff;
        box-shadow: 0 4px 14px rgb(37 99 235 / 24%);
    }

    .if-pub-page-hero__btn--primary:hover {
        background: var(--if-primary-hover);
    }

    .if-pub-page-stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.75rem;
        margin-top: clamp(2rem, 4vw, 3rem);
        padding-top: clamp(1.5rem, 3vw, 2rem);
        border-top: 1px solid rgb(226 232 240 / 80%);
    }

    @media (max-width: 639px) {
        .if-pub-page-stats {
            grid-template-columns: 1fr;
        }
    }

    .if-pub-page-stats__item {
        padding: 1rem 1.15rem;
        border: 1px solid rgb(226 232 240 / 85%);
        border-radius: var(--if-radius);
        background: rgb(255 255 255 / 72%);
        text-align: center;
    }

    .if-pub-page-stats__value {
        margin: 0;
        font-size: 1.125rem;
        font-weight: 700;
        color: var(--if-text);
        line-height: 1.3;
    }

    .if-pub-page-stats__label {
        margin: 0.35rem 0 0;
        font-size: 0.6875rem;
        font-weight: 600;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: var(--if-text-muted);
    }

    /* Compact trust strip */
    .if-pub-trusted--compact {
        padding: clamp(1.25rem, 3vw, 1.75rem) 0;
        border-bottom: 1px solid rgb(226 232 240 / 70%);
        background: linear-gradient(180deg, rgb(248 250 252 / 50%) 0%, transparent 100%);
    }

    .if-pub-trusted--compact .if-pub-trust__grid {
        gap: 0.75rem 1.5rem;
    }

    /* Industry cards upgrade */
    .if-pub-industry-card__link {
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
        margin-top: 1rem;
        font-size: 0.8125rem;
        font-weight: 600;
        color: var(--if-primary);
        transition: gap 0.2s ease;
    }

    .if-pub-industry-card:hover .if-pub-industry-card__link {
        gap: 0.45rem;
    }

    .if-pub-industry-card__meta {
        margin-top: 0.75rem;
        font-size: 0.6875rem;
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--if-text-muted);
    }

    .if-pub-industry-card--featured {
        border-color: rgb(37 99 235 / 22%);
        box-shadow: 0 10px 28px rgb(37 99 235 / 10%);
    }

    /* Pricing cards */
    .if-pub-pricing-card {
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .if-pub-pricing-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 14px 36px rgb(15 23 42 / 10%);
    }

    .if-pub-pricing-card--highlight {
        background: linear-gradient(180deg, rgb(239 246 255 / 80%) 0%, #fff 45%);
    }

    .if-pub-pricing-notes {
        padding: 1.25rem 1.5rem;
        border: 1px solid var(--if-border);
        border-radius: var(--if-radius);
        background: var(--if-info-bg);
        text-align: center;
        font-size: 0.875rem;
        line-height: 1.65;
        color: var(--if-text-secondary);
    }

    .if-pub-edition-card {
        position: relative;
        padding-top: 2.5rem !important;
    }

    .if-pub-edition-card__badge {
        position: absolute;
        top: 1.15rem;
        left: 1.25rem;
        padding: 0.2rem 0.65rem;
        border-radius: 9999px;
        background: rgb(37 99 235 / 10%);
        font-size: 0.6875rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: var(--if-primary);
    }

    /* Persona & value cards */
    .if-pub-persona-card {
        position: relative;
        padding-top: 2.25rem !important;
    }

    .if-pub-persona-card__dot {
        position: absolute;
        top: 1.35rem;
        left: 1.5rem;
        width: 0.5rem;
        height: 0.5rem;
        border-radius: 9999px;
        background: var(--if-primary);
        box-shadow: 0 0 0 4px rgb(37 99 235 / 12%);
    }

    .if-pub-values-grid {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .if-pub-value-card {
        position: relative;
        padding-left: 3.5rem !important;
    }

    .if-pub-value-card__num {
        position: absolute;
        left: 1.25rem;
        top: 1.35rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 9999px;
        background: rgb(37 99 235 / 10%);
        font-size: 0.75rem;
        font-weight: 700;
        color: var(--if-primary);
    }

    .if-pub-africa-card {
        border-color: rgb(37 99 235 / 12%);
    }

    .if-pub-industry-feature {
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
    }

    .if-pub-industry-feature__check {
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.5rem;
        height: 1.5rem;
        border-radius: 9999px;
        background: rgb(37 99 235 / 12%);
        font-size: 0.75rem;
        font-weight: 700;
        color: var(--if-primary);
    }

    /* CTA band */
    .if-pub-cta__inner {
        max-width: 48rem;
        margin-left: auto;
        margin-right: auto;
        padding-left: 1rem;
        padding-right: 1rem;
        text-align: center;
    }

    .if-pub-cta__title {
        font-size: clamp(1.5rem, 3vw, 1.875rem);
        font-weight: 700;
        color: #fff;
        line-height: 1.25;
    }

    .if-pub-cta__subtitle {
        margin-top: var(--pub-stack-md);
        color: rgb(219 234 254);
        line-height: 1.6;
    }

    .if-pub-cta__button {
        display: inline-flex;
        align-items: center;
        min-height: 2.75rem;
        padding: 0.65rem 1.5rem;
        border-radius: var(--if-radius);
        background: #fff;
        font-size: 0.875rem;
        font-weight: 600;
        color: var(--if-primary);
        text-decoration: none;
        box-shadow: 0 4px 14px rgb(15 23 42 / 12%);
        transition: background 0.2s ease, transform 0.2s ease;
    }

    .if-pub-cta__button:hover,
    .if-pub-cta__btn--primary:hover {
        background: rgb(239 246 255);
        transform: translateY(-2px);
    }

    @media (prefers-reduced-motion: no-preference) {
        .if-pub-page::before {
            animation: if-pub-bg-breathe 18s ease-in-out infinite;
        }
    }

    @keyframes if-pub-bg-breathe {
        0%, 100% {
            filter: saturate(1) brightness(1);
        }
        50% {
            filter: saturate(1.06) brightness(1.03);
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .if-pub-page::before {
            animation: none;
        }
    }

    /* ===== Small-screen adaptability ===== */
    .if-pub-page > main {
        overflow-x: clip;
    }

    .if-pub-comparison__hint {
        display: none;
        margin: 0 0 0.75rem;
        text-align: center;
        font-size: 0.75rem;
        font-weight: 600;
        letter-spacing: 0.03em;
        color: var(--if-text-muted);
    }

    @media (max-width: 767px) {
        .if-pub-page {
            --pub-section-y: clamp(2.75rem, 8vw, 3.75rem);
            --pub-block-gap: clamp(1.75rem, 4.5vw, 2.5rem);
            --pub-stack-xl: clamp(2rem, 4.5vw, 2.75rem);
            --pub-anchor-offset: 7.25rem;
            --pub-inner-x: clamp(0.875rem, 4vw, 1.125rem);
        }

        .if-pub-section:has(+ .if-pub-cta) {
            padding-bottom: clamp(3.25rem, 7vw, 4.5rem);
        }

        .if-pub-nav__inner {
            min-height: 3.75rem;
            gap: 0.65rem;
        }

        .if-pub-nav__inner > .flex > a[href*="/register"] {
            padding-inline: 0.75rem;
            font-size: 0.75rem;
            white-space: nowrap;
        }

        .if-pub-section-nav {
            top: calc(3.75rem + env(safe-area-inset-top, 0px));
            margin-inline: calc(-1 * var(--pub-inner-x));
            padding-inline: var(--pub-inner-x);
        }

        .if-pub-section-nav__inner {
            gap: 0.45rem;
            padding-bottom: 0.25rem;
            scroll-padding-inline: var(--pub-inner-x);
        }

        .if-pub-section-nav__link {
            display: inline-flex;
            align-items: center;
            min-height: 2.75rem;
            padding: 0.5rem 1rem;
        }

        .if-pub-hero.if-pub-section {
            padding-top: clamp(2.5rem, 7vw, 3.5rem);
        }

        .if-pub-hero__grid {
            gap: 2rem;
            padding-bottom: 1rem;
        }

        .if-pub-hero__title {
            font-size: clamp(1.875rem, 7.5vw, 2.5rem);
            line-height: 1.12;
        }

        .if-pub-hero__actions,
        .if-pub-page-hero__actions {
            flex-direction: column;
            align-items: stretch;
            gap: 0.75rem;
        }

        .if-pub-hero__actions > a,
        .if-pub-page-hero__btn {
            width: 100%;
            justify-content: center;
        }

        .if-pub-hero__quick {
            gap: 0.45rem 0.55rem;
        }

        .if-pub-hero__quick-link {
            font-size: 0.6875rem;
            padding: 0.4rem 0.75rem;
        }

        .if-pub-benefits__list {
            flex-direction: column;
            align-items: stretch;
            gap: 0.65rem;
        }

        .if-pub-benefits__item {
            justify-content: center;
            width: 100%;
        }

        .if-pub-trust__item {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.4rem;
            padding: 1rem 0.65rem;
            font-size: 0.8125rem;
            line-height: 1.35;
        }

        .if-pub-trusted--compact .if-pub-trust__grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0;
        }

        .if-pub-trusted--compact .if-pub-trust__item {
            border-right: 1px solid var(--if-border);
            border-bottom: 1px solid var(--if-border);
        }

        .if-pub-trusted--compact .if-pub-trust__item:nth-child(2n) {
            border-right: none;
        }

        .if-pub-trusted--compact .if-pub-trust__item:nth-last-child(-n+2) {
            border-bottom: none;
        }

        .if-pub-dashboard-showcase__kpis {
            grid-template-columns: 1fr;
        }

        .if-pub-comparison__hint {
            display: block;
        }

        .if-pub-comparison {
            position: relative;
            margin-inline: calc(-1 * var(--pub-inner-x));
            padding-inline: var(--pub-inner-x);
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior-x: contain;
            scroll-padding-inline: var(--pub-inner-x);
        }

        .if-pub-comparison::after {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            width: 2.25rem;
            background: linear-gradient(270deg, rgb(248 250 252 / 96%) 15%, transparent 100%);
            pointer-events: none;
        }

        .if-pub-comparison__table {
            min-width: 36rem;
            font-size: 0.8125rem;
        }

        .if-pub-comparison__table th,
        .if-pub-comparison__table td {
            padding: 0.7rem 0.65rem;
        }

        .if-pub-tour__meta {
            flex-wrap: wrap;
            align-items: flex-start;
        }

        .if-pub-tour__meta-end {
            width: 100%;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
        }

        .if-pub-tabpanel {
            padding: 1rem;
        }

        .if-pub-cta__actions {
            flex-direction: column;
            align-items: stretch;
            gap: 0.65rem;
        }

        .if-pub-cta__btn {
            width: 100%;
            justify-content: center;
        }

        .if-pub-page-hero__subtitle {
            font-size: 1rem;
            line-height: 1.65;
        }

        .if-pub-page-hero.if-pub-section.pb-0 {
            padding-bottom: clamp(2.25rem, 5.5vw, 3.25rem);
        }

        .if-pub-inner > .grid {
            gap: 2rem;
        }

        .if-pub-footer .if-pub-inner {
            padding-top: 2.75rem;
            padding-bottom: calc(2.75rem + env(safe-area-inset-bottom, 0px));
        }

        .if-pub-page.has-sticky-cta {
            padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
        }

        .if-pub-scroll-top {
            right: calc(0.85rem + env(safe-area-inset-right, 0px));
            bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
            width: 2.75rem;
            height: 2.75rem;
        }

        .if-pub-page.has-sticky-cta .if-pub-scroll-top {
            bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
        }

        .if-pub-sticky-cta {
            padding-left: max(1rem, env(safe-area-inset-left, 0px));
            padding-right: max(1rem, env(safe-area-inset-right, 0px));
        }

        .if-pub-explore-card {
            padding: 1.15rem 1.2rem 1.1rem;
        }

        .if-pub-faq__question {
            padding: 1rem 2.75rem 1rem 1rem;
            font-size: 0.9375rem;
            line-height: 1.45;
        }

        .if-pub-pricing-notes {
            padding: 1rem 1.1rem;
            font-size: 0.8125rem;
        }
    }

    @media (max-width: 399px) {
        .if-pub-features-grid {
            grid-template-columns: 1fr;
        }

        .if-pub-hero__title {
            font-size: clamp(1.65rem, 8.5vw, 2rem);
        }

        .if-pub-section-title {
            font-size: clamp(1.45rem, 6.5vw, 1.75rem);
        }

        .if-pub-section-subtitle,
        .if-pub-lead {
            font-size: 0.9375rem;
        }

        .if-pub-nav__inner > .flex > a[href*="/register"] {
            max-width: 6.75rem;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .if-pub-feature-card {
            padding: 0.75rem 0.8rem;
        }
    }

    html.if-pub-nav-open {
        overflow: hidden;
    }

    html.if-pub-nav-open .if-pub-nav__mobile {
        max-height: calc(100dvh - 3.75rem - env(safe-area-inset-top, 0px));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Register, legal, and provisioning — static header, no marketing chrome */
    .if-pub-page--focus .if-pub-nav--focus {
        position: relative;
        top: auto;
        box-shadow: 0 1px 0 rgb(226 232 240 / 80%);
    }

    .if-pub-page--focus .if-pub-section-nav,
    .if-pub-page--focus .if-pub-sticky-cta,
    .if-pub-nav__links--focus-hidden,
    .if-pub-page--focus .if-pub-nav__links,
    .if-pub-nav__toggle--focus-hidden,
    .if-pub-page--focus .if-pub-nav__toggle {
        display: none !important;
    }

    .if-pub-page--focus .if-pub-progress {
        display: none !important;
    }

    @media (max-width: 1023px) {
        .if-pub-page--focus #industry-preview {
            margin-top: 0.5rem;
        }
    }
</style>
