.hero-text-content {
    width: max(386px, calc(26.8vw * var(--scale)));
}

h1.hero-title {
    font-size: max(32px, calc(2.22vw * var(--scale)));
    letter-spacing: -.02em;
    margin-bottom: max(9px, calc(0.63vw * var(--scale)));
    line-height: 130%;
}

.hero-paragraph {
    margin-bottom: max(15px, calc(1.04vw * var(--scale)));
}

.hero-section {
    display: flex;
    flex-direction: column;
    padding-right: var(--big-padding);
    padding-left: var(--small-padding);
}

.hero-subtitle {
    margin-bottom: max(9px, calc(0.625vw * var(--scale)));
}

.custom-hero-bottom {
    margin-top: auto;
}

.custom-hero-bottom-text {
    display: none;
}

.show-on-desktop {
    display: block;
}

.sticky-hero-section-mobile {
    display: none;
}

.sticky-hero-section {
    width: 100vw;
    right: 0;
    left: 0;
    position: fixed;
    top: 14vh;
    padding-left: var(--small-padding);
}

.sticky-hero-section .title-and-subtitle {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-direction: row-reverse;
    width: calc(100vw - 2 * var(--small-padding));
}

.sticky-hero-section .title-and-subtitle .hero-subtitle {
    font-size: max(16px, calc(1.11vw * var(--scale)));
    margin-bottom: max(15px, calc(1.04vw * var(--scale)));
}

.sticky-posts-section {
    padding-left: var(--small-padding);
    margin-top: auto;
    margin-bottom:  max(81px, calc(5.7vw * var(--scale)));
}

.sticky-posts-section .grid {
    min-width: calc(100vw - 2 * var(--small-padding));
}

.sticky-posts-section .dashed-border-outer,
.sticky-posts-section .absolute-subtitle {
    display: none;
}

.sticky-hero-section .medium-text {
    font-size: max(16px, calc(1.11vw * var(--scale)));
}

.padding-top-on-mobile .dashed-border-outer {
    display: none;
}

html[data-card-image-aspect-ratio-desktop="Alternate Align Top"][data-show-excerpt-on-cards="true"] .sticky-posts-section {
    margin-bottom: max(120px, calc(8.3vw * var(--scale)));
}

@media (max-width: 991px) {    
    .hero-text-content {
        max-width: max(386px, calc(26.8vw * var(--scale)));
        width: 100%;
    }
    
    .hero-section {
        width: 100%;
        padding-right: 0px;
        min-height: 100vh;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding-left: 0px;
    }

    .custom-hero-bottom {
        margin-top: 130px;
    }

    .hide-on-mobile {
        display: none;
    }

    .custom-hero-bottom-text {
        display: block;
        font-size: 16px;
    }

    .sticky-hero-section-mobile {
        display: flex;
    }

    .sticky-hero-section .medium-text {
        font-size: 18px;
    }

    .sticky-hero-section-mobile {
        display: none;
    }
    
    .sticky-hero-section {
        width: 100% !important;
        position: static !important;
        padding-left: 0px !important;
    }
    
    .sticky-hero-section .title-and-subtitle {
        align-items: center;
        justify-content: center;
        width: 100% !important;
    }
    
    .sticky-hero-section .title-and-subtitle .hero-subtitle {
        font-size: max(16px, calc(1.11vw * var(--scale)));
        margin-bottom: max(15px, calc(1.04vw * var(--scale)));
    }
    
    .sticky-posts-section {
        padding-left: 0px;
        margin-top: 0px;
        margin-bottom: 0px;
    }
    
    .sticky-posts-section .grid {
        min-width: unset !important;
    }
    
    .sticky-posts-section .dashed-border-outer,
    .sticky-posts-section .absolute-subtitle {
        display: flex;
    }
    
    .sticky-hero-section .medium-text {
        font-size: max(16px, calc(1.11vw * var(--scale)));
    }

    .custom-layout-hero-section {
        padding-top: 7vh;
    }

    .padding-top-on-mobile .dashed-border-outer {
        display: block;
    }
}

/* ═══════════════════════════════════════════════════════════════
   Slux Hero v13 — full-width plasma hero
   ═══════════════════════════════════════════════════════════════ */

/* ─── Panel — dot grid lives directly on the section ─────────── */

.slux-hero-section {
    width: max(500px, 57vw);
    min-width: max(500px, 57vw);
    max-width: max(500px, 57vw);
    min-height: 80vh;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    background-image: radial-gradient(
        circle,
        color-mix(in srgb, var(--text-color) 22%, transparent) 1px,
        transparent 1px
    );
    background-size: 30px 30px;
}

/* ─── Top fade — darkens towards navbar for natural blend ───────── */

.slux-hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        var(--background-color)   0%,
        transparent              30%,
        transparent              70%,
        var(--background-color) 100%
    );
    z-index: 1;
    pointer-events: none;
}

/* ─── Grid spotlight — drifting accent radial that lights up dots ── */

@property --shx {
    syntax: "<percentage>";
    initial-value: 18%;
    inherits: false;
}

@property --shy {
    syntax: "<percentage>";
    initial-value: 28%;
    inherits: false;
}

.slux-hero-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(
        circle 38% at var(--shx) var(--shy),
        color-mix(in srgb, var(--accent-color) 22%, transparent) 0%,
        color-mix(in srgb, var(--accent-color)  6%, transparent) 45%,
        transparent 70%
    );
    pointer-events: none;
    z-index: 1;
    animation: slux-hero-drift 22s ease-in-out infinite;
}

@keyframes slux-hero-drift {
    0%   { --shx: 18%; --shy: 28%; }
    20%  { --shx: 62%; --shy: 18%; }
    40%  { --shx: 72%; --shy: 68%; }
    60%  { --shx: 38%; --shy: 78%; }
    80%  { --shx: 14%; --shy: 55%; }
    100% { --shx: 18%; --shy: 28%; }
}

/* ─── Ambient glow ────────────────────────────────────────────── */

.slux-hero-glow {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 100% 90% at 5% 90%, color-mix(in srgb, var(--accent-color) 18%, transparent) 0%, transparent 55%),
        radial-gradient(ellipse 80% 80% at 85% 10%, color-mix(in srgb, var(--accent-color) 9%, transparent) 0%, transparent 55%),
        radial-gradient(ellipse 120% 100% at 45% 55%, color-mix(in srgb, var(--accent-color) 6%, transparent) 0%, transparent 65%);
    animation: slux-hero-breathe 7s ease-in-out infinite alternate;
}

/* ─── Vertical rule ───────────────────────────────────────────── */

.slux-hero-vline {
    position: absolute;
    top: 0;
    right: max(120px, calc(8.33vw * var(--scale)));
    width: 1px;
    bottom: max(36px, calc(2.5vw * var(--scale)));
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        color-mix(in srgb, var(--text-color) 7%, transparent) 20%,
        color-mix(in srgb, var(--text-color) 7%, transparent) 80%,
        transparent 100%
    );
}

/* ─── Body — title top, alpha/form pinned to bottom like Mono ─── */

.slux-hero-body {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    padding: max(100px, calc(6.94vw * var(--scale))) max(40px, calc(5.56vw * var(--scale))) 9vh var(--small-padding);
    max-width: 100%;
    flex: 1;
}

/* ─── Top block — title + site description ────────────────────── */

.slux-hero-top {
    display: flex;
    flex-direction: column;
    gap: max(18px, 1.25vw);
}

.slux-hero-title {
    font-family: var(--font1);
    font-size: max(32px, calc(2.22vw * var(--scale)));
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -0.03em;
    margin: 0;
    color: inherit;
    animation: slux-hero-rise 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both;
}

.slux-hero-site-desc {
    font-family: var(--font2);
    font-size: max(13px, calc(0.9vw * var(--scale)));
    line-height: 1.6;
    opacity: 0.42;
    margin: 0;
    max-width: 36ch;
    animation: slux-hero-rise 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both;
}

/* ─── Bottom block — alpha + definition + form (Mono: margin-top auto pins it to chevron baseline) */

.slux-hero-bottom-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: max(20px, 1.39vw);
    margin-top: auto;
}

.slux-hero-alpha-sub {
    font-family: var(--font1);
    font-size: max(18px, calc(1.25vw * var(--scale)));
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.02em;
    text-transform: none;
    color: inherit;
    margin: 0;
    opacity: 0.85;
    position: relative;
    display: inline-block;
    animation: slux-hero-rise 1s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both;
}

.slux-hero-alpha-sub::after {
    content: "_";
    margin-left: 2px;
    color: var(--accent-color);
    animation: slux-fb-cursor 1.1s step-start infinite;
}

.slux-hero-def {
    font-family: var(--font2);
    font-size: max(13px, calc(0.9vw * var(--scale)));
    line-height: 1.72;
    font-style: italic;
    opacity: 0.42;
    max-width: max(414px, calc(28.75vw * var(--scale)));
    margin: 0;
    animation: slux-hero-rise 1s cubic-bezier(0.22, 1, 0.36, 1) 0.38s both;
}

/* ─── Actions ─────────────────────────────────────────────────── */

.slux-hero-actions {
    animation: slux-hero-rise 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both;
}

/* ─── Scroll hint — chevrons only (label removed from HBS) ───── */

.slux-hero-scroll-hint {
    position: absolute;
    right: max(32px, 2.22vw);
    bottom: 9vh;
    z-index: 3;
    display: flex;
    flex-direction: row;
    align-items: center;
    pointer-events: none;
    opacity: 1;
    transition: opacity 0.4s ease;
}

.slux-hero-scroll-hint.is-hidden {
    opacity: 0;
}

.slux-hero-scroll-arrows {
    width: 44px;
    height: 16px;
    position: relative;
}

.slux-hero-sa {
    position: absolute;
    top: 50%;
    margin-top: -7px;
    width: 13px;
    height: 13px;
    border-right: 1.5px solid var(--accent-color);
    border-bottom: 1.5px solid var(--accent-color);
    border-radius: 1px;
    transform: rotate(-45deg);
    opacity: 0;
    animation: slux-hero-chev 1.8s ease-out infinite;
}

.slux-hero-sa.sa1 { left: 0;    animation-delay: 0s; }
.slux-hero-sa.sa2 { left: 11px; animation-delay: 0.18s; border-color: color-mix(in srgb, var(--accent-color) 65%, transparent); }
.slux-hero-sa.sa3 { left: 22px; animation-delay: 0.36s; border-color: color-mix(in srgb, var(--accent-color) 38%, transparent); }

.slux-hero-scroll-label {
    font-family: var(--font2);
    font-size: max(9px, calc(0.62vw * var(--scale)));
    letter-spacing: 0.22em;
    text-transform: uppercase;
    opacity: 0.28;
}

.slux-hero-scroll-arrows {
    width: 44px;
    height: 16px;
    position: relative;
}

.slux-hero-sa {
    position: absolute;
    top: 50%;
    margin-top: -7px;
    width: 13px;
    height: 13px;
    border-right: 1.5px solid var(--accent-color);
    border-bottom: 1.5px solid var(--accent-color);
    border-radius: 1px;
    transform: rotate(-45deg);
    opacity: 0;
    animation: slux-hero-chev 1.8s ease-out infinite;
}

.slux-hero-sa.sa1 { left: 0;    animation-delay: 0s; }
.slux-hero-sa.sa2 { left: 11px; animation-delay: 0.18s; border-color: color-mix(in srgb, var(--accent-color) 65%, transparent); }
.slux-hero-sa.sa3 { left: 22px; animation-delay: 0.36s; border-color: color-mix(in srgb, var(--accent-color) 38%, transparent); }

/* ─── Keyframes ───────────────────────────────────────────────── */

@keyframes slux-hero-rise {
    from { opacity: 0; transform: translateY(14px); }
    to   { transform: translateY(0); }
}

@keyframes slux-hero-rule-draw {
    from { transform: scaleX(0); opacity: 0; }
    to   { transform: scaleX(1); }
}

@keyframes slux-hero-chev {
    0%   { opacity: 0; transform: translateX(-5px) rotate(-45deg); }
    50%  { opacity: 1; }
    100% { opacity: 0; transform: translateX(8px) rotate(-45deg); }
}

@keyframes slux-hero-breathe {
    from { opacity: 0.7; }
    to   { opacity: 1; }
}

@keyframes slux-fb-cursor {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0; }
}

/* ─── Mobile ──────────────────────────────────────────────────── */

@media (max-width: 991px) {
    /* Full-width, full-height panel — cancel horizontal-container's padding offset */
    .slux-hero-section {
        width: 100vw !important;
        min-width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(-1 * var(--small-padding)) !important;
        min-height: 100vh;
        background-image: none;
        overflow-x: hidden;
    }

    .slux-hero-glow         { display: none; }
    .slux-hero-vline        { display: none; }
    .slux-hero-scroll-hint  { display: none !important; }

    /* Center everything like Mono mobile */
    .slux-hero-body {
        align-items: center !important;
        text-align: center !important;
        justify-content: center !important;
        padding: max(120px, 16vh) var(--small-padding) max(80px, 10vh) var(--small-padding) !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
        gap: max(56px, 8vh) !important;
    }


    .slux-hero-top {
        align-items: center !important;
        width: 100% !important;
    }

    .slux-hero-site-desc {
        max-width: 42ch;
        margin-left: auto;
        margin-right: auto;
    }

    .slux-hero-bottom-content {
        align-items: center !important;
        width: 100% !important;
        margin-top: 0 !important;
    }

    /* Constrain def text */
    .slux-hero-def {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Alpha cursor: inline so centering works cleanly */
    .slux-hero-alpha-sub {
        display: inline !important;
    }

    /* Full-width subscribe form, centered */
    .slux-hero-actions,
    .newsletter-outer,
    .subscribe-form,
    .subscribe-with-alerts,
    .subscribe-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .newsletter-outer {
        align-items: center !important;
        margin-top: 0 !important;
    }

    /* Allow email input to shrink so SEND button doesn't overflow */
    .slux-hero-actions .subscribe-input {
        flex: 1 !important;
        min-width: 0 !important;
    }

    .slux-hero-title { font-size: max(28px, 7.5vw) !important; }
}

@media (max-width: 479px) {
    .slux-hero-title     { font-size: 26px !important; }
    .slux-hero-alpha-sub { font-size: 15px !important; }
    .slux-hero-def       { font-size: 13px !important; }
    .slux-hero-site-desc { font-size: 13px !important; }
}

