/* =========================================================
   NORTHSTAR — BUSINESS / CORPORATE DEMO
   ArchitectByAI
   ========================================================= */


/* =========================================================
   RESET + VARIABLES
   ========================================================= */

:root {
    --ns-bg: #070b0e;
    --ns-bg-soft: #0a1014;
    --ns-panel: #0b1419;

    --ns-white: #f3f1eb;
    --ns-silver: #9aa8ae;
    --ns-muted: #5f6d73;

    --ns-cyan: #6eeaff;
    --ns-gold: #d2b273;

    --ns-line: rgba(188, 239, 255, .08);
    --ns-line-strong: rgba(188, 239, 255, .14);

    --ns-max: 1440px;
}


* {
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {
    margin: 0;

    background: var(--ns-bg);

    color: var(--ns-white);

    font-family: "Inter", sans-serif;

    -webkit-font-smoothing: antialiased;
}


a {
    color: inherit;
    text-decoration: none;
}


button,
a {
    -webkit-tap-highlight-color: transparent;
}


.northstar-site {
    width: 100%;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 80% 10%,
            rgba(110, 234, 255, .035),
            transparent 28%
        ),
        var(--ns-bg);
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.ns-header {
    width: min(calc(100% - 80px), var(--ns-max));
    height: 78px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items: center;

    border-bottom: 1px solid var(--ns-line);
}


.ns-brand {
    width: fit-content;

    display: flex;
    align-items: center;
    gap: 7px;

    font-family: "Manrope", sans-serif;

    font-size: 14px;
    font-weight: 600;

    letter-spacing: .12em;
}


.ns-brand span {
    width: 5px;
    height: 5px;

    display: block;

    border-radius: 50%;

    background: var(--ns-gold);

    box-shadow:
        0 0 12px rgba(210, 178, 115, .45);
}


.ns-nav {
    display: flex;
    align-items: center;

    gap: 38px;
}


.ns-nav a {
    position: relative;

    padding: 29px 0;

    font-size: 11px;

    color: rgba(226, 232, 233, .52);

    transition:
        color .25s ease;
}


.ns-nav a::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 21px;

    width: 0;
    height: 1px;

    background: var(--ns-cyan);

    transition:
        width .3s ease;
}


.ns-nav a:hover {
    color: var(--ns-white);
}


.ns-nav a:hover::after {
    width: 100%;
}


.ns-nav-cta {
    justify-self: end;

    display: flex;
    align-items: center;

    gap: 20px;

    padding: 11px 15px;

    border:
        1px solid rgba(210, 178, 115, .28);

    font-family: "IBM Plex Mono", monospace;

    font-size: 8px;

    letter-spacing: .06em;

    color: var(--ns-gold);

    transition:
        background .25s ease,
        color .25s ease;
}


.ns-nav-cta:hover {
    background: var(--ns-gold);
    color: #090b0d;
}


/* =========================================================
   SHARED
   ========================================================= */

.ns-eyebrow {
    display: block;

    font-family: "IBM Plex Mono", monospace;

    font-size: 8px;
    font-weight: 500;

    letter-spacing: .17em;

    color: var(--ns-gold);
}


/* =========================================================
   HERO
   ========================================================= */

.ns-hero {
    width: min(calc(100% - 80px), var(--ns-max));

    min-height: calc(100vh - 78px);

    margin: 0 auto;

    display: flex;
    flex-direction: column;
}


.ns-hero-grid {
    flex: 1;

    display: grid;

    grid-template-columns:
        .92fr
        1.08fr;

    align-items: center;

    gap: 90px;

    padding:
        clamp(70px, 9vh, 110px)
        20px
        65px;
         padding-left: 28px;
    padding-right: 20px;
}


/* =========================================================
   HERO COPY
   ========================================================= */

.ns-hero-copy {
    max-width: 610px;
}


.ns-hero-copy h1 {
    max-width: 610px;

    margin:
        23px
        0
        0;

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(56px, 5.4vw, 88px);

    font-weight: 500;

    line-height: .98;

    letter-spacing: -.055em;

    color: var(--ns-white);
}


.ns-hero-copy h1 span {
    display: block;

    font-weight: 400;

    color: #9ba9af;
}


.ns-hero-description {
    max-width: 490px;

    margin: 31px 0 0;

    font-size: 15px;

    line-height: 1.8;

    color: rgba(210, 220, 223, .60);
}


.ns-hero-actions {
    margin-top: 36px;

    display: flex;
    align-items: center;

    gap: 28px;
}


.ns-button {
    min-height: 44px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 30px;

    padding: 0 19px;

    font-family: "IBM Plex Mono", monospace;

    font-size: 9px;

    letter-spacing: .03em;
}


.ns-button-primary {
    background: var(--ns-gold);

    color: #090c0e;

    transition:
        transform .25s ease,
        background .25s ease;
}


.ns-button-primary:hover {
    transform: translateY(-2px);

    background: #e0c58d;
}


.ns-text-link {
    display: inline-flex;
    align-items: center;

    gap: 10px;

    font-family: "IBM Plex Mono", monospace;

    font-size: 8px;

    color: rgba(214, 225, 228, .55);

    transition:
        color .25s ease;
}


.ns-text-link:hover {
    color: var(--ns-cyan);
}


/* =========================================================
   HERO PROOF
   ========================================================= */

.ns-hero-proof {
    max-width: 490px;

    margin-top: 58px;
    padding-top: 21px;

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    border-top: 1px solid var(--ns-line);
}


.ns-hero-proof > div {
    padding-left: 19px;

    border-left: 1px solid var(--ns-line);
}


.ns-hero-proof > div:first-child {
    padding-left: 0;
    border-left: 0;
}


.ns-hero-proof strong {
    display: block;

    font-family: "Manrope", sans-serif;

    font-size: 21px;
    font-weight: 400;

    color: rgba(244, 241, 234, .9);
}


.ns-hero-proof span {
    display: block;

    margin-top: 7px;

    font-family: "IBM Plex Mono", monospace;

    font-size: 6px;

    letter-spacing: .11em;

    color: rgba(210, 220, 223, .3);
}


/* =========================================================
   BUSINESS SIGNAL PANEL
   ========================================================= */

.ns-signal {
    position: relative;

    width: 100%;
    max-width: 680px;

    justify-self: end;

    padding: 34px;

    border: 1px solid var(--ns-line-strong);

    background:
        radial-gradient(
            circle at 75% 28%,
            rgba(110, 234, 255, .055),
            transparent 35%
        ),
        rgba(8, 17, 22, .65);

    box-shadow:
        0 25px 80px rgba(0, 0, 0, .18);
}


.ns-signal::before {
    content: "";

    position: absolute;

    left: -1px;
    top: -1px;

    width: 65px;
    height: 1px;

    background: var(--ns-cyan);

    opacity: .65;
}


.ns-signal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    font-family: "IBM Plex Mono", monospace;

    font-size: 7px;

    letter-spacing: .15em;

    color: rgba(210, 220, 223, .38);
}


.ns-live {
    display: flex;
    align-items: center;

    gap: 7px;

    color: rgba(110, 234, 255, .62);
}


.ns-live i {
    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--ns-cyan);

    box-shadow:
        0 0 10px rgba(110, 234, 255, .75);
}


.ns-signal-title {
    margin-top: 32px;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}


.ns-signal-title > div > span {
    display: block;

    margin-bottom: 8px;

    font-family: "IBM Plex Mono", monospace;

    font-size: 7px;

    letter-spacing: .12em;

    color: rgba(210, 220, 223, .34);
}


.ns-signal-title strong {
    font-family: "Manrope", sans-serif;

    font-size: 54px;
    font-weight: 400;

    letter-spacing: -.045em;
}


.ns-signal-change {
    margin-bottom: 9px;

    font-family: "IBM Plex Mono", monospace;

    font-size: 9px;

    color: var(--ns-cyan);
}


/* =========================================================
   CHART
   ========================================================= */

.ns-chart {
    position: relative;

    height: 230px;

    margin-top: 22px;

    overflow: hidden;

    border-top:
        1px solid rgba(188, 239, 255, .055);

    border-bottom:
        1px solid rgba(188, 239, 255, .055);
}


.ns-chart-grid {
    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            rgba(188, 239, 255, .035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(188, 239, 255, .035) 1px,
            transparent 1px
        );

    background-size:
        100% 25%,
        20% 100%;
}


.ns-chart svg {
    position: absolute;

    inset: 15px 0 0;

    width: 100%;
    height: calc(100% - 25px);
}


.ns-chart-area {
    fill: url(#signalFill);
}


.ns-chart-line {
    fill: none;

    stroke: var(--ns-cyan);

    stroke-width: 2;

    vector-effect: non-scaling-stroke;

    filter:
        drop-shadow(
            0 0 6px rgba(110, 234, 255, .22)
        );
}


.ns-chart-marker {
    position: absolute;

    right: 0;
    top: 22px;

    display: flex;
    align-items: center;

    gap: 7px;

    font-family: "IBM Plex Mono", monospace;

    font-size: 7px;

    color: var(--ns-cyan);
}


.ns-chart-marker i {
    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--ns-cyan);

    box-shadow:
        0 0 9px rgba(110, 234, 255, .8);
}


/* =========================================================
   SIGNAL STATS
   ========================================================= */

.ns-signal-stats {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    padding-top: 22px;
}


.ns-signal-stats > div {
    padding-left: 20px;

    border-left:
        1px solid var(--ns-line);
}


.ns-signal-stats > div:first-child {
    padding-left: 0;
    border-left: 0;
}


.ns-signal-stats span {
    display: block;

    font-family: "IBM Plex Mono", monospace;

    font-size: 6px;

    letter-spacing: .12em;

    color: rgba(210, 220, 223, .3);
}


.ns-signal-stats strong {
    display: block;

    margin-top: 7px;

    font-family: "Manrope", sans-serif;

    font-size: 18px;
    font-weight: 400;
}


/* =========================================================
   HERO FOOTER
   ========================================================= */

.ns-hero-footer {
    min-height: 70px;

    display: grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items: center;

    border-top:
        1px solid var(--ns-line);

    font-family:
        "IBM Plex Mono",
        monospace;

    font-size: 6px;

    letter-spacing: .14em;

    color: rgba(210, 220, 223, .3);
}


.ns-hero-footer > div {
    display: flex;
    align-items: center;

    gap: 16px;
}


.ns-hero-footer i {
    width: 30px;
    height: 1px;

    background:
        rgba(110, 234, 255, .18);
}


.ns-hero-footer a {
    justify-self: end;

    color:
        rgba(110, 234, 255, .55);
}


/* =========================================================
   SHARED SECTION
   ========================================================= */

.ns-section {
    width: min(calc(100% - 80px), var(--ns-max));

    margin: 0 auto;

    padding:
        130px
        20px;
}


.ns-section-heading {
    display: grid;

    grid-template-columns:
        80px
        1fr
        .65fr;

    gap: 45px;

    align-items: end;

    margin-bottom: 70px;
}


.ns-section-number {
    align-self: start;

    font-family:
        "IBM Plex Mono",
        monospace;

    font-size: 8px;

    color: var(--ns-cyan);
}


.ns-section-heading h2 {
    max-width: 650px;

    margin: 18px 0 0;

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(40px, 4.2vw, 66px);

    font-weight: 500;

    line-height: 1.04;

    letter-spacing: -.045em;
}


.ns-section-heading h2 span {
    display: block;

    font-weight: 400;

    color: #8d9aa0;
}


.ns-section-heading > p {
    max-width: 390px;

    margin: 0;

    font-size: 13px;

    line-height: 1.75;

    color:
        rgba(210, 220, 223, .45);
}


/* =========================================================
   EXPERTISE
   ========================================================= */

.ns-expertise {
    border-bottom:
        1px solid var(--ns-line);
}


.ns-expertise-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    border-top:
        1px solid var(--ns-line);

    border-left:
        1px solid var(--ns-line);
}


.ns-expertise-card {
    position: relative;

    min-height: 340px;

    padding: 32px;

    display: flex;
    flex-direction: column;

    border-right:
        1px solid var(--ns-line);

    border-bottom:
        1px solid var(--ns-line);

    background:
        rgba(255, 255, 255, .008);

    transition:
        background .35s ease,
        transform .35s ease;
}


.ns-expertise-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 0;
    height: 2px;

    background: var(--ns-cyan);

    transition:
        width .4s ease;
}


.ns-expertise-card:hover {
    background:
        rgba(110, 234, 255, .025);
}


.ns-expertise-card:hover::before {
    width: 100%;
}


.ns-card-number {
    font-family:
        "IBM Plex Mono",
        monospace;

    font-size: 7px;

    color: var(--ns-gold);
}


.ns-expertise-card > div {
    margin-top: 75px;
}


.ns-expertise-card h3 {
    margin: 0;

    font-family: "Manrope", sans-serif;

    font-size: 31px;
    font-weight: 500;

    letter-spacing: -.035em;
}


.ns-expertise-card p {
    max-width: 340px;

    margin: 20px 0 0;

    font-size: 13px;

    line-height: 1.75;

    color:
        rgba(210, 220, 223, .43);
}


.ns-card-link {
    margin-top: auto;

    padding-top: 35px;

    font-family:
        "IBM Plex Mono",
        monospace;

    font-size: 6px;

    letter-spacing: .08em;

    color:
        rgba(210, 220, 223, .28);
}


.ns-card-arrow {
    position: absolute;

    right: 31px;
    bottom: 28px;

    font-size: 14px;

    color: var(--ns-cyan);
}
/* =========================================================
   BUSINESS INTELLIGENCE
   ========================================================= */

.ns-intelligence {
    border-bottom: 1px solid var(--ns-line);

    background:
        radial-gradient(
            circle at 78% 55%,
            rgba(110, 234, 255, .035),
            transparent 28%
        );
}


/* MAIN BOARD */

.ns-intelligence-board {
    border: 1px solid var(--ns-line-strong);

    background:
        linear-gradient(
            145deg,
            rgba(10, 18, 23, .82),
            rgba(6, 12, 16, .92)
        );
}


/* STATUS BAR */

.ns-bi-top {
    min-height: 54px;

    padding: 0 24px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid var(--ns-line);

    font-family: "IBM Plex Mono", monospace;
    font-size: 6px;
    letter-spacing: .13em;

    color: rgba(210, 220, 223, .32);
}


.ns-bi-top > div {
    display: flex;
    align-items: center;

    gap: 9px;

    color: rgba(110, 234, 255, .62);
}


.ns-bi-top i {
    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--ns-cyan);

    box-shadow:
        0 0 10px rgba(110, 234, 255, .7);
}


/* =========================================================
   KPI ROW
   ========================================================= */

.ns-bi-kpis {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    border-bottom: 1px solid var(--ns-line);
}


.ns-bi-kpi {
    min-height: 125px;

    padding: 24px;

    border-right: 1px solid var(--ns-line);
}


.ns-bi-kpi:last-child {
    border-right: 0;
}


.ns-bi-kpi > span {
    display: block;

    font-family: "IBM Plex Mono", monospace;

    font-size: 6px;

    letter-spacing: .12em;

    color: rgba(210, 220, 223, .3);
}


.ns-bi-kpi strong {
    display: block;

    margin-top: 13px;

    font-family: "Manrope", sans-serif;

    font-size: 27px;
    font-weight: 400;

    letter-spacing: -.025em;
}


.ns-bi-kpi small {
    display: block;

    margin-top: 9px;

    font-family: "IBM Plex Mono", monospace;

    font-size: 7px;
}


.ns-bi-kpi .positive {
    color: var(--ns-cyan);
}


.ns-bi-kpi .attention {
    color: var(--ns-gold);
}


/* =========================================================
   MAIN INTELLIGENCE AREA
   ========================================================= */

.ns-bi-main {
    display: grid;

    grid-template-columns:
        1.55fr
        .85fr;

    min-height: 480px;
}


/* =========================================================
   PERFORMANCE PANEL
   ========================================================= */

.ns-performance {
    padding: 30px;

    border-right: 1px solid var(--ns-line);
}


.ns-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}


.ns-panel-heading span {
    display: block;

    font-family: "IBM Plex Mono", monospace;

    font-size: 6px;

    letter-spacing: .12em;

    color: rgba(210, 220, 223, .3);
}


.ns-panel-heading strong {
    display: block;

    margin-top: 8px;

    font-family: "Manrope", sans-serif;

    font-size: 20px;
    font-weight: 400;

    color: rgba(244, 241, 234, .88);
}


.ns-period {
    padding: 7px 9px;

    border: 1px solid var(--ns-line);

    font-family: "IBM Plex Mono", monospace;

    font-size: 6px;

    letter-spacing: .08em;

    color: rgba(210, 220, 223, .34);
}


/* GRAPH */

.ns-performance-chart {
    position: relative;

    height: 340px;

    margin-top: 35px;

    overflow: hidden;
}


.ns-performance-grid {
    position: absolute;
    inset: 0 0 28px;

    background-image:
        linear-gradient(
            rgba(188, 239, 255, .035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(188, 239, 255, .035) 1px,
            transparent 1px
        );

    background-size:
        100% 25%,
        16.66% 100%;
}


.ns-performance-chart svg {
    position: absolute;

    left: 0;
    top: 15px;

    width: 100%;
    height: calc(100% - 48px);
}


.ns-performance-area {
    fill: url(#performanceFill);
}


.ns-performance-line {
    fill: none;

    stroke: var(--ns-cyan);

    stroke-width: 2;

    vector-effect: non-scaling-stroke;

    filter:
        drop-shadow(
            0 0 6px rgba(110, 234, 255, .2)
        );
}


.ns-chart-months {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    display: flex;
    justify-content: space-between;

    font-family: "IBM Plex Mono", monospace;

    font-size: 5px;

    letter-spacing: .08em;

    color: rgba(210, 220, 223, .22);
}


/* =========================================================
   AI INSIGHT
   ========================================================= */

.ns-ai-insight {
    padding: 30px;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(210, 178, 115, .035),
            transparent 35%
        );
}


.ns-ai-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding-bottom: 18px;

    border-bottom: 1px solid var(--ns-line);
}


.ns-ai-heading > div {
    display: flex;
    align-items: center;

    gap: 9px;

    font-family: "IBM Plex Mono", monospace;

    font-size: 6px;

    letter-spacing: .12em;

    color: var(--ns-cyan);
}


.ns-ai-heading i {
    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--ns-cyan);

    box-shadow:
        0 0 9px rgba(110, 234, 255, .65);
}


.ns-ai-heading > span {
    font-family: "IBM Plex Mono", monospace;

    font-size: 6px;

    color: rgba(210, 220, 223, .22);
}


.ns-ai-label {
    display: block;

    margin-top: 25px;

    font-family: "IBM Plex Mono", monospace;

    font-size: 6px;

    letter-spacing: .12em;

    color: var(--ns-gold);
}


.ns-ai-insight h3 {
    max-width: 390px;

    margin: 15px 0 0;

    font-family: "Manrope", sans-serif;

    font-size: 25px;
    font-weight: 400;

    line-height: 1.25;

    letter-spacing: -.025em;
}


.ns-ai-insight > p {
    max-width: 390px;

    margin: 18px 0 0;

    font-size: 11px;

    line-height: 1.7;

    color: rgba(210, 220, 223, .42);
}


/* EVIDENCE */

.ns-ai-evidence {
    margin-top: 25px;

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    border-top: 1px solid var(--ns-line);
    border-bottom: 1px solid var(--ns-line);
}


.ns-ai-evidence > div {
    padding: 18px 0;
}


.ns-ai-evidence > div + div {
    padding-left: 20px;

    border-left: 1px solid var(--ns-line);
}


.ns-ai-evidence span,
.ns-ai-evidence small {
    display: block;

    font-family: "IBM Plex Mono", monospace;

    font-size: 5px;

    letter-spacing: .08em;

    color: rgba(210, 220, 223, .25);
}


.ns-ai-evidence strong {
    display: block;

    margin: 8px 0 5px;

    font-family: "Manrope", sans-serif;

    font-size: 18px;
    font-weight: 400;

    color: var(--ns-cyan);
}


/* RECOMMENDATION */

.ns-ai-action {
    margin-top: 24px;

    padding: 18px;

    border-left: 2px solid var(--ns-gold);

    background:
        rgba(210, 178, 115, .025);
}


.ns-ai-action > span {
    font-family: "IBM Plex Mono", monospace;

    font-size: 5px;

    letter-spacing: .12em;

    color: var(--ns-gold);
}


.ns-ai-action p {
    margin: 10px 0 0;

    font-size: 10px;

    line-height: 1.6;

    color: rgba(220, 225, 226, .48);
}


.ns-ai-action a {
    display: inline-block;

    margin-top: 13px;

    font-family: "IBM Plex Mono", monospace;

    font-size: 6px;

    color: var(--ns-gold);
}


/* =========================================================
   CONNECTED SIGNAL FOOTER
   ========================================================= */

.ns-bi-footer {
    min-height: 58px;

    padding: 0 24px;

    display: grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items: center;

    border-top: 1px solid var(--ns-line);

    font-family: "IBM Plex Mono", monospace;

    font-size: 5px;

    letter-spacing: .12em;

    color: rgba(210, 220, 223, .25);
}


.ns-bi-footer > div {
    display: flex;
    align-items: center;

    gap: 13px;
}


.ns-bi-footer i {
    width: 28px;
    height: 1px;

    background:
        rgba(110, 234, 255, .18);
}


.ns-bi-footer > span:last-child {
    justify-self: end;

    color: rgba(110, 234, 255, .4);
}


/* =========================================================
   BUSINESS INTELLIGENCE — RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

    .ns-bi-kpis {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .ns-bi-kpi:nth-child(2) {
        border-right: 0;
    }


    .ns-bi-kpi:nth-child(-n+2) {
        border-bottom: 1px solid var(--ns-line);
    }


    .ns-bi-main {
        grid-template-columns: 1fr;
    }


    .ns-performance {
        border-right: 0;
        border-bottom: 1px solid var(--ns-line);
    }

}


@media (max-width: 640px) {

    .ns-bi-kpis {
        grid-template-columns: 1fr 1fr;
    }


    .ns-bi-kpi {
        padding: 18px;
    }


    .ns-bi-kpi strong {
        font-size: 22px;
    }


    .ns-performance,
    .ns-ai-insight {
        padding: 21px;
    }


    .ns-performance-chart {
        height: 250px;
    }


    .ns-ai-insight h3 {
        font-size: 22px;
    }


    .ns-bi-footer {
        grid-template-columns:
            1fr
            auto;
    }


    .ns-bi-footer > div {
        display: none;
    }

}
/* =========================================================
   INDUSTRIES
   ========================================================= */

.ns-industries {
    border-bottom: 1px solid var(--ns-line);
}


/* INDUSTRY GRID */

.ns-industries-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    border-top: 1px solid var(--ns-line);
    border-left: 1px solid var(--ns-line);
}


/* CARD */

.ns-industry-card {
    position: relative;

    min-height: 330px;

    padding: 30px;

    display: flex;
    flex-direction: column;

    border-right: 1px solid var(--ns-line);
    border-bottom: 1px solid var(--ns-line);

    background:
        rgba(255, 255, 255, .006);

    transition:
        background .3s ease;
}


.ns-industry-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 0;
    height: 2px;

    background: var(--ns-gold);

    transition: width .4s ease;
}


.ns-industry-card:hover {
    background:
        rgba(110, 234, 255, .018);
}


.ns-industry-card:hover::before {
    width: 100%;
}


/* TOP LABEL */

.ns-industry-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    font-family: "IBM Plex Mono", monospace;

    font-size: 6px;

    letter-spacing: .12em;

    color:
        rgba(210, 220, 223, .28);
}


.ns-industry-top span:first-child {
    color: var(--ns-gold);
}


/* CONTENT */

.ns-industry-content {
    margin-top: 65px;
}


.ns-industry-content h3 {
    max-width: 430px;

    margin: 0;

    font-family: "Manrope", sans-serif;

    font-size: 30px;
    font-weight: 400;

    line-height: 1.15;

    letter-spacing: -.035em;

    color:
        rgba(244, 241, 234, .92);
}


.ns-industry-content p {
    max-width: 450px;

    margin: 18px 0 0;

    font-size: 12px;

    line-height: 1.75;

    color:
        rgba(210, 220, 223, .42);
}


/* SIGNAL TAGS */

.ns-industry-signals {
    margin-top: auto;

    padding-top: 35px;

    display: flex;
    align-items: center;

    gap: 8px;
}


.ns-industry-signals span {
    padding: 6px 8px;

    border:
        1px solid rgba(188, 239, 255, .075);

    font-family: "IBM Plex Mono", monospace;

    font-size: 5px;

    letter-spacing: .08em;

    color:
        rgba(210, 220, 223, .34);
}


/* ARROW */

.ns-industry-arrow {
    position: absolute;

    right: 29px;
    bottom: 29px;

    font-size: 14px;

    color: var(--ns-cyan);
}


/* =========================================================
   INDUSTRIES FOOTER
   ========================================================= */

.ns-industries-footer {
    min-height: 115px;

    padding: 25px 30px;

    display: grid;

    grid-template-columns:
        .7fr
        1.3fr
        .7fr;

    align-items: center;

    gap: 40px;

    border-left: 1px solid var(--ns-line);
    border-right: 1px solid var(--ns-line);
    border-bottom: 1px solid var(--ns-line);
}


.ns-industries-footer > span {
    font-family: "IBM Plex Mono", monospace;

    font-size: 6px;

    letter-spacing: .13em;

    color: var(--ns-gold);
}


.ns-industries-footer p {
    margin: 0;

    font-family: "Manrope", sans-serif;

    font-size: 16px;
    font-weight: 400;

    line-height: 1.45;

    color:
        rgba(220, 226, 228, .58);
}


.ns-industries-footer a {
    justify-self: end;

    font-family: "IBM Plex Mono", monospace;

    font-size: 7px;

    color: var(--ns-cyan);
}


/* =========================================================
   INDUSTRIES — RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .ns-industries-grid {
        grid-template-columns: 1fr;
    }


    .ns-industry-card {
        min-height: 290px;
    }


    .ns-industries-footer {
        grid-template-columns:
            1fr
            1.5fr;
    }


    .ns-industries-footer a {
        grid-column: 2;

        justify-self: start;
    }

}


@media (max-width: 640px) {

    .ns-industry-card {
        min-height: 280px;

        padding: 24px;
    }


    .ns-industry-content {
        margin-top: 45px;
    }


    .ns-industry-content h3 {
        font-size: 25px;
    }


    .ns-industry-signals {
        padding-right: 25px;

        flex-wrap: wrap;
    }


    .ns-industries-footer {
        min-height: auto;

        padding: 28px 24px;

        grid-template-columns: 1fr;

        gap: 18px;
    }


    .ns-industries-footer a {
        grid-column: 1;
    }

}
/* =========================================================
   TRANSFORMATION SYSTEM
   ========================================================= */

.ns-transformation {
    padding-top: 75px;
    border-bottom: 1px solid var(--ns-line);

    background:
        radial-gradient(
            circle at 50% 60%,
            rgba(110, 234, 255, .025),
            transparent 34%
        );
}


/* PROCESS */

.ns-process {
    position: relative;

    display: grid;
    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid var(--ns-line);
    border-left: 1px solid var(--ns-line);
}


/* CONNECTING INTELLIGENCE LINE */

.ns-process-line {
    position: absolute;

    left: 12.5%;
    right: 12.5%;
    top: 67px;

    height: 1px;

    background:
        rgba(110, 234, 255, .13);

    z-index: 1;
}


.ns-process-line span {
    position: absolute;

    left: 0;
    top: -1px;

    width: 32%;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--ns-cyan),
            transparent
        );

    opacity: .65;
}


/* PROCESS STEP */

.ns-process-step {
    position: relative;

    min-height: 390px;

    padding: 38px 30px 30px;

    display: flex;
    flex-direction: column;

    border-right: 1px solid var(--ns-line);
    border-bottom: 1px solid var(--ns-line);

    background:
        rgba(255, 255, 255, .005);
}


/* NODE */

.ns-process-node {
    position: relative;
    z-index: 2;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(110, 234, 255, .18);

    border-radius: 50%;

    background: var(--ns-bg);

    box-shadow:
        0 0 0 7px var(--ns-bg);
}


.ns-process-node::after {
    content: "";

    position: absolute;

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--ns-cyan);

    box-shadow:
        0 0 10px rgba(110, 234, 255, .6);

    bottom: -3px;
}


.ns-process-node span {
    font-family: "IBM Plex Mono", monospace;

    font-size: 7px;

    color: var(--ns-cyan);
}


/* COPY */

.ns-process-label {
    display: block;

    margin-top: 43px;

    font-family: "IBM Plex Mono", monospace;

    font-size: 6px;

    letter-spacing: .14em;

    color: var(--ns-gold);
}


.ns-process-step h3 {
    margin: 16px 0 0;

    font-family: "Manrope", sans-serif;

    font-size: 27px;
    font-weight: 400;

    line-height: 1.15;

    letter-spacing: -.03em;

    color: rgba(244, 241, 234, .9);
}


.ns-process-step p {
    max-width: 270px;

    margin: 17px 0 0;

    font-size: 11px;

    line-height: 1.7;

    color: rgba(210, 220, 223, .4);
}


/* OUTPUT */

.ns-process-output {
    margin-top: auto;

    padding-top: 20px;

    border-top: 1px solid var(--ns-line);

    font-size: 9px;

    color: rgba(220, 226, 228, .5);
}


.ns-process-output span {
    display: block;

    margin-bottom: 7px;

    font-family: "IBM Plex Mono", monospace;

    font-size: 5px;

    letter-spacing: .12em;

    color: rgba(110, 234, 255, .45);
}


/* =========================================================
   FLOW BAR
   ========================================================= */

.ns-transformation-flow {
    min-height: 72px;

    padding: 0 28px;

    display: grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items: center;

    border-left: 1px solid var(--ns-line);
    border-right: 1px solid var(--ns-line);
    border-bottom: 1px solid var(--ns-line);

    font-family: "IBM Plex Mono", monospace;

    font-size: 5px;

    letter-spacing: .11em;

    color: rgba(210, 220, 223, .27);
}


.ns-transformation-flow > div {
    display: flex;
    align-items: center;

    gap: 13px;
}


.ns-transformation-flow b {
    font-size: 5px;
    font-weight: 400;

    color: rgba(210, 220, 223, .4);
}


.ns-transformation-flow i {
    width: 26px;
    height: 1px;

    background:
        rgba(110, 234, 255, .22);
}


.ns-transformation-flow > span:last-child {
    justify-self: end;

    color: var(--ns-gold);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

    .ns-process {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .ns-process-line {
        display: none;
    }


    .ns-process-step {
        min-height: 350px;
    }


    .ns-transformation-flow > div {
        display: none;
    }


    .ns-transformation-flow {
        grid-template-columns:
            1fr
            1fr;
    }

}


@media (max-width: 640px) {

    .ns-process {
        grid-template-columns: 1fr;
    }


    .ns-process-step {
        min-height: 310px;

        padding: 28px 24px;
    }


    .ns-process-label {
        margin-top: 32px;
    }


    .ns-process-step h3 {
        font-size: 24px;
    }


    .ns-transformation-flow {
        padding: 0 22px;
    }

}

/* =========================================================
   TEMPORARY SECTION PLACEHOLDERS
   ========================================================= */

.ns-placeholder {
    width:
        min(calc(100% - 80px), var(--ns-max));

    min-height: 260px;

    margin: 0 auto;

    padding: 70px 20px;

    display: flex;
    align-items: flex-start;

    border-bottom:
        1px solid var(--ns-line);
}


.ns-placeholder span {
    font-family:
        "IBM Plex Mono",
        monospace;

    font-size: 8px;

    letter-spacing: .14em;

    color:
        rgba(110, 234, 255, .35);
}


/* =========================================================
   FOOTER
   ========================================================= */

.ns-footer {
    width:
        min(calc(100% - 80px), var(--ns-max));

    min-height: 120px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items: center;

    font-family:
        "IBM Plex Mono",
        monospace;

    font-size: 7px;

    color:
        rgba(210, 220, 223, .42);
}


.ns-footer strong {
    font-family:
        "Manrope",
        sans-serif;

    font-size: 13px;

    letter-spacing: .1em;

    color: var(--ns-white);
}


.ns-footer a {
    justify-self: end;

    color: var(--ns-gold);
}


/* =========================================================
   RESPONSIVE — TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .ns-header {
        width: calc(100% - 40px);
    }


    .ns-nav {
        display: none;
    }


    .ns-header {
        grid-template-columns:
            1fr
            auto;
    }


    .ns-hero,
    .ns-section,
    .ns-placeholder,
    .ns-footer {
        width: calc(100% - 40px);
    }


    .ns-hero-grid {
        grid-template-columns: 1fr;

        gap: 65px;

        padding-top: 80px;
    }


    .ns-signal {
        max-width: none;

        justify-self: stretch;
    }


    .ns-section-heading {
        grid-template-columns:
            50px
            1fr;
    }


    .ns-section-heading > p {
        grid-column: 2;

        margin-top: 15px;
    }


    .ns-expertise-grid {
        grid-template-columns: 1fr;
    }


    .ns-expertise-card {
        min-height: 300px;
    }

}


/* =========================================================
   RESPONSIVE — MOBILE
   ========================================================= */

@media (max-width: 640px) {

    .ns-header {
        width: calc(100% - 28px);
        height: 68px;
    }


    .ns-brand {
        font-size: 12px;
    }


    .ns-nav-cta {
        padding: 9px 10px;

        font-size: 6px;
    }


    .ns-hero,
    .ns-section,
    .ns-placeholder,
    .ns-footer {
        width: calc(100% - 28px);
    }


    .ns-hero-grid {
        padding:
            65px
            0
            45px;
    }


    .ns-hero-copy h1 {
        font-size:
            clamp(47px, 15vw, 67px);
    }


    .ns-hero-description {
        font-size: 13px;
    }


    .ns-hero-actions {
        align-items: flex-start;
        flex-direction: column;
    }


    .ns-hero-proof {
        gap: 12px;
    }


    .ns-hero-proof strong {
        font-size: 17px;
    }


    .ns-signal {
        padding: 22px;
    }


    .ns-signal-title strong {
        font-size: 43px;
    }


    .ns-chart {
        height: 180px;
    }


    .ns-hero-footer {
        grid-template-columns:
            1fr
            auto;
    }


    .ns-hero-footer > div {
        display: none;
    }


    .ns-section {
        padding:
            90px
            0;
    }


    .ns-section-heading {
        grid-template-columns: 1fr;

        gap: 15px;

        margin-bottom: 45px;
    }


    .ns-section-heading > p {
        grid-column: 1;
    }


    .ns-expertise-card {
        min-height: 300px;

        padding: 27px;
    }


    .ns-expertise-card > div {
        margin-top: 50px;
    }


    .ns-footer {
        min-height: 150px;

        grid-template-columns: 1fr;

        gap: 15px;

        padding: 30px 0;
    }


    .ns-footer a {
        justify-self: start;
    }

}/* =========================================================
   NORTHSTAR — INSIGHTS FINAL EDITORIAL POLISH
   ========================================================= */
.ns-insights-grid {
    display: grid;
    grid-template-columns: 1.55fr .725fr .725fr;

    border-top: 1px solid var(--ns-line);
    border-left: 1px solid var(--ns-line);
    border-right: 1px solid var(--ns-line);
    border-bottom: 1px solid var(--ns-line);
}
/* ---------- FEATURED ---------- */

.ns-insight-featured {
    min-height: 285px;
    padding: 27px 30px 28px;
}

.ns-featured-layout {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 42px;
    align-items: center;
    min-height: 250px;
}

.ns-featured-copy {
    padding-top: 24px;
}

.ns-featured-copy .ns-insight-index {
    margin: 0 0 18px;
}

.ns-featured-copy h3 {
    margin: 0;
    max-width: 390px;

    font-family: "Manrope", sans-serif;
    font-size: 29px;
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -.035em;

    color: rgba(244,241,234,.92);
}

.ns-featured-copy h3 span,
.ns-insight-card h3 span {
    display: block;
    color: rgba(165,177,188,.68);
}

.ns-featured-copy p {
    max-width: 390px;
    margin: 19px 0 0;

    font-size: 9px;
    line-height: 1.8;

    color: rgba(210,220,223,.4);
}

.ns-featured-copy a {
    display: inline-block;
    margin-top: 23px;

    font-family: "IBM Plex Mono", monospace;
    font-size: 6px;
    letter-spacing: .08em;

    color: var(--ns-cyan);
    text-decoration: none;
}


/* ---------- EXECUTIVE BRIEF ---------- */

.ns-executive-brief {
    min-height: 235px;
    padding: 17px 18px;

    display: flex;
    flex-direction: column;

    border: 1px solid rgba(110,234,255,.1);

    background:
        radial-gradient(
            circle at 50% 47%,
            rgba(110,234,255,.055),
            transparent 48%
        ),
        rgba(255,255,255,.008);
}

.ns-brief-top {
    display: flex;
    justify-content: space-between;
    align-items: center;

    font-family: "IBM Plex Mono", monospace;
    font-size: 5px;
    letter-spacing: .15em;

    color: var(--ns-gold);
}

.ns-brief-top i {
    width: 5px;
    height: 5px;

    border-radius: 50%;
    background: var(--ns-cyan);

    box-shadow: 0 0 9px rgba(110,234,255,.65);
}


/* visual system */

.ns-brief-system {
    position: relative;

    width: 150px;
    height: 150px;

    margin: 7px auto 5px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.ns-orbit {
    position: absolute;

    left: 50%;
    top: 50%;

    border-radius: 50%;

    transform: translate(-50%, -50%);

    border: 1px solid rgba(110,234,255,.11);
}

.ns-orbit-one {
    width: 138px;
    height: 138px;
}

.ns-orbit-two {
    width: 94px;
    height: 94px;

    border-color: rgba(210,178,115,.14);
}

.ns-brief-core {
    position: relative;
    z-index: 2;

    width: 60px;
    height: 60px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    border: 1px solid rgba(110,234,255,.23);

    background: var(--ns-bg);

    box-shadow:
        0 0 28px rgba(110,234,255,.06);
}

.ns-brief-core strong {
    margin: 2px 0;

    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 400;

    color: var(--ns-cyan);
}

.ns-brief-core small {
    font-family: "IBM Plex Mono", monospace;
    font-size: 4px;
    letter-spacing: .12em;

    color: rgba(210,220,223,.3);
}


/* signal points */

.ns-brief-point {
    position: absolute;

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--ns-cyan);

    box-shadow: 0 0 9px rgba(110,234,255,.65);
}

.point-one {
    top: 5px;
    left: 73px;
}

.point-two {
    top: 73px;
    right: 5px;
}

.point-three {
    bottom: 5px;
    left: 73px;

    background: var(--ns-gold);

    box-shadow: 0 0 9px rgba(210,178,115,.5);
}

.point-four {
    top: 73px;
    left: 5px;
}


/* brief flow */

.ns-brief-flow {
    margin-top: auto;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    font-family: "IBM Plex Mono", monospace;
    font-size: 4px;
    letter-spacing: .08em;

    color: rgba(210,220,223,.28);
}

.ns-brief-flow i {
    width: 11px;
    height: 1px;

    background: rgba(110,234,255,.2);
}


/* ---------- SMALL ARTICLES ---------- */

.ns-insight-card {
    min-height: 285px;
    padding: 27px 26px 28px;
}

.ns-insight-card .ns-insight-index {
    margin: 57px 0 17px;
}

.ns-insight-card h3 {
    margin: 0;

    font-family: "Manrope", sans-serif;
    font-size: 19px;
    font-weight: 400;
    line-height: 1.22;
    letter-spacing: -.025em;

    color: rgba(244,241,234,.9);
}

.ns-insight-card p {
    margin: 18px 0 0;

    font-size: 8.5px;
    line-height: 1.75;

    color: rgba(210,220,223,.38);
}

.ns-insight-card a {
    margin-top: auto;
    padding-top: 17px;

    border-top: 1px solid var(--ns-line);

    font-family: "IBM Plex Mono", monospace;
    font-size: 6px;
    letter-spacing: .07em;

    color: var(--ns-cyan);
    text-decoration: none;
}


/* ---------- METADATA ---------- */

.ns-insight-meta {
    font-family: "IBM Plex Mono", monospace;
    font-size: 5px;
    letter-spacing: .15em;
    text-transform: uppercase;

    color: rgba(210,220,223,.27);
}

.ns-insight-index {
    font-family: "IBM Plex Mono", monospace;
    font-size: 5px;
    letter-spacing: .15em;

    color: rgba(110,234,255,.48);
}
/* =========================================================
   06 / INTELLIGENT INQUIRY
   ========================================================= */

.ns-inquiry {
    border-bottom: 1px solid var(--ns-line);
}
/* MAIN BOARD */

.ns-inquiry-board {
    display: grid;
    grid-template-columns: .82fr 1.18fr;

    border: 1px solid var(--ns-line);

    background:
        radial-gradient(
            circle at 76% 45%,
            rgba(110,234,255,.035),
            transparent 32%
        ),
        rgba(255,255,255,.004);
}


/* =========================================================
   LEFT SIDE
   ========================================================= */

.ns-inquiry-intro {
    min-height: 400px;

    padding: 38px 38px 34px;

    display: flex;
    flex-direction: column;

    border-right: 1px solid var(--ns-line);
}


.ns-inquiry-label {
    font-family: "IBM Plex Mono", monospace;
    font-size: 6px;
    letter-spacing: .16em;

    color: var(--ns-gold);
}


.ns-inquiry-intro h3 {
    max-width: 360px;

    margin: 55px 0 0;

    font-family: "Manrope", sans-serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.035em;

    color: rgba(244,241,234,.92);
}


.ns-inquiry-intro > p {
    max-width: 350px;

    margin: 20px 0 0;

    font-size: 10px;
    line-height: 1.75;

    color: rgba(210,220,223,.4);
}


/* PROCESS PATH */

.ns-inquiry-path {
    margin-top: auto;

    display: flex;
    align-items: flex-start;

    padding-top: 25px;

    border-top: 1px solid var(--ns-line);
}


.ns-inquiry-path > div {
    flex: 1;
}


.ns-inquiry-path > div > span {
    display: block;

    margin-bottom: 9px;

    font-family: "IBM Plex Mono", monospace;
    font-size: 6px;

    color: var(--ns-cyan);
}


.ns-inquiry-path p {
    max-width: 105px;

    margin: 0;

    font-size: 7px;
    line-height: 1.55;

    color: rgba(210,220,223,.32);
}


.ns-inquiry-path > i {
    width: 24px;
    height: 1px;

    margin: 7px 12px 0;

    background: rgba(110,234,255,.16);
}


/* =========================================================
   FORM
   ========================================================= */

.ns-inquiry-form {
    min-height: 400px;

    padding: 30px 34px 32px;

    display: flex;
    flex-direction: column;
}


.ns-form-status {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding-bottom: 20px;

    border-bottom: 1px solid var(--ns-line);

    font-family: "IBM Plex Mono", monospace;
    font-size: 6px;
    letter-spacing: .13em;

    color: rgba(210,220,223,.35);
}


.ns-form-status > div {
    display: flex;
    align-items: center;
    gap: 8px;

    color: rgba(110,234,255,.6);
}


.ns-form-status i {
    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--ns-cyan);

    box-shadow: 0 0 9px rgba(110,234,255,.65);
}


/* FORM ROW */

.ns-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;

    margin-top: 25px;
}


.ns-inquiry-form label {
    display: block;
}


.ns-inquiry-form label > span {
    display: block;

    margin-bottom: 9px;

    font-family: "IBM Plex Mono", monospace;
    font-size: 5px;
    letter-spacing: .14em;

    color: rgba(210,220,223,.3);
}


/* INPUTS */

.ns-inquiry-form input,
.ns-inquiry-form textarea {
    width: 100%;

    box-sizing: border-box;

    border: 0;
    border-bottom: 1px solid rgba(188,239,255,.1);

    border-radius: 0;

    outline: none;

    background: transparent;

    font-family: "Inter", sans-serif;
    font-size: 10px;

    color: rgba(244,241,234,.8);
}


.ns-inquiry-form input {
    height: 38px;
}

.ns-inquiry-form textarea {
    min-height: 75px;

    padding: 9px 0;

    resize: none;

    line-height: 1.6;
}


.ns-inquiry-form input::placeholder,
.ns-inquiry-form textarea::placeholder {
    color: rgba(210,220,223,.22);
}


/* FIELDS */

.ns-form-field {
    margin-top: 23px;
}
/* =========================================================
   NORTHSTAR — CUSTOM PRIORITY SELECT
   ========================================================= */

.ns-priority-select {
    position: relative;
    width: 100%;
}

.ns-priority-trigger {
    width: 100%;
    height: 40px;

    padding: 0;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border: 0;
    border-bottom: 1px solid rgba(188,239,255,.1);

    background: transparent;

    font-family: "Inter", sans-serif;
    font-size: 10px;
    text-align: left;

    color: rgba(244,241,234,.8);

    cursor: pointer;
}

.ns-priority-trigger i {
    font-family: "IBM Plex Mono", monospace;
    font-size: 7px;
    font-style: normal;

    color: var(--ns-cyan);

    transition: transform .2s ease;
}

.ns-priority-select.open .ns-priority-trigger {
    border-bottom-color: rgba(110,234,255,.45);
}

.ns-priority-select.open .ns-priority-trigger i {
    transform: rotate(180deg);
}


/* MENU */

.ns-priority-menu {
    position: absolute;
    z-index: 20;

    top: calc(100% + 7px);
    left: 0;
    right: 0;

    padding: 4px;

    border: 1px solid rgba(110,234,255,.14);

    background: #0a1014;

    box-shadow:
        0 18px 45px rgba(0,0,0,.35);

    opacity: 0;
    visibility: hidden;

    transform: translateY(-5px);

    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;
}

.ns-priority-select.open .ns-priority-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* OPTIONS */

.ns-priority-menu button {
    width: 100%;

    padding: 7px 10px;

    display: flex;
    align-items: center;
    gap: 12px;

    border: 0;

    background: transparent;

    font-family: "Inter", sans-serif;
    font-size: 8px;
    text-align: left;

    color: rgba(210,220,223,.55);

    cursor: pointer;

    transition:
        background .18s ease,
        color .18s ease;
}

.ns-priority-menu button span {
    width: 18px;

    font-family: "IBM Plex Mono", monospace;
    font-size: 5px;
    letter-spacing: .1em;

    color: rgba(110,234,255,.4);
}

.ns-priority-menu button:hover {
    background: rgba(110,234,255,.035);
    color: var(--ns-white);
}

.ns-priority-menu button:hover span {
    color: var(--ns-cyan);
}

.ns-priority-menu button.selected {
    background: rgba(210,178,115,.035);
    color: var(--ns-gold);
}

/* ACTIVE FIELD */

.ns-inquiry-form input:focus,
.ns-inquiry-form textarea:focus {
    border-bottom-color: rgba(110,234,255,.5);
}


/* FORM FOOTER */

.ns-form-bottom {
    margin-top: auto;

    padding-top: 24px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    border-top: 1px solid var(--ns-line);
}


.ns-form-bottom > span {
    max-width: 245px;

    font-size: 7px;
    line-height: 1.6;

    color: rgba(210,220,223,.28);
      transition: opacity .16s ease;
}


.ns-form-bottom button {
    appearance: none;
-webkit-appearance: none;
    min-width: 185px;

    padding: 13px 18px;

    border: 1px solid rgba(210,178,115,.5);

    background: var(--ns-gold);

    font-family: "IBM Plex Mono", monospace;
    font-size: 6px;
    letter-spacing: .08em;

    color: #090c0f;

    cursor: pointer;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.ns-form-bottom button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 25px rgba(210,178,115,.1);
}


/* =========================================================
   BOTTOM SIGNAL
   ========================================================= */

.ns-inquiry-signal {
    min-height: 70px;

    padding: 0 28px;

    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;

    border-left: 1px solid var(--ns-line);
    border-right: 1px solid var(--ns-line);
    border-bottom: 1px solid var(--ns-line);

    font-family: "IBM Plex Mono", monospace;
    font-size: 6px;
    letter-spacing: .11em;

    color: rgba(210,220,223,.27);
}


.ns-inquiry-signal > div {
    display: flex;
    align-items: center;
    gap: 12px;
}


.ns-inquiry-signal b {
    font-size: 6px;
    font-weight: 400;

    color: rgba(210,220,223,.42);
}

.ns-inquiry-signal i {
    width: 24px;
    height: 1px;

    background: rgba(110,234,255,.2);
}


.ns-inquiry-signal > span:last-child {
    justify-self: end;

    color: var(--ns-gold);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .ns-inquiry-board {
        grid-template-columns: 1fr;
    }

    .ns-inquiry-intro {
        min-height: 360px;

        border-right: 0;
        border-bottom: 1px solid var(--ns-line);
    }

    .ns-inquiry-form {
        min-height: 430px;
    }
}


@media (max-width: 650px) {

    .ns-inquiry-intro,
    .ns-inquiry-form {
        padding: 28px 22px;
    }

    .ns-form-row {
        grid-template-columns: 1fr;
    }

    .ns-inquiry-path {
        display: grid;
        gap: 18px;
    }

    .ns-inquiry-path > i {
        display: none;
    }

    .ns-form-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .ns-form-bottom button {
        width: 100%;
    }

    .ns-inquiry-signal {
        display: none;
    }
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 1000px) {

    .ns-insights-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ns-insight-featured {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {

    .ns-insights-grid {
        grid-template-columns: 1fr;
    }

    .ns-insight-featured {
        grid-column: auto;
    }

    .ns-featured-layout {
        grid-template-columns: 1fr;
    }

    .ns-executive-brief {
        margin-top: 10px;
    }
}
/* =========================================================
   NORTHSTAR — FINAL SECTION RHYTHM
   ========================================================= */

.ns-section {
    padding-top: 55px;
    padding-bottom: 55px;
}

.ns-expertise,
.ns-intelligence,
.ns-industries,
.ns-transformation {
    padding-top: 55px;
    padding-bottom: 55px;
}
.ns-mobile-menu{display:none}
.ns-demo-note{font:11px/1.7 "Inter",sans-serif;color:#bdcbd0;margin:16px 0 0}
.ns-demo-confirmation{padding:12px 0;border-top:1px solid var(--ns-line);color:#d8e6e8}
.ns-demo-confirmation:focus{outline:2px solid var(--ns-gold);outline-offset:5px}
.ns-inquiry-form button:disabled{opacity:.55;cursor:not-allowed}
.ns-inquiry-form :focus-visible,.ns-mobile-menu :focus-visible{outline:2px solid var(--ns-gold);outline-offset:4px}
@media(max-width:1000px){
 .ns-header{position:relative;grid-template-columns:1fr auto auto;gap:12px;z-index:20}
 .ns-mobile-menu{display:block}
 .ns-mobile-menu>summary{display:flex;align-items:center;justify-content:center;min-width:52px;min-height:44px;padding:8px 10px;border:1px solid var(--ns-line);border-radius:4px;color:var(--ns-gold);font:11px "Inter",sans-serif;cursor:pointer;list-style:none}
 .ns-mobile-menu>summary::-webkit-details-marker{display:none}
 .ns-mobile-menu[open]>summary{border-color:var(--ns-gold)}
 .ns-mobile-menu nav{position:absolute;right:0;top:calc(100% - 1px);width:min(310px,calc(100vw - 40px));padding:8px;background:#0b1419;border:1px solid var(--ns-line);border-radius:0 0 5px 5px;box-shadow:0 12px 24px #0006;display:grid}
 .ns-mobile-menu nav a{display:flex;align-items:center;min-height:44px;padding:10px 14px;color:#e4e9e8;font:13px "Inter",sans-serif}
 .ns-mobile-menu nav a:hover{background:#ffffff08}
}
/* Hero and local navigation only: executive typography with readable annotations. */
.ns-header .ns-nav a{font-size:13px;color:#b9c8ce}
.ns-header .ns-nav a:hover{color:var(--ns-white)}
.ns-header .ns-nav-cta{font-size:12px;line-height:1.5;min-height:44px;gap:12px}
.ns-header a:focus-visible,.ns-header summary:focus-visible,.ns-hero a:focus-visible{outline:2px solid var(--ns-gold);outline-offset:4px}
.ns-hero{min-height:0}
.ns-hero .ns-hero-grid{padding-top:56px;padding-bottom:48px}
.ns-hero .ns-eyebrow{font-size:11px;line-height:1.5}
.ns-hero .ns-hero-description{color:#b9c8ce}
.ns-hero .ns-hero-actions{flex-wrap:wrap;gap:16px 24px}
.ns-hero .ns-button{font-size:12px;line-height:1.5;gap:20px}
.ns-hero .ns-text-link{font-size:12px;line-height:1.5;color:#b9c8ce;min-height:44px}
.ns-hero .ns-text-link:hover{color:var(--ns-cyan)}
.ns-hero .ns-hero-disclosure{font:12px/1.6 "Inter",sans-serif;color:#b9c8ce;margin:18px 0 0;max-width:490px}
.ns-hero .ns-hero-proof{margin-top:24px}
.ns-hero .ns-hero-proof span,.ns-hero .ns-signal-stats span{font-size:10px;line-height:1.5;color:#b9c8ce;letter-spacing:.06em}
.ns-hero .ns-hero-proof>div,.ns-hero .ns-signal-stats>div{min-width:0}
.ns-hero .ns-signal-header,.ns-hero .ns-signal-title>div>span{font-size:11px;line-height:1.5;color:#b9c8ce;letter-spacing:.08em}
.ns-hero .ns-live{color:var(--ns-cyan)}
.ns-hero .ns-signal-change,.ns-hero .ns-chart-marker{font-size:11px;line-height:1.5}
.ns-hero .ns-signal-stats>div:not(:first-child){padding-left:10px}
.ns-hero .ns-hero-footer{font-size:10px;line-height:1.6;color:#b9c8ce;letter-spacing:.08em;gap:16px}
.ns-hero .ns-hero-footer a{color:var(--ns-cyan);min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1000px){
 .ns-hero .ns-hero-grid{gap:40px;padding-top:48px}
 .ns-header .ns-mobile-menu>summary{font-size:13px}
}
@media(max-width:640px){
 .ns-header{height:auto;min-height:68px;grid-template-columns:1fr auto;padding-block:8px;gap:8px 12px}
 .ns-header .ns-brand{min-height:44px}
 .ns-header .ns-nav-cta{grid-column:1/-1;justify-self:stretch;justify-content:center}
 .ns-hero .ns-hero-grid{padding-top:32px;padding-bottom:32px;gap:36px}
 .ns-hero .ns-hero-copy h1{font-size:clamp(39px,11vw,48px);line-height:1.03}
 .ns-hero .ns-hero-description{font-size:14px;line-height:1.75}
 .ns-hero .ns-hero-actions{gap:8px;margin-top:26px}
 .ns-hero .ns-hero-proof>div:not(:first-child){padding-left:10px}
 .ns-hero .ns-hero-footer{gap:12px}
}
/* NORTHSTAR Panel 2 only: readable expertise copy and genuine card links. */
#expertise .ns-eyebrow,#expertise .ns-section-number,#expertise .ns-card-number{font-size:11px;line-height:1.5}
#expertise .ns-section-heading>p{font-size:14px;line-height:1.75;color:#b9c8ce}
#expertise .ns-expertise-card{min-width:0;padding:28px}
#expertise .ns-expertise-card>div{margin-top:56px}
#expertise .ns-expertise-card p{font-size:14px;line-height:1.75;color:#b9c8ce;margin-top:16px}
#expertise .ns-card-link{font-size:11px;line-height:1.6;letter-spacing:.04em;color:#b9c8ce;padding-top:28px;padding-right:48px;overflow-wrap:break-word}
#expertise .ns-card-action{position:absolute;inset:0;display:block;z-index:1}
#expertise .ns-card-arrow{width:44px;height:44px;right:16px;bottom:16px;font-size:18px;display:grid;place-items:center}
#expertise .ns-card-action:focus-visible{outline:2px solid var(--ns-gold);outline-offset:-4px}
#expertise .ns-expertise-card:focus-within{background:rgba(110,234,255,.025)}
#expertise .ns-expertise-card:focus-within:before{width:100%}
@media(max-width:1000px){
 #expertise .ns-expertise-grid{grid-auto-rows:1fr}
 #expertise .ns-expertise-card{min-height:0}
 #expertise .ns-expertise-card>div{margin-top:32px}
}
@media(max-width:640px){
 #expertise .ns-expertise-card{padding:24px}
 #expertise .ns-card-link{padding-top:24px}
}
@media(prefers-reduced-motion:reduce){
 #expertise .ns-expertise-card,#expertise .ns-expertise-card:before{transition:none}
}
/* NORTHSTAR Panel 3 only: readable fictional business-intelligence snapshot. */
#intelligence .ns-eyebrow,#intelligence .ns-section-number{font-size:11px;line-height:1.5}
#intelligence .ns-section-heading>p{font-size:14px;line-height:1.75;color:#b9c8ce}
#intelligence .ns-bi-demo-note{font:12px/1.7 "Inter",sans-serif;color:#b9c8ce;margin:0 0 16px}
#intelligence .ns-bi-top{font-size:11px;line-height:1.6;letter-spacing:.06em;color:#b9c8ce;gap:12px;flex-wrap:wrap;padding-block:14px}
#intelligence .ns-bi-top>div{color:var(--ns-cyan)}
#intelligence .ns-bi-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
#intelligence .ns-bi-kpi{min-width:0}
#intelligence .ns-bi-kpi>span{font-size:11px;line-height:1.5;color:#b9c8ce;letter-spacing:.06em}
#intelligence .ns-bi-kpi small{font-size:11px;line-height:1.5}
#intelligence .ns-bi-main{grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr)}
#intelligence .ns-performance,#intelligence .ns-ai-insight{min-width:0}
#intelligence .ns-panel-heading{flex-wrap:wrap;gap:12px}
#intelligence .ns-panel-heading>div:first-child{min-width:0;flex:1 1 160px}
#intelligence .ns-panel-heading span,#intelligence .ns-period{font-size:11px;line-height:1.5;letter-spacing:.06em;color:#b9c8ce}
#intelligence .ns-period{flex:none}
#intelligence .ns-performance-chart{margin-top:24px}
#intelligence .ns-chart-months{font-size:11px;line-height:1.5;letter-spacing:0;color:#b9c8ce}
#intelligence .ns-ai-heading>div,#intelligence .ns-ai-heading>span,#intelligence .ns-ai-label,#intelligence .ns-ai-action>span{font-size:11px;line-height:1.5;letter-spacing:.06em}
#intelligence .ns-ai-heading>span{color:#b9c8ce}
#intelligence .ns-ai-insight>p,#intelligence .ns-ai-action p{font-size:14px;line-height:1.75;color:#b9c8ce}
#intelligence .ns-ai-evidence{grid-template-columns:repeat(2,minmax(0,1fr))}
#intelligence .ns-ai-evidence>div{min-width:0}
#intelligence .ns-ai-evidence span,#intelligence .ns-ai-evidence small{font-size:11px;line-height:1.5;letter-spacing:.04em;color:#b9c8ce}
#intelligence .ns-ai-action a{font-size:12px;line-height:1.6;min-height:44px;display:inline-flex;align-items:center}
#intelligence .ns-ai-action a:hover{color:var(--ns-white)}
#intelligence a:focus-visible{outline:2px solid var(--ns-gold);outline-offset:4px}
#intelligence .ns-bi-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-block:14px;font-size:11px;line-height:1.5;color:#b9c8ce;letter-spacing:.06em}
#intelligence .ns-bi-footer>div{min-width:0;flex-wrap:wrap;gap:8px 12px}
#intelligence .ns-bi-footer>span:last-child{color:var(--ns-cyan)}
@media(max-width:1000px){
 #intelligence .ns-bi-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 #intelligence .ns-bi-main{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:640px){
 #intelligence .ns-bi-top,#intelligence .ns-bi-footer{padding-inline:18px}
 #intelligence .ns-bi-kpi>span{min-height:3em}
 #intelligence .ns-ai-evidence>div+div{padding-left:12px}
}
/* NORTHSTAR Panel 4 only: readable industry cards and accessible inquiry links. */
#industries .ns-eyebrow,#industries .ns-section-number{font-size:11px;line-height:1.5}
#industries .ns-section-heading>p{font-size:14px;line-height:1.75;color:#b9c8ce}
#industries .ns-industry-card{min-width:0}
#industries .ns-industry-top{font-size:11px;line-height:1.5;letter-spacing:.06em;color:#b9c8ce;gap:16px;flex-wrap:wrap}
#industries .ns-industry-content{margin-top:48px}
#industries .ns-industry-content h3{min-height:2.3em}
#industries .ns-industry-content p{font-size:14px;line-height:1.75;color:#b9c8ce}
#industries .ns-industry-signals{flex-wrap:wrap;padding-top:24px;padding-right:48px}
#industries .ns-industry-signals span{font-size:11px;line-height:1.4;letter-spacing:.04em;color:#b9c8ce}
#industries .ns-industry-action{position:absolute;inset:0;display:block;z-index:1}
#industries .ns-industry-arrow{width:44px;height:44px;right:16px;bottom:16px;font-size:18px;display:grid;place-items:center}
#industries .ns-industry-action:focus-visible{outline:2px solid var(--ns-gold);outline-offset:-4px}
#industries .ns-industry-card:focus-within{background:rgba(110,234,255,.018)}
#industries .ns-industry-card:focus-within:before{width:100%}
#industries .ns-industries-footer>span{font-size:11px;line-height:1.5;letter-spacing:.06em}
#industries .ns-industries-footer p{color:#b9c8ce}
#industries .ns-industries-footer a{font-size:12px;line-height:1.6;min-height:44px;display:inline-flex;align-items:center}
#industries .ns-industries-footer a:hover{color:var(--ns-white)}
#industries .ns-industries-footer a:focus-visible{outline:2px solid var(--ns-gold);outline-offset:4px}
@media(max-width:900px){
 #industries .ns-industries-grid{grid-auto-rows:1fr}
 #industries .ns-industry-content{margin-top:32px}
}
@media(prefers-reduced-motion:reduce){
 #industries .ns-industry-card,#industries .ns-industry-card:before{transition:none}
}
/* NORTHSTAR Panel 5 only: legible process labels and node-aligned connectors. */
#transformation .ns-eyebrow,#transformation .ns-section-number{font-size:11px;line-height:1.5}
#transformation .ns-section-heading>p{font-size:14px;line-height:1.75;color:#b9c8ce}
#transformation .ns-process{grid-auto-rows:1fr}
#transformation .ns-process-line{left:59px;right:calc(25% - 59px);pointer-events:none}
#transformation .ns-process-step{min-width:0}
#transformation .ns-process-node{flex:none}
#transformation .ns-process-node span{font-size:12px;line-height:1.5}
#transformation .ns-process-label{font-size:11px;line-height:1.5;letter-spacing:.06em;margin-top:32px}
#transformation .ns-process-step p{font-size:14px;line-height:1.7;color:#b9c8ce;margin-bottom:20px}
#transformation .ns-process-output{font-size:13px;line-height:1.6;color:#b9c8ce;padding-top:16px;overflow-wrap:break-word}
#transformation .ns-process-output span{font-size:11px;line-height:1.5;color:var(--ns-cyan);letter-spacing:.06em}
#transformation .ns-transformation-flow{font-size:11px;line-height:1.6;color:#b9c8ce;letter-spacing:.06em;gap:16px;padding-block:14px}
#transformation .ns-transformation-flow>span,#transformation .ns-transformation-flow>div{min-width:0}
#transformation .ns-transformation-flow b{font-size:11px;line-height:1.5;color:#b9c8ce}
@media(min-width:641px){#transformation .ns-process-step h3{min-height:2.3em}}
@media(max-width:640px){#transformation .ns-process-label{margin-top:24px}}
/* NORTHSTAR Panel 6 only: readable editorial previews and conceptual AI visual. */
#insights .ns-eyebrow,#insights .ns-section-number{font-size:11px;line-height:1.5}
#insights .ns-section-heading>p{font-size:14px;line-height:1.75;color:#b9c8ce}
#insights .ns-insights-note{font:12px/1.7 "Inter",sans-serif;color:#b9c8ce;margin:0 0 16px}
#insights .ns-insights-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,.725fr) minmax(0,.725fr)}
#insights .ns-insight-featured,#insights .ns-insight-card,#insights .ns-featured-copy,#insights .ns-executive-brief{min-width:0}
#insights .ns-featured-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px}
#insights .ns-featured-copy{padding-top:0}
#insights .ns-insight-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:11px;line-height:1.5;letter-spacing:.06em;color:#b9c8ce}
#insights .ns-insight-index{display:block;font-size:11px;line-height:1.5;letter-spacing:.06em;color:var(--ns-cyan)}
#insights .ns-insight-card{display:flex;flex-direction:column}
#insights .ns-insight-card .ns-insight-index{margin-top:32px}
#insights .ns-featured-copy p,#insights .ns-insight-card p{font-size:14px;line-height:1.7;color:#b9c8ce}
#insights .ns-insight-card p{margin-bottom:20px}
#insights .ns-featured-copy h3 span,#insights .ns-insight-card h3 span{color:#9ba9af}
#insights .ns-featured-copy a,#insights .ns-insight-card a{display:block;min-height:44px;font-size:12px;line-height:1.6;letter-spacing:.03em;padding-block:12px}
#insights .ns-insight-link-tail{white-space:nowrap}
#insights a:hover{color:var(--ns-white);text-decoration:underline;text-underline-offset:4px}
#insights a:focus-visible{outline:2px solid var(--ns-gold);outline-offset:4px}
#insights .ns-brief-top{font-size:11px;line-height:1.5;letter-spacing:.06em}
#insights .ns-brief-core small{font-size:10px;line-height:1.3;letter-spacing:.02em;color:#b9c8ce}
#insights .ns-brief-flow{font-size:10px;line-height:1.5;letter-spacing:0;color:#b9c8ce;flex-wrap:wrap;gap:6px 3px}
#insights .ns-brief-flow i{flex:none;width:7px}
#insights .ns-brief-flow span{white-space:nowrap}
@media(max-width:1000px){#insights .ns-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 #insights .ns-insights-grid{grid-template-columns:minmax(0,1fr)}
 #insights .ns-featured-layout{grid-template-columns:minmax(0,1fr)}
}
/* NORTHSTAR Panel 7 only: readable, accessible non-delivery inquiry preview. */
#conversation .ns-eyebrow,#conversation .ns-section-number,#conversation .ns-inquiry-label{font-size:11px;line-height:1.5}
#conversation .ns-section-heading>p,#conversation .ns-inquiry-intro>p{font-size:14px;line-height:1.75;color:#b9c8ce}
#conversation .ns-inquiry-board{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
#conversation .ns-inquiry-intro,#conversation .ns-inquiry-form{min-width:0}
#conversation .ns-inquiry-intro h3{margin-top:40px}
#conversation .ns-inquiry-path>div{min-width:0}
#conversation .ns-inquiry-path>div>span{font-size:11px;line-height:1.5}
#conversation .ns-inquiry-path p{font-size:12px;line-height:1.6;color:#b9c8ce}
#conversation .ns-form-status{font-size:11px;line-height:1.5;color:#b9c8ce;letter-spacing:.06em;gap:12px;flex-wrap:wrap}
#conversation .ns-form-status>div{color:var(--ns-cyan)}
#conversation .ns-demo-note{font-size:13px;line-height:1.65;color:#b9c8ce}
#conversation .ns-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#conversation .ns-inquiry-form label>span,#conversation .ns-form-field>span{display:block;margin-bottom:9px;font:11px/1.5 "IBM Plex Mono",monospace;letter-spacing:.06em;color:#b9c8ce}
#conversation .ns-inquiry-form input,#conversation .ns-inquiry-form textarea{font-size:16px;line-height:1.6;color:var(--ns-white);min-width:0}
#conversation .ns-inquiry-form input{min-height:44px}
#conversation .ns-inquiry-form textarea{min-height:112px;resize:vertical}
#conversation .ns-inquiry-form input::placeholder,#conversation .ns-inquiry-form textarea::placeholder{color:#9ba9af;opacity:1}
#conversation .ns-priority-trigger{min-height:44px;height:auto;padding-block:10px;font-size:16px;line-height:1.5;gap:12px}
#conversation .ns-priority-trigger i{font-size:12px;flex:none}
#conversation .ns-priority-menu{max-height:min(300px,50vh);overflow-y:auto;overscroll-behavior:contain}
#conversation [hidden]{display:none}
#conversation .ns-priority-menu button{min-height:44px;padding:10px 12px;font-size:14px;line-height:1.5;color:#b9c8ce}
#conversation .ns-priority-menu button span{font-size:11px;line-height:1.5;min-width:22px;color:var(--ns-cyan)}
#conversation .ns-priority-menu button.selected{color:var(--ns-gold)}
#conversation .ns-form-bottom{margin-top:24px;gap:16px;flex-wrap:wrap}
#conversation .ns-form-bottom>span{font-size:13px;line-height:1.65;color:#b9c8ce;max-width:330px;min-width:0}
#conversation .ns-form-bottom button{font-size:12px;line-height:1.5;min-height:44px}
#conversation .ns-contact-handoff{margin:12px 0 0;font-size:13px;line-height:1.6}
#conversation .ns-contact-handoff a{display:inline-flex;align-items:center;min-height:44px;color:var(--ns-cyan);text-decoration:underline;text-underline-offset:4px}
#conversation input:focus-visible,#conversation textarea:focus-visible,#conversation button:focus-visible,#conversation a:focus-visible{outline:2px solid var(--ns-gold);outline-offset:4px}
#conversation .ns-priority-menu button:focus-visible{outline-offset:-2px;background:rgba(110,234,255,.035);color:var(--ns-white)}
#conversation [aria-invalid=true]{border-bottom-color:var(--ns-gold)}
#conversation .ns-demo-confirmation[data-state=error]{color:#f2cf90}
#conversation .ns-inquiry-signal{font-size:11px;line-height:1.6;color:#b9c8ce;letter-spacing:.06em;gap:16px;padding-block:14px}
#conversation .ns-inquiry-signal b{font-size:11px;line-height:1.5;color:#b9c8ce}
@media(max-width:900px){#conversation .ns-inquiry-board{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){
 #conversation .ns-form-row{grid-template-columns:minmax(0,1fr)}
 #conversation .ns-inquiry-intro h3{font-size:30px;margin-top:24px}
 #conversation .ns-inquiry-path p{max-width:none}
 #conversation .ns-form-bottom>span{max-width:100%}
}
@media(prefers-reduced-motion:reduce){
 #conversation .ns-priority-menu,#conversation .ns-priority-trigger i,#conversation .ns-priority-menu button,#conversation .ns-form-bottom button{transition:none}
 #conversation .ns-form-bottom button:hover{transform:none}
}
