/* ============================================================
   public.css -- aggregator

   Original 2789-line public.css was split into per-page-family
   sibling files. Templates still link public.css; this aggregator
   pulls each split file in via @import.
   ============================================================ */

/* === inlined: public-docs.css === */
/* ============================================================
   public-docs.css
   Split out of public.css for maintainability.
   Aggregated via @import in public.css.
   ============================================================ */

/* ============================================================
   public/docs.html
   ============================================================ */

        :root {
            --sky: #0284c7;
            --sky-l: #0ea5e9;
            --cyan: #0891b2;
            --teal: #0d9488;
            --emerald: #059669;
            --amber: #d97706;
            --rose: #e11d48;
            --slate: #475569;
            --bg: #ffffff;
            --bg-alt: #f0f9ff;
            --border: rgba(0, 0, 0, 0.08);
            --text-1: #0f172a;
            --text-2: #334155;
            --text-3: #94a3b8;
            --sky-d:  #0369a1;
        }

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

        body {
            margin: 0;
            padding: 0;
            background: var(--bg);
            color: var(--text-1);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            line-height: 1.6;
        }

        /* Nav styles live in public-nav.css; do not duplicate here. */

        /* ------------------------------------------------------------------ */
        /* Hero (light / white background)                                    */
        /* ------------------------------------------------------------------ */
        .docs-hero {
            position: relative;
            background: var(--bg);
            padding: 80px 2rem 80px;
            text-align: center;
            overflow: hidden;
            border-bottom: 1px solid var(--border);
        }

        /* Aurora orbs */
        .docs-hero__orb {
            position: absolute;
            border-radius: 50%;
            pointer-events: none;
            filter: blur(72px);
        }

        .docs-hero__orb--a {
            width: 560px;
            height: 560px;
            background: radial-gradient(circle, rgba(14, 165, 233, 0.18) 0%, transparent 65%);
            top: -180px;
            left: 10%;
            animation: float-orb 10s ease-in-out infinite;
        }

        .docs-hero__orb--b {
            width: 480px;
            height: 480px;
            background: radial-gradient(circle, rgba(13, 148, 136, 0.15) 0%, transparent 65%);
            top: -120px;
            right: 8%;
            animation: float-orb-b 13s ease-in-out infinite;
        }

        .docs-hero__orb--c {
            width: 360px;
            height: 360px;
            background: radial-gradient(circle, rgba(5, 150, 105, 0.12) 0%, transparent 65%);
            bottom: -80px;
            left: 50%;
            transform: translateX(-50%);
            animation: float-orb 16s ease-in-out infinite reverse;
        }

        @keyframes float-orb {
            0%, 100% { transform: translate(0, 0) scale(1); }
            33%       { transform: translate(30px, -20px) scale(1.05); }
            66%       { transform: translate(-20px, 15px) scale(0.97); }
        }

        @keyframes float-orb-b {
            0%, 100% { transform: translate(0, 0) scale(1); }
            33%       { transform: translate(-25px, 20px) scale(1.04); }
            66%       { transform: translate(20px, -15px) scale(0.98); }
        }

        .docs-hero__container {
            position: relative;
            max-width: 700px;
            margin: 0 auto;
            z-index: 1;
        }

        .docs-hero__eyebrow {
            display: inline-block;
            padding: 0.3rem 0.9rem;
            border-radius: 99px;
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            background: rgba(2, 132, 199, 0.1);
            color: var(--sky);
            border: 1px solid rgba(2, 132, 199, 0.2);
            margin-bottom: 1.25rem;
        }

        .docs-hero__title {
            font-size: 3rem;
            font-weight: 800;
            margin: 0 0 1.25rem 0;
            letter-spacing: -0.03em;
            line-height: 1.1;
            background: linear-gradient(135deg, var(--text-1) 0%, var(--sky) 60%, var(--teal) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .docs-hero__subtitle {
            font-size: 1.125rem;
            font-weight: 400;
            color: var(--color-text-secondary);
            margin: 0 auto;
            line-height: 1.7;
            max-width: 580px;
        }

        /* ------------------------------------------------------------------ */
        /* Docs layout: sidebar + content                                      */
        /* ------------------------------------------------------------------ */
        .docs-body {
            background: var(--bg-alt);
            min-height: calc(100vh - 400px);
        }

        .docs-layout {
            max-width: 1200px;
            margin: 0 auto;
            padding: 2.5rem 2rem;
            display: flex;
            gap: 2rem;
            align-items: flex-start;
        }

        /* ------------------------------------------------------------------ */
        /* Sidebar TOC                                                         */
        /* ------------------------------------------------------------------ */
        .docs-sidebar {
            width: 268px;
            flex-shrink: 0;
            padding-bottom: 2rem;
            /* The list is ~2500px of links against a page tens of thousands of
               pixels long. Left static it scrolled away after the first article,
               so choosing a second section meant scrolling all the way back to
               the top. Pin it and let it scroll within itself instead.
               .docs-layout is align-items: flex-start, which sticky needs. */
            position: sticky;
            top: 76px;
            max-height: calc(100vh - 92px);
            overflow-y: auto;
            overscroll-behavior: contain;
            scrollbar-width: thin;
        }

        /* Keep the rail unobtrusive until the pointer is over it. */
        .docs-sidebar::-webkit-scrollbar {
            width: 8px;
        }

        .docs-sidebar::-webkit-scrollbar-thumb {
            background: transparent;
            border-radius: 4px;
        }

        .docs-sidebar:hover::-webkit-scrollbar-thumb {
            background: #cbd5e1;
        }

        .docs-sidebar__group {
            margin-bottom: 1rem;
        }

        .docs-sidebar__pillar {
            display: inline-flex;
            align-items: center;
            padding: 0.2rem 0.6rem;
            border-radius: 99px;
            font-size: 0.6rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            margin: 0 0 0.5rem 0.375rem;
        }

        /* Pillar pill colors */
        .docs-sidebar__group--pam .docs-sidebar__pillar {
            background: rgba(14, 165, 233, 0.10);
            color: var(--sky-l);
        }

        .docs-sidebar__group--iam .docs-sidebar__pillar {
            background: rgba(5, 150, 105, 0.10);
            color: var(--emerald);
        }

        .docs-sidebar__group--iga .docs-sidebar__pillar {
            background: rgba(13, 148, 136, 0.10);
            color: var(--teal);
        }

        .docs-sidebar__group--compliance .docs-sidebar__pillar {
            background: rgba(217, 119, 6, 0.10);
            color: var(--amber);
        }

        .docs-sidebar__group--secops .docs-sidebar__pillar {
            background: rgba(225, 29, 72, 0.10);
            color: var(--rose);
        }

        .docs-sidebar__group--platform .docs-sidebar__pillar {
            background: rgba(71, 85, 105, 0.10);
            color: var(--slate);
        }

        .docs-sidebar__items {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .docs-sidebar__item {
            margin: 0;
            padding: 0;
        }

        .docs-sidebar__link {
            display: block;
            padding: 0.3125rem 0.625rem 0.3125rem 0.75rem;
            font-size: 0.8125rem;
            color: var(--color-text-secondary);
            text-decoration: none;
            border-left: 2px solid transparent;
            border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
            transition: color 0.15s, background 0.15s, border-color 0.15s;
        }

        .docs-sidebar__link:hover {
            color: var(--text-1);
            background: #e2e8f0;
        }

        .docs-sidebar__link.is-active {
            color: var(--text-1);
            font-weight: 600;
        }

        /* Pillar group container border */
        .docs-sidebar__group--pam .docs-sidebar__items {
            border-left: 2px solid var(--sky-l);
        }

        .docs-sidebar__group--iam .docs-sidebar__items {
            border-left: 2px solid var(--emerald);
        }

        .docs-sidebar__group--iga .docs-sidebar__items {
            border-left: 2px solid var(--teal);
        }

        .docs-sidebar__group--compliance .docs-sidebar__items {
            border-left: 2px solid var(--amber);
        }

        .docs-sidebar__group--secops .docs-sidebar__items {
            border-left: 2px solid var(--rose);
        }

        .docs-sidebar__group--platform .docs-sidebar__items {
            border-left: 2px solid var(--slate);
        }

        /* Active link background + pillar-colored left border */
        .docs-sidebar__group--pam .docs-sidebar__link.is-active {
            border-left-color: var(--sky-l);
            background: rgba(14, 165, 233, 0.07);
        }

        .docs-sidebar__group--iam .docs-sidebar__link.is-active {
            border-left-color: var(--emerald);
            background: rgba(5, 150, 105, 0.07);
        }

        .docs-sidebar__group--iga .docs-sidebar__link.is-active {
            border-left-color: var(--teal);
            background: rgba(13, 148, 136, 0.07);
        }

        .docs-sidebar__group--compliance .docs-sidebar__link.is-active {
            border-left-color: var(--amber);
            background: rgba(217, 119, 6, 0.07);
        }

        .docs-sidebar__group--secops .docs-sidebar__link.is-active {
            border-left-color: var(--rose);
            background: rgba(225, 29, 72, 0.07);
        }

        .docs-sidebar__group--platform .docs-sidebar__link.is-active {
            border-left-color: var(--slate);
            background: rgba(71, 85, 105, 0.07);
        }

        /* ------------------------------------------------------------------ */
        /* Content area                                                        */
        /* ------------------------------------------------------------------ */
        .docs-content {
            flex: 1;
            min-width: 0;
        }

        /* ------------------------------------------------------------------ */
        /* Article blocks                                                      */
        /* ------------------------------------------------------------------ */
        .docs-article {
            background: var(--bg);
            border: 1px solid #e2e8f0;
            border-radius: var(--radius-lg);
            padding: 2rem 2.25rem;
            margin-bottom: 1.75rem;
            scroll-margin-top: 80px;
        }

        .docs-article__header {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1.25rem;
        }

        .docs-badge {
            display: inline-block;
            padding: 0.25rem 0.6875rem;
            border-radius: 99px;
            font-size: 0.6875rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            flex-shrink: 0;
        }

        .docs-badge--pam {
            background: rgba(14, 165, 233, 0.10);
            color: var(--sky);
        }

        .docs-badge--iam {
            background: rgba(5, 150, 105, 0.10);
            color: var(--emerald);
        }

        .docs-badge--iga {
            background: rgba(13, 148, 136, 0.10);
            color: var(--teal);
        }

        .docs-badge--compliance {
            background: rgba(217, 119, 6, 0.10);
            color: var(--amber);
        }

        .docs-badge--secops {
            background: rgba(225, 29, 72, 0.10);
            color: var(--rose);
        }

        .docs-badge--platform {
            background: rgba(71, 85, 105, 0.10);
            color: var(--slate);
        }

        .docs-article__title {
            font-size: 1.375rem;
            font-weight: 700;
            color: var(--text-1);
            margin: 0;
            letter-spacing: -0.02em;
        }

        .docs-article p {
            font-size: 0.9375rem;
            color: var(--slate);
            line-height: 1.75;
            margin: 0 0 1rem 0;
        }

        .docs-article p:last-of-type {
            margin-bottom: 1.5rem;
        }

        /* Media placeholder (div) */
        div.docs-media {
            background: var(--color-bg-secondary);
            border: 2px dashed #cbd5e1;
            border-radius: 12px;
            aspect-ratio: 16 / 9;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--color-text-muted);
            font-size: 0.875rem;
            margin-bottom: 1.75rem;
        }

        /* Screenshot images */
        img.docs-media {
            border-radius: 12px;
            margin-bottom: 1.75rem;
            max-width: 100%;
            width: 100%;
            height: auto;
            display: block;
            border: 1px solid #e2e8f0;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
        }

        /* Config section */
        .docs-config-heading {
            font-size: 0.8125rem;
            font-weight: 700;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            color: var(--color-text-secondary);
            margin: 0 0 0.625rem 0;
        }

        .docs-config-list {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 0.375rem;
        }

        .docs-config-list li {
            display: flex;
            align-items: flex-start;
            gap: 0.5rem;
            font-size: 0.875rem;
            color: var(--slate);
        }

        .docs-config-list li::before {
            content: '';
            display: block;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--color-text-muted);
            margin-top: 0.45rem;
            flex-shrink: 0;
        }

        /* ------------------------------------------------------------------ */
        /* Modern SDK/CLI/Agent doc components                                 */
        /* ------------------------------------------------------------------ */

        /* In-article tab switcher (pure CSS, radio inputs) */
        .dt-input { display: none; }
        .dt-bar {
            display: flex;
            gap: 0;
            border: 1px solid var(--border);
            border-radius: 8px;
            background: var(--bg-alt);
            padding: 3px;
            margin: 1.25rem 0 0;
            width: fit-content;
            max-width: 100%;
            flex-wrap: wrap;
        }
        .dt-label {
            padding: 0.375rem 1rem;
            font-size: 0.8125rem;
            font-weight: 600;
            color: var(--text-3);
            border-radius: var(--radius-sm);
            cursor: pointer;
            transition: all 0.15s;
            white-space: nowrap;
            user-select: none;
        }
        .dt-label:hover { color: var(--text-1); }
        .dt-panel { display: none; margin-top: 1rem; }

        /* Active tab + visible panel, matched by position rather than by id.
           The template emits the inputs, the .dt-bar labels, and the .dt-panels
           panels in the same order, so the Nth input drives the Nth label and
           the Nth panel. Adding a tab needs no CSS change (up to 8 per group). */
        .dt-input:nth-of-type(1):checked ~ .dt-bar .dt-label:nth-child(1),
        .dt-input:nth-of-type(2):checked ~ .dt-bar .dt-label:nth-child(2),
        .dt-input:nth-of-type(3):checked ~ .dt-bar .dt-label:nth-child(3),
        .dt-input:nth-of-type(4):checked ~ .dt-bar .dt-label:nth-child(4),
        .dt-input:nth-of-type(5):checked ~ .dt-bar .dt-label:nth-child(5),
        .dt-input:nth-of-type(6):checked ~ .dt-bar .dt-label:nth-child(6),
        .dt-input:nth-of-type(7):checked ~ .dt-bar .dt-label:nth-child(7),
        .dt-input:nth-of-type(8):checked ~ .dt-bar .dt-label:nth-child(8) {
            background: #fff;
            color: var(--text-1);
            box-shadow: 0 1px 3px rgba(0,0,0,0.10);
        }
        .dt-input:nth-of-type(1):checked ~ .dt-panels .dt-panel:nth-child(1),
        .dt-input:nth-of-type(2):checked ~ .dt-panels .dt-panel:nth-child(2),
        .dt-input:nth-of-type(3):checked ~ .dt-panels .dt-panel:nth-child(3),
        .dt-input:nth-of-type(4):checked ~ .dt-panels .dt-panel:nth-child(4),
        .dt-input:nth-of-type(5):checked ~ .dt-panels .dt-panel:nth-child(5),
        .dt-input:nth-of-type(6):checked ~ .dt-panels .dt-panel:nth-child(6),
        .dt-input:nth-of-type(7):checked ~ .dt-panels .dt-panel:nth-child(7),
        .dt-input:nth-of-type(8):checked ~ .dt-panels .dt-panel:nth-child(8) { display: block; }

        /* Dark code block */
        .docs-code {
            background: var(--color-text);
            border-radius: 8px;
            padding: 1rem 1.25rem;
            font-family: 'SF Mono', 'Fira Code', Consolas, monospace;
            font-size: 0.8125rem;
            line-height: 1.65;
            overflow-x: auto;
            color: #e2e8f0;
            margin: 0.75rem 0 0;
        }
        .docs-code .kw { color: #93c5fd; }
        .docs-code .fn { color: #86efac; }
        .docs-code .str { color: #fde68a; }
        .docs-code .ty { color: #c4b5fd; }
        .docs-code .op { color: var(--color-text-muted); }
        .docs-code .attr { color: #f9a8d4; }
        .docs-code .num { color: #fb923c; }
        .docs-code .cm { color: var(--color-text-secondary); font-style: italic; }

        /* Step card row */
        .docs-steps {
            display: flex;
            flex-direction: column;
            gap: 0;
            margin: 1.25rem 0;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            overflow: hidden;
        }
        .docs-step {
            display: flex;
            gap: 1rem;
            padding: 1rem 1.25rem;
            border-bottom: 1px solid var(--border);
            background: var(--bg);
        }
        .docs-step:last-child { border-bottom: none; }
        .docs-step__num {
            flex-shrink: 0;
            width: 26px;
            height: 26px;
            border-radius: 50%;
            background: var(--sky);
            color: #fff;
            font-size: 0.75rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 0.1rem;
        }
        .docs-step__body { flex: 1; min-width: 0; }
        .docs-step__title {
            font-size: 0.875rem;
            font-weight: 600;
            color: var(--text-1);
            margin-bottom: 0.25rem;
        }
        .docs-step__desc {
            font-size: 0.8125rem;
            color: var(--text-2);
            line-height: 1.55;
        }
        .docs-step__desc code {
            font-family: 'SF Mono', Consolas, monospace;
            font-size: 0.775rem;
            background: rgba(0,0,0,0.05);
            padding: 0.1em 0.35em;
            border-radius: 4px;
        }

        /* Callout / info box */
        .docs-callout {
            display: flex;
            gap: 0.75rem;
            padding: 0.875rem 1rem;
            border-radius: 8px;
            font-size: 0.8375rem;
            line-height: 1.55;
            margin: 1.25rem 0;
        }
        .docs-callout--info {
            background: rgba(2,132,199,0.06);
            border: 1px solid rgba(2,132,199,0.18);
            color: #0c4a6e;
        }
        .docs-callout--warn {
            background: rgba(217,119,6,0.06);
            border: 1px solid rgba(217,119,6,0.20);
            color: #78350f;
        }
        .docs-callout svg { flex-shrink: 0; margin-top: 0.05rem; }
        .docs-callout code {
            font-family: 'SF Mono', Consolas, monospace;
            font-size: 0.775rem;
            background: rgba(0,0,0,0.07);
            padding: 0.1em 0.35em;
            border-radius: 4px;
        }

        /* Command reference table */
        .docs-cmd-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 0.8125rem;
            margin: 1rem 0 0;
            border: 1px solid var(--border);
            border-radius: 8px;
            overflow: hidden;
        }
        .docs-cmd-table th {
            background: var(--bg-alt);
            font-weight: 600;
            text-align: left;
            padding: 0.625rem 1rem;
            color: var(--text-1);
            border-bottom: 1px solid var(--border);
        }
        .docs-cmd-table td {
            padding: 0.625rem 1rem;
            border-bottom: 1px solid var(--border);
            color: var(--text-2);
            vertical-align: top;
        }
        .docs-cmd-table tr:last-child td { border-bottom: none; }
        .docs-cmd-table td:first-child {
            font-family: 'SF Mono', Consolas, monospace;
            font-size: 0.775rem;
            color: var(--text-1);
            white-space: nowrap;
        }

        /* Agent info card */
        .docs-agent-card {
            border: 1px solid var(--border);
            border-radius: 12px;
            padding: 1.25rem;
            margin: 1.25rem 0;
            background: var(--bg);
        }
        .docs-agent-card + .docs-agent-card { margin-top: 1rem; }
        .docs-agent-card__head {
            display: flex;
            align-items: flex-start;
            gap: 0.875rem;
            margin-bottom: 1rem;
        }
        .docs-agent-icon {
            width: 40px;
            height: 40px;
            border-radius: 9px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            color: #fff;
        }
        .docs-agent-icon--transit { background: linear-gradient(135deg, #0284c7, #0891b2); }
        .docs-agent-icon--mcp     { background: linear-gradient(135deg, #7c3aed, #6d28d9); }
        .docs-agent-icon--scan    { background: linear-gradient(135deg, #059669, #0d9488); }
        .docs-agent-icon--windows { background: linear-gradient(135deg, #b45309, #d97706); }
        .docs-agent-icon svg { width: 20px; height: 20px; }

        /* Inline "no tokens required" badge inside an agent card.
           This element had no rule at all. Its inline SVG carries a viewBox but
           no width or height, so it stretched to the card's full width and
           rendered a 720px shield above the install steps. Sizing the icon is
           what actually fixes it; the rest just makes the badge read as a badge. */
        .docs-agent-card__nhi-note {
            /* flex + fit-content, not inline-flex: as an inline box the code
               label that follows it wrapped onto the same line. */
            display: flex;
            width: fit-content;
            align-items: center;
            gap: 0.4375rem;
            margin-bottom: 1rem;
            padding: 0.3125rem 0.625rem;
            border-radius: 999px;
            background: #ecfdf5;
            color: #047857;
            font-size: 0.8125rem;
            font-weight: 600;
            line-height: 1.4;
        }

        .docs-agent-card__nhi-note svg {
            width: 15px;
            height: 15px;
            flex-shrink: 0;
        }
        .docs-agent-card__title {
            font-size: 1rem;
            font-weight: 700;
            color: var(--text-1);
        }
        .docs-agent-card__subtitle {
            font-size: 0.8125rem;
            color: var(--text-3);
            margin-top: 0.125rem;
        }

        /* Install method pill toggle */
        .docs-code-label {
            display: inline-block;
            font-size: 0.6875rem;
            font-weight: 700;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            color: var(--text-3);
            margin-bottom: 0.375rem;
            margin-top: 1rem;
        }
        .docs-code-label:first-child { margin-top: 0; }

        /* ------------------------------------------------------------------ */
        /* Footer                                                              */
        /* ------------------------------------------------------------------ */
        .landing-footer {
            background: var(--text-1);
            color: var(--color-text-muted);
            padding: 3rem 2rem;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
        }

        .landing-footer__container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 2rem;
        }

        .landing-footer__content {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 1.5rem;
        }

        .landing-footer__brand {
            font-size: 1.125rem;
            font-weight: 600;
            color: #ffffff;
        }

        .landing-footer__links {
            display: flex;
            align-items: center;
            gap: 2rem;
            flex-wrap: wrap;
        }

        .landing-footer__link {
            color: var(--color-text-muted);
            text-decoration: none;
            font-size: 0.9375rem;
            transition: color 0.2s;
        }

        .landing-footer__link:hover {
            color: #e2e8f0;
        }

        /* Mobile nav styles live in public-nav.css; do not duplicate here. */

        /* ------------------------------------------------------------------ */
        /* Responsive -- mobile                                                */
        /* ------------------------------------------------------------------ */
        @media (max-width: 768px) {
            .docs-hero {
                padding: 48px 1.25rem 48px;
                margin-bottom: 0;
                border-bottom: none;
            }

            .docs-body {
                padding-top: 0;
                margin-top: 0;
            }

            .docs-hero__title {
                font-size: 2rem;
            }

            .docs-hero__subtitle {
                font-size: 0.9375rem;
                max-width: 100%;
            }

            /* Sidebar becomes sticky horizontal pill bar below nav */
            .docs-layout {
                flex-direction: column;
                padding: 0;
                gap: 0;
                max-width: 100%;
                width: 100%;
            }

            .docs-sidebar {
                width: 100%;
                position: sticky;
                top: 60px;
                z-index: 900;
                background: var(--bg);
                border-bottom: 1px solid #e2e8f0;
                padding: 0.625rem 1rem;
                overflow-x: auto;
                overflow-y: hidden;
                display: flex;
                gap: 0.375rem;
                flex-wrap: nowrap;
                -webkit-overflow-scrolling: touch;
                align-items: center;
                scrollbar-width: none;
            }

            .docs-sidebar::-webkit-scrollbar {
                display: none;
            }

            .docs-sidebar__group {
                display: flex;
                align-items: center;
                gap: 0.375rem;
                margin: 0;
                flex-shrink: 0;
            }

            .docs-sidebar__pillar {
                display: none;
            }

            .docs-sidebar__items {
                display: flex;
                gap: 0.375rem;
                border-left: none !important;
                padding: 0;
                margin: 0;
            }

            .docs-sidebar__item {
                flex-shrink: 0;
                list-style: none;
            }

            .docs-sidebar__link {
                white-space: nowrap;
                padding: 0.3125rem 0.75rem;
                border: 1px solid #e2e8f0;
                border-left: 1px solid #e2e8f0;
                border-radius: 99px;
                background: #f8fafc;
                font-size: 0.75rem;
            }

            .docs-sidebar__link.is-active {
                background: var(--text-1);
                color: #ffffff;
                border-color: var(--text-1);
            }

            .docs-sidebar__group--pam .docs-sidebar__link.is-active { border-color: var(--sky-l); background: var(--sky-l); }
            .docs-sidebar__group--iam .docs-sidebar__link.is-active { border-color: var(--emerald); background: var(--emerald); }
            .docs-sidebar__group--iga .docs-sidebar__link.is-active { border-color: var(--teal); background: var(--teal); }
            .docs-sidebar__group--compliance .docs-sidebar__link.is-active { border-color: var(--amber); background: var(--amber); }
            .docs-sidebar__group--secops .docs-sidebar__link.is-active { border-color: var(--rose); background: var(--rose); }
            .docs-sidebar__group--platform .docs-sidebar__link.is-active { border-color: var(--slate); background: var(--slate); }

            .docs-content {
                padding: 1rem;
                max-width: 100%;
                box-sizing: border-box;
                overflow-x: hidden;
            }

            .docs-article {
                padding: 1.25rem 1rem;
                border-radius: var(--radius-md);
                max-width: 100%;
                box-sizing: border-box;
                scroll-margin-top: 120px;
            }

            .docs-article p {
                font-size: 0.875rem;
                word-wrap: break-word;
                overflow-wrap: break-word;
            }

            .docs-article__title {
                font-size: 1.125rem;
            }

            .docs-article__header {
                flex-direction: column;
                align-items: flex-start;
                gap: 0.375rem;
            }

            img.docs-media {
                max-width: 100%;
                height: auto;
            }

            .docs-code {
                font-size: 0.75rem;
                padding: 0.75rem 1rem;
            }

            .docs-step {
                gap: 0.75rem;
                padding: 0.875rem 1rem;
            }

            .docs-cmd-table {
                display: block;
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
            }

            .docs-cmd-table td:first-child {
                white-space: normal;
                word-break: break-all;
            }

            .dt-bar {
                width: 100%;
            }

            .dt-label {
                padding: 0.3125rem 0.75rem;
                font-size: 0.75rem;
            }

            .docs-callout {
                gap: 0.5rem;
                padding: 0.75rem;
                font-size: 0.8125rem;
            }

            .docs-agent-card__head {
                flex-direction: column;
                gap: 0.5rem;
            }

            .landing-footer__content {
                flex-direction: column;
                align-items: center;
                text-align: center;
            }

            .landing-footer__links {
                flex-direction: column;
                gap: 1rem;
            }
        }
    


/* Footer (.pub-footer) styles live in public-nav.css. */

/* Docs-specific step num color variants */
.docs-step__num--blue { background: linear-gradient(135deg,#0284c7,#0891b2); }
.docs-step__num--purple { background: #6d28d9; }
.docs-step__num--amber { background: linear-gradient(135deg,#b45309,#d97706); }

/* Docs tab group wrapper (replaces inline position:relative) */
.dt-tab-group { position: relative; }


/* === inlined: public-downloads.css === */
/* ============================================================
   public-downloads.css
   Split out of public.css for maintainability.
   Aggregated via @import in public.css.
   ============================================================ */

/* ============================================================ KEYFRAMES */
@keyframes float-orb {
    0%, 100% { transform: translate(0, 0) scale(1); }
    25%       { transform: translate(32px, -44px) scale(1.07); }
    50%       { transform: translate(-22px, 18px) scale(0.93); }
    75%       { transform: translate(42px, 12px) scale(1.03); }
}
@keyframes float-orb-b {
    0%, 100% { transform: translate(0, 0) scale(1); }
    25%       { transform: translate(-38px, 22px) scale(0.95); }
    50%       { transform: translate(26px, -32px) scale(1.09); }
    75%       { transform: translate(-16px, 36px) scale(0.97); }
}
@keyframes float-orb-c {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33%       { transform: translate(18px, -22px) scale(1.05); }
    66%       { transform: translate(-28px, 14px) scale(0.95); }
}
@keyframes fade-up {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Nav styles live in public-nav.css; do not duplicate here. */

/* ============================================================ HERO */
.hero {
    position: relative;
    padding: 5rem 2rem 4.5rem;
    text-align: center;
    overflow: hidden;
    isolation: isolate;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
}

.aurora-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
    z-index: 0;
}

.aurora-orb--1 {
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(125,211,252,0.38) 0%, transparent 70%);
    top: -240px;
    left: 5%;
    animation: float-orb 16s ease-in-out infinite;
}

.aurora-orb--2 {
    width: 480px;
    height: 480px;
    background: radial-gradient(circle, rgba(103,232,249,0.30) 0%, transparent 70%);
    top: -100px;
    right: 8%;
    animation: float-orb-b 20s ease-in-out infinite;
    animation-delay: -6s;
}

.aurora-orb--3 {
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, rgba(110,231,183,0.22) 0%, transparent 70%);
    bottom: -60px;
    left: 35%;
    animation: float-orb-c 24s ease-in-out infinite;
    animation-delay: -10s;
}

.hero__inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
    animation: fade-up 0.7s ease forwards;
}

.hero__version-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.3rem 0.875rem;
    border-radius: 99px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    background: rgba(2,132,199,0.08);
    color: var(--sky);
    border: 1px solid rgba(2,132,199,0.2);
    margin-bottom: 1.25rem;
}

.hero__version-pill svg { width: 12px; height: 12px; }

.hero__title {
    font-size: clamp(2.25rem, 5.5vw, 3.25rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.1;
    margin-bottom: 1rem;
    background: linear-gradient(135deg, var(--text-1) 0%, var(--sky) 55%, var(--teal) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero__subtitle {
    font-size: 1.0625rem;
    color: var(--text-2);
    max-width: 580px;
    margin: 0 auto 0.75rem;
    line-height: 1.7;
}

.hero__meta {
    font-size: 0.8125rem;
    color: var(--text-3);
    margin-top: 0.75rem;
    letter-spacing: 0.01em;
}

/* ============================================================ MAIN LAYOUT */
.page-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem 5rem;
}

/* ============================================================ RADIO TABS */
.rtab-input { display: none; }
.rtab-panel  { display: none; }

/* ---- Main tabs: CLI / SDKs / Agents ---- */
#tab-cli:checked   ~ .rtab-panels #panel-cli   { display: block; }
#tab-sdk:checked   ~ .rtab-panels #panel-sdk   { display: block; }
#tab-agent:checked ~ .rtab-panels #panel-agent { display: block; }

#tab-cli:checked   ~ .rtab-bar label[for="tab-cli"],
#tab-sdk:checked   ~ .rtab-bar label[for="tab-sdk"],
#tab-agent:checked ~ .rtab-bar label[for="tab-agent"] {
    color: var(--sky);
    background: rgba(2,132,199,0.08);
    border-bottom-color: var(--sky);
}

/* ---- OS sub-tabs inside CLI (legacy selectors kept for graceful fallback) ---- */
#os-mac:checked   ~ .rtab-panels #panel-os-mac   { display: block; }
#os-deb:checked   ~ .rtab-panels #panel-os-deb   { display: block; }
#os-rpm:checked   ~ .rtab-panels #panel-os-rpm   { display: block; }
#os-win:checked   ~ .rtab-panels #panel-os-win   { display: block; }

#os-mac:checked   ~ .rtab-bar label[for="os-mac"],
#os-deb:checked   ~ .rtab-bar label[for="os-deb"],
#os-rpm:checked   ~ .rtab-bar label[for="os-rpm"],
#os-win:checked   ~ .rtab-bar label[for="os-win"] {
    color: var(--text-1);
    background: rgba(0,0,0,0.04);
    border-bottom-color: var(--sky);
}

/* ---- Tab bar ---- */
.rtab-group { position: relative; }

.rtab-bar {
    display: flex;
    align-items: center;
    gap: 0;
    border-bottom: 2px solid var(--border);
    margin-bottom: 2rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.rtab-bar::-webkit-scrollbar { display: none; }

.rtab-bar--main {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
}

.rtab-label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.75rem 1.375rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-3);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    white-space: nowrap;
    transition: color 0.18s, background 0.18s, border-color 0.18s;
    border-radius: 6px 6px 0 0;
    user-select: none;
}

.rtab-label:hover { color: var(--text-2); }

.rtab-label--sm {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
}

.rtab-label svg { width: 16px; height: 16px; flex-shrink: 0; }

/* ============================================================ QUICK INSTALL CARD */
.quick-install-card {
    background: var(--bg-code);
    border-radius: var(--radius-lg);
    padding: 1.75rem 2rem;
    margin-bottom: 2.5rem;
    border: 1px solid rgba(255,255,255,0.06);
    position: relative;
    overflow: hidden;
}

.quick-install-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--sky), var(--teal));
}

.quick-install-card__label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #475569;
    margin-bottom: 0.75rem;
}

.quick-install-card__cmd-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.quick-install-card__cmd {
    flex: 1;
    font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', Consolas, monospace;
    font-size: 1rem;
    color: var(--color-bg-secondary);
    background: none;
    border: none;
    outline: none;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.quick-install-card__cmd .prompt { color: #475569; margin-right: 0.5rem; }

.btn-copy {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 1rem;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    color: #cbd5e1;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.18s, border-color 0.18s, color 0.18s;
    flex-shrink: 0;
    white-space: nowrap;
}

.btn-copy svg { width: 14px; height: 14px; }

.btn-copy:hover {
    background: rgba(255,255,255,0.13);
    border-color: rgba(255,255,255,0.2);
    color: #fff;
}

.quick-install-card__detected {
    margin-top: 0.875rem;
    font-size: 0.8rem;
    color: var(--color-text-secondary);
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.quick-install-card__detected strong { color: var(--color-text-muted); font-weight: 600; }

.quick-install-card__detected svg { width: 13px; height: 13px; color: var(--emerald); }

/* All platforms details */
.all-platforms-details {
    margin-top: 1.25rem;
    border-top: 1px solid rgba(255,255,255,0.06);
    padding-top: 1rem;
}

.all-platforms-details summary {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--color-text-secondary);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    user-select: none;
    transition: color 0.18s;
}

.all-platforms-details summary::-webkit-details-marker { display: none; }
.all-platforms-details summary svg { width: 13px; height: 13px; transition: transform 0.2s; }
.all-platforms-details[open] summary svg { transform: rotate(90deg); }
.all-platforms-details summary:hover { color: var(--color-text-muted); }

.platform-list {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.platform-row {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.platform-row__name {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--color-text-secondary);
    width: 96px;
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.platform-row__code {
    flex: 1;
    font-family: 'SF Mono', 'Fira Code', Consolas, monospace;
    font-size: 0.8125rem;
    color: #e2e8f0;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: var(--radius-sm);
    padding: 0.4rem 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ============================================================ SUBSECTION */
.subsection {
    margin-bottom: 2.5rem;
}

.subsection-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-1);
    margin-bottom: 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.subsection-title::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 1.1em;
    background: linear-gradient(180deg, var(--sky), var(--teal));
    border-radius: 2px;
    flex-shrink: 0;
}

/* ============================================================ CODE BLOCKS */
.code-block {
    background: var(--bg-code);
    border-radius: var(--radius-md);
    padding: 1rem 1.25rem;
    font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', Consolas, monospace;
    font-size: 0.8125rem;
    line-height: 1.75;
    overflow-x: auto;
    color: #e2e8f0;
    position: relative;
    border: 1px solid rgba(255,255,255,0.05);
}

.code-label {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-3);
    margin-bottom: 0.375rem;
}

/* Syntax highlight helpers */
.kw  { color: #93c5fd; }
.str { color: #86efac; }
.fn  { color: #fde68a; }
.cm  { color: #475569; font-style: italic; }
.ty  { color: #c084fc; }
.num { color: #fb923c; }
.attr{ color: #67e8f9; }
.val { color: #86efac; }
.op  { color: var(--color-text-muted); }

/* Code block with copy button */
.code-with-copy {
    position: relative;
}

.code-with-copy .btn-copy-inline {
    position: absolute;
    top: 0.625rem;
    right: 0.625rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.3rem 0.625rem;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--radius-sm);
    color: var(--color-text-muted);
    font-size: 0.7rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.code-with-copy .btn-copy-inline svg { width: 11px; height: 11px; }
.code-with-copy .btn-copy-inline:hover { background: rgba(255,255,255,0.14); color: #e2e8f0; }

.agent-cmd-block .btn-copy-inline {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.3rem 0.625rem;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--radius-sm);
    color: var(--color-text-muted);
    font-size: 0.7rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
}
.agent-cmd-block .btn-copy-inline svg { width: 11px; height: 11px; }
.agent-cmd-block .btn-copy-inline:hover { background: rgba(255,255,255,0.14); color: #e2e8f0; }

/* ============================================================ DOWNLOAD CARDS */
.dl-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-top: 1.25rem;
    max-width: 100%;
    overflow: hidden;
}

.dl-card {
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 1.375rem 1.375rem 1.125rem;
    transition: box-shadow 0.2s, border-color 0.2s, transform 0.2s;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.dl-card:hover {
    border-color: rgba(2,132,199,0.28);
    box-shadow: 0 4px 24px rgba(2,132,199,0.08);
    transform: translateY(-1px);
}

.dl-card__head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.875rem;
}

.dl-card__icon {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    background: rgba(2,132,199,0.07);
    border: 1px solid rgba(2,132,199,0.14);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sky);
    flex-shrink: 0;
}

.dl-card__icon svg { width: 20px; height: 20px; }

.dl-card__name {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--text-1);
}

.dl-card__sub {
    font-size: 0.775rem;
    color: var(--text-3);
    margin-top: 0.125rem;
}

.arch-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-bottom: 0.875rem;
}

.arch-chip {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    background: rgba(0,0,0,0.04);
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 100px;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-2);
    font-family: 'SF Mono', Consolas, monospace;
    letter-spacing: 0.02em;
}

.dl-card__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.btn-dl {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.875rem;
    background: var(--sky);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: 7px;
    text-decoration: none;
    transition: background 0.2s, box-shadow 0.2s;
    width: fit-content;
    min-height: 36px;
}

.btn-dl svg { width: 13px; height: 13px; flex-shrink: 0; }

.btn-dl:hover {
    background: var(--sky-d);
    box-shadow: 0 2px 14px rgba(2,132,199,0.32);
}

.btn-dl--ghost {
    background: transparent;
    color: var(--sky);
    border: 1px solid rgba(2,132,199,0.28);
}

.btn-dl--ghost:hover {
    background: rgba(2,132,199,0.06);
    box-shadow: none;
}

.docker-pull-block {
    background: var(--bg-code);
    border-radius: 9px;
    padding: 0.75rem 1rem;
    font-family: 'SF Mono', 'Fira Code', Consolas, monospace;
    font-size: 0.8rem;
    color: #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.75rem;
    border: 1px solid rgba(255,255,255,0.05);
}

.docker-pull-block__cmd {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    overflow: hidden;
}

.docker-pull-block__cmd span { word-break: break-all; }

.docker-pull-block .prompt { color: #475569; flex-shrink: 0; }

/* ============================================================ SDK CARDS */
.sdk-card {
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 1.75rem;
    margin-bottom: 1.5rem;
    border-left-width: 3px;
    transition: box-shadow 0.2s;
}

.sdk-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.06); }

.sdk-card--go     { border-left-color: var(--cyan); }
.sdk-card--python { border-left-color: #eab308; }
.sdk-card--node   { border-left-color: var(--emerald); }
.sdk-card--java   { border-left-color: var(--rose); }
.sdk-card--ruby   { border-left-color: #f43f5e; }

.sdk-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.sdk-card__title {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--text-1);
}

.sdk-card__version {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-3);
    font-family: 'SF Mono', Consolas, monospace;
    background: rgba(0,0,0,0.04);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 0.2rem 0.6rem;
}

.sdk-card__badge-soon {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-3);
    background: rgba(0,0,0,0.06);
    border: 1px solid var(--border);
    border-radius: 99px;
    padding: 0.15rem 0.5rem;
    margin-left: 0.5rem;
    vertical-align: middle;
}

.sdk-card--coming-soon {
    opacity: 0.55;
    pointer-events: none;
}

.sdk-card__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border);
    flex-wrap: wrap;
}

.dl-card__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border);
}

.sdk-card__install {
    margin-bottom: 1.25rem;
}

.sdk-card__install-note {
    margin: 0.5rem 0 0;
    font-size: 0.8125rem;
    color: var(--text-3);
}

.sdk-card__quickstart summary {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-3);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    user-select: none;
    transition: color 0.18s;
    padding: 0.25rem 0;
}

.sdk-card__quickstart summary::-webkit-details-marker { display: none; }
.sdk-card__quickstart summary svg { width: 13px; height: 13px; transition: transform 0.2s; flex-shrink: 0; }
.sdk-card__quickstart[open] summary svg { transform: rotate(90deg); }
.sdk-card__quickstart summary:hover { color: var(--text-2); }

.sdk-card__quickstart .code-block { margin-top: 0.875rem; }

/* SDK docs link */
.sdk-docs-link {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    color: var(--sky);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    transition: color 0.2s;
}

.sdk-docs-link:hover { color: var(--sky-d); }
.sdk-docs-link svg { width: 13px; height: 13px; }

/* ---- SDK dl-card icon tint overrides ---- */
.dl-card__icon--go     { background: rgba(0,173,181,0.10); border-color: rgba(0,173,181,0.22); color: var(--cyan); }
.dl-card__icon--python { background: rgba(234,179,8,0.10);  border-color: rgba(234,179,8,0.22);  color: #ca8a04; }
.dl-card__icon--java   { background: rgba(225,29,72,0.10);  border-color: rgba(225,29,72,0.22);  color: var(--rose); }
.dl-card__icon--dotnet { background: rgba(124,58,237,0.10); border-color: rgba(124,58,237,0.22); color: #7c3aed; }

/* ---- SDK card in dl-card layout ---- */
.dl-card--sdk .dl-card__install {
    margin: 0.75rem 0;
}

.dl-card--sdk .dl-card__actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.875rem;
    padding-top: 0.875rem;
    border-top: 1px solid var(--border);
}

/* ---- Agent card in dl-card layout ---- */
.dl-card--agent {
    display: flex;
    flex-direction: column;
}

.dl-card--agent .dl-card__head {
    margin-bottom: 0.75rem;
}

.dl-card--agent .agent-card__platforms {
    margin-bottom: 0.875rem;
    margin-top: 0;
}

.dl-card--agent .agent-cmd-block {
    margin-bottom: 0.875rem;
}

.dl-card--agent .sdk-card__install {
    margin-bottom: 0.875rem;
}

/* ---- Coming Soon pills row below SDK grid ---- */
.sdk-coming-soon-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.sdk-coming-soon-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-3);
    margin-right: 0.25rem;
}

.sdk-coming-soon-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.75rem;
    border-radius: 100px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-3);
    background: rgba(0,0,0,0.03);
    border: 1px solid var(--border);
}

.sdk-coming-soon-pill svg {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

/* ============================================================ AGENT CARDS */
.agent-card {
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 2rem;
    margin-bottom: 1.5rem;
    transition: box-shadow 0.2s, border-color 0.2s;
}

.agent-card:hover {
    border-color: rgba(2,132,199,0.2);
    box-shadow: 0 6px 32px rgba(2,132,199,0.07);
}

.agent-card__head {
    display: flex;
    align-items: flex-start;
    gap: 1.125rem;
    margin-bottom: 1.5rem;
}

.agent-card__meta {
    flex: 1;
}

.agent-icon {
    width: 44px;
    height: 44px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
}

.agent-icon--transit  { background: linear-gradient(135deg, #0284c7, #0891b2); }
.agent-icon--mcp      { background: linear-gradient(135deg, #7c3aed, #6d28d9); }
.agent-icon--scan     { background: linear-gradient(135deg, #059669, #0d9488); }
.agent-icon--windows  { background: linear-gradient(135deg, #b45309, #d97706); }
.agent-icon--epm      { background: linear-gradient(135deg, #059669, #0d9488); }
/* The Kubernetes card used agent-icon--k8s with no rule behind it, so it drew a
   white glyph on a transparent tile -- an invisible icon. */
.agent-icon--k8s      { background: linear-gradient(135deg, #3b6fd4, #2f4fb0); }

.agent-icon svg { width: 22px; height: 22px; }

.agent-card__title {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--text-1);
    margin-bottom: 0.25rem;
}

.agent-card__desc {
    font-size: 0.8125rem;
    color: var(--text-2);
    line-height: 1.55;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.agent-card__platforms {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-top: 0.625rem;
}

.platform-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.175rem 0.6rem;
    border-radius: 100px;
    font-size: 0.7rem;
    font-weight: 600;
    background: rgba(0,0,0,0.04);
    border: 1px solid var(--border);
    color: var(--text-2);
}

.platform-pill svg { width: 11px; height: 11px; }

/* Agent primary command */
.agent-cmd-block {
    background: var(--bg-code);
    border-radius: var(--radius-md);
    padding: 1rem 1.25rem;
    margin-bottom: 1.25rem;
    border: 1px solid rgba(255,255,255,0.05);
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.agent-cmd-block__label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #475569;
    flex-shrink: 0;
}

.agent-cmd-block__cmd {
    flex: 1;
    font-family: 'SF Mono', 'Fira Code', Consolas, monospace;
    font-size: 0.8125rem;
    color: #e2e8f0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.agent-card__config summary {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-3);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    user-select: none;
    transition: color 0.18s;
    padding: 0.25rem 0;
}

.agent-card__config summary::-webkit-details-marker { display: none; }
.agent-card__config summary svg { width: 13px; height: 13px; transition: transform 0.2s; flex-shrink: 0; }
.agent-card__config[open] summary svg { transform: rotate(90deg); }
.agent-card__config summary:hover { color: var(--text-2); }
.agent-card__config .code-block { margin-top: 0.875rem; }

.agent-card__downloads {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.agent-card__downloads-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-3);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-right: 0.25rem;
    flex-basis: 100%;
    margin-bottom: 0.25rem;
}

/* Notice banners */
.notice-banner {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.875rem 1.125rem;
    border-radius: var(--radius-md);
    font-size: 0.8375rem;
    line-height: 1.6;
    margin-top: 1.25rem;
}

.notice-banner svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 0.1rem; }

.notice-banner--amber {
    background: rgba(180,83,9,0.06);
    border: 1px solid rgba(180,83,9,0.18);
    color: #78350f;
}

.notice-banner--green {
    background: rgba(5,150,105,0.06);
    border: 1px solid rgba(5,150,105,0.16);
    color: #065f46;
}

.notice-banner code {
    font-family: 'SF Mono', Consolas, monospace;
    font-size: 0.775rem;
    background: rgba(0,0,0,0.07);
    padding: 0.1em 0.35em;
    border-radius: 4px;
}

/* ============================================================ DISTRIBUTION SECTION */
.distrib-section {
    margin: 0 0 3rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.distrib-section > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.375rem 1.75rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--text-1);
    background: var(--bg-alt);
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background 0.18s;
}

.distrib-section > summary::-webkit-details-marker { display: none; }
.distrib-section > summary:hover { background: rgba(0,0,0,0.02); }

.distrib-section__chevron {
    width: 18px;
    height: 18px;
    color: var(--text-3);
    transition: transform 0.25s;
    flex-shrink: 0;
}

.distrib-section[open] .distrib-section__chevron { transform: rotate(180deg); }

.distrib-section__body {
    padding: 1.75rem;
    border-top: 1px solid var(--border);
}

.distrib-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.distrib-card {
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 1.25rem;
    transition: box-shadow 0.2s, border-color 0.2s;
}

.distrib-card:hover {
    border-color: rgba(2,132,199,0.2);
    box-shadow: 0 3px 16px rgba(2,132,199,0.07);
}

.distrib-card__head {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin-bottom: 0.875rem;
}

.distrib-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 7px;
    background: rgba(2,132,199,0.08);
    border: 1px solid rgba(2,132,199,0.13);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sky);
    flex-shrink: 0;
}

.distrib-card__icon svg { width: 16px; height: 16px; }

.distrib-card__name {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text-1);
}

.distrib-card__bullets {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.distrib-card__bullets li {
    font-size: 0.8125rem;
    color: var(--text-2);
    padding-left: 1.125rem;
    position: relative;
    line-height: 1.5;
}

.distrib-card__bullets li::before {
    content: '';
    position: absolute;
    left: 0.25rem;
    top: 0.55em;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--sky);
}

.distrib-card__ci {
    font-size: 0.775rem;
    color: var(--text-3);
    border-top: 1px solid var(--border);
    padding-top: 0.625rem;
    margin-top: 0.25rem;
}

/* ============================================================ VERIFY STRIP */
.verify-strip {
    background: var(--bg-alt);
    border-top: 1px solid var(--border);
    padding: 2.5rem 2rem;
}

.verify-strip__inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.verify-strip__left {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.verify-strip__icon {
    width: 44px;
    height: 44px;
    border-radius: 11px;
    background: rgba(2,132,199,0.08);
    border: 1px solid rgba(2,132,199,0.16);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sky);
    flex-shrink: 0;
}

.verify-strip__icon svg { width: 22px; height: 22px; }

.verify-strip__text h3 {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--text-1);
    margin-bottom: 0.25rem;
}

.verify-strip__text p {
    font-size: 0.875rem;
    color: var(--text-2);
    margin-bottom: 0.75rem;
}

.verify-strip__cmd {
    font-family: 'SF Mono', 'Fira Code', Consolas, monospace;
    font-size: 0.8rem;
    background: var(--bg-code);
    color: #e2e8f0;
    padding: 0.4rem 0.875rem;
    border-radius: var(--radius-sm);
    display: inline-block;
}

.btn-checksums {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.675rem 1.375rem;
    background: rgba(2,132,199,0.07);
    border: 1px solid rgba(2,132,199,0.22);
    border-radius: 9px;
    color: var(--sky);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s, box-shadow 0.2s;
    white-space: nowrap;
    min-height: 44px;
}

.btn-checksums svg { width: 15px; height: 15px; }

.btn-checksums:hover {
    background: rgba(2,132,199,0.13);
    box-shadow: 0 2px 14px rgba(2,132,199,0.16);
}

/* ============================================================ REVEAL */
.reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ============================================================ FOOTER */
.site-footer {
    background: var(--bg-alt);
    border-top: 1px solid var(--border);
    padding: 1.5rem 2rem;
    text-align: center;
    font-size: 0.8125rem;
    color: var(--text-3);
}

/* ============================================================ RESPONSIVE */
@media (max-width: 1024px) {
    .distrib-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .dl-grid { grid-template-columns: 1fr; }
    .distrib-grid { grid-template-columns: 1fr; }
    .verify-strip__inner { flex-direction: column; align-items: flex-start; }
    .hero__title { font-size: 2rem; }
    .quick-install-card { padding: 1.375rem; }
    .quick-install-card__cmd { font-size: 0.875rem; }
    .agent-card { padding: 1.5rem; }
}

@media (max-width: 480px) {
    .page-wrap { padding: 0 1rem 3rem; }
    .agent-card { padding: 1.25rem; }
    .agent-card__head { flex-direction: column; }
    .distrib-section__body { padding: 1.25rem; }
    .rtab-label { padding: 0.625rem 0.875rem; font-size: 0.875rem; }
    .platform-row { flex-direction: column; align-items: flex-start; gap: 0.375rem; }
    .platform-row__name { width: auto; }
}



/* ---------------------------------------------------------------------------
   Stacked download grid

   Used by the Agents panel. Those cards embed multi-line shell sessions and full
   Kubernetes manifests -- content that needs roughly 80 monospace columns. In the
   2-up grid each card got about half that, so every command overflowed and the
   reader had to scroll a code block sideways to find out what it said. macOS
   overlay scrollbars gave no visual hint that scrolling was even possible.
   --------------------------------------------------------------------------- */

.dl-grid--stack {
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

/* On wide viewports keep the measure readable rather than letting a single card
   stretch the full container width. */
.dl-grid--stack > .dl-card {
    max-width: 100%;
}

/* The copy button is absolutely positioned over the top-right of each code
   block, so reserve a lane for it. Without this it sits on top of the first
   line -- which is exactly where a shell command starts. */
.code-with-copy .code-block {
    padding-right: 5.5rem;
}

/* Long, unbreakable tokens (registry image refs, URLs) should wrap inside the
   agent cards rather than force a horizontal scroll the user cannot see. */
.dl-grid--stack .code-block code {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

@media (max-width: 720px) {
    .dl-grid--stack {
        gap: 1rem;
    }

    .code-with-copy .code-block {
        /* Not enough room to reserve a lane; drop the button below the code. */
        padding-right: 1.25rem;
        padding-top: 2.75rem;
    }

    .code-with-copy .btn-copy-inline {
        top: 0.5rem;
        right: 0.5rem;
    }
}

/* ---------------------------------------------------------------------------
   Binary download grid

   Three OS cards read as a set, so give them one row at desktop width rather
   than a 2-up grid that stranded Windows beside an unrelated card. Docker is not
   a file download -- it is a registry pull -- so it spans the full row, which
   also stops the image reference wrapping mid-token ("azurecr.i / o/corelink").
   --------------------------------------------------------------------------- */

@media (min-width: 1024px) {
    .dl-grid--binaries {
        grid-template-columns: repeat(3, 1fr);
    }
}

.dl-card--wide {
    grid-column: 1 / -1;
}

.dl-card--wide .docker-pull-block__cmd {
    /* Full row is wide enough for the whole ref; never split an image path. */
    white-space: nowrap;
    overflow-x: auto;
}

/* Icon tints for the Node.js and Ruby SDK cards, matching the other languages. */

.dl-card__icon--node { background: #e8f5e9; color: #3c873a; }
.dl-card__icon--ruby { background: #fdecec; color: #cc342d; }

/* === inlined: public-services.css === */
/* ============================================================
   public-services.css
   Split out of public.css for maintainability.
   Aggregated via @import in public.css.
   ============================================================ */

/* ============================================================
   public/registry.html
   ============================================================ */

/* ---- Base reset & tokens (registry-scoped) ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
    --sky:     #0284c7;
    --sky-l:   #0ea5e9;
    --sky-d:   #0369a1;
    --cyan:    #0891b2;
    --teal:    #0d9488;
    --emerald: #059669;
    --amber:   #d97706;
    --rose:    #e11d48;
    --purple:  #7c3aed;
    --bg:      #ffffff;
    --bg-alt:  #f8fafc;
    --bg-code: #0f172a;
    --border:  rgba(0,0,0,0.08);
    --text-1:  #0f172a;
    --text-2:  #334155;
    --text-3:  #94a3b8;
}

html { font-size: 16px; }

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background: var(--bg);
    color: var(--text-1);
    line-height: 1.6;
    overflow-x: hidden;
}

/* ---- flex utility ---- */
.flex-center { display: flex; align-items: center; }


/* ============================================================
   public/services.html
   ============================================================ */

        /* ------------------------------------------------------------------ */
        /* Design tokens                                                        */
        /* ------------------------------------------------------------------ */
        :root {
            --sky:         #0284c7;
            --sky-l:       #0ea5e9;
            --cyan:        #0891b2;
            --teal:        #0d9488;
            --emerald:     #059669;
            --amber:       #d97706;
            --rose:        #e11d48;
            --bg:          #ffffff;
            --bg-alt2:     #f8fafc;
            --border:      rgba(0,0,0,0.08);
            --text-1:      #0f172a;
            --text-2:      #334155;
            --text-3:      #94a3b8;
            --sky-d:       #0369a1;
        }

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

        html { scroll-behavior: smooth; }

        body {
            background: var(--bg);
            color: var(--text-1);
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            line-height: 1.6;
        }

        /* ------------------------------------------------------------------ */
        /* Aurora orb keyframe                                                  */
        /* ------------------------------------------------------------------ */
        @keyframes float-orb {
            0%   { transform: translateY(0px) scale(1); }
            33%  { transform: translateY(-22px) scale(1.04); }
            66%  { transform: translateY(14px) scale(0.97); }
            100% { transform: translateY(0px) scale(1); }
        }

        /* ------------------------------------------------------------------ */
        /* Scroll reveal                                                        */
        /* ------------------------------------------------------------------ */
        .reveal {
            opacity: 0;
            transform: translateY(24px);
            transition: opacity 0.55s ease, transform 0.55s ease;
        }
        .reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Nav styles live in public-nav.css; do not duplicate here. */

        /* ------------------------------------------------------------------ */
        /* Pillar subnav                                                        */
        /* ------------------------------------------------------------------ */
        .pillar-subnav {
            position: sticky;
            top: 60px;
            z-index: 900;
            background: rgba(255,255,255,0.95);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border-bottom: 1px solid #e2e8f0;
            padding: 0.625rem 2rem;
        }

        .pillar-subnav__container {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            max-width: 1200px;
            margin: 0 auto;
            flex-wrap: wrap;
        }

        .pillar-subnav__link {
            padding: 0.4375rem 1.125rem;
            border-radius: 20px;
            font-size: 0.8125rem;
            font-weight: 600;
            color: var(--color-text-secondary);
            text-decoration: none;
            transition: all 0.2s;
            border: 1.5px solid transparent;
            white-space: nowrap;
            letter-spacing: 0.01em;
        }

        /* PAM = sky-l */
        .pillar-subnav__link[data-pillar="pam"]:hover,
        .pillar-subnav__link[data-pillar="pam"].is-active {
            background: var(--sky-l);
            color: #fff;
            border-color: var(--sky-l);
        }
        /* IAM = emerald */
        .pillar-subnav__link[data-pillar="iam"]:hover,
        .pillar-subnav__link[data-pillar="iam"].is-active {
            background: var(--emerald);
            color: #fff;
            border-color: var(--emerald);
        }
        /* IGA = teal */
        .pillar-subnav__link[data-pillar="iga"]:hover,
        .pillar-subnav__link[data-pillar="iga"].is-active {
            background: var(--teal);
            color: #fff;
            border-color: var(--teal);
        }
        /* Compliance = amber */
        .pillar-subnav__link[data-pillar="compliance"]:hover,
        .pillar-subnav__link[data-pillar="compliance"].is-active {
            background: var(--amber);
            color: #fff;
            border-color: var(--amber);
        }
        /* SecOps = rose */
        .pillar-subnav__link[data-pillar="secops"]:hover,
        .pillar-subnav__link[data-pillar="secops"].is-active {
            background: var(--rose);
            color: #fff;
            border-color: var(--rose);
        }
        /* Developer = slate */
        .pillar-subnav__link[data-pillar="developer"]:hover,
        .pillar-subnav__link[data-pillar="developer"].is-active {
            background: var(--slate);
            color: #fff;
            border-color: var(--slate);
        }

        /* ------------------------------------------------------------------ */
        /* Hero                                                                 */
        /* ------------------------------------------------------------------ */
        .svc-hero {
            position: relative;
            background: var(--bg);
            padding: 96px 2rem 88px;
            text-align: center;
            overflow: hidden;
        }

        /* Aurora orbs */
        .svc-hero__orb {
            position: absolute;
            border-radius: 50%;
            pointer-events: none;
            filter: blur(90px);
        }
        .svc-hero__orb--1 {
            width: 560px; height: 560px;
            background: radial-gradient(circle, rgba(14,165,233,0.42) 0%, transparent 70%);
            top: -160px; left: -80px;
            animation: float-orb 9s ease-in-out infinite;
        }
        .svc-hero__orb--2 {
            width: 480px; height: 480px;
            background: radial-gradient(circle, rgba(8,145,178,0.38) 0%, transparent 70%);
            top: -100px; right: -60px;
            animation: float-orb 11s ease-in-out infinite 2s;
        }
        .svc-hero__orb--3 {
            width: 420px; height: 420px;
            background: radial-gradient(circle, rgba(13,148,136,0.40) 0%, transparent 70%);
            bottom: -120px; left: 30%;
            animation: float-orb 13s ease-in-out infinite 1s;
        }
        .svc-hero__orb--4 {
            width: 380px; height: 380px;
            background: radial-gradient(circle, rgba(5,150,105,0.38) 0%, transparent 70%);
            bottom: -80px; right: 10%;
            animation: float-orb 10s ease-in-out infinite 3.5s;
        }

        .svc-hero__container {
            position: relative;
            z-index: 1;
            max-width: 760px;
            margin: 0 auto;
        }

        .svc-hero__eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.3125rem 1rem;
            background: rgba(14,165,233,0.1);
            border: 1px solid rgba(14,165,233,0.25);
            border-radius: 20px;
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: var(--sky);
            margin-bottom: 1.5rem;
        }
        .svc-hero__eyebrow svg { width: 13px; height: 13px; flex-shrink: 0; }

        .svc-hero__title {
            font-size: 3.25rem;
            font-weight: 800;
            letter-spacing: -0.035em;
            line-height: 1.35;
            margin-bottom: 1.25rem;
            padding-bottom: 0.25em;
            background: linear-gradient(135deg, var(--sky-l) 0%, var(--cyan) 35%, var(--teal) 65%, var(--emerald) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .svc-hero__subtitle {
            font-size: 1.125rem;
            color: #475569;
            line-height: 1.75;
            max-width: 640px;
            margin: 0 auto;
        }

        /* ------------------------------------------------------------------ */
        /* Pillar sections                                                      */
        /* ------------------------------------------------------------------ */
        .pillar-section {
            padding: 96px 2rem;
        }

        .pillar-section--white  { background: var(--bg); }
        .pillar-section--alt    { background: var(--bg-alt2); }

        .pillar-section__container {
            max-width: 1100px;
            margin: 0 auto;
        }

        /* Header */
        .pillar-section__header { margin-bottom: 3rem; }

        .pillar-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.375rem;
            padding: 0.25rem 0.875rem;
            border-radius: 20px;
            font-size: 0.6875rem;
            font-weight: 800;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #fff;
            margin-bottom: 1.125rem;
        }
        .pillar-badge svg { width: 12px; height: 12px; flex-shrink: 0; }

        .pillar-badge--pam        { background: var(--sky-l); }
        .pillar-badge--iam        { background: var(--emerald); }
        .pillar-badge--iga        { background: var(--teal); }
        .pillar-badge--compliance { background: var(--amber); }
        .pillar-badge--secops     { background: var(--rose); }

        .pillar-section__title {
            font-size: 2rem;
            font-weight: 700;
            letter-spacing: -0.02em;
            color: var(--text-1);
            margin-bottom: 0.875rem;
            line-height: 1.15;
        }

        .pillar-section__overview {
            font-size: 1.0625rem;
            line-height: 1.75;
            color: #475569;
            max-width: 680px;
        }

        /* ------------------------------------------------------------------ */
        /* Card grids                                                           */
        /* ------------------------------------------------------------------ */
        .svc-grid--2 {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1.375rem;
        }
        .svc-grid--3 {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.375rem;
        }

        .svc-card {
            border-radius: var(--radius-lg);
            padding: 1.875rem;
            background: var(--bg);
            border: 1px solid #e2e8f0;
            transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
        }

        /* Cards on alt background need a subtle lift */
        .pillar-section--alt .svc-card {
            background: var(--bg);
            border-color: #e2e8f0;
        }

        /* Hover: universal */
        .svc-card:hover {
            transform: translateY(-3px);
            border-color: rgba(6,182,212,0.5);
            box-shadow: 0 8px 32px rgba(6,182,212,0.13), 0 2px 8px rgba(6,182,212,0.08);
        }

        .svc-card__icon {
            width: 42px;
            height: 42px;
            margin-bottom: 1.125rem;
            flex-shrink: 0;
        }

        .svc-card__title {
            font-size: 1.0625rem;
            font-weight: 600;
            color: var(--text-1);
            margin-bottom: 0.5rem;
        }

        .svc-card__desc {
            font-size: 0.9375rem;
            line-height: 1.7;
            color: var(--color-text-secondary);
        }

        /* ------------------------------------------------------------------ */
        /* CTA section                                                          */
        /* ------------------------------------------------------------------ */
        .svc-cta {
            position: relative;
            background: var(--color-text);
            padding: 96px 2rem;
            text-align: center;
            overflow: hidden;
        }

        .svc-cta__orb {
            position: absolute;
            border-radius: 50%;
            pointer-events: none;
            filter: blur(90px);
        }
        .svc-cta__orb--1 {
            width: 480px; height: 480px;
            background: radial-gradient(circle, rgba(14,165,233,0.22) 0%, transparent 70%);
            top: -160px; left: -60px;
            animation: float-orb 10s ease-in-out infinite;
        }
        .svc-cta__orb--2 {
            width: 420px; height: 420px;
            background: radial-gradient(circle, rgba(13,148,136,0.20) 0%, transparent 70%);
            bottom: -120px; right: -40px;
            animation: float-orb 12s ease-in-out infinite 2s;
        }

        .svc-cta__container {
            position: relative;
            z-index: 1;
            max-width: 600px;
            margin: 0 auto;
        }

        .svc-cta__title {
            font-size: 2.25rem;
            font-weight: 700;
            color: #fff;
            letter-spacing: -0.025em;
            margin-bottom: 0.875rem;
            line-height: 1.15;
        }

        .svc-cta__subtitle {
            font-size: 1.0625rem;
            color: var(--color-text-muted);
            margin-bottom: 2.5rem;
            line-height: 1.65;
        }

        .svc-cta__actions {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .svc-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 0.875rem 2rem;
            font-size: 1rem;
            font-weight: 600;
            border-radius: var(--radius-md);
            text-decoration: none;
            transition: all 0.2s;
            border: 1px solid transparent;
        }
        .svc-btn svg { width: 18px; height: 18px; flex-shrink: 0; }

        .svc-btn--primary {
            background: var(--sky-l);
            color: #fff;
        }
        .svc-btn--primary:hover {
            background: var(--sky);
            box-shadow: 0 0 24px rgba(14,165,233,0.45);
            transform: translateY(-1px);
        }

        .svc-btn--outline {
            background: transparent;
            color: #e2e8f0;
            border-color: rgba(255,255,255,0.2);
        }
        .svc-btn--outline:hover {
            background: rgba(255,255,255,0.08);
            border-color: rgba(255,255,255,0.38);
        }

        /* ------------------------------------------------------------------ */
        /* Footer                                                               */
        /* ------------------------------------------------------------------ */
        .landing-footer {
            background: var(--color-text);
            color: var(--color-text-muted);
            padding: 3rem 2rem 2rem;
            border-top: 1px solid rgba(255,255,255,0.06);
        }

        .landing-footer__container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 2rem;
        }

        .landing-footer__content {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 1.5rem;
        }

        .landing-footer__brand {
            font-size: 1.125rem;
            font-weight: 600;
            color: #fff;
        }

        .landing-footer__links {
            display: flex;
            align-items: center;
            gap: 2rem;
            flex-wrap: wrap;
        }

        .landing-footer__link {
            color: var(--color-text-muted);
            text-decoration: none;
            font-size: 0.9375rem;
            transition: color 0.2s;
        }
        .landing-footer__link:hover { color: #e2e8f0; }

        .landing-footer__copy {
            font-size: 0.8125rem;
            text-align: center;
            color: var(--color-text-secondary);
        }

        /* ------------------------------------------------------------------ */
        /* Responsive                                                           */
        /* ------------------------------------------------------------------ */
        @media (max-width: 900px) {
            .svc-grid--3 { grid-template-columns: repeat(2, 1fr); }
        }

        @media (max-width: 768px) {
            .svc-hero { padding: 64px 1.5rem 56px; }
            .svc-hero__title { font-size: 2.25rem; }
            .svc-hero__subtitle { font-size: 1rem; }

            .pillar-subnav {
                padding: 0.5rem 1rem;
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
            }
            .pillar-subnav__container { justify-content: flex-start; min-width: max-content; flex-wrap: nowrap; }

            .pillar-section { padding: 64px 1.5rem; }
            .pillar-section__title { font-size: 1.625rem; }

            .svc-grid--2,
            .svc-grid--3 { grid-template-columns: 1fr; }

            .svc-cta { padding: 64px 1.5rem; }
            .svc-cta__title { font-size: 1.75rem; }
            .svc-cta__actions { flex-direction: column; width: 100%; }
            .svc-btn { width: 100%; }

            .landing-footer__content { flex-direction: column; align-items: center; text-align: center; }
            .landing-footer__links { flex-direction: column; gap: 1rem; }
        }



