/* ============================================================
   NET RENTALS — DEVELOPERS
   /css/marketing/developers.css

   DEPENDS ON:
   /css/marketing/rentals-marketing-ui.css

   DESIGN LANGUAGE:
   - developer-first
   - Midnight / graphite surfaces
   - technical typography
   - restrained geometry
   - code/editorial hybrid
   - same Net Rentals shell, different authorship
   ============================================================ */


/* ============================================================
   01. PAGE
   ============================================================ */

.developers-page {
    --dev-bg: #050506;
    --dev-bg-soft: #09090b;
    --dev-panel: #0d0d0f;
    --dev-panel-raised: #111113;
    --dev-panel-strong: #18181b;

    --dev-border: rgba(255,255,255,0.08);
    --dev-border-strong: rgba(255,255,255,0.14);

    --dev-text: #f5f5f7;
    --dev-text-soft: #d4d4d8;
    --dev-muted: #8f8f98;
    --dev-dim: #5f5f68;

    --dev-green: #86efac;
    --dev-blue: #93c5fd;
    --dev-amber: #fde68a;
    --dev-red: #fca5a5;
    --dev-violet: #c4b5fd;

    --dev-mono:
        "SFMono-Regular",
        "SF Mono",
        "Roboto Mono",
        "Cascadia Code",
        "Liberation Mono",
        Menlo,
        Consolas,
        monospace;

    background: var(--dev-bg);
}

.developers-main {
    overflow: hidden;

    background: var(--dev-bg);
    color: var(--dev-text);
}


/* ============================================================
   02. HEADER OVERRIDE
   ============================================================ */
/* ============================================================
   DEVELOPERS MOBILE NAV — DARK SKIN
   ============================================================ */

.developers-page .nr-mobile-nav {
    background: #050506;
    color: #f5f5f7;

    border-top: 1px solid var(--dev-border);
}

.developers-page .nr-mobile-nav-body {
    background: #050506;
}


/* TOP-LEVEL SECTIONS */

.developers-page .nr-mobile-nav summary,
.developers-page .nr-mobile-nav-link {
    color: #f5f5f7;

    border-bottom-color: var(--dev-border);
}

.developers-page .nr-mobile-nav summary:hover,
.developers-page .nr-mobile-nav-link:hover {
    color: #ffffff;
}


/* CHEVRONS */

.developers-page .nr-mobile-nav summary svg {
    color: #d4d4d8;
}


/* SUBMENU LINKS */

.developers-page .nr-mobile-nav-sub a {
    color: #8f8f98;
}

.developers-page .nr-mobile-nav-sub a:hover {
    color: #ffffff;
}


/* DIVIDER */

.developers-page .nr-mobile-nav-divider {
    background: var(--dev-border);
}


/* ACCOUNT LINKS */

.developers-page .nr-mobile-nav-login {
    color: #f5f5f7;
}

.developers-page .nr-mobile-nav-login:hover {
    color: #ffffff;
}

.developers-page .nr-mobile-nav-signup {
    color: #f5f5f7 !important;
    background: transparent !important;
    border-color: transparent !important;
}

.developers-page .nr-mobile-nav-signup:hover {
    color: #ffffff !important;
}




/* KEEP HEADER DARK WHILE MENU IS OPEN */

.developers-site-header.nr-menu-active {
    background: #050506;
    border-bottom-color: var(--dev-border);
}


/* DARK MOBILE PAGE LOCK */

body.nr-menu-open .developers-page {
    background: #050506;
}
.developers-site-header {
    border-bottom-color: var(--dev-border);

    background: rgba(5,5,6,0.94);

    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.developers-site-header .nr-nav-link,
.developers-site-header .nr-nav-dropdown-button,
.developers-site-header .nr-header-login {
    color: #d4d4d8;
}

.developers-site-header .nr-nav-link:hover,
.developers-site-header .nr-nav-dropdown-button:hover,
.developers-site-header .nr-header-login:hover {
    color: #ffffff;
}

.developers-site-header .nr-header-signup {
    border-color: #f4f4f5;

    background: #f4f4f5;
    color: #09090b;
}

.developers-site-header .nr-header-signup:hover {
    background: #ffffff;
    color: #050506;
}

.developers-site-header .nr-menu-button span {
    background: #f4f4f5;
}


/* ============================================================
   03. HERO
   ============================================================ */

.developers-hero {
    position: relative;

    padding:
        118px
        0
        96px;

    border-bottom: 1px solid var(--dev-border);

    background: var(--dev-bg);
}

.developers-hero::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background-image:
        linear-gradient(
            rgba(255,255,255,0.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,0.025) 1px,
            transparent 1px
        );

    background-size:
        48px
        48px;

    mask-image:
        linear-gradient(
            to bottom,
            rgba(0,0,0,0.58),
            transparent 82%
        );

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            rgba(0,0,0,0.58),
            transparent 82%
        );
}

.developers-hero .nr-container {
    position: relative;
    z-index: 1;
}

.developers-hero-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 0.92fr)
        minmax(520px, 1.08fr);

    gap: 72px;

    align-items: center;
}

.developers-hero-copy {
    max-width: 640px;
}

.developers-kicker {
    display: block;

    margin-bottom: 24px;

    color: var(--dev-muted);

    font-family: var(--dev-mono);
    font-size: 0.72rem;
    font-weight: 700;

    letter-spacing: 0.10em;
}

.developers-hero h1 {
    max-width: 640px;

    margin: 0;

    color: #fafafa;

    font-size:
        clamp(
            3.5rem,
            6.7vw,
            6.3rem
        );

    line-height: 0.94;
    font-weight: 560;

    letter-spacing: -0.065em;
}

.developers-hero-copy > p {
    max-width: 590px;

    margin:
        28px
        0
        0;

    color: #9f9fa8;

    font-size:
        clamp(
            1.03rem,
            1.7vw,
            1.24rem
        );

    line-height: 1.7;
}

.developers-hero-actions {
    display: flex;
    flex-wrap: wrap;

    gap: 10px;

    margin-top: 32px;
}

.developers-button-primary,
.developers-button-secondary {
    min-height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding:
        0
        18px;

    border-radius: 9px;

    font-family: var(--dev-mono);
    font-size: 0.78rem;
    font-weight: 700;

    transition:
        border-color 160ms ease,
        background 160ms ease,
        color 160ms ease,
        transform 160ms ease;
}

.developers-button-primary {
    border: 1px solid #f4f4f5;

    background: #f4f4f5;
    color: #09090b;
}

.developers-button-primary:hover {
    background: #ffffff;
    color: #050506;

    transform: translateY(-1px);
}

.developers-button-secondary {
    border: 1px solid var(--dev-border-strong);

    background: #111113;
    color: #d4d4d8;
}

.developers-button-secondary:hover {
    border-color: rgba(255,255,255,0.24);

    background: #18181b;
    color: #ffffff;

    transform: translateY(-1px);
}

.developers-hero-meta {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-top: 28px;
}

.developers-hero-meta span {
    padding:
        6px
        8px;

    border: 1px solid var(--dev-border);
    border-radius: 6px;

    background: rgba(255,255,255,0.02);
    color: #777780;

    font-family: var(--dev-mono);
    font-size: 0.62rem;
    font-weight: 700;

    letter-spacing: 0.07em;
}


/* ============================================================
   04. HERO CODE WINDOW
   ============================================================ */

.developers-code-window {
    overflow: hidden;

    border: 1px solid var(--dev-border-strong);
    border-radius: 14px;

    background: #0a0a0c;

    box-shadow:
        0 28px 80px rgba(0,0,0,0.36);
}

.developers-code-header {
    min-height: 48px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    padding:
        0
        14px;

    border-bottom: 1px solid var(--dev-border);

    background: #0d0d0f;
}

.developers-code-tabs {
    display: flex;
    align-items: stretch;

    height: 47px;
}

.developers-code-tabs span {
    display: flex;
    align-items: center;

    padding:
        0
        12px;

    border-bottom: 1px solid transparent;

    color: #62626c;

    font-family: var(--dev-mono);
    font-size: 0.68rem;
}

.developers-code-tabs span.is-active {
    border-bottom-color: #f4f4f5;

    color: #f4f4f5;
}

.developers-code-header > small {
    padding:
        4px
        7px;

    border: 1px solid rgba(147,197,253,0.16);
    border-radius: 5px;

    background: rgba(147,197,253,0.06);
    color: var(--dev-blue);

    font-family: var(--dev-mono);
    font-size: 0.58rem;
    font-weight: 700;
}

.developers-code-body {
    padding:
        18px
        0;

    background: #08080a;
}

.developers-code-line {
    display: grid;
    grid-template-columns:
        42px
        minmax(0, 1fr);

    min-height: 25px;

    align-items: center;
}

.developers-code-line:hover {
    background: rgba(255,255,255,0.018);
}

.line-number {
    padding-right: 12px;

    color: #3f3f46;

    font-family: var(--dev-mono);
    font-size: 0.66rem;

    text-align: right;
    user-select: none;
}

.developers-code-line code {
    overflow: hidden;

    color: #d4d4d8;

    font-family: var(--dev-mono);
    font-size: 0.74rem;
    line-height: 1.55;

    white-space: nowrap;
}

.code-indent {
    padding-left: 16px;
}

.code-indent-double {
    padding-left: 32px;
}

.code-indent-triple {
    padding-left: 48px;
}

.code-keyword {
    color: var(--dev-violet);
}

.code-string {
    color: var(--dev-green);
}

.code-property {
    color: var(--dev-blue);
}

.code-muted {
    color: #777780;
}

.developers-code-result {
    min-height: 48px;

    display: flex;
    align-items: center;

    gap: 12px;

    padding:
        0
        16px;

    border-top: 1px solid var(--dev-border);

    background: #0d0d0f;
}

.developers-code-result span {
    padding:
        4px
        7px;

    border: 1px solid rgba(134,239,172,0.14);
    border-radius: 5px;

    background: rgba(134,239,172,0.06);
    color: var(--dev-green);

    font-family: var(--dev-mono);
    font-size: 0.62rem;
    font-weight: 800;
}

.developers-code-result code {
    color: #a1a1aa;

    font-family: var(--dev-mono);
    font-size: 0.68rem;
}


/* ============================================================
   05. LOCAL DEVELOPER NAV
   ============================================================ */

.developers-local-nav {
    position: sticky;
    top: 72px;
    z-index: 40;

    border-bottom: 1px solid var(--dev-border);

    background: rgba(9,9,11,0.94);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.developers-local-nav nav {
    display: flex;
    align-items: center;

    gap: 26px;

    min-height: 52px;

    overflow-x: auto;

    scrollbar-width: none;
}

.developers-local-nav nav::-webkit-scrollbar {
    display: none;
}

.developers-local-nav a {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 52px;

    color: #71717a;

    font-family: var(--dev-mono);
    font-size: 0.70rem;
    font-weight: 700;

    white-space: nowrap;
}

.developers-local-nav a:hover,
.developers-local-nav a.is-active {
    color: #f4f4f5;
}

.developers-local-nav a.is-active::after {
    content: "";

    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;

    height: 1px;

    background: #f4f4f5;
}


/* ============================================================
   06. GENERIC DEVELOPERS SECTION
   ============================================================ */

.developers-section {
    padding:
        104px
        0;

    border-bottom: 1px solid var(--dev-border);

    background: var(--dev-bg);
}

.developers-section:nth-of-type(even) {
    background: var(--dev-bg-soft);
}

.developers-section-header {
    display: grid;
    grid-template-columns:
        54px
        minmax(0, 760px);

    gap: 24px;

    align-items: start;

    margin-bottom: 48px;
}

.developers-section-index {
    display: block;

    padding-top: 4px;

    color: #4a4a51;

    font-family: var(--dev-mono);
    font-size: 0.72rem;
    font-weight: 700;
}

.developers-label {
    display: block;

    margin-bottom: 14px;

    color: #71717a;

    font-family: var(--dev-mono);
    font-size: 0.66rem;
    font-weight: 800;

    letter-spacing: 0.11em;
}

.developers-section-header h2,
.developers-events-copy h2,
.developers-tenancy-copy h2 {
    max-width: 720px;

    margin: 0;

    color: #fafafa;

    font-size:
        clamp(
            2.6rem,
            5vw,
            4.7rem
        );

    line-height: 0.98;
    font-weight: 560;

    letter-spacing: -0.055em;
}

.developers-section-header p,
.developers-events-copy p,
.developers-tenancy-copy p {
    max-width: 680px;

    margin:
        20px
        0
        0;

    color: #8f8f98;

    font-size: 1rem;
    line-height: 1.72;
}


/* ============================================================
   07. BUILDING BLOCKS
   ============================================================ */

.developers-block-grid {
    display: grid;
    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    border-top: 1px solid var(--dev-border);
    border-left: 1px solid var(--dev-border);
}

.developers-block {
    min-height: 310px;

    display: flex;
    flex-direction: column;

    padding: 26px;

    border-right: 1px solid var(--dev-border);
    border-bottom: 1px solid var(--dev-border);

    background: #0a0a0c;

    transition:
        background 160ms ease,
        border-color 160ms ease;
}

.developers-block:hover {
    background: #111113;
}

.developers-block-top {
    display: flex;
    justify-content: space-between;

    gap: 16px;

    margin-bottom: 48px;
}

.developers-block-command {
    color: #62626c;

    font-family: var(--dev-mono);
    font-size: 0.64rem;
    font-weight: 800;

    letter-spacing: 0.07em;
}

.developers-block-arrow {
    color: #52525b;

    font-size: 0.92rem;
}

.developers-block:hover .developers-block-arrow {
    color: #f4f4f5;
}

.developers-block h3 {
    margin: 0;

    color: #fafafa;

    font-size: 1.55rem;
    font-weight: 620;

    letter-spacing: -0.035em;
}

.developers-block p {
    margin:
        12px
        0
        0;

    color: #85858e;

    font-size: 0.90rem;
    line-height: 1.65;
}

.developers-block > code {
    align-self: flex-start;

    margin-top: auto;
    padding:
        6px
        8px;

    border: 1px solid var(--dev-border);
    border-radius: 5px;

    background: #050506;
    color: #a1a1aa;

    font-family: var(--dev-mono);
    font-size: 0.68rem;
}


/* ============================================================
   08. OBJECT MODEL
   ============================================================ */

.developers-object-model {
    background: #09090b;
}

.developers-object-map {
    display: grid;
    grid-template-columns:
        minmax(180px, 1fr)
        90px
        minmax(220px, 1.1fr)
        90px
        minmax(180px, 1fr);

    align-items: center;

    max-width: 1040px;
}

.developers-object-column {
    display: grid;

    gap: 12px;
}

.developers-object-column article,
.developers-object-center {
    padding: 20px;

    border: 1px solid var(--dev-border);
    border-radius: 10px;

    background: #0d0d0f;
}

.developers-object-column article small,
.developers-object-center small {
    display: block;

    margin-bottom: 8px;

    color: #52525b;

    font-family: var(--dev-mono);
    font-size: 0.58rem;
    font-weight: 800;

    letter-spacing: 0.10em;
}

.developers-object-column article strong,
.developers-object-center strong {
    display: block;

    color: #f4f4f5;

    font-size: 1rem;
    font-weight: 650;
}

.developers-object-column article code,
.developers-object-center code {
    display: inline-block;

    margin-top: 10px;

    color: #85858e;

    font-family: var(--dev-mono);
    font-size: 0.66rem;
}

.developers-object-center {
    min-height: 188px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    border-color: rgba(255,255,255,0.16);

    background: #131316;
}

.developers-object-center strong {
    font-size: 1.6rem;
}

.developers-object-center > div {
    margin-top: 20px;
    padding-top: 14px;

    border-top: 1px solid var(--dev-border);

    color: #62626c;

    font-family: var(--dev-mono);
    font-size: 0.60rem;
}

.developers-object-lines {
    display: grid;

    gap: 38px;
}

.developers-object-lines span {
    position: relative;

    height: 1px;

    background: #34343a;
}

.left-lines span::after,
.right-lines span::after {
    content: "";

    position: absolute;
    top: 50%;

    width: 6px;
    height: 6px;

    border-top: 1px solid #62626c;
    border-right: 1px solid #62626c;
}

.left-lines span::after {
    right: 0;

    transform:
        translateY(-50%)
        rotate(45deg);
}

.right-lines span::after {
    left: 0;

    transform:
        translateY(-50%)
        rotate(225deg);
}


/* ============================================================
   09. EVENTS
   ============================================================ */

.developers-events {
    background: #050506;
}

.developers-events-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 0.82fr)
        minmax(500px, 1.18fr);

    gap: 72px;

    align-items: center;
}

.developers-events-copy .developers-section-index {
    margin-bottom: 20px;
}

.developers-inline-link {
    display: inline-flex;
    align-items: center;

    gap: 10px;

    margin-top: 26px;

    color: #d4d4d8;

    font-family: var(--dev-mono);
    font-size: 0.72rem;
    font-weight: 700;
}

.developers-inline-link span {
    transition: transform 160ms ease;
}

.developers-inline-link:hover {
    color: #ffffff;
}

.developers-inline-link:hover span {
    transform: translateX(3px);
}

.developers-event-console {
    overflow: hidden;

    border: 1px solid var(--dev-border);
    border-radius: 12px;

    background: #0a0a0c;
}

.developers-event-console-header {
    min-height: 48px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding:
        0
        14px;

    border-bottom: 1px solid var(--dev-border);

    background: #0d0d0f;
}

.developers-event-console-header span {
    color: #a1a1aa;

    font-family: var(--dev-mono);
    font-size: 0.68rem;
}

.developers-event-console-header small {
    padding:
        4px
        7px;

    border: 1px solid rgba(134,239,172,0.14);
    border-radius: 5px;

    background: rgba(134,239,172,0.06);
    color: var(--dev-green);

    font-family: var(--dev-mono);
    font-size: 0.56rem;
}

.developers-event-row {
    display: grid;
    grid-template-columns:
        72px
        52px
        minmax(0, 1fr)
        44px;

    gap: 12px;

    align-items: center;

    min-height: 58px;

    padding:
        0
        14px;

    border-bottom: 1px solid var(--dev-border);

    background: #09090b;
}

.developers-event-row:last-child {
    border-bottom: 0;
}

.developers-event-row time {
    color: #52525b;

    font-family: var(--dev-mono);
    font-size: 0.62rem;
}

.event-method {
    color: var(--dev-blue);

    font-family: var(--dev-mono);
    font-size: 0.62rem;
    font-weight: 800;
}

.developers-event-row code {
    overflow: hidden;

    color: #d4d4d8;

    font-family: var(--dev-mono);
    font-size: 0.68rem;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.event-status {
    justify-self: end;

    color: var(--dev-green);

    font-family: var(--dev-mono);
    font-size: 0.62rem;
    font-weight: 800;
}


/* ============================================================
   10. ENVIRONMENTS
   ============================================================ */

.developers-environments {
    background: #09090b;
}

.developers-environment-grid {
    display: grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 14px;
}

.developers-environment-card {
    padding: 24px;

    border: 1px solid var(--dev-border);
    border-radius: 12px;

    background: #0d0d0f;
}

.developers-environment-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;
}

.developers-environment-head > div {
    display: flex;
    align-items: center;

    gap: 10px;
}

.environment-dot {
    width: 8px;
    height: 8px;

    border-radius: 50%;
}

.environment-dot.sandbox {
    background: var(--dev-blue);
}

.environment-dot.production {
    background: var(--dev-green);
}

.developers-environment-head strong {
    color: #f4f4f5;

    font-size: 1.1rem;
    font-weight: 650;
}

.developers-environment-head > code {
    color: #62626c;

    font-family: var(--dev-mono);
    font-size: 0.62rem;
}

.developers-environment-card > p {
    max-width: 520px;

    margin:
        18px
        0
        22px;

    color: #85858e;

    font-size: 0.90rem;
    line-height: 1.65;
}

.developers-environment-details {
    border-top: 1px solid var(--dev-border);
}

.developers-environment-details > div {
    min-height: 52px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    border-bottom: 1px solid var(--dev-border);
}

.developers-environment-details > div:last-child {
    border-bottom: 0;
}

.developers-environment-details span {
    color: #62626c;

    font-size: 0.72rem;
}

.developers-environment-details code {
    color: #a1a1aa;

    font-family: var(--dev-mono);
    font-size: 0.66rem;
}

.developers-environment-link {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-top: 28px;

    color: #d4d4d8;

    font-family: var(--dev-mono);
    font-size: 0.70rem;
    font-weight: 700;
}

.developers-environment-link span {
    transition: transform 160ms ease;
}

.developers-environment-link:hover {
    color: #ffffff;
}

.developers-environment-link:hover span {
    transform: translateX(3px);
}


/* ============================================================
   11. TENANCY
   ============================================================ */

.developers-tenancy {
    background: #050506;
}

.developers-tenancy-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 0.85fr)
        minmax(500px, 1.15fr);

    gap: 72px;

    align-items: center;
}

.developers-tenancy-copy .developers-section-index {
    margin-bottom: 20px;
}

.developers-tenant-diagram {
    padding: 24px;

    border: 1px solid var(--dev-border);
    border-radius: 12px;

    background: #0a0a0c;
}

.developers-tenant-platform {
    max-width: 260px;

    margin: 0 auto;

    padding: 20px;

    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 9px;

    background: #131316;

    text-align: center;
}

.developers-tenant-platform small,
.developers-tenant-businesses small {
    display: block;

    margin-bottom: 6px;

    color: #52525b;

    font-family: var(--dev-mono);
    font-size: 0.56rem;
    font-weight: 800;

    letter-spacing: 0.08em;
}

.developers-tenant-platform strong,
.developers-tenant-businesses strong {
    display: block;

    color: #f4f4f5;

    font-size: 0.95rem;
    font-weight: 650;
}

.developers-tenant-connection {
    position: relative;

    width: 1px;
    height: 44px;

    margin: 0 auto;

    background: #34343a;
}

.developers-tenant-connection::after {
    content: "";

    position: absolute;
    right: -210px;
    bottom: 0;
    left: -210px;

    height: 1px;

    background: #34343a;
}

.developers-tenant-businesses {
    display: grid;
    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 12px;

    margin-top: 28px;
}

.developers-tenant-businesses article {
    position: relative;

    min-width: 0;

    padding: 18px;

    border: 1px solid var(--dev-border);
    border-radius: 9px;

    background: #0d0d0f;
}

.developers-tenant-businesses article::before {
    content: "";

    position: absolute;
    top: -29px;
    left: 50%;

    width: 1px;
    height: 28px;

    background: #34343a;
}

.developers-tenant-businesses code {
    display: block;

    overflow: hidden;

    margin-top: 11px;

    color: #71717a;

    font-family: var(--dev-mono);
    font-size: 0.60rem;

    white-space: nowrap;
    text-overflow: ellipsis;
}


/* ============================================================
   12. REQUEST / RESPONSE
   ============================================================ */

.developers-request-response {
    background: #09090b;
}

.developers-dual-code {
    display: grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 12px;
}

.developers-code-panel {
    overflow: hidden;

    border: 1px solid var(--dev-border);
    border-radius: 11px;

    background: #08080a;
}

.developers-code-panel header {
    min-height: 46px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    padding:
        0
        14px;

    border-bottom: 1px solid var(--dev-border);

    background: #0d0d0f;
}

.developers-code-panel header span {
    color: #71717a;

    font-family: var(--dev-mono);
    font-size: 0.66rem;
}

.developers-code-panel header code {
    color: var(--dev-blue);

    font-family: var(--dev-mono);
    font-size: 0.62rem;
    font-weight: 800;
}

.developers-code-panel header code.is-success {
    color: var(--dev-green);
}

.developers-code-panel pre {
    margin: 0;
    padding: 22px;

    overflow-x: auto;

    background: #08080a;
}

.developers-code-panel pre code {
    color: #d4d4d8;

    font-family: var(--dev-mono);
    font-size: 0.73rem;
    line-height: 1.8;
}


/* ============================================================
   13. USE CASES
   ============================================================ */

.developers-use-cases {
    background: #050506;
}

.developers-use-case-list {
    border-top: 1px solid var(--dev-border);
}

.developers-use-case-list article {
    display: grid;
    grid-template-columns:
        56px
        minmax(0, 1fr)
        auto;

    gap: 20px;

    align-items: center;

    min-height: 116px;

    padding:
        20px
        0;

    border-bottom: 1px solid var(--dev-border);
}

.developers-use-case-list article > span {
    color: #4a4a51;

    font-family: var(--dev-mono);
    font-size: 0.66rem;
    font-weight: 700;
}

.developers-use-case-list h3 {
    margin: 0;

    color: #f4f4f5;

    font-size: 1.15rem;
    font-weight: 620;
}

.developers-use-case-list p {
    max-width: 620px;

    margin:
        7px
        0
        0;

    color: #85858e;

    font-size: 0.86rem;
    line-height: 1.55;
}

.developers-use-case-list code {
    padding:
        6px
        8px;

    border: 1px solid var(--dev-border);
    border-radius: 5px;

    background: #0d0d0f;
    color: #85858e;

    font-family: var(--dev-mono);
    font-size: 0.64rem;
}


/* ============================================================
   14. NEXT STEPS
   ============================================================ */

.developers-next {
    padding:
        104px
        0;

    border-bottom: 1px solid var(--dev-border);

    background: #09090b;
}

.developers-next-header {
    margin-bottom: 34px;
}

.developers-next-header h2 {
    margin: 0;

    color: #fafafa;

    font-size:
        clamp(
            2.7rem,
            5vw,
            4.5rem
        );

    line-height: 1;
    font-weight: 560;

    letter-spacing: -0.05em;
}

.developers-next-grid {
    border-top: 1px solid var(--dev-border);
}

.developers-next-grid a {
    display: grid;
    grid-template-columns:
        48px
        minmax(0, 1fr)
        28px;

    gap: 20px;

    align-items: center;

    min-height: 110px;

    border-bottom: 1px solid var(--dev-border);

    color: inherit;

    transition:
        background 160ms ease,
        padding 160ms ease;
}

.developers-next-grid a:hover {
    padding-left: 14px;

    background: rgba(255,255,255,0.02);
}

.developers-next-grid > a > span {
    color: #4a4a51;

    font-family: var(--dev-mono);
    font-size: 0.64rem;
    font-weight: 700;
}

.developers-next-grid strong {
    display: block;

    color: #f4f4f5;

    font-size: 1.05rem;
    font-weight: 650;
}

.developers-next-grid p {
    margin:
        5px
        0
        0;

    color: #71717a;

    font-size: 0.82rem;
}

.developers-next-grid i {
    color: #62626c;

    font-style: normal;
    font-size: 1rem;

    transition: transform 160ms ease;
}

.developers-next-grid a:hover i {
    color: #ffffff;

    transform: translateX(4px);
}


/* ============================================================
   15. FOOTER
   ============================================================ */

.developers-footer {
    border-top: 0;

    background: #050506;
}

.developers-footer .nr-footer-description,
.developers-footer .nr-footer-country,
.developers-footer .nr-footer-copyright,
.developers-footer .nr-footer-links a {
    color: #71717a;
}

.developers-footer .nr-footer-group summary {
    color: #d4d4d8;
}

.developers-footer .nr-footer-links a:hover,
.developers-footer .nr-footer-description a:hover,
.developers-footer .nr-footer-legal a:hover {
    color: #ffffff;
}


/* ============================================================
   16. TABLET
   ============================================================ */

@media (max-width: 1080px) {

    .developers-hero-layout,
    .developers-events-layout,
    .developers-tenancy-layout {
        grid-template-columns: 1fr;

        gap: 52px;
    }

    .developers-hero-copy,
    .developers-events-copy,
    .developers-tenancy-copy {
        max-width: 760px;
    }

    .developers-code-window,
    .developers-event-console,
    .developers-tenant-diagram {
        max-width: 820px;
    }

    .developers-object-map {
        grid-template-columns:
            1fr
            50px
            1.1fr
            50px
            1fr;
    }
}


/* ============================================================
   17. MOBILE
   ============================================================ */

@media (max-width: 820px) {

    .developers-hero {
        padding:
            76px
            0
            68px;
    }

    .developers-hero h1 {
        font-size:
            clamp(
                3rem,
                13vw,
                4.8rem
            );
    }

    .developers-local-nav {
        top: 64px;
    }

    .developers-section,
    .developers-next {
        padding:
            78px
            0;
    }

    .developers-section-header {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .developers-section-index {
        padding-top: 0;
    }

    .developers-block-grid {
        grid-template-columns: 1fr;
    }

    .developers-block {
        min-height: 260px;
    }

    .developers-object-map {
        grid-template-columns: 1fr;

        gap: 10px;
    }

    .developers-object-lines {
        display: block;

        width: 1px;
        height: 28px;

        margin-inline: auto;

        background: #34343a;
    }

    .developers-object-lines span {
        display: none;
    }

    .developers-object-column {
        width: 100%;
    }

    .developers-environment-grid,
    .developers-dual-code {
        grid-template-columns: 1fr;
    }

    .developers-tenant-connection::after {
        right: -120px;
        left: -120px;
    }

    .developers-use-case-list article {
        grid-template-columns:
            44px
            minmax(0, 1fr);

        gap: 14px;
    }

    .developers-use-case-list code {
        grid-column:
            2
            / -1;

        justify-self: start;
    }
}


/* ============================================================
   18. SMALL MOBILE
   ============================================================ */

@media (max-width: 560px) {

    .developers-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .developers-button-primary,
    .developers-button-secondary {
        width: 100%;
    }

    .developers-code-window {
        border-radius: 10px;
    }

    .developers-code-tabs span:not(.is-active) {
        display: none;
    }

    .developers-code-line {
        grid-template-columns:
            34px
            minmax(0, 1fr);
    }

    .developers-code-line code {
        font-size: 0.66rem;
    }

    .code-indent {
        padding-left: 10px;
    }

    .code-indent-double {
        padding-left: 20px;
    }

    .code-indent-triple {
        padding-left: 30px;
    }

    .developers-local-nav nav {
        gap: 20px;
    }

    .developers-block {
        padding: 22px;
    }

    .developers-event-row {
        grid-template-columns:
            58px
            minmax(0, 1fr)
            38px;

        gap: 10px;
    }

    .event-method {
        display: none;
    }

    .developers-event-row time {
        font-size: 0.56rem;
    }

    .developers-tenant-diagram {
        padding: 18px;
    }

    .developers-tenant-connection::after {
        right: -80px;
        left: -80px;
    }

    .developers-tenant-businesses {
        grid-template-columns: 1fr;
    }

    .developers-tenant-businesses article::before {
        display: none;
    }

    .developers-tenant-connection {
        height: 28px;
    }

    .developers-tenant-connection::after {
        display: none;
    }

    .developers-code-panel pre {
        padding: 17px;
    }

    .developers-code-panel pre code {
        font-size: 0.64rem;
    }

    .developers-next-grid a {
        grid-template-columns:
            38px
            minmax(0, 1fr)
            24px;
    }
}


/* ============================================================
   19. FOCUS
   ============================================================ */

.developers-page a:focus-visible,
.developers-page button:focus-visible {
    outline: 1px solid rgba(255,255,255,0.70);
    outline-offset: 4px;
}


/* ============================================================
   20. REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    .developers-button-primary,
    .developers-button-secondary,
    .developers-block,
    .developers-inline-link span,
    .developers-environment-link span,
    .developers-next-grid a,
    .developers-next-grid i {
        transition: none;
    }
}

/* =========================================================
   DEVELOPERS — DARK MOBILE NAV LOGO FIX
   ========================================================= */

@media (max-width: 899px) {
    /* Keep the white Net Rentals logo positioned properly */
    .developers-page .nr-brand,
    .developers-site-header .nr-brand {
        display: flex;
        align-items: center;
        width: auto;
        margin-left: 0 !important;
        padding-left: 0 !important;
        transform: none !important;
    }

    .developers-page .nr-brand-logo,
    .developers-site-header .nr-brand-logo {
        display: block;
        width: auto !important; /* Let aspect ratio dictate width */
        height: 66px !important; /* Match desktop/API reference height */
        max-width: 140px !important;
        margin: 0 !important;
        transform: none !important;
        object-fit: contain;
        object-position: left center !important;
    }
}
