.gallery[data-astro-cid-urwc6qe6]{max-width:1100px;margin:0 auto;padding:56px 20px 96px}.gallery__masthead[data-astro-cid-urwc6qe6]{margin-bottom:40px}.gallery__masthead[data-astro-cid-urwc6qe6] h1[data-astro-cid-urwc6qe6]{margin:6px 0 12px}.grp[data-astro-cid-urwc6qe6]{margin-top:48px}.grp__bar[data-astro-cid-urwc6qe6]{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-5);border-bottom:1px solid var(--hair-3);justify-content:space-between;align-items:baseline;margin-bottom:20px;padding-bottom:8px;font-size:11px;display:flex}.card[data-astro-cid-urwc6qe6]{border:1px solid var(--hair-2);border-radius:var(--r);background:var(--paper);margin:0 0 28px;overflow:hidden}figcaption[data-astro-cid-urwc6qe6]{font-family:var(--font-mono);color:var(--ink-2);letter-spacing:.02em;border-bottom:1px solid var(--hair-1);background:var(--paper-2);padding:10px 14px;font-size:12px;font-weight:600}figcaption[data-astro-cid-urwc6qe6] span[data-astro-cid-urwc6qe6]{color:var(--ink-6);font-weight:400}.stage[data-astro-cid-urwc6qe6]{background:var(--bg);padding:24px}.stage--dark[data-astro-cid-urwc6qe6]{background:var(--foot);padding:0}.stage--narrow[data-astro-cid-urwc6qe6]{max-width:420px}.stage--row[data-astro-cid-urwc6qe6]{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.card--bleed[data-astro-cid-urwc6qe6] .stage[data-astro-cid-urwc6qe6]{padding:0}/* ===== Marketing-component styles, part 2 — self-contained, no external stylesheet dependency ===== */.ds-blog{font-family:var(--font-mono);background:var(--bg);padding:var(--space-56) var(--space-40);color:var(--ink-1)}.ds-blog__head{max-width:1340px;margin:0 auto var(--space-24);justify-content:space-between;align-items:flex-end;gap:var(--space-24);display:flex}.ds-blog__eyebrow{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink);margin-bottom:var(--space-8);display:block}.ds-blog__title{font-size:var(--fs-h2);letter-spacing:var(--tracking-tight);margin:0;font-weight:600}.ds-blog__all{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink);flex:none;text-decoration:none}
.ds-blog__all:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-blog__all:hover{color:var(--blue)}.ds-blog__grid{background:var(--hair-3);border:1px solid var(--hair-3);grid-template-columns:repeat(3,1fr);gap:1px;max-width:1340px;margin:0 auto;display:grid}.ds-blog__card{gap:var(--space-12);padding:var(--space-24);background:var(--paper);transition:background var(--motion);flex-direction:column;text-decoration:none;display:flex}.ds-blog__card:hover{background:var(--paper-2)}.ds-blog__card:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.ds-blog__card-top{justify-content:space-between;align-items:center;display:flex}.ds-blog__idx{font-size:var(--fs-micro);color:var(--blue-ink);font-variant-numeric:tabular-nums}.ds-blog__card-title{color:var(--ink-1);margin:0;font-size:16px;font-weight:500;line-height:1.3}.ds-blog__excerpt{font-family:var(--font-prose);color:var(--ink-4);margin:0;font-size:14px;line-height:1.55}.ds-blog__foot{padding-top:var(--space-8);font-size:var(--fs-micro);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.ds-blog__meta{color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-blog__more{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink)}.ds-form{font-family:var(--font-mono);background:var(--bg);padding:var(--space-56) var(--space-40);color:var(--ink-1)}.ds-form__inner{background:var(--hair-3);border:1px solid var(--hair-3);grid-template-columns:1fr 1fr;gap:1px;max-width:1340px;margin:0 auto;display:grid}.ds-form__copy{padding:var(--space-40);background:var(--paper);flex-direction:column;display:flex}.ds-form__eyebrow{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink)}.ds-form__title{margin:var(--space-12) 0 0;font-size:var(--fs-h2);letter-spacing:var(--tracking-tight);font-weight:600}.ds-form__sub{margin:var(--space-16) 0 0;max-width:42ch;font-family:var(--font-prose);color:var(--ink-4);font-size:15px;line-height:1.6}.ds-form__meta{margin:var(--space-32) 0 0;padding:var(--space-16) 0 0;border-top:var(--border-hairline);gap:var(--space-12);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);flex-direction:column;list-style:none;display:flex}.ds-form__meta li{align-items:center;gap:var(--space-8);display:flex}.ds-form__form{padding:var(--space-40);background:var(--paper);gap:var(--space-16);flex-direction:column;display:flex}.ds-form__field{gap:var(--space-8);flex-direction:column;display:flex}.ds-form__label{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-form__input{font-family:var(--font-mono);font-size:var(--fs-body);color:var(--ink-1);background:var(--paper);border:1px solid var(--hair-3);border-radius:var(--r);padding:var(--space-12) var(--space-16)}.ds-form__input:hover{border-color:var(--ink-5)}.ds-form__input:focus{outline:2px solid var(--blue-soft);outline-offset:0;border-color:var(--blue)}.ds-form__textarea{resize:vertical;min-height:96px}.ds-ctac{font-family:var(--font-mono);background:var(--blue-2);color:var(--on-blue);padding:var(--space-80) var(--space-40);position:relative;overflow:hidden}.ds-ctac__bracket{border:1px solid var(--white-28);width:24px;height:24px;position:absolute}.ds-ctac__bracket--tl{top:var(--space-20);left:var(--space-20);border-bottom:0;border-right:0}.ds-ctac__bracket--br{bottom:var(--space-20);right:var(--space-20);border-top:0;border-left:0}.ds-ctac__inner{text-align:center;align-items:center;gap:var(--space-20);flex-direction:column;max-width:720px;margin:0 auto;display:flex}.ds-ctac__eyebrow{align-items:center;gap:var(--space-8);font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--on-blue-soft);display:inline-flex}.ds-ctac__dot{background:var(--live);border-radius:50%;width:7px;height:7px}.ds-ctac__title{letter-spacing:var(--tracking-tight);color:var(--on-blue);margin:0;font-size:clamp(26px,5vw,42px);font-weight:600;line-height:1.02}.ds-ctac__sub{font-family:var(--font-prose);color:var(--on-blue-soft);max-width:56ch;margin:0;font-size:14px;line-height:1.6}.ds-ctac__actions{justify-content:center;gap:var(--space-12);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.ds-ctac__note{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--nav-ash);font-variant-numeric:tabular-nums}.ds-cta{font-family:var(--font-mono);background:var(--blue-2);color:var(--on-blue);padding:var(--space-56) var(--space-40);position:relative;overflow:hidden}.ds-cta__inner{justify-content:space-between;align-items:center;gap:var(--space-40);flex-wrap:wrap;max-width:1340px;margin:0 auto;display:flex}.ds-cta__copy{max-width:560px}.ds-cta__eyebrow{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--on-blue-soft);margin-bottom:var(--space-16);display:block}.ds-cta__headline{letter-spacing:var(--tracking-tight);color:var(--on-blue);margin:0;font-size:clamp(26px,5vw,42px);font-weight:600;line-height:1.02}.ds-cta__sub{margin:var(--space-16) 0 0;font-family:var(--font-prose);color:var(--on-blue-soft);font-size:14px;line-height:1.6}.ds-cta__form{gap:var(--space-8);flex:none;display:flex}.ds-cta__input{min-width:240px;padding:var(--space-12) var(--space-16);background:var(--white-10);border:1px solid var(--white-28);border-radius:var(--r);color:var(--on-blue);font-family:var(--font-mono);font-size:var(--fs-body)}.ds-cta__input::placeholder{color:var(--on-blue-soft)}.ds-cta__input:focus{outline:2px solid var(--on-blue);outline-offset:1px;border-color:var(--on-blue)}.ds-cta__bracket{opacity:.5;pointer-events:none;width:26px;height:26px;position:absolute}.ds-cta__bracket--tl{border-top:1px solid var(--on-blue);border-left:1px solid var(--on-blue);top:16px;left:16px}.ds-cta__bracket--br{border-bottom:1px solid var(--on-blue);border-right:1px solid var(--on-blue);bottom:16px;right:16px}.ds-cta__coord{font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--on-blue-soft);position:absolute;top:20px;right:24px}.ds-ctasplit{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.ds-ctasplit__panel{border-radius:var(--r);font-family:var(--font-mono);flex-direction:column;display:flex;position:relative;overflow:hidden}.ds-ctasplit__panel--blue{background:var(--nav);color:var(--on-blue)}.ds-ctasplit__panel--light{background:var(--paper);color:var(--ink-1);border:1px solid var(--ink-1)}.ds-ctasplit__grid{pointer-events:none;background-image:linear-gradient(var(--white-10) 1px, transparent 1px), linear-gradient(90deg, var(--white-10) 1px, transparent 1px);background-size:38px 38px;position:absolute;inset:0;mask-image:radial-gradient(90% 120% at 50% 0,#000,#0000 76%)}.ds-ctasplit__inner{flex-direction:column;height:100%;padding:30px 30px 32px;display:flex;position:relative}.ds-ctasplit__eyebrow{letter-spacing:var(--tracking-label);text-transform:uppercase;margin-bottom:14px;font-size:9px;font-weight:500}.ds-ctasplit__eyebrow--on{color:var(--on-blue-soft)}.ds-ctasplit__eyebrow--ink{color:var(--blue-ink)}.ds-ctasplit__title{font-family:var(--font-prose);letter-spacing:-.03em;color:var(--ink-1);margin:0 0 12px;font-size:26px;font-weight:700;line-height:1.05}.ds-ctasplit__title--on{color:var(--on-blue)}.ds-ctasplit__body{font-family:var(--font-prose);color:var(--ink-3);margin:0 0 20px;font-size:14px;line-height:1.6}.ds-ctasplit__body--on{color:#dde8ff}.ds-fcards{font-family:var(--font-mono);background:var(--bg);padding:var(--space-80) var(--space-40)}.ds-fcards__inner{max-width:1200px;margin:0 auto}.ds-fcards__head{justify-content:space-between;align-items:baseline;gap:var(--space-12);margin-bottom:var(--space-24);padding-bottom:var(--space-12);border-bottom:var(--border-hairline-2);flex-wrap:wrap;display:flex}.ds-fcards__eyebrow{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink)}.ds-fcards__summary{align-items:center;gap:var(--space-8);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);font-variant-numeric:tabular-nums;display:inline-flex}.ds-fcards__grid{background:var(--hair-3);border:var(--border-hairline-2);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.ds-fcards__card{background:var(--bg);padding:var(--space-24);gap:var(--space-12);flex-direction:column;min-height:0;display:flex}.ds-fcards__top{justify-content:space-between;align-items:center;gap:var(--space-8);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;display:flex}.ds-fcards__id{color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-fcards__name{font-size:var(--fs-h3);letter-spacing:var(--tracking-tight);color:var(--ink-1);margin:0;font-weight:600}.ds-fcards__readout{font-size:var(--fs-body);color:var(--ink-2);font-variant-numeric:tabular-nums;letter-spacing:.01em;margin:0}.ds-fcards__region{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:lowercase;color:var(--ink-5)}.ds-fcards__link{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink);transition:color var(--motion);margin-top:auto;text-decoration:none}
.ds-fcards__link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-fcards__link:hover{color:var(--blue)}.ds-chip{align-items:center;gap:var(--space-8);font-family:var(--font-mono);font-size:var(--fs-body);padding:var(--space-8) var(--space-12);border:1px solid var(--hair-3);border-radius:var(--r);background:var(--paper);color:var(--ink-2);cursor:pointer;transition:border-color var(--motion), background var(--motion), color var(--motion);font-variant-numeric:tabular-nums;line-height:1;text-decoration:none;display:inline-flex}
.ds-chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-chip:hover{border-color:var(--hair-4);background:var(--paper-2)}.ds-chip:active{transform:translateY(1px)}.ds-chip:disabled,.ds-chip[aria-disabled="true"]{opacity:.45;cursor:not-allowed;pointer-events:none}.ds-chip__label{white-space:nowrap}.ds-chip__x{width:14px;height:14px;font-size:var(--fs-body);color:var(--ink-5);transition:color var(--motion);justify-content:center;align-items:center;display:inline-flex}.ds-chip:hover .ds-chip__x{color:var(--blue)}.ds-chip__count{font-size:var(--fs-micro);color:var(--ink-5);padding-left:var(--space-4)}.ds-chip--active{background:var(--blue);border-color:var(--blue);color:var(--on-blue)}
.ds-catalogcta .ds-chip,.ds-listen .ds-chip{background:#fff;color:#262c3b;border-color:#cdd3df}
.ds-catalogcta .ds-chip:hover,.ds-listen .ds-chip:hover{border-color:#b0b8c6;background:#f3f5f8}.ds-chip--active:hover{background:var(--blue-2);border-color:var(--blue-2)}.ds-chip--active .ds-chip__x,.ds-chip--active .ds-chip__count{color:var(--on-blue-soft)}.ds-hero{font-family:var(--font-mono);background:var(--blue-2);color:var(--on-blue);padding:var(--space-56) var(--space-40);position:relative;overflow:hidden}.ds-hero:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(var(--white-10) 1px, transparent 1px), linear-gradient(90deg, var(--white-10) 1px, transparent 1px);background-size:46px 46px;position:absolute;inset:0;mask-image:radial-gradient(80% 75% at 72% 40%,#000 30%,#0000 80%)}.ds-hero__inner{z-index:1;gap:var(--space-40);grid-template-columns:1.25fr .75fr;align-items:center;max-width:1340px;margin:0 auto;display:grid;position:relative}.ds-hero__eyebrow{align-items:center;gap:var(--space-12);font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--on-blue-soft);margin-bottom:var(--space-24);display:inline-flex}.ds-hero__tag{border:1px solid var(--white-28);padding:var(--space-2) var(--space-8);color:var(--on-blue)}.ds-hero__headline{font-size:clamp(40px,8vw,72px);font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--on-blue);margin:0}.ds-hero__line{display:block}.ds-hero__line--light{color:var(--on-blue-soft);font-weight:400}.ds-hero__line--accent{color:var(--on-blue-accent)}.ds-hero__sub{margin:var(--space-24) 0 0;max-width:46ch;font-family:var(--font-prose);color:var(--on-blue-soft);font-size:15px;line-height:1.6}.ds-hero__cta{margin-top:var(--space-32);gap:var(--space-12);flex-wrap:wrap;display:flex}.ds-hero__panel{background:var(--white-10);border:1px solid var(--white-16);border-top:2px solid var(--on-blue);border-radius:var(--r)}.ds-hero__panel-head{padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--white-16);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--on-blue-soft);justify-content:space-between;align-items:center;display:flex}.ds-hero__live{align-items:center;gap:var(--space-8);color:var(--on-blue);display:inline-flex}.ds-hero__dot{background:var(--live);width:6px;height:6px;box-shadow:0 0 8px var(--live);border-radius:50%}.ds-hero__metrics{background:var(--white-16);grid-template-columns:1fr 1fr;gap:1px;display:grid}.ds-hero__metric{gap:var(--space-8);padding:var(--space-20);background:var(--blue-2);flex-direction:column;display:flex}.ds-hero__metric-label{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--on-blue-soft)}.ds-hero__metric-value{font-size:var(--fs-h2);color:var(--on-blue);font-variant-numeric:tabular-nums;font-weight:600}.ds-hero__bracket{opacity:.5;pointer-events:none;z-index:1;width:26px;height:26px;position:absolute}.ds-hero__bracket--tl{border-top:1px solid var(--on-blue);border-left:1px solid var(--on-blue);top:16px;left:16px}.ds-hero__bracket--br{border-bottom:1px solid var(--on-blue);border-right:1px solid var(--on-blue);bottom:16px;right:16px}.ds-hero__coord{z-index:1;font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--on-blue-soft);pointer-events:none;position:absolute}.ds-hero__coord--a{top:20px;right:24px}.ds-hero__coord--b{bottom:20px;left:24px}.ds-integ{font-family:var(--font-mono);background:var(--bg);padding:var(--space-80) var(--space-40)}.ds-integ__inner{max-width:1200px;margin:0 auto}.ds-integ__head{justify-content:space-between;align-items:baseline;gap:var(--space-12);margin-bottom:var(--space-24);padding-bottom:var(--space-12);border-bottom:var(--border-hairline-2);flex-wrap:wrap;display:flex}.ds-integ__eyebrow{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink)}.ds-integ__summary{font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-integ__grid{background:var(--hair-3);border:var(--border-hairline-2);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.ds-integ__tile{background:var(--bg);padding:var(--space-20);gap:var(--space-8);transition:background var(--motion);flex-direction:column;text-decoration:none;display:flex}a.ds-integ__tile:hover{background:var(--paper-2)}.ds-integ__row{justify-content:space-between;align-items:center;gap:var(--space-8);display:flex}.ds-integ__name{font-size:var(--fs-body);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-1);font-weight:600}.ds-integ__meta{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-price{font-family:var(--font-mono);background:var(--bg);padding:var(--space-56) var(--space-40);color:var(--ink-1)}.ds-price__head{max-width:1340px;margin:0 auto var(--space-24);align-items:baseline;gap:var(--space-16);border-bottom:var(--border-hairline);padding-bottom:var(--space-12);display:flex}.ds-price__index{font-size:var(--fs-meta);color:var(--blue-ink);font-variant-numeric:tabular-nums}.ds-price__title{font-size:var(--fs-h2);letter-spacing:var(--tracking-tight);margin:0;font-weight:600}.ds-price__tail{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);margin-left:auto}.ds-price__grid{background:var(--hair-3);border:1px solid var(--hair-3);grid-template-columns:repeat(3,1fr);gap:1px;max-width:1340px;margin:0 auto;display:grid}.ds-price__plan{gap:var(--space-16);padding:var(--space-24);background:var(--paper);flex-direction:column;display:flex}.ds-price__plan.is-featured{background:var(--paper-2);border-top:2px solid var(--blue)}.ds-price__plan-top{align-items:baseline;gap:var(--space-8);display:flex}.ds-price__idx{font-size:var(--fs-micro);color:var(--blue-ink);font-variant-numeric:tabular-nums}.ds-price__name{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-price__amount{align-items:baseline;gap:var(--space-4);display:flex}.ds-price__value{color:var(--ink-1);font-variant-numeric:tabular-nums;font-size:clamp(28px,4vw,40px);font-weight:600}.ds-price__period{font-size:var(--fs-body);color:var(--ink-5)}.ds-price__features{gap:var(--space-12);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ds-price__features li{align-items:center;gap:var(--space-12);font-size:var(--fs-body);color:var(--ink-2);display:flex}.ds-price__check{background:var(--blue);flex:none;width:6px;height:6px}.ds-price__plan:not(.is-featured) .ds-price__cta{background:var(--paper);color:var(--blue);border:var(--border-hairline-2)}.ds-price__plan:not(.is-featured) .ds-price__cta:hover{border-color:var(--ink-3)}.ds-timeline{font-family:var(--font-mono);background:var(--bg);padding:var(--space-80) var(--space-40)}.ds-timeline__inner{max-width:1200px;margin:0 auto}.ds-timeline__head{justify-content:space-between;align-items:baseline;gap:var(--space-12);margin-bottom:var(--space-32);padding-bottom:var(--space-12);border-bottom:var(--border-hairline-2);flex-wrap:wrap;display:flex}.ds-timeline__eyebrow{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink)}.ds-timeline__summary{font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-timeline__steps{background:var(--hair-3);border:var(--border-hairline-2);grid-auto-columns:1fr;grid-auto-flow:column;gap:1px;margin:0;padding:0;list-style:none;display:grid}.ds-timeline__step{background:var(--bg);padding:var(--space-24);gap:var(--space-12);flex-direction:column;display:flex}.ds-timeline__top{justify-content:space-between;align-items:center;gap:var(--space-8);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;display:flex}.ds-timeline__id{color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-timeline__status{align-items:center;gap:var(--space-4);display:inline-flex}.ds-timeline__dot{background:var(--ink-6);border-radius:50%;width:6px;height:6px}.ds-timeline__status--done .ds-timeline__dot{background:var(--live)}.ds-timeline__status--active .ds-timeline__dot{background:var(--blue)}.ds-timeline__status--queued{color:var(--ink-6)}.ds-timeline__status--queued .ds-timeline__dot{border:1px solid var(--ink-6);background:0 0}.ds-timeline__node{border:1px solid var(--blue);border-radius:var(--r);width:32px;height:32px;color:var(--blue-ink);font-size:var(--fs-body);font-variant-numeric:tabular-nums;box-shadow:inset 0 2px 0 0 var(--blue);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.ds-timeline__name{font-size:var(--fs-h3);letter-spacing:var(--tracking-tight);color:var(--ink-1);margin:0;font-weight:600}.ds-timeline__readout{font-size:var(--fs-body);color:var(--ink-2);font-variant-numeric:tabular-nums;margin:0}.ds-timeline__meta{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);font-variant-numeric:tabular-nums;margin-top:auto}.ds-status{align-items:center;gap:var(--space-8);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:1;display:inline-flex}.ds-status__dot{background:var(--ink-6);border-radius:50%;flex:none;width:7px;height:7px}.ds-status__label{font-variant-numeric:tabular-nums}.ds-status--live,.ds-status--available,.ds-status--operational,.ds-status--linked{color:var(--ok)}.ds-status--live .ds-status__dot,.ds-status--available .ds-status__dot,.ds-status--operational .ds-status__dot,.ds-status--linked .ds-status__dot{background:var(--live)}.ds-status--accent .ds-status__dot{background:var(--blue)}.ds-status--idle .ds-status__dot{background:var(--ink-6)}.ds-status--busy .ds-status__dot{background:var(--warn)}.ds-booking{font-family:var(--font-mono);background:var(--paper);height:100%}.ds-booking__head{background:#10141f;color:var(--on-blue);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;justify-content:space-between;align-items:center;padding:13px 20px;font-weight:600;display:flex}.ds-booking__heads{color:var(--on-blue);align-items:center;gap:8px;display:inline-flex}.ds-booking__dot{background:var(--live);border-radius:50%;width:5px;height:5px;display:inline-block}.ds-booking__meta{color:var(--on-blue-soft)}.ds-booking__form{padding:24px 30px 32px}.ds-booking__step{border:0;margin:0;padding:0}.ds-booking__step+.ds-booking__step{margin-top:24px}.ds-booking__legend{width:100%;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-5);margin-bottom:11px;padding:0;font-weight:600;display:block}.ds-booking__tz{color:var(--ink-5);text-transform:none;letter-spacing:0}.ds-booking__days{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.ds-booking__slots{flex-wrap:wrap;gap:8px;display:flex}.ds-booking__pill{cursor:pointer;background:var(--paper);color:var(--ink-1);border:1px solid var(--hair-3);border-radius:var(--r);transition:border-color var(--motion), background var(--motion);display:flex;position:relative}.ds-booking__pill input{opacity:0;width:0;height:0;margin:0;position:absolute}.ds-booking__pill:hover{border-color:var(--hair-4)}.ds-booking__pill:has(input:checked){background:var(--nav);color:var(--on-blue);border-color:var(--nav)}.ds-booking__pill:focus-within{outline:2px solid var(--blue);outline-offset:2px}.ds-booking__pill:active{transform:translateY(1px)}.ds-booking__pill:has(input:disabled){opacity:.45;cursor:not-allowed}.ds-booking__pill--day{flex-direction:column;align-items:center;padding:11px 6px}.ds-booking__wd{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-5)}.ds-booking__pill:has(input:checked) .ds-booking__wd{color:var(--on-blue-soft)}.ds-booking__md{font-family:var(--font-prose);margin-top:3px;font-size:14px;font-weight:600}.ds-booking__pill--slot{font-family:var(--font-prose);padding:11px 16px;font-size:14px;font-weight:600}.ds-booking__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.ds-booking__field{flex-direction:column;display:flex}.ds-booking__label{font-family:var(--font-prose);color:var(--ink-3);margin-bottom:6px;font-size:12px;font-weight:600}.ds-booking__input{font-family:var(--font-prose);color:var(--ink-1);border:1px solid var(--hair-3);border-radius:var(--r);background:var(--paper);width:100%;transition:border-color var(--motion);outline:0;padding:13px 14px;font-size:15px}.ds-booking__input:disabled{opacity:.45;cursor:not-allowed}.ds-booking__input::placeholder{color:var(--ink-7)}.ds-booking__input:focus{border-color:var(--blue);outline:2px solid var(--blue);outline-offset:1px}.ds-booking__selwrap{position:relative}.ds-booking__select{appearance:none;cursor:pointer;color:var(--ink-3)}
.ds-booking__select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-booking__caret{pointer-events:none;color:var(--ink-5);font-size:10px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.ds-booking__reassure{font-family:var(--font-prose);color:var(--ink-5);justify-content:center;align-items:center;gap:8px;margin-top:14px;font-size:12px;display:flex}.ds-booking__ok{color:var(--ok)}.ds-catalogcta{color:#9fb3d8;font-family:var(--font-mono);background:#041640}.ds-catalogcta__inner{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;gap:clamp(24px,3vw,40px);max-width:1320px;margin:0 auto;padding:clamp(24px,4vw,44px) clamp(16px,4vw,40px);display:grid}.ds-catalogcta__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-blue-muted);margin-bottom:14px;font-size:9.5px}.ds-catalogcta__plus{color:var(--blue-hi)}.ds-catalogcta__title{font-family:var(--font-mono);letter-spacing:-.03em;color:var(--on-blue);margin:0 0 12px;font-size:clamp(20px,2.4vw,27px);font-weight:600;line-height:1.1}.ds-catalogcta__title-accent{color:var(--blue-hi)}.ds-catalogcta__body{font-family:var(--font-prose);color:#8fa6ce;margin:0 0 20px;font-size:14px;line-height:1.6}.ds-catalogcta__actions{flex-wrap:wrap;gap:12px;display:flex}.ds-catalogcta__demand{border-radius:var(--r);background:#06205a;border:1px solid var(--catalogcta-border);min-width:0}.ds-catalogcta__demand-head{border-bottom:1px solid var(--catalogcta-border);flex-wrap:wrap;align-items:baseline;gap:12px;padding:14px 16px;display:flex}.ds-catalogcta__demand-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--blue-hi);font-size:9.5px}.ds-catalogcta__demand-note{font-family:var(--font-prose);color:#7e96c4;font-size:12.5px}.ds-catalogcta__demand-body{flex-direction:column;gap:14px;padding:16px 16px;display:flex}.ds-catalogcta__row{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.ds-catalogcta__row+.ds-catalogcta__row{border-top:1px solid #0e2a60;padding-top:14px}.ds-catalogcta__rowk{letter-spacing:.06em;color:var(--ink-blue-muted);flex:none;width:62px;padding-top:7px;font-size:10px}.ds-catalogcta__chips{flex-wrap:wrap;flex:1;gap:7px;min-width:0;display:flex}.ds-listen{align-items:center;gap:var(--space-12);flex-wrap:wrap;display:flex}.ds-listen__label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-blue-dim);font-size:9.5px}.ds-listen__row{gap:var(--space-8);flex-wrap:wrap;display:flex}.ds-listen__arrow{color:var(--blue-hi);font-size:10px}@media (width<=991px){.ds-blog__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=699px){.ds-blog{padding:var(--space-32) var(--space-24)}.ds-blog__grid{grid-template-columns:1fr}}@media (width<=767px){.ds-form{padding:var(--space-32) var(--space-24)}.ds-form__inner{grid-template-columns:1fr}.ds-form__copy,.ds-form__form{padding:var(--space-24)}}@media (width<=699px){.ds-ctac{padding:var(--space-56) var(--space-24)}}@media (width<=859px){.ds-cta__coord{display:none}.ds-cta__form{width:100%}.ds-cta__input{flex:1;min-width:0}}@media (width<=620px){.ds-ctasplit{grid-template-columns:minmax(0,1fr)}}@media (width<=1100px){.ds-fcards__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=699px){.ds-fcards{padding:var(--space-56) var(--space-24)}.ds-fcards__grid{grid-template-columns:1fr}}@media (width<=859px){.ds-hero{padding:var(--space-40) var(--space-24)}.ds-hero__inner{gap:var(--space-32);grid-template-columns:1fr}.ds-hero__coord{display:none}}@media (width<=1100px){.ds-integ__grid{grid-template-columns:repeat(3,1fr)}}@media (width<=699px){.ds-integ{padding:var(--space-56) var(--space-24)}.ds-integ__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=767px){.ds-price{padding:var(--space-32) var(--space-24)}.ds-price__grid{grid-template-columns:1fr}}@media (width<=1100px){.ds-timeline__steps{grid-auto-columns:auto;grid-auto-flow:row}}@media (width<=699px){.ds-timeline{padding:var(--space-56) var(--space-24)}}@media (width<=520px){.ds-booking__days{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-booking__grid{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.ds-catalogcta__inner{grid-template-columns:minmax(0,1fr)}}/* ===== Marketing-component styles — self-contained, no external stylesheet dependency ===== */:host,:root{--blue:#135bff;--blue-2:#0d46db;--blue-ink:#0b3db0;--blue-hi:#7fa8ff;--blue-soft:#eaf0ff;--live:#3fd08a;--ok:#1e8f5a;--warn:#c77700;--ink-1:#10141f;--ink-2:#262c3b;--ink-3:#3c4453;--ink-4:#545c6e;--ink-5:#697385;--ink-6:#8791a2;--ink-7:#a2aab8;--hair-1:#e9ecf2;--hair-2:#e2e6ee;--hair-3:#cdd3df;--hair-4:#b0b8c6;--ink:var(--ink-1);--hair:var(--hair-2);--bg:#f7f8fa;--paper:var(--on-blue);--paper-2:#f3f5f8;--paper-3:#edf0f5;--notif:#041745;--notif-hair:#15347e;--nav:#0d46db;--nav-ash:#bcd0ff;--nav-hair:#ffffff29;--nav-panel:#0b1430;--nav-panel-border:#1b2a52;--nav-tnum:#becdeb;--nav-tnum-accent:#b1ceff;--nav-pill-ink:#0b3db0;--nav-pill-bg:#eaf0ff;--mediaframe-ink:#a2aab8;--white-5:#ffffff0d;--white-8:#ffffff14;--white-12:#ffffff1f;--white-50:#ffffff80;--ink-blue-muted:#738bbb;--ink-blue-dim:#7e9bd8;--surface-dark-2:#232a39;--nav-text-dim:#dce6ff;--foot-chip-text:#c3d2f2;--catalogcta-border:#13306e;--guidecard-dark:#0b0f17;--foot:#07256a;--foot-panel:#0a2d7a;--foot-hair:#1e458f;--foot-ash:#aec2ec;--foot-dim:#8499c8;--drawer:#071a40;--on-blue:#fff;--on-blue-soft:#bcd0ff;--on-blue-accent:#9fc2ff;--elev-edge:var(--blue);--elev-border:var(--hair-4);--elev-fill:var(--paper);--scrim:#10141f66;--white-10:#ffffff1a;--white-16:#ffffff29;--white-28:#ffffff47;--font-prose:var(--font-sans);--fs-micro:10px;--fs-label:10.5px;--fs-meta:11px;--fs-body:13px;--fs-h3:20px;--fs-h2:28px;--fs-h1:clamp(40px, 8vw, 72px);--tracking-label:.08em;--lh-tight:.92;--space-2:2px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;--space-56:56px;--space-80:80px;--r:3px;--radius-none:0;--border-hairline:1px solid var(--hair);--border-hairline-2:1px solid var(--hair-3);--motion:.15s cubic-bezier(0.2,0,0,1)}:host{box-sizing:border-box}.ds-arthead{font-family:var(--font-mono);background:var(--bg);padding:var(--space-56) var(--space-40) var(--space-32);border-bottom:var(--border-hairline-2)}.ds-arthead__inner{max-width:72ch;margin:0 auto}.ds-arthead__eyebrow{align-items:center;gap:var(--space-8);font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink);margin-bottom:var(--space-20);display:flex}.ds-arthead__index{color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-arthead__cat{color:var(--blue-ink)}.ds-arthead__title{letter-spacing:var(--tracking-tight);color:var(--ink-1);margin:0;font-size:clamp(30px,5.5vw,52px);font-weight:600;line-height:1.04}.ds-arthead__deck{margin:var(--space-20) 0 0;font-family:var(--font-prose);color:var(--ink-4);max-width:60ch;font-size:17px;line-height:1.55}.ds-arthead__meta{margin-top:var(--space-32);background:var(--hair-3);border:var(--border-hairline-2);flex-wrap:wrap;gap:1px;display:flex}.ds-arthead__cell{background:var(--bg);min-width:0;padding:var(--space-12) var(--space-16);gap:var(--space-4);flex-direction:column;flex:auto;display:flex}.ds-arthead__cell-label{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-arthead__cell-value{font-size:var(--fs-body);color:var(--ink-2);font-variant-numeric:tabular-nums}.ds-glance{align-items:baseline;gap:var(--space-4) var(--space-16);padding:var(--space-8) var(--space-20);background:var(--paper);border-bottom:1px solid var(--hair-2);font-family:var(--font-mono);flex-wrap:wrap;display:flex}.ds-glance__label{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-glance__summary{min-width:0;font-family:var(--font-prose);color:var(--ink-2);flex:240px;font-size:13px;line-height:1.5}.ds-glance__readouts{align-items:center;gap:var(--space-4) var(--space-8);font-size:var(--fs-meta);color:var(--ink-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:inline-flex}.ds-glance__sep{color:var(--hair-4)}.ds-glance__price{color:var(--blue-ink)}.ds-glance__avail{color:var(--ok)}.ds-glance__trust{color:var(--ink-3)}.ds-billtoggle{align-items:center;gap:var(--space-12);font-family:var(--font-mono);display:flex}.ds-billtoggle__seg{border:1px solid var(--hair-3);border-radius:var(--r);background:var(--paper);display:inline-flex;overflow:hidden}.ds-billtoggle__opt{appearance:none;cursor:pointer;font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-4);padding:8px var(--space-16);transition:background var(--motion), color var(--motion);background:0 0;border:0;font-size:12px;font-weight:500}.ds-billtoggle__opt:active{transform:translateY(1px)}.ds-billtoggle__opt:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.ds-billtoggle__opt:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-billtoggle__opt+.ds-billtoggle__opt{border-left:1px solid var(--hair-3)}.ds-billtoggle__opt:hover{background:var(--paper-2)}.ds-billtoggle__opt.is-active{background:var(--blue);color:var(--on-blue);font-weight:600}.ds-billtoggle__opt.is-active:hover{background:var(--blue-2)}.ds-billtoggle__save{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ok);border:1px solid var(--blue-hi);background:var(--blue-soft);border-radius:var(--r);padding:4px 9px;font-weight:600}.ds-blueprint{pointer-events:none;z-index:0;position:absolute;inset:0}.ds-crumb{font-family:var(--font-mono);background:var(--bg);padding:var(--space-12) var(--space-40);border-bottom:var(--border-hairline)}.ds-crumb__list{align-items:center;gap:var(--space-8);max-width:1200px;font-size:var(--fs-body);flex-wrap:wrap;margin:0 auto;padding:0;list-style:none;display:flex}.ds-crumb__item{align-items:center;gap:var(--space-8);color:var(--ink-5);display:inline-flex}.ds-crumb__sep{color:var(--ink-7);user-select:none}.ds-crumb__link{color:var(--ink-4);transition:color var(--motion);text-decoration:none}
.ds-crumb__link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-crumb__link:hover{color:var(--blue-ink)}.ds-crumb__current{color:var(--ink-1);font-weight:500}.ds-btn{align-items:center;gap:var(--space-8);font-family:var(--font-mono);font-size:var(--fs-body);padding:var(--space-12) var(--space-24);border-radius:var(--r);cursor:pointer;transition:background var(--motion), border-color var(--motion), color var(--motion), transform .12s ease;border:0;line-height:1.2;text-decoration:none;display:inline-flex}.ds-btn:active{transform:translateY(1px)}.ds-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-btn:disabled,.ds-btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;pointer-events:none}.ds-btn--primary{background:var(--blue);color:var(--on-blue)}.ds-btn--primary:hover{background:var(--blue-2)}.ds-btn--secondary{background:var(--paper);color:var(--blue);border:var(--border-hairline-2)}.ds-btn--secondary:hover{border-color:var(--ink-3);color:var(--ink-1)}.ds-btn__label{font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:var(--tracking-label)}.ds-matrix{font-family:var(--font-mono);background:var(--bg);padding:var(--space-56) var(--space-40);color:var(--ink-1)}.ds-matrix__head{max-width:1340px;margin:0 auto var(--space-24);align-items:baseline;gap:var(--space-16);border-bottom:var(--border-hairline);padding-bottom:var(--space-12);display:flex}.ds-matrix__index{font-size:var(--fs-meta);color:var(--blue-ink);font-variant-numeric:tabular-nums}.ds-matrix__title{font-size:var(--fs-h2);letter-spacing:var(--tracking-tight);margin:0;font-weight:600}.ds-matrix__tail{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);margin-left:auto}.ds-matrix__grid{background:var(--hair-3);border:1px solid var(--hair-3);grid-template-columns:1.3fr 1.7fr .9fr .9fr 1fr;gap:1px;max-width:1340px;margin:0 auto;display:grid}.ds-matrix__row{display:contents}.ds-matrix__cell{background:var(--paper);padding:var(--space-16) var(--space-20);font-size:var(--fs-body);color:var(--ink-2);line-height:1.4}.ds-matrix__cell--num{font-variant-numeric:tabular-nums}.ds-matrix__row--head .ds-matrix__cell{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);background:var(--paper-2)}.ds-matrix__cell--name{align-items:baseline;gap:var(--space-8);color:var(--ink-1);font-size:14px;display:flex}.ds-matrix__rowidx{font-size:var(--fs-micro);color:var(--blue-ink);font-variant-numeric:tabular-nums}.ds-matrix__k{display:none}.ds-matrix__row:hover .ds-matrix__cell{background:var(--paper-2)}.ds-captile{gap:var(--space-12);padding:var(--space-16);border:1px solid var(--hair-2);border-radius:var(--r);background:var(--paper);font-family:var(--font-mono);color:var(--ink-1);transition:border-color var(--motion), background var(--motion);flex-direction:column;text-decoration:none;display:flex;position:relative}.ds-captile:hover{border-color:var(--blue);background:var(--paper-2)}.ds-captile:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-captile__arrow{top:var(--space-12);right:var(--space-16);color:var(--ink-6);position:absolute}.ds-captile__glyph{border:1px solid var(--hair-3);border-radius:var(--r);background:var(--paper-2);justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.ds-captile__glyph-dot{background:var(--blue);width:10px;height:10px}.ds-captile__name{letter-spacing:var(--tracking-tight);color:var(--ink-1);font-size:15px;font-weight:600}.ds-captile__foot{justify-content:space-between;align-items:center;gap:var(--space-8);font-size:var(--fs-meta);color:var(--ink-5);display:flex}.ds-captile__count-num{color:var(--ink-1);font-variant-numeric:tabular-nums;font-weight:600}.ds-captile__from{color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-cases{font-family:var(--font-mono);background:var(--bg);padding:var(--space-80) var(--space-40)}.ds-cases__inner{max-width:1200px;margin:0 auto}.ds-cases__head{justify-content:space-between;align-items:baseline;gap:var(--space-12);margin-bottom:var(--space-24);padding-bottom:var(--space-12);border-bottom:var(--border-hairline-2);flex-wrap:wrap;display:flex}.ds-cases__eyebrow{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink)}.ds-cases__summary{font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-cases__grid{background:var(--hair-3);border:var(--border-hairline-2);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.ds-cases__card{background:var(--bg);flex-direction:column;text-decoration:none;display:flex}
.ds-cases__card:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-cases__body{padding:var(--space-24);gap:var(--space-12);flex-direction:column;flex:auto;display:flex}.ds-cases__top{justify-content:space-between;align-items:center;gap:var(--space-8);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;display:flex}.ds-cases__ref{color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-cases__sector{color:var(--blue-ink)}.ds-cases__card-title{font-size:var(--fs-h3);letter-spacing:var(--tracking-tight);color:var(--ink-1);margin:0;font-weight:600}.ds-cases__metric{gap:var(--space-2);padding-top:var(--space-12);border-top:1px solid var(--hair-2);flex-direction:column;margin-top:auto;display:flex}.ds-cases__metric-value{font-size:var(--fs-h2);color:var(--blue-ink);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight);font-weight:600}.ds-cases__metric-label{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-cases__field{align-items:center;gap:var(--space-8);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);font-variant-numeric:tabular-nums;display:flex}.ds-cases__dot{background:var(--live);border-radius:50%;flex:none;width:6px;height:6px}.ds-cases__link{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink);transition:color var(--motion);text-decoration:none}a.ds-cases__card:hover .ds-cases__link{color:var(--blue)}.ds-cmdhero{background:linear-gradient(168deg, var(--blue) 0%, var(--blue-2) 100%);color:var(--on-blue);font-family:var(--font-mono);position:relative;overflow:hidden}.ds-cmdhero__grid{pointer-events:none;background-image:linear-gradient(var(--white-10) 1px, transparent 1px), linear-gradient(90deg, var(--white-10) 1px, transparent 1px);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 78% 35%, var(--ink-1) 30%, transparent 82%);mask-image:radial-gradient(ellipse 80% 80% at 78% 35%, var(--ink-1) 30%, transparent 82%);background-size:48px 48px;position:absolute;inset:0}.ds-cmdhero__rings{pointer-events:none;opacity:.55;width:520px;height:520px;position:absolute;top:-50px;right:-90px}.ds-cmdhero__ring,.ds-cmdhero__sweep{border-radius:50%;margin:auto;position:absolute;inset:0}.ds-cmdhero__ring{border:1px solid var(--white-28)}.ds-cmdhero__ring--1{width:160px;height:160px}.ds-cmdhero__ring--2{width:320px;height:320px}.ds-cmdhero__ring--3{border-style:dashed;width:480px;height:480px}.ds-cmdhero__sweep{background:conic-gradient(from 210deg, var(--white-16) 0deg, transparent 70deg);width:480px;height:480px;animation:7s linear infinite ds-cmdhero-spin}.ds-cmdhero__inner{z-index:1;max-width:1340px;padding:var(--space-32) var(--space-40) var(--space-56);margin:0 auto;position:relative}.ds-cmdhero__coords{font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--on-blue-soft);justify-content:space-between;align-items:center;display:flex}.ds-cmdhero__plus{color:var(--on-blue-accent)}.ds-cmdhero__eyebrow{align-items:center;gap:var(--space-8);margin-top:var(--space-24);font-size:var(--fs-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--on-blue-soft);flex-wrap:wrap;display:flex}.ds-cmdhero__pill{padding:var(--space-2) var(--space-8);border:1px solid var(--white-28);border-radius:var(--r);color:var(--on-blue)}.ds-cmdhero__title{margin:var(--space-16) 0 0;max-width:14ch;letter-spacing:var(--tracking-tight);font-size:clamp(30px,5.4vw,58px);font-weight:600;line-height:.94}.ds-cmdhero__lead{color:var(--on-blue-soft);font-weight:400}.ds-cmdhero__cursor{width:9px;height:.78em;margin-left:var(--space-8);background:var(--on-blue-accent);display:inline-block;transform:translateY(.08em)}.ds-cmdhero__subhead{margin:var(--space-16) 0 0;max-width:560px;font-family:var(--font-prose);color:var(--on-blue-soft);font-size:15px;line-height:1.55}.ds-cmdhero__popular{align-items:center;gap:var(--space-8);margin-top:var(--space-16);flex-wrap:wrap;display:flex}.ds-cmdhero__popular-label{font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--on-blue-accent)}.ds-cmdhero__chip{padding:var(--space-4) var(--space-12);border:1px solid var(--white-28);font-size:var(--fs-meta);color:var(--on-blue);border-radius:var(--r)}.ds-rail{font-family:var(--font-mono);background:var(--paper);border:var(--border-hairline-2);border-radius:var(--r);color:var(--ink-1);padding:var(--space-20) var(--space-24)}.ds-rail__head{align-items:baseline;gap:var(--space-16);border-bottom:var(--border-hairline);padding-bottom:var(--space-12);margin-bottom:var(--space-8);display:flex}.ds-rail__index{font-size:var(--fs-meta);color:var(--blue-ink);font-variant-numeric:tabular-nums}.ds-rail__title{font-size:var(--fs-h3);letter-spacing:var(--tracking-tight);margin:0;font-weight:600}.ds-rail__tail{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);margin-left:auto}.ds-rail__list{margin:0;padding:0;list-style:none}.ds-rail__row{margin:0}.ds-rail__link,.ds-rail__entry{align-items:center;gap:var(--space-12);min-height:40px;padding:var(--space-8) 0;text-decoration:none;display:flex}.ds-rail__node{flex:none;justify-content:center;align-self:stretch;align-items:center;width:9px;display:flex;position:relative}.ds-rail__node:before{content:"";background:var(--hair-3);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.ds-rail__row:first-child .ds-rail__node:before{top:50%}.ds-rail__row:last-child .ds-rail__node:before{bottom:50%}.ds-rail__dot{z-index:1;background:var(--ink-6);width:9px;height:9px;box-shadow:0 0 0 3px var(--paper);border-radius:50%;position:relative}.ds-rail__dot--ok{background:var(--live)}.ds-rail__dot--active{background:var(--blue)}.ds-rail__dot--queued{background:var(--ink-6)}.ds-rail__mark{min-width:64px;font-size:var(--fs-micro);letter-spacing:.04em;color:var(--blue-ink);font-variant-numeric:tabular-nums;flex:none}.ds-rail__message{font-size:var(--fs-body);color:var(--ink-2);flex:1;line-height:1.3}.ds-rail__link:hover .ds-rail__message{color:var(--blue-ink)}.ds-rail__time{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.ds-cmp{font-family:var(--font-mono);background:var(--bg);padding:var(--space-80) var(--space-40)}.ds-cmp__inner{max-width:1100px;margin:0 auto}.ds-cmp__head{margin-bottom:var(--space-32);max-width:60ch}.ds-cmp__eyebrow{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink);margin-bottom:var(--space-12);display:block}.ds-cmp__title{font-size:var(--fs-h2);letter-spacing:var(--tracking-tight);color:var(--ink-1);margin:0;font-weight:600}.ds-cmp__scroll{border:var(--border-hairline-2);overflow-x:auto}.ds-cmp__table{border-collapse:collapse;width:100%;font-size:var(--fs-body);min-width:560px}.ds-cmp__table th,.ds-cmp__table td{padding:var(--space-16) var(--space-16);text-align:left;border-bottom:1px solid var(--hair-2);border-right:1px solid var(--hair-2);vertical-align:middle}.ds-cmp__table th:last-child,.ds-cmp__table td:last-child{border-right:none}.ds-cmp__table thead th{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);background:var(--paper-2);white-space:nowrap;font-weight:600}.ds-cmp__lead{box-shadow:inset 0 2px 0 0 var(--blue);color:var(--blue-ink)!important}.ds-cmp__col-feature{color:var(--ink-2);font-weight:500}.ds-cmp__cell-lead{background:var(--blue-soft);color:var(--ink-1);font-weight:600}.ds-cmp__yes{color:var(--ok);font-weight:600}.ds-cmp__no{color:var(--ink-6)}.ds-cmp__table tbody tr:last-child td{border-bottom:none}.ds-comprow{align-items:center;gap:var(--space-12);padding:var(--space-16);background:var(--paper);font-family:var(--font-mono);color:var(--ink-1);transition:background var(--motion);text-decoration:none;display:flex}
.ds-comprow:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-comprow:hover{background:var(--blue-soft);text-decoration:none}.ds-comprow--static{cursor:default}.ds-comprow--static:hover{background:var(--paper)}.ds-comprow__diamond{background:var(--live);flex:none;width:9px;height:9px;transform:rotate(45deg)}.ds-comprow__body{flex:1}.ds-comprow__label{color:var(--ink-1);font-size:14px;font-weight:600;display:block}.ds-comprow__sub{font-family:var(--font-prose);color:var(--ink-5);margin-top:1px;font-size:11.5px;display:block}.ds-comprow__arrow{color:var(--ink-6);font-size:13px}.ds-content{font-family:var(--font-mono);background:var(--bg);padding:var(--space-56) var(--space-40);color:var(--ink-1)}.ds-content__body{max-width:72ch;font-family:var(--font-prose);color:var(--ink-3);margin:0 auto;font-size:16px;line-height:1.65}.ds-content__body>:first-child{margin-top:0}.ds-content__body h2,.ds-content__body h3{font-family:var(--font-mono);letter-spacing:var(--tracking-tight);color:var(--ink-1);margin:var(--space-32) 0 var(--space-12);font-weight:600}.ds-content__body h2{font-size:var(--fs-h3)}.ds-content__body h3{font-size:17px}.ds-content__body p{margin:0 0 var(--space-16)}.ds-content__body ul,.ds-content__body ol{margin:0 0 var(--space-16);padding-left:var(--space-20)}.ds-content__body li{margin-bottom:var(--space-8)}.ds-content__body a{color:var(--blue-ink);border-bottom:1px solid var(--blue);text-decoration:none}.ds-content__body a:hover{color:var(--blue)}.ds-content__body blockquote{margin:var(--space-24) 0;padding-left:var(--space-20);border-left:2px solid var(--blue);color:var(--ink-2)}.ds-content__body code{font-family:var(--font-mono);background:var(--paper-2);border:var(--border-hairline);border-radius:var(--r);padding:0 var(--space-4);font-size:.9em}.ds-content__body img{border:var(--border-hairline);max-width:100%;height:auto}.ds-doccard{gap:var(--space-8);padding:var(--space-20) var(--space-16) var(--space-16);background:var(--paper);min-height:158px;font-family:var(--font-mono);color:var(--ink-1);transition:background var(--motion);flex-direction:column;text-decoration:none;display:flex}
.ds-doccard:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-doccard:hover{background:var(--blue-soft);text-decoration:none}.ds-doccard--hl{border-top:2px solid var(--blue)}.ds-doccard__top{align-items:center;gap:var(--space-8);display:flex}.ds-doccard__idx{font-size:var(--fs-micro);letter-spacing:.06em;color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-doccard__badge{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink);border:1px solid var(--blue-hi);border-radius:var(--r);padding:2px 7px;font-size:9px}.ds-doccard__diamond{background:var(--blue);flex:none;width:7px;height:7px;margin-left:auto;transform:rotate(45deg)}.ds-doccard__title{letter-spacing:-.02em;color:var(--ink-1);font-size:15.5px;font-weight:600}.ds-doccard__desc{font-family:var(--font-prose);color:var(--ink-4);flex:1;font-size:12.5px;line-height:1.5}.ds-doccard__foot{align-items:center;gap:var(--space-8);font-size:var(--fs-meta);color:var(--ink-5);border-top:1px solid var(--hair-1);padding-top:var(--space-12);font-variant-numeric:tabular-nums;display:flex}.ds-doccard__dot{color:var(--hair-3)}.ds-doccard__read{color:var(--blue-ink);margin-left:auto;font-weight:500}.ds-doccard:hover .ds-doccard__read{color:var(--blue)}.ds-doccard__arrow{transition:transform var(--motion);display:inline-block}.ds-doccard:hover .ds-doccard__arrow{transform:translate(3px)}.ds-facet{font-family:var(--font-mono);border:0;min-inline-size:0;margin:0;padding:0}.ds-facet__title{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);margin-bottom:var(--space-12);padding:0;display:block}.ds-facet__list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ds-facet__row{margin:0}.ds-facet__label-wrap,.ds-facet__link{align-items:center;gap:var(--space-12);min-height:40px;padding:var(--space-4) 0;cursor:pointer;text-decoration:none;display:flex}.ds-facet__label-wrap:active{transform:translateY(1px)}.ds-facet__label-wrap:has(input:disabled){opacity:.45;cursor:not-allowed}.ds-facet__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ds-facet__box{border:1px solid var(--hair-4);border-radius:var(--r);background:var(--paper);width:16px;height:16px;transition:background var(--motion), border-color var(--motion);flex:none;position:relative}.ds-facet__input:checked+.ds-facet__box,.ds-facet__box[data-on=true]{background:var(--blue);border-color:var(--blue)}.ds-facet__input:checked+.ds-facet__box:after,.ds-facet__box[data-on=true]:after{content:"";border:solid var(--on-blue);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.ds-facet__input:focus-visible+.ds-facet__box{outline:2px solid var(--blue);outline-offset:2px}.ds-facet__label{font-size:var(--fs-body);color:var(--ink-2);flex:1}.ds-facet__count{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-facet__link:hover .ds-facet__label{color:var(--blue-ink)}.ds-faq{font-family:var(--font-mono);background:var(--bg);padding:var(--space-56) var(--space-40);color:var(--ink-1)}.ds-faq__head{max-width:880px;margin:0 auto var(--space-24);align-items:baseline;gap:var(--space-16);border-bottom:var(--border-hairline);padding-bottom:var(--space-12);display:flex}.ds-faq__index{font-size:var(--fs-meta);color:var(--blue-ink);font-variant-numeric:tabular-nums}.ds-faq__title{font-size:var(--fs-h2);letter-spacing:var(--tracking-tight);margin:0;font-weight:600}.ds-faq__tail{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);margin-left:auto}.ds-faq__list{border-top:var(--border-hairline);max-width:880px;margin:0 auto}.ds-faq__item{border-bottom:var(--border-hairline)}.ds-faq__q{align-items:center;gap:var(--space-16);padding:var(--space-20) var(--space-4);cursor:pointer;color:var(--ink-1);font-size:15px;list-style:none;display:flex}.ds-faq__q::-webkit-details-marker{display:none}.ds-faq__q:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-faq__idx{font-size:var(--fs-micro);color:var(--blue-ink);font-variant-numeric:tabular-nums}.ds-faq__q-text{flex:1}.ds-faq__caret{color:var(--ink-5);transition:transform var(--motion), color var(--motion)}.ds-faq__item[open] .ds-faq__caret{color:var(--blue);transform:rotate(90deg)}.ds-faq__a{padding:0 var(--space-4) var(--space-20) calc(var(--fs-micro) + var(--space-16) + var(--space-4))}.ds-faq__a p{max-width:64ch;font-family:var(--font-prose);color:var(--ink-4);margin:0;font-size:15px;line-height:1.6}.ds-drawer{font-family:var(--font-mono);background:var(--paper);border:var(--border-hairline-2);border-radius:var(--r);color:var(--ink-1);overflow:hidden}.ds-drawer__head{align-items:baseline;gap:var(--space-16);padding:var(--space-16) var(--space-20);border-bottom:var(--border-hairline-2);display:flex}.ds-drawer__title{font-size:var(--fs-h3);letter-spacing:var(--tracking-tight);margin:0;font-weight:600}.ds-drawer__tail{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);font-variant-numeric:tabular-nums;margin-left:auto}.ds-drawer__groups{flex-direction:column;display:flex}.ds-drawer__group{border-bottom:var(--border-hairline)}.ds-drawer__group:last-child{border-bottom:0}.ds-drawer__summary{align-items:center;gap:var(--space-12);min-height:40px;padding:var(--space-12) var(--space-20);cursor:pointer;list-style:none;display:flex}.ds-drawer__summary::-webkit-details-marker{display:none}.ds-drawer__summary:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.ds-drawer__heading{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);flex:1}.ds-drawer__group-tail{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-drawer__caret{color:var(--ink-5);transition:transform var(--motion), color var(--motion)}.ds-drawer__group[open] .ds-drawer__caret{color:var(--blue);transform:rotate(90deg)}.ds-drawer__list{padding:0 var(--space-20) var(--space-12);gap:var(--space-4);flex-direction:column;margin:0;list-style:none;display:flex}.ds-drawer__row{margin:0}.ds-drawer__opt{align-items:center;gap:var(--space-12);min-height:40px;padding:var(--space-4) 0;cursor:pointer;text-decoration:none;display:flex}.ds-drawer__opt:active{transform:translateY(1px)}.ds-drawer__opt:has(input:disabled){opacity:.45;cursor:not-allowed}.ds-drawer__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ds-drawer__box{border:1px solid var(--hair-4);border-radius:var(--r);background:var(--paper);width:16px;height:16px;transition:background var(--motion), border-color var(--motion);flex:none;position:relative}.ds-drawer__input:checked+.ds-drawer__box,.ds-drawer__box[data-on=true]{background:var(--blue);border-color:var(--blue)}.ds-drawer__input:checked+.ds-drawer__box:after,.ds-drawer__box[data-on=true]:after{content:"";border:solid var(--on-blue);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.ds-drawer__input:focus-visible+.ds-drawer__box{outline:2px solid var(--blue);outline-offset:2px}.ds-drawer__label{font-size:var(--fs-body);color:var(--ink-2);flex:1}.ds-drawer__count{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-drawer__opt:hover .ds-drawer__label{color:var(--blue-ink)}.ds-foot{background:var(--notif);color:var(--on-blue-soft);font-family:var(--font-mono);position:relative;overflow:hidden}.ds-foot>*{z-index:1;position:relative}.ds-foot__telemetry{border-bottom:1px solid var(--notif-hair);letter-spacing:.08em;text-transform:uppercase;color:var(--foot-dim);box-sizing:border-box;align-items:center;gap:16px;max-width:1320px;height:40px;margin:0 auto;padding:0 24px;font-size:10px;display:flex;overflow:hidden}.ds-foot__tel-cell{white-space:nowrap;flex:none;align-items:center;gap:7px;display:inline-flex}
.ds-foot__tel-cell:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-foot__tel-cell b{color:var(--foot-chip-text);font-variant-numeric:tabular-nums;font-weight:600}.ds-foot__tel-cell--link{color:#9cb3e0;text-decoration:none}.ds-foot__tel-cell--link:hover{color:var(--on-blue)}.ds-foot__tel-spacer{margin-left:auto}.ds-foot__tel-regions{flex:none;gap:6px;display:flex}.ds-foot__region{letter-spacing:.06em;color:var(--on-blue-accent);border:1px solid var(--notif-hair);border-radius:var(--r);font-variant-numeric:tabular-nums;align-items:center;gap:5px;padding:3px 7px;font-size:9px;display:inline-flex}.ds-foot__region-dot{background:var(--live);width:4px;height:4px;box-shadow:0 0 6px var(--live);border-radius:50%}.ds-foot__inner{box-sizing:border-box;grid-template-columns:minmax(0,1.3fr) minmax(0,3fr);gap:40px;max-width:1320px;margin:0 auto;padding:40px 24px 32px;display:grid}.ds-foot__brand{align-items:center;text-decoration:none;display:inline-flex}
.ds-foot__brand:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-foot__logo{filter:brightness(0)invert();width:auto;height:27px;display:block}.ds-foot__tagline{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--on-blue);margin:16px 0 0;font-size:15px;font-weight:600}.ds-foot__tm{vertical-align:super;color:var(--on-blue-accent);margin-left:1px;font-size:9px;font-weight:500}.ds-foot__oneliner{font-family:var(--font-mono);letter-spacing:.01em;color:var(--on-blue-soft);max-width:330px;margin:10px 0 0;font-size:12.5px;font-weight:300;line-height:1.65}.ds-foot__cta{font-family:var(--font-mono);letter-spacing:.02em;color:var(--notif);background:var(--on-blue);margin-top:20px;padding:10px 16px;border-radius:var(--r);font-size:12.5px;font-weight:600;text-decoration:none;transition:background .12s;display:inline-block}
.ds-foot__cta:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-foot__cta:hover{background:var(--blue-soft)}.ds-foot__social{gap:10px;margin:24px 0 0;padding:0;list-style:none;display:flex}.ds-foot__social-link{width:32px;height:32px;color:var(--on-blue-soft);border:1px solid var(--notif-hair);border-radius:var(--r);justify-content:center;align-items:center;transition:color .12s,border-color .12s;display:inline-flex}
.ds-foot__social-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-foot__social-link:hover{color:var(--on-blue);border-color:var(--on-blue-accent)}.ds-foot__groups{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 24px;display:grid}.ds-foot__group-head{border-bottom:1px solid var(--notif-hair);align-items:baseline;gap:8px;margin:0 0 14px;padding-bottom:10px;display:flex}.ds-foot__group-num{font-family:var(--font-mono);letter-spacing:.06em;color:var(--on-blue-accent);font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.ds-foot__group-sep{font-family:var(--font-mono);color:var(--foot-dim);font-size:10px;font-weight:600}.ds-foot__group-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--on-blue);font-size:10px;font-weight:600}.ds-foot__group-links{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ds-foot__group-links a{font-family:var(--font-mono);letter-spacing:.01em;color:var(--on-blue-soft);font-size:12.5px;font-weight:300;text-decoration:none;transition:color .12s}.ds-foot__group-links a:hover{color:var(--on-blue)}.ds-foot__rails{box-sizing:border-box;flex-wrap:wrap;gap:14px 40px;max-width:1320px;margin:0 auto;padding:4px 24px 20px;display:flex}.ds-foot__rail{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ds-foot__rail-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--foot-dim);font-size:9.5px;font-weight:600}.ds-foot__brace{color:var(--on-blue-accent)}.ds-foot__chips{flex-wrap:wrap;gap:6px;display:flex}.ds-foot__chip{font-family:var(--font-mono);letter-spacing:.05em;color:var(--foot-chip-text);border:1px solid var(--notif-hair);border-radius:var(--r);font-variant-numeric:tabular-nums;padding:4px 9px;font-size:9.5px;text-decoration:none}
.ds-foot__chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-foot__chip--link{color:var(--on-blue-accent);transition:color .12s,border-color .12s}.ds-foot__chip--link:hover{color:var(--on-blue);border-color:var(--on-blue-accent)}.ds-foot__bar{border-top:1px solid var(--notif-hair);box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:16px;max-width:1320px;margin:0 auto;padding:16px 24px;display:flex}.ds-foot__copy{font-family:var(--font-mono);letter-spacing:.04em;color:var(--foot-dim);font-size:11px}.ds-foot__legal{flex-wrap:wrap;gap:16px;margin:0;padding:0;list-style:none;display:flex}.ds-foot__legal a{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--on-blue-soft);font-size:11px;text-decoration:none;transition:color .12s}.ds-foot__legal a:hover{color:var(--on-blue)}.ds-foot__status{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-blue-soft);align-items:center;gap:8px;margin-left:auto;font-size:11px;text-decoration:none;transition:color .12s;display:inline-flex}
.ds-foot__status:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-foot__status:hover{color:var(--on-blue)}.ds-foot__dot{background:var(--live);width:6px;height:6px;box-shadow:0 0 8px var(--live);border-radius:50%;flex:none}.ds-foot{padding-bottom:clamp(54px,9vw,128px)}.ds-foot__wordmark{z-index:0;text-align:center;font-family:var(--font-mono);letter-spacing:-.05em;color:#0c2b6b;white-space:nowrap;pointer-events:none;user-select:none;font-size:clamp(76px,18vw,300px);font-weight:700;line-height:.78;position:absolute;bottom:-.3em;left:0;right:0;mask-image:linear-gradient(#000 18%,#0000 64%)}.ds-incl{font-family:var(--font-mono);border:var(--border-hairline-2);border-radius:var(--r);background:var(--paper);margin:0;padding:0;list-style:none}.ds-incl__row{align-items:flex-start;gap:var(--space-12);padding:var(--space-16) var(--space-20);border-bottom:var(--border-hairline);display:flex}.ds-incl__row:last-child{border-bottom:0}.ds-incl__check{width:16px;height:16px;font-size:var(--fs-body);color:var(--ok);flex:none;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.ds-incl__body{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.ds-incl__label{font-size:var(--fs-body);color:var(--ink-1)}.ds-incl__sub{font-size:var(--fs-meta);color:var(--ink-5)}.ds-incl__tag{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);flex:none}.ds-loadmore{justify-content:center;align-items:center;gap:var(--space-8);width:100%;font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-3);background:var(--paper);border:1px dashed var(--hair-3);border-radius:var(--r);padding:var(--space-16);cursor:pointer;transition:border-color var(--motion), color var(--motion), background var(--motion);font-variant-numeric:tabular-nums;text-decoration:none;display:flex}.ds-loadmore:active{transform:translateY(1px)}.ds-loadmore:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.ds-loadmore:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-loadmore:hover{border-color:var(--blue);color:var(--blue-ink);background:var(--blue-soft)}.ds-loadmore__caret{transition:transform var(--motion)}.ds-loadmore:hover .ds-loadmore__caret{transform:translateY(2px)}.ds-logos{font-family:var(--font-mono);background:var(--bg)}.ds-logos__inner{border-top:var(--border-hairline);border-bottom:var(--border-hairline);align-items:stretch;max-width:1340px;margin:0 auto;display:flex}.ds-logos__eyebrow{padding:0 var(--space-24);border-right:var(--border-hairline);min-height:72px;font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink);flex:none;align-items:center;display:flex}.ds-logos__row{align-items:center;gap:var(--space-40);padding:0 var(--space-24);flex:1;display:flex;overflow-x:auto}.ds-logos__cell{flex:none;align-items:center;display:flex}.ds-logos__img{width:auto;height:26px;display:block}.ds-logos.is-gray .ds-logos__img{filter:grayscale();opacity:.66;transition:filter var(--motion), opacity var(--motion)}.ds-logos.is-gray .ds-logos__cell:hover .ds-logos__img{filter:grayscale(0);opacity:1}html[data-theme="dark"] .ds-logos__img{filter:invert(1)}html[data-theme="dark"] .ds-logos.is-gray .ds-logos__img{filter:grayscale() invert(1);opacity:.66}html[data-theme="dark"] .ds-logos.is-gray .ds-logos__cell:hover .ds-logos__img{filter:grayscale(0) invert(1);opacity:1}.ds-mediaframe{margin:0}.ds-mediaframe__frame{aspect-ratio:16/10;border:1px solid var(--surface-dark-2);border-radius:var(--r);background:#0a0d14;width:100%;position:relative;overflow:hidden}.ds-mediaframe__media{object-fit:cover;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.ds-mediaframe__chip{z-index:2;font-family:var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--mediaframe-ink);border-radius:var(--r);pointer-events:none;background:#0a0d14a8;border:1px solid var(--surface-dark-2);align-items:center;gap:7px;padding:3px 9px;font-size:9px;display:flex;position:absolute;bottom:11px;left:12px}.ds-mediaframe__play{border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent var(--mediaframe-ink);width:0;height:0}.ds-nav,.ds-nav *,.ds-nav :before,.ds-nav :after{box-sizing:border-box}.ds-nav{z-index:50;background:var(--nav);border-bottom:1px solid var(--nav-hair);font-family:var(--font-mono);position:sticky;top:0}.ds-nav__bar{box-sizing:border-box;align-items:center;gap:20px;max-width:1320px;height:52px;margin:0 auto;padding:0 20px;display:flex}.ds-nav__brand{color:inherit;flex:none;align-items:center;gap:10px;text-decoration:none;display:flex}
.ds-nav__brand:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-nav__logo{filter:brightness(0)invert();width:auto;height:30px;display:block}.ds-nav__center{align-items:center;gap:15px;margin:0 auto;display:flex}.ds-nav__trig{height:52px;font-family:var(--font-mono);color:var(--nav-text-dim);cursor:pointer;letter-spacing:.01em;background:0 0;border:0;align-items:center;gap:7px;padding:0 3px;font-size:13px;font-weight:500;display:flex;position:relative}.ds-nav__trig:active{transform:translateY(1px)}.ds-nav__trig:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.ds-nav__trig:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-nav__trig:hover,.ds-nav__trig.is-open{color:var(--on-blue)}.ds-nav__tnum{font-family:var(--font-mono);letter-spacing:.06em;color:var(--nav-tnum);font-size:10px;font-weight:600;transition:color .14s}.ds-nav__trig:hover .ds-nav__tnum,.ds-nav__trig.is-open .ds-nav__tnum{color:var(--nav-tnum-accent)}.ds-nav__trig:after{content:"";background:var(--on-blue);height:2px;transition:transform .16s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.ds-nav__trig.is-open:after{transform:scaleX(1)}.ds-nav__chev{transition:transform .18s}.ds-nav__trig.is-open .ds-nav__chev{transform:rotate(180deg)}.ds-nav__right{flex:none;align-items:center;gap:12px;display:flex}.ds-nav__ghost{font-family:var(--font-mono);color:var(--on-blue);background:0 0;border:1px solid var(--white-50);padding:9px 16px;border-radius:var(--r);font-size:13.5px;font-weight:600;text-decoration:none;transition:background .12s}
.ds-nav__ghost:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-nav__ghost:hover{background:var(--white-12)}.ds-nav__cta{font-family:var(--font-mono);color:var(--nav);background:var(--on-blue);padding:10px 16px;border-radius:var(--r);font-size:13.5px;font-weight:600;text-decoration:none;transition:background .12s;position:relative;overflow:hidden}.ds-nav__cta:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .16s cubic-bezier(0.25,1,0.5,1)}.ds-nav__cta:hover:after{transform:scaleX(1)}
.ds-nav__cta:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-nav__cta:hover{background:var(--blue-soft)}.ds-nav__burger{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:5px;margin-left:auto;padding:8px;display:none}.ds-nav__burger:active{transform:translateY(1px)}.ds-nav__burger:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.ds-nav__burger:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-nav__burger span{transform-origin:0;background:var(--on-blue);width:24px;height:2px;transition:transform .22s,opacity .18s;display:block}.ds-nav__burger.is-open span:first-child{transform:translate(3px,6px)rotate(-45deg)scaleX(.62)}.ds-nav__burger.is-open span:nth-child(2){opacity:0;transform:scaleX(.4)}.ds-nav__burger.is-open span:nth-child(3){transform:translate(3px,-6px)rotate(45deg)scaleX(.62)}.ds-nav__panel{z-index:60;background:var(--nav-panel);border:1px solid var(--nav-panel-border);max-width:calc(100vw - 32px);padding:26px 30px 24px;display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 18px 44px -10px #040a208c}.ds-nav__panel.is-open{animation:.15s ease-out ds-nav-in;display:block}.ds-nav__panel--platform{width:1080px}.ds-nav__panel--solutions{width:1200px;padding:0}.ds-nav__panel--resources{width:780px}.ds-nav__panel--company{width:560px}.ds-nav__panel:before,.ds-nav__panel:after{content:"";border:1.5px solid var(--blue-hi,#7fa8ff);pointer-events:none;width:10px;height:10px;position:absolute}.ds-nav__panel:before{border-bottom:0;border-right:0;top:-1px;left:-1px}.ds-nav__panel:after{border-top:0;border-left:0;bottom:-1px;right:-1px}.ds-nav__col-h{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--foot-dim);margin:0 0 12px;font-size:10px;font-weight:600}.ds-nav__mitem{color:inherit;border-bottom:1px solid var(--white-8);align-items:flex-start;gap:13px;margin:0 -10px;padding:12px 10px;text-decoration:none;transition:background .12s;display:flex}
.ds-nav__mitem:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-nav__mitem:last-child{border-bottom:0}.ds-nav__mitem:hover{background:var(--white-5)}.ds-nav__mitem:hover .ds-nav__mt{color:var(--blue-hi,#7fa8ff)}.ds-nav__icobox{color:#4d7cfe;flex:none;width:20px;height:20px;margin-top:2px}.ds-nav__icobox svg{width:100%;height:100%}.ds-nav__mt{font-family:var(--font-mono);color:var(--on-blue);letter-spacing:-.01em;font-size:13.5px;font-weight:600;line-height:1.3;transition:color .12s;display:block}.ds-nav__md{font-family:var(--font-mono);color:var(--foot-dim);margin:4px 0 0;font-size:11.5px;line-height:1.5;display:block}.ds-nav__simple{font-family:var(--font-mono);color:var(--nav-text-dim);border-bottom:1px solid var(--white-8);margin:0 -10px;padding:12px 10px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:block}
.ds-nav__simple:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-nav__simple:last-child{border-bottom:0}.ds-nav__simple:hover{color:var(--on-blue);background:var(--white-5)}.ds-nav__seeall{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--blue-hi,#7fa8ff);align-items:center;gap:7px;margin-top:12px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}
.ds-nav__seeall:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-nav__pcol-divide{border-right:1px solid var(--white-8);margin-right:-15px;padding-right:30px}.ds-nav__sol .ds-nav__col-h{margin:0 0 12px}.ds-nav__sol-rail>.ds-nav__col-h{padding:0 24px}.ds-nav__sol-head .ds-nav__col-h{margin:0}.ds-nav__mobile{background:var(--drawer);border-top:1px solid var(--nav-hair);flex-direction:column;padding:10px 20px 20px;display:none}.ds-nav__mobile.is-open{max-height:calc(100vh - 96px);display:flex;overflow-y:auto}.ds-nav__mlist{margin:0;padding:0;list-style:none}.ds-nav__mrow{border:0;border-bottom:1px solid var(--nav-hair);text-align:left;color:var(--on-blue);cursor:pointer;background:0 0;align-items:center;gap:14px;width:100%;padding:15px 4px;text-decoration:none;display:flex}.ds-nav__mrow:active{transform:translateY(1px)}.ds-nav__mrow:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.ds-nav__mrow:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-nav__mnum{font-family:var(--font-mono);letter-spacing:.06em;color:var(--on-blue-accent);font-size:11px;font-weight:600}.ds-nav__mlabel{font-family:var(--font-mono);letter-spacing:.01em;font-size:15px;font-weight:600}.ds-nav__mcaret{color:var(--white-50);margin-left:auto;transition:transform .2s,color .2s}.ds-nav__mrow:hover .ds-nav__mcaret{color:var(--on-blue)}.ds-nav__mgroup.is-open .ds-nav__mcaret{color:var(--on-blue);transform:rotate(90deg)}.ds-nav__mgroup.is-open .ds-nav__mlabel{color:var(--blue-hi)}.ds-nav__msub{border-left:1px solid var(--nav-hair);margin:2px 0 12px 8px;padding:4px 0 4px 20px;display:none}.ds-nav__mgroup.is-open .ds-nav__msub{display:block}.ds-nav__msub-h{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nav-ash);opacity:.6;margin:14px 0 4px;font-size:9.5px;font-weight:600}.ds-nav__msub-group:first-child .ds-nav__msub-h{margin-top:6px}.ds-nav__msub-link{font-family:var(--font-mono);color:var(--nav-ash);padding:7px 0;font-size:13px;text-decoration:none;display:block}
.ds-nav__msub-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-nav__msub-link:hover{color:var(--on-blue)}.ds-nav__msub-all{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--blue-hi);align-items:center;gap:6px;margin-top:12px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}
.ds-nav__msub-all:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-nav__mcta{flex-direction:column;gap:10px;margin-top:16px;display:flex}.ds-nav__mcta .ds-nav__ghost,.ds-nav__mcta .ds-nav__cta{text-align:center;padding:13px 16px}.ds-nav__mstatus{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--on-blue-soft);align-items:center;gap:8px;margin-top:20px;font-size:9.5px;display:flex}.ds-nav__dot{background:var(--live);width:6px;height:6px;box-shadow:0 0 8px var(--live);border-radius:50%}.ds-notif{font-family:var(--font-mono);background:var(--notif);border-bottom:1px solid var(--notif-hair);align-items:center;gap:var(--space-12);height:36px;padding:0 var(--space-24);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--foot-dim);box-sizing:border-box;max-width:100%;display:flex;overflow:hidden}.ds-notif__status{align-items:center;gap:var(--space-8);color:var(--on-blue-soft);white-space:nowrap;display:inline-flex}
.ds-notif__status:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-notif__status--link{letter-spacing:inherit;text-transform:inherit;text-decoration:none}.ds-notif__status--link:hover{color:var(--on-blue);text-underline-offset:2px;text-decoration:underline}.ds-notif__dot{background:var(--live);width:6px;height:6px;box-shadow:0 0 8px var(--live);border-radius:50%}.ds-notif__sep{color:var(--notif-hair)}.ds-notif__msg{color:var(--on-blue-soft);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ds-notif__link{color:var(--on-blue);border-bottom:1px solid var(--blue);text-decoration:none}
.ds-notif__link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-notif__link:hover{border-bottom-color:var(--on-blue)}.ds-notif__readouts{margin-left:auto;margin-right:var(--space-8);gap:var(--space-20);white-space:nowrap;flex:none;display:flex}.ds-notif__readouts b{color:var(--on-blue-soft);font-variant-numeric:tabular-nums;font-weight:500}.ds-opcard{padding:var(--space-20);border:var(--border-hairline-2);border-radius:var(--r);background:var(--paper);font-family:var(--font-mono);color:var(--ink-1);transition:background var(--motion), border-color var(--motion);flex-direction:column;text-decoration:none;display:flex}.ds-opcard:hover{background:var(--paper-2);border-color:var(--hair-4)}.ds-opcard:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-opcard__head{align-items:center;gap:var(--space-8);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);display:flex}.ds-opcard__dot{background:var(--ink-6);border-radius:50%;flex:none;width:7px;height:7px}.ds-opcard__dot--live,.ds-opcard__dot--available,.ds-opcard__dot--operational,.ds-opcard__dot--linked{background:var(--live)}.ds-opcard__code{color:var(--ink-4);font-variant-numeric:tabular-nums;margin-left:auto}.ds-opcard__title{margin:var(--space-12) 0 0;font-size:var(--fs-h3);letter-spacing:var(--tracking-tight);color:var(--ink-1);font-weight:600;line-height:1.15}.ds-opcard__summary{margin:var(--space-8) 0 0;font-family:var(--font-prose);color:var(--ink-4);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.ds-opcard__tags{gap:var(--space-8);margin-top:var(--space-16);flex-wrap:wrap;display:flex}.ds-opcard__tag{padding:var(--space-2) var(--space-8);border:1px solid var(--hair-3);border-radius:var(--r);font-size:var(--fs-micro);letter-spacing:.04em;color:var(--ink-3);align-items:center;display:inline-flex}.ds-opcard__telemetry{gap:var(--space-4) var(--space-20);margin-top:var(--space-16);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.ds-opcard__stat-label{margin-right:var(--space-4)}.ds-opcard__stat-value{color:var(--ink-2)}.ds-opcard__meter{align-items:center;gap:var(--space-8);margin-top:var(--space-16);display:flex}.ds-opcard__meter-track{gap:var(--space-2);background:var(--paper-2);border:1px solid var(--hair-3);border-radius:var(--r);padding:2px;display:inline-flex}.ds-opcard__block{background:var(--hair-3);border-radius:1px;width:6px;height:12px}.ds-opcard__block--on{background:var(--blue)}.ds-opcard__meter-value{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink);font-variant-numeric:tabular-nums}.ds-opcard__foot{justify-content:space-between;align-items:flex-end;gap:var(--space-16);margin-top:var(--space-20);padding-top:var(--space-12);border-top:1px solid var(--hair-2);display:flex}.ds-opcard__price-lead,.ds-opcard__provider{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-opcard__price-value{font-size:var(--fs-h3);letter-spacing:var(--tracking-tight);color:var(--ink-1);font-variant-numeric:tabular-nums;font-weight:600}.ds-opcard__action{font-size:var(--fs-body);color:var(--blue);white-space:nowrap;font-weight:600}.ds-plancard{background:var(--paper);border:1px solid var(--hair-2);border-radius:var(--r);font-family:var(--font-mono);color:var(--ink-1);flex-direction:column;display:flex;position:relative}.ds-plancard--featured{border-color:var(--hair-3);border-top:2px solid var(--blue)}.ds-plancard__badge{top:-1px;right:var(--space-16);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--on-blue);background:var(--blue);border-radius:var(--r);padding:4px 9px;font-size:9px;font-weight:600;position:absolute;transform:translateY(-50%)}.ds-plancard__body{padding:var(--space-24) var(--space-20) var(--space-20);flex-direction:column;display:flex}.ds-plancard__head{align-items:center;gap:var(--space-8);display:flex}.ds-plancard__diamond{background:var(--ink-5);flex:none;width:9px;height:9px;transform:rotate(45deg)}.ds-plancard--featured .ds-plancard__diamond{background:var(--blue)}.ds-plancard__name{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--ink-1);margin:0;font-size:17px;font-weight:600}.ds-plancard__tagline{font-family:var(--font-prose);color:var(--ink-5);margin-top:var(--space-4);font-size:12.5px}.ds-plancard__amount{align-items:baseline;gap:var(--space-4);margin-top:var(--space-16);display:flex}.ds-plancard__price{letter-spacing:-.03em;color:var(--ink-1);font-variant-numeric:tabular-nums;font-size:36px;font-weight:600}.ds-plancard__period{color:var(--ink-6);font-size:13px}.ds-plancard__sub{font-family:var(--font-prose);color:var(--warn);margin-top:var(--space-4);min-height:17px;font-size:12px}.ds-plancard__actions{gap:var(--space-8);margin-top:var(--space-16);flex-direction:column;display:flex}.ds-plancard__cta{justify-content:center;align-items:center;gap:var(--space-8);font-family:var(--font-mono);padding:11px var(--space-16);border-radius:var(--r);border:1px solid var(--blue);color:var(--blue-ink);background:var(--paper);transition:background var(--motion), color var(--motion);font-size:13px;font-weight:600;text-decoration:none;display:flex}
.ds-plancard__cta:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-plancard--featured .ds-plancard__cta{color:var(--on-blue);background:var(--blue)}.ds-plancard__cta:hover{background:var(--blue);color:var(--on-blue);text-decoration:none}.ds-plancard__aws{justify-content:center;align-items:center;gap:var(--space-8);font-family:var(--font-prose);padding:10px var(--space-16);border-radius:var(--r);border:1px solid var(--hair-3);color:var(--ink-3);background:var(--paper);transition:background var(--motion);font-size:12.5px;font-weight:500;text-decoration:none;display:flex}
.ds-plancard__aws:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-plancard__aws:hover{background:var(--paper-2);text-decoration:none}.ds-plancard__aws-mark{font-family:var(--font-mono);color:var(--warn);letter-spacing:.02em;font-size:11px;font-weight:700}.ds-plancard__terms{margin-top:var(--space-12);padding-top:var(--space-12);border-top:1px solid var(--hair-1);font-size:var(--fs-label);color:var(--ink-6);justify-content:space-between;align-items:center;display:flex}.ds-plancard__terms-k{text-transform:uppercase;letter-spacing:.06em}.ds-plancard__terms-v{color:var(--ink-3);font-variant-numeric:tabular-nums}.ds-plancard__features{margin:var(--space-16) 0 0;gap:var(--space-8);flex-direction:column;padding:0;list-style:none;display:flex}.ds-plancard__features li{gap:var(--space-8);align-items:flex-start;display:flex}.ds-plancard__check{color:var(--ok);flex:none;margin-top:1px;font-size:12px;font-weight:700}.ds-plancard__feature-text{font-family:var(--font-prose);color:var(--ink-2);font-size:12.5px;line-height:1.45}.ds-pricepanel{border:1px solid var(--hair-3);border-radius:var(--r);background:var(--paper);font-family:var(--font-mono);color:var(--ink-1);overflow:hidden}.ds-pricepanel__status{padding:var(--space-8) var(--space-20);background:var(--ink-1);color:var(--paper);border-bottom:1px solid var(--hair-3);justify-content:space-between;align-items:center;display:flex}.ds-pricepanel__state{align-items:center;gap:var(--space-8);font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;display:inline-flex}.ds-pricepanel__dot{background:var(--live);border-radius:50%;flex:none;width:7px;height:7px}.ds-pricepanel__code{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-hi);font-variant-numeric:tabular-nums}.ds-pricepanel__body{padding:var(--space-20)}.ds-pricepanel__note{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);display:block}.ds-pricepanel__price{margin:var(--space-4) 0 0;font-size:var(--fs-h2);letter-spacing:var(--tracking-tight);color:var(--ink-1);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.05}.ds-pricepanel__actions{gap:var(--space-12);margin-top:var(--space-16);flex-wrap:wrap;display:flex}.ds-pricepanel__fine{margin:var(--space-12) 0 0;font-family:var(--font-prose);color:var(--ink-5);font-size:12px;line-height:1.5}.ds-prim{gap:var(--space-12);min-height:40px;padding:var(--space-20);border:var(--border-hairline-2);border-radius:var(--r);background:var(--paper);font-family:var(--font-mono);color:var(--ink-1);transition:background var(--motion), border-color var(--motion);flex-direction:column;text-decoration:none;display:flex}.ds-prim:hover{background:var(--paper-2);border-color:var(--hair-4)}.ds-prim:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-prim--active{border-color:var(--hair-4);border-top:2px solid var(--blue);background:var(--blue-soft)}.ds-prim__top{justify-content:space-between;align-items:center;gap:var(--space-8);display:flex}.ds-prim__mark{min-width:28px;height:28px;padding:0 var(--space-8);border:1px solid var(--hair-3);border-radius:var(--r);font-size:var(--fs-meta);letter-spacing:.04em;color:var(--blue-ink);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.ds-prim--active .ds-prim__mark{border-color:var(--blue);background:var(--paper)}.ds-prim__count{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);font-variant-numeric:tabular-nums}.ds-prim__label{font-size:var(--fs-h3);letter-spacing:var(--tracking-tight);color:var(--ink-1);font-weight:600;line-height:1.1}.ds-prim__descriptor{font-family:var(--font-prose);font-size:var(--fs-body);color:var(--ink-4);line-height:1.35}.ds-prim__action{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue);margin-top:auto;font-weight:600}.ds-prim:hover .ds-prim__action{color:var(--blue-2)}.ds-rescard{--rescard-accent:var(--blue);gap:var(--space-16);padding:var(--space-16);background:var(--paper);border:1px solid var(--hair-2);border-radius:var(--r);font-family:var(--font-mono);color:var(--ink-1);transition:border-color var(--motion), background var(--motion);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;text-decoration:none;display:grid}
.ds-rescard:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-rescard:hover{border-color:var(--blue-hi);background:var(--blue-soft);text-decoration:none}.ds-rescard--article{--rescard-accent:var(--blue)}.ds-rescard--case-study{--rescard-accent:var(--ok)}.ds-rescard--guide{--rescard-accent:var(--warn)}.ds-rescard__body{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.ds-rescard__head{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.ds-rescard__badge{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-3);border:1px solid var(--hair-3);border-radius:var(--r);align-items:center;gap:6px;padding:2px 8px;font-size:9px;font-weight:600;display:inline-flex}.ds-rescard__marker{background:var(--rescard-accent);border-radius:50%;flex:none;width:6px;height:6px}.ds-rescard__date{font-size:var(--fs-micro);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-6);font-variant-numeric:tabular-nums}.ds-rescard__title{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--ink-1);font-size:15px;font-weight:600;line-height:1.3}.ds-rescard:hover .ds-rescard__title{color:var(--blue-ink)}.ds-rescard__excerpt{font-family:var(--font-prose);color:var(--ink-4);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.ds-rescard__aside{align-items:flex-end;gap:var(--space-8);white-space:nowrap;flex-direction:column;flex:none;display:flex}.ds-rescard__meta{font-size:var(--fs-micro);color:var(--ink-5);text-transform:uppercase;letter-spacing:.04em;font-variant-numeric:tabular-nums}.ds-rescard__arrow{color:var(--ink-7);transition:transform var(--motion), color var(--motion);font-size:14px}.ds-rescard:hover .ds-rescard__arrow{color:var(--blue);transform:translate(3px)}.ds-review{align-items:center;gap:var(--space-8);font-family:var(--font-mono);font-size:var(--fs-body);color:var(--ink-3);display:inline-flex}.ds-review__summary{align-items:center;gap:var(--space-8);cursor:pointer;list-style:none;display:inline-flex}
.ds-review__summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-review__summary::-webkit-details-marker{display:none}.ds-review__stars{font-size:14px;line-height:1;display:inline-block;position:relative}.ds-review__stars-empty{color:var(--ink-6)}.ds-review__stars-fill{color:var(--warn);white-space:nowrap;position:absolute;inset:0;overflow:hidden}.ds-review__value{color:var(--ink-1);font-variant-numeric:tabular-nums;font-weight:600}.ds-review__more{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-review--toggle[open] .ds-review__more{color:var(--blue-ink)}.ds-review__panel{width:256px;margin-top:var(--space-8);padding:var(--space-12);background:var(--paper);border:1px solid var(--hair-3);border-top:2px solid var(--blue);border-radius:var(--r)}.ds-review__line{font-family:var(--font-prose);color:var(--ink-3);margin:0;font-size:13px;line-height:1.5}.ds-review__line-strong{color:var(--ink-1);font-weight:600}.ds-review__link{margin-top:var(--space-8);font-family:var(--font-mono);font-size:var(--fs-body);color:var(--blue-ink);text-decoration:none;display:inline-block}
.ds-review__link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-review__link:hover{text-decoration:underline}.ds-seclabel{font-family:var(--font-mono)}.ds-seclabel__coord{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-6);font-variant-numeric:tabular-nums}.ds-seclabel--section{border-top:var(--border-hairline-2);padding-top:var(--space-16)}.ds-seclabel__row{justify-content:space-between;align-items:baseline;gap:var(--space-12);flex-wrap:wrap;display:flex}.ds-seclabel__lead{align-items:baseline;gap:var(--space-16);display:inline-flex}.ds-seclabel__index{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);color:var(--blue);font-variant-numeric:tabular-nums}.ds-seclabel__title{font-size:var(--fs-h3);letter-spacing:var(--tracking-tight);color:var(--ink-1);margin:0;font-weight:600}.ds-seclabel__sub{margin:var(--space-8) 0 0;font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-meter{align-items:center;gap:var(--space-8);font-family:var(--font-mono);display:inline-flex}.ds-meter__track{gap:var(--space-2);background:var(--paper-2);border:1px solid var(--hair-3);border-radius:var(--r);padding:2px;display:inline-flex}.ds-meter__block{background:var(--hair-3);border-radius:1px;width:6px;height:12px}.ds-meter__block--on{background:var(--blue)}.ds-meter__value{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink);font-variant-numeric:tabular-nums}.ds-sort{align-items:center;gap:var(--space-12);font-family:var(--font-mono);flex-wrap:wrap;display:inline-flex}.ds-sort__label{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-sort__set{background:var(--hair-3);border:1px solid var(--hair-3);border-radius:var(--r);gap:1px;display:inline-flex;overflow:hidden}.ds-sort__btn{font-family:var(--font-mono);font-size:var(--fs-body);padding:var(--space-8) var(--space-16);background:var(--paper);color:var(--ink-4);cursor:pointer;white-space:nowrap;transition:background var(--motion), color var(--motion);border:0;line-height:1}.ds-sort__btn:active{transform:translateY(1px)}.ds-sort__btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.ds-sort__btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-sort__btn:hover{background:var(--paper-2);color:var(--ink-2)}.ds-sort__btn--on,.ds-sort__btn--on:hover{background:var(--ink-1);color:var(--on-blue)}.ds-speclist{font-family:var(--font-mono);border-top:1px solid var(--hair-2);margin:0}.ds-speclist__row{border-bottom:1px solid var(--hair-2)}.ds-speclist__label{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-speclist__value{color:var(--ink-1);font-variant-numeric:tabular-nums;margin:0}.ds-speclist--row .ds-speclist__row{justify-content:space-between;align-items:baseline;gap:var(--space-16);padding:var(--space-12) var(--space-20);display:flex}.ds-speclist--row .ds-speclist__value{font-size:var(--fs-body);text-align:right;font-weight:600}.ds-speclist--stack .ds-speclist__row{padding:var(--space-16) var(--space-20)}.ds-speclist--stack .ds-speclist__value{margin-top:var(--space-4);font-size:var(--fs-body)}.ds-stats{font-family:var(--font-mono);background:var(--bg);padding:var(--space-56) var(--space-40);color:var(--ink-1)}.ds-stats__head{max-width:1340px;margin:0 auto var(--space-24)}.ds-stats__eyebrow{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink);display:block}.ds-stats__grid{background:var(--hair-3);border:1px solid var(--hair-3);grid-template-columns:repeat(4,1fr);gap:1px;max-width:1340px;margin:0 auto;display:grid}.ds-stats__cell{gap:var(--space-8);padding:var(--space-24);background:var(--paper);flex-direction:column;display:flex;position:relative}.ds-stats__idx{top:var(--space-16);right:var(--space-16);font-size:var(--fs-micro);color:var(--blue-ink);font-variant-numeric:tabular-nums;position:absolute}.ds-stats__label{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-stats__value{color:var(--blue-ink);font-variant-numeric:tabular-nums;font-size:clamp(28px,4vw,40px);font-weight:600;line-height:1}.ds-stats__sub{font-size:var(--fs-micro);color:var(--ink-5)}.ds-stats__meter{gap:var(--space-2);margin-top:var(--space-8);display:flex}.ds-stats__meter i{background:var(--hair-3);flex:1;height:4px}.ds-stats__meter i.f{background:var(--blue)}.ds-statstrip{grid-template-columns:repeat(var(--ds-cols,4), 1fr);background:var(--hair-3);border:var(--border-hairline-2);border-radius:var(--r);font-family:var(--font-mono);gap:1px;display:grid;overflow:hidden}.ds-statstrip__cell{background:var(--paper);padding:var(--space-24);gap:var(--space-4);flex-direction:column;display:flex}.ds-statstrip__num{font-size:var(--fs-h2);letter-spacing:var(--tracking-tight);color:var(--ink-1);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.ds-statstrip__label{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-statstrip__sub{font-size:var(--fs-meta);color:var(--ink-4)}.ds-tagrow{align-items:center;gap:var(--space-8);font-family:var(--font-mono);flex-wrap:wrap;display:flex}.ds-tagrow__label{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-tagrow--pill .ds-tagrow__tag{padding:var(--space-2) var(--space-8);border:1px solid var(--hair-3);border-radius:var(--r);font-size:var(--fs-micro);letter-spacing:.04em;color:var(--ink-3);transition:border-color var(--motion), color var(--motion);align-items:center;text-decoration:none;display:inline-flex}
.ds-tagrow__tag:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-tagrow--pill a.ds-tagrow__tag:hover{border-color:var(--hair-4);color:var(--blue-ink)}.ds-tagrow--link{gap:var(--space-4) var(--space-16)}.ds-tagrow--link .ds-tagrow__tag{font-size:var(--fs-meta);color:var(--blue-ink);text-decoration:none}.ds-tagrow--link a.ds-tagrow__tag:hover{text-decoration:underline}.ds-ttable__wrap{font-family:var(--font-mono);border:var(--border-hairline-2);border-radius:var(--r);overflow-x:auto}.ds-ttable{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.ds-ttable__caption{text-align:left;padding:var(--space-12) var(--space-16);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);border-bottom:var(--border-hairline-2)}.ds-ttable__th{text-align:left;padding:var(--space-12) var(--space-16);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5);background:var(--paper-2);border-bottom:var(--border-hairline-2);white-space:nowrap;font-weight:500}.ds-ttable__tr:not(:last-child) .ds-ttable__td{border-bottom:var(--border-hairline)}.ds-ttable__td{padding:var(--space-12) var(--space-16);font-size:var(--fs-body);color:var(--ink-2);vertical-align:top}.ds-ttable__status{align-items:center;gap:var(--space-8);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;display:inline-flex}.ds-ttable__dot{background:var(--ink-6);border-radius:50%;flex:none;width:6px;height:6px}.ds-ttable__td--ok{color:var(--ok)}.ds-ttable__td--ok .ds-ttable__dot{background:var(--live)}.ds-ttable__td--warn .ds-ttable__dot{background:var(--warn)}.ds-quotes{font-family:var(--font-mono);background:var(--bg);padding:var(--space-56) var(--space-40);color:var(--ink-1)}.ds-quotes__head{max-width:1340px;margin:0 auto var(--space-24);justify-content:space-between;align-items:flex-end;gap:var(--space-24);display:flex}.ds-quotes__eyebrow{font-size:var(--fs-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink);margin-bottom:var(--space-8);display:block}.ds-quotes__title{font-size:var(--fs-h2);letter-spacing:var(--tracking-tight);margin:0;font-weight:600}.ds-quotes__nav{gap:var(--space-8);flex:none;display:flex}.ds-quotes__arrow{background:var(--paper);border:var(--border-hairline-2);border-radius:var(--r);width:40px;height:40px;color:var(--ink-2);cursor:pointer;transition:border-color var(--motion), color var(--motion)}.ds-quotes__arrow:active{transform:translateY(1px)}.ds-quotes__arrow:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ds-quotes__arrow:hover{border-color:var(--ink-3);color:var(--ink-1)}.ds-quotes__arrow:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-quotes__rail{background:var(--hair-3);border:var(--border-hairline-2);scroll-snap-type:x mandatory;gap:1px;max-width:1340px;margin:0 auto;display:flex;overflow-x:auto}.ds-quotes__card{gap:var(--space-16);padding:var(--space-24);background:var(--paper);scroll-snap-align:start;flex-direction:column;flex:0 0 380px;margin:0;display:flex;position:relative}.ds-quotes__idx{top:var(--space-16);right:var(--space-20);font-size:var(--fs-micro);color:var(--blue-ink);font-variant-numeric:tabular-nums;position:absolute}.ds-quotes__quote{font-family:var(--font-prose);color:var(--ink-2);margin:0;font-size:16px;line-height:1.55}.ds-quotes__by{align-items:center;gap:var(--space-8);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;margin-top:auto;display:flex}.ds-quotes__dot{background:var(--live);border-radius:50%;flex:none;width:5px;height:5px}.ds-quotes__name{color:var(--ink-1)}.ds-quotes__role{color:var(--ink-5)}.ds-quotes__role:before{content:"· "}.ds-usagerow{gap:var(--space-8);min-height:150px;padding:var(--space-16);background:var(--paper);border:1px solid var(--hair-2);border-radius:var(--r);font-family:var(--font-mono);color:var(--ink-1);flex-direction:column;display:flex}
.ds-usagerow__tag{align-items:center;gap:var(--space-8);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-ink);border:1px solid var(--blue-hi);background:var(--blue-soft);border-radius:var(--r);align-self:flex-start;padding:3px 8px;font-size:9px;font-weight:600;display:inline-flex}
.ds-usagerow__dot{background:var(--blue);border-radius:50%;flex:none;width:5px;height:5px}.ds-usagerow__name{font-family:var(--font-mono);letter-spacing:-.01em;margin:var(--space-4) 0 0;color:var(--ink-1);font-size:14.5px;font-weight:600;line-height:1.25}.ds-usagerow__blurb{font-family:var(--font-prose);color:var(--ink-5);margin:0;font-size:12px;line-height:1.5}.ds-usagerow__foot{align-items:baseline;gap:var(--space-4);padding-top:var(--space-12);border-top:1px solid var(--hair-2);margin-top:auto;display:flex}.ds-usagerow__from{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-6);margin-right:var(--space-4);font-size:9px}.ds-usagerow__price{color:var(--ink-1);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.ds-usagerow__unit{color:var(--ink-6);font-size:11px}.ds-guidecard{gap:var(--space-12);padding:var(--space-20);border-radius:var(--r);min-height:150px;font-family:var(--font-mono);transition:border-color var(--motion), background var(--motion);background:var(--guidecard-dark);border:1px solid var(--surface-dark-2);flex-direction:column;text-decoration:none;display:flex}
.ds-guidecard:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-guidecard:hover{border-color:var(--blue);text-decoration:none}.ds-guidecard__top{align-items:center;gap:8px;display:flex}.ds-guidecard__kind{letter-spacing:.1em;text-transform:uppercase;color:var(--guidecard-dark);background:var(--blue-hi);border-radius:2px;padding:3px 6px;font-size:8.5px;font-weight:700}.ds-guidecard__tag{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--blue-hi);font-size:9.5px}.ds-guidecard__title{font-family:var(--font-prose);letter-spacing:-.01em;color:#eaedf3;margin:0;font-size:17px;font-weight:600;line-height:1.25}.ds-guidecard__read{font-size:var(--fs-meta);color:#8a91a1;margin-top:auto}.ds-painpoint{padding:var(--space-20);background:var(--paper);border:1px solid var(--hair-2);border-radius:var(--r);font-family:var(--font-prose);flex-direction:column;gap:9px;height:100%;display:flex}.ds-painpoint__head{justify-content:space-between;align-items:center;display:flex}.ds-painpoint__mark{border:1px solid var(--warn);background:var(--paper-2);border-radius:var(--r);justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.ds-painpoint__diamond{background:var(--warn);width:11px;height:11px;display:inline-block;transform:rotate(45deg)}.ds-painpoint__idx{font-family:var(--font-mono);letter-spacing:var(--tracking-label);color:var(--ink-5);font-size:9px}.ds-painpoint__title{font-family:var(--font-prose);letter-spacing:-.01em;color:var(--ink-1);margin:0;font-size:16px;font-weight:600;line-height:1.25}.ds-painpoint__desc{font-family:var(--font-prose);color:var(--ink-4);margin:0;font-size:13px;line-height:1.55}.ds-solutioncard{padding:var(--space-20);background:var(--paper);border:1px solid var(--hair-2);border-radius:var(--r);min-height:200px;font-family:var(--font-prose);color:var(--ink-1);flex-direction:column;gap:11px;height:100%;text-decoration:none;display:flex}
.ds-solutioncard:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-solutioncard--link{transition:border-color var(--motion), background var(--motion)}.ds-solutioncard--link:hover{border-color:var(--blue-hi);background:var(--blue-soft);text-decoration:none}.ds-solutioncard__head{justify-content:space-between;align-items:flex-start;display:flex}.ds-solutioncard__mark{border:1px solid var(--blue-hi);background:var(--blue-soft);border-radius:var(--r);justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.ds-solutioncard__chip{background:var(--blue);width:11px;height:11px;display:inline-block}.ds-solutioncard__idx{font-family:var(--font-mono);letter-spacing:var(--tracking-label);color:var(--ink-5);font-size:9px}.ds-solutioncard__title{font-family:var(--font-prose);letter-spacing:-.01em;color:var(--ink-1);margin:0;font-size:16px;font-weight:600;line-height:1.25}.ds-solutioncard__desc{font-family:var(--font-prose);color:var(--ink-4);margin:0;font-size:12.5px;line-height:1.55}.ds-solutioncard__go{border-top:1px solid var(--hair-2);font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--blue-ink);text-align:right;margin-top:auto;padding-top:11px;font-weight:500}.ds-solutioncard--link:hover .ds-solutioncard__go{color:var(--blue)}.ds-solutioncard__arrow{transition:transform var(--motion);display:inline-block}.ds-solutioncard--link:hover .ds-solutioncard__arrow{transform:translate(3px)}.ds-glancebar{grid-template-columns:repeat(var(--ds-gcols,4), minmax(0, 1fr));background:var(--hair-3);border:var(--border-hairline-2);border-radius:var(--r);font-family:var(--font-mono);gap:1px;margin:0;display:grid;overflow:hidden}.ds-glancebar__cell{background:var(--paper);padding:var(--space-20) var(--space-24);gap:var(--space-8);flex-direction:column;display:flex}.ds-glancebar__label{font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-5)}.ds-glancebar__value{letter-spacing:-.01em;color:var(--ink-1);font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:600;line-height:1.35}.ds-casecard{gap:var(--space-12);padding:var(--space-20);background:var(--paper);border:var(--border-hairline-2);border-radius:var(--r);min-height:150px;font-family:var(--font-mono);transition:border-color var(--motion);flex-direction:column;text-decoration:none;display:flex}
.ds-casecard:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-casecard:hover{border-color:var(--blue);text-decoration:none}.ds-casecard__top{align-items:center;gap:var(--space-8);display:flex}.ds-casecard__monogram{width:30px;height:30px;color:var(--blue-ink);border:1px solid var(--hair-3);background:var(--paper-2);flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.ds-casecard__company{font-size:var(--fs-meta);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-5)}.ds-casecard__title{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--ink-1);margin:0;font-size:15px;font-weight:600;line-height:1.3}.ds-casecard__foot{align-items:center;gap:var(--space-8);font-size:var(--fs-meta);color:var(--ink-5);margin-top:auto;display:flex}.ds-casecard__solution{color:var(--blue-ink)}.ds-casecard__dot{color:var(--hair-4)}.ds-video{border-radius:var(--r);background:#06102a;border:1px solid #1e2a44;margin:0;overflow:hidden}.ds-video__chrome{align-items:center;gap:var(--space-8);border-bottom:1px solid #16213c;padding:9px 13px;display:flex}.ds-video__dot{background:#2a3a5e;border-radius:50%;flex:none;width:8px;height:8px}.ds-video__dot:first-child{background:#ff5f57}.ds-video__dot:nth-child(2){background:#febc2e}.ds-video__dot:nth-child(3){background:#28c840}.ds-video__label{margin-left:var(--space-4);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue-hi);font-size:9.5px}.ds-video__len{font-family:var(--font-mono);color:var(--ink-blue-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:10px}.ds-video__stage{aspect-ratio:16/9;background-color:#0a1430;background-position:50%;background-size:cover;position:relative}.ds-video__frame{border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.ds-video__tick{z-index:1;pointer-events:none;border-color:#9fc2ff8c;width:16px;height:16px;position:absolute}.ds-video__tick--tl{border-top:2px solid;border-left:2px solid;top:8px;left:8px}.ds-video__tick--tr{border-top:2px solid;border-right:2px solid;top:8px;right:8px}.ds-video__tick--bl{border-bottom:2px solid;border-left:2px solid;bottom:8px;left:8px}.ds-video__tick--br{border-bottom:2px solid;border-right:2px solid;bottom:8px;right:8px}.ds-epcard{background:var(--paper);border:var(--border-hairline-2);border-radius:var(--r);transition:border-color var(--motion);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}
.ds-epcard:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ds-epcard:hover{border-color:var(--blue);text-decoration:none}.ds-epcard__cover{aspect-ratio:16/9;border-bottom:var(--border-hairline-2);background:var(--nav-panel);display:block;position:relative}.ds-epcard__img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.ds-epcard__badge{top:var(--space-8);left:var(--space-8);z-index:2;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--on-blue);background:var(--blue);padding:3px 8px;font-size:8.5px;font-weight:600;position:absolute}.ds-epcard__dur{bottom:var(--space-8);right:var(--space-8);z-index:2;font-family:var(--font-mono);color:var(--on-blue);font-variant-numeric:tabular-nums;background:#06102acc;padding:3px 7px;font-size:10px;position:absolute}.ds-epcard__body{gap:var(--space-8);padding:var(--space-16);flex-direction:column;flex:1;display:flex}.ds-epcard__descriptor{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-ink);font-size:9.5px}.ds-epcard__title{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--ink-1);margin:0;font-size:15px;font-weight:600;line-height:1.3}.ds-epcard__foot{justify-content:space-between;align-items:center;gap:var(--space-8);border-top:var(--border-hairline-2);padding-top:var(--space-12);font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-6);margin-top:auto;font-size:10px;display:flex}.ds-epcard__go{color:var(--blue-ink);transition:transform var(--motion)}.ds-epcard:hover .ds-epcard__go{transform:translate(3px)}@media (width<=699px){.ds-arthead{padding:var(--space-32) var(--space-24) var(--space-24)}.ds-arthead__meta{flex-direction:column}}@media (width<=699px){.ds-crumb{padding:var(--space-12) var(--space-24)}}@media (width<=767px){.ds-matrix{padding:var(--space-32) var(--space-24)}.ds-matrix__grid{grid-template-columns:1fr}.ds-matrix__row--head{display:none}.ds-matrix__cell{justify-content:space-between;gap:var(--space-16);display:flex}.ds-matrix__cell--name{background:var(--paper-2);font-size:15px}.ds-matrix__k{color:var(--ink-5);text-transform:uppercase;font-size:var(--fs-micro);letter-spacing:var(--tracking-label);display:inline}}@media (width<=1100px){.ds-cases__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=699px){.ds-cases{padding:var(--space-56) var(--space-24)}.ds-cases__grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.ds-cmdhero__sweep{animation:none}}@media (width<=640px){.ds-cmdhero__inner{padding:var(--space-24) var(--space-20) var(--space-40)}.ds-cmdhero__coord-right{display:none}}@media (width<=699px){.ds-rail{padding:var(--space-16) var(--space-20)}.ds-rail__link,.ds-rail__entry{flex-wrap:wrap}.ds-rail__message{padding-left:calc(9px + var(--space-12));flex-basis:100%;order:3}}@media (width<=699px){.ds-cmp{padding:var(--space-56) var(--space-24)}}@media (width<=699px){.ds-content{padding:var(--space-32) var(--space-24)}}@media (width<=699px){.ds-faq{padding:var(--space-32) var(--space-24)}.ds-faq__a{padding-left:var(--space-4)}}@media (width<=900px){.ds-foot__inner{grid-template-columns:minmax(0,1fr);gap:32px}.ds-foot__groups{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-foot__telemetry{gap:12px}.ds-foot__tel-regions{display:none}.ds-foot__rails{flex-direction:column;gap:12px}.ds-foot__bar{gap:12px}.ds-foot__status{margin-left:0}}@media (width<=699px){.ds-logos__inner{flex-direction:column}.ds-logos__eyebrow{min-height:0;padding:var(--space-16) var(--space-24);border-right:0;border-bottom:var(--border-hairline)}.ds-logos__row{padding:var(--space-16) var(--space-24);gap:var(--space-32)}}@media (width<=1080px){.ds-nav__center,.ds-nav__right{display:none}.ds-nav__burger{display:flex}.ds-nav__panel{display:none}}@media (width<=699px){.ds-notif{gap:var(--space-8);padding:0 var(--space-16)}.ds-notif__msg,.ds-notif__sep{display:none}.ds-notif__readouts{gap:var(--space-12)}}@media (width<=560px){.ds-rescard{grid-template-columns:minmax(0,1fr) auto}}@media (width<=767px){.ds-stats{padding:var(--space-32) var(--space-24)}.ds-stats__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1100px){.ds-statstrip{grid-template-columns:repeat(2,1fr)}}@media (width<=699px){.ds-statstrip{grid-template-columns:1fr}.ds-statstrip__cell{padding:var(--space-20)}}@media (width<=699px){.ds-quotes{padding:var(--space-32) var(--space-24)}.ds-quotes__card{flex-basis:280px}}@media (width<=1100px){.ds-glancebar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.ds-glancebar{grid-template-columns:minmax(0,1fr)}.ds-glancebar__cell{padding:var(--space-16) var(--space-20)}}

astro-island,astro-slot,astro-static-slot{display:contents}

:root{
  --ds-ink-1:#10141F; --ds-ink-2:#262C3B; --ds-ink-3:#3C4453; --ds-ink-4:#545C6E;
  --ds-ink-5:#6C7689; --ds-ink-6:#8791A2; --ds-ink-7:#A2AAB8;
  --ds-hair-1:#E9ECF2; --ds-hair-2:#E2E6EE; --ds-hair-3:#CDD3DF; --ds-hair-4:#B0B8C6;
  --ds-bg:#F7F8FA; --ds-paper:#FFFFFF; --ds-paper-2:#F3F5F8; --ds-paper-3:#EDF0F5;
  --primary-25:#F5F8FF; --primary-50:#EAF0FF; --primary-100:#DCE7FF; --primary-200:#B3CCFF; --primary-300:#7FA8FF; --primary-400:#4785FF; --primary-500:#135BFF; --primary-600:#0D46DB; --primary-700:#0B3DB0; --primary-800:#0A2E82; --primary-900:#0A2159; --primary-950:#06153A;
  --success-25:#F7FCEC; --success-50:#EEF9D6; --success-100:#DFF3B0; --success-200:#C8EA80; --success-300:#AEE24D; --success-400:#98DB2E; --success-500:#85D817; --success-600:#6BB30F; --success-700:#528A0C; --success-800:#3C6609; --success-900:#2A4707; --success-950:#172A03;
  --info-25:#EFFAFF; --info-50:#DCF4FF; --info-100:#B8E8FF; --info-200:#85D6FF; --info-300:#4CC2FF; --info-400:#24B4FF; --info-500:#0FABFF; --info-600:#0088D1; --info-700:#0069A3; --info-800:#004E7A; --info-900:#063553; --info-950:#041F33;
  --error-25:#FFF5F3; --error-50:#FFE9E4; --error-100:#FFD1C7; --error-200:#FFAD9C; --error-300:#FF8168; --error-400:#FF6142; --error-500:#FF4621; --error-600:#E42E0C; --error-700:#B62409; --error-800:#881B07; --error-900:#5C1305; --error-950:#330A02;
  --warning-25:#FFFCF0; --warning-50:#FFF6D6; --warning-100:#FFEBA8; --warning-200:#FFDE73; --warning-300:#FFD442; --warning-400:#FFCB20; --warning-500:#FFC711; --warning-600:#E0A500; --warning-700:#C77700; --warning-800:#8F5600; --warning-900:#5C3700; --warning-950:#332000;
  --status-25:#ECFBF3; --status-50:#D6F6E5; --status-100:#ABEDCB; --status-200:#79E0AC; --status-300:#52D897; --status-400:#3FD08A; --status-500:#29B575; --status-600:#1E8F5A; --status-700:#176E46; --status-800:#114E33; --status-900:#0B3322; --status-950:#061C12;
  /* semantic tokens alias the scales — update a scale var and every component + swatch follows */
  --ds-blue:var(--primary-500); --ds-blue-2:var(--primary-600); --ds-blue-ink:var(--primary-700); --ds-blue-hi:var(--primary-300);
  --ds-blue-soft:var(--primary-50); --ds-ok:var(--status-600); --ds-live:var(--status-400); --ds-warn:var(--warning-700); --ds-warning:var(--warning-500);
  --ds-success:var(--success-500); --ds-info:var(--info-500); --ds-error:var(--error-500); --ds-error-text:var(--error-700); --ds-success-text:var(--success-600); --ds-info-text:var(--info-700);
  --ds-code-text:#C7CEDE; --ds-code-bg-alt:#181D2B; --ds-code-bg:#10141F;
  /* Instrumentation — terminal/telemetry surfaces (Social Profile "command"/"terminal" templates, hero HUD chrome). Anchored to the primary-blue scale so terminal surfaces never drift off the brand shade. */
  --instrument-bg:var(--primary-950); --instrument-panel:var(--primary-900); --instrument-line:var(--primary-700);
  --instrument-text:#FFFFFF; --instrument-text-dim:var(--primary-200); --instrument-accent:var(--primary-400);
  --instrument-good:var(--status-400); --instrument-warn:var(--warning-500); --instrument-crit:var(--error-500);
  /* motion — every animation resolves to one duration token × one easing token */
  --motion-instant:100ms; --motion-fast:160ms; --motion-moderate:240ms; --motion-slow:360ms; --motion-deliberate:560ms; --motion-entrance:720ms;
  --ease-out-quart:cubic-bezier(0.25,1,0.5,1); --ease-out-quint:cubic-bezier(0.22,1,0.36,1); --ease-out-expo:cubic-bezier(0.16,1,0.3,1); --ease-in-out:cubic-bezier(0.65,0,0.35,1); --ease-in:cubic-bezier(0.7,0,0.84,0);
  /* Muted text that still clears WCAG AA (4.5:1) on --ds-bg — --ds-hair-4 was
     never meant for text (it's a divider tone) and measured ~1.9:1 there. */
  --ds-ink-muted-aa:#626C7E;
  /* Typography — every size/weight/leading/tracking on the Typography page
     resolves to one of these, the same way colour resolves to a scale var. */
  --font-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --font-sans:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --font-weight-light:300; --font-weight-regular:400; --font-weight-medium:500; --font-weight-semibold:600; --font-weight-bold:700;
  --text-heading-hero:72px; --text-heading-64:64px; --text-heading-56:56px; --text-heading-h1:48px; --text-heading-40:40px;
  --text-heading-h2:32px; --text-heading-24:24px; --text-heading-h3:20px; --text-heading-h4:16px; --text-heading-14:14px;
  --text-data-hero:42px; --text-data-large:26px; --text-data-medium:22px; --text-data-small:14px; --text-data-tiny:10.5px;
  --text-ui-button-lg:16px; --text-ui-button:14px; --text-ui-button-sm:13px; --text-ui-nav:14px; --text-ui-nav-index:10px; --text-ui-tag:10px;
  --text-body-large:16px; --text-body-default:15px; --text-body-small:13px; --text-body-tiny:12px;
  --text-label-default:10px; --text-label-small:9.5px; --text-label-tiny:9px;
  /* Responsive: the two largest heading tiers step down under 760px so a hero
     headline never forces horizontal scroll on mobile — every consumer of
     --text-heading-hero/--text-heading-h1 gets this for free. */
  --leading-92:0.92; --leading-95:0.95; --leading-100:1; --leading-105:1.05; --leading-108:1.08; --leading-110:1.1;
  --leading-115:1.15; --leading-120:1.2; --leading-130:1.3; --leading-135:1.35; --leading-155:1.55; --leading-160:1.6;
  --tracking-tightest:-0.05em; --tracking-tighter-lg:-0.04em; --tracking-tighter:-0.03em; --tracking-tight:-0.02em; --tracking-snug:-0.01em; --tracking-normal:0em;
  --tracking-wide:.04em; --tracking-wider:.05em; --tracking-widest:.06em; --tracking-widest-lg:.08em; --tracking-widest-xl:.12em;
}
@media(max-width:760px){:root{--text-heading-hero:40px; --text-heading-h1:32px;}}
html[data-theme="dark"]{
  --ds-ink-1:#F0F2F6; --ds-ink-2:#D7DBE3; --ds-ink-3:#C2C8D4; --ds-ink-4:#A6ADBD;
  --ds-ink-5:#8B91A3; --ds-ink-6:#6F7589; --ds-ink-7:#595F72;
  --ds-hair-1:#33384B; --ds-hair-2:#3C4158; --ds-hair-3:#4F5570; --ds-hair-4:#626989;
  --ds-bg:#22273A; --ds-paper:#2B3148; --ds-paper-2:#343B54; --ds-paper-3:#3B4360;
  --ds-blue-ink:#7FA8FF; --ds-blue-soft:#1E2C52; --ds-ok:#3FD08A;
  --ds-ink-muted-aa:var(--ds-ink-5); /* already ~4.7:1 on dark --ds-bg */

  /* Marketing ds- zone dark theme: neutral ramp plus the few text-critical
     accent tokens only. Constant surfaces (nav, notif, footer, hero, drawer
     per tokens.json) intentionally never re-theme, so blue, live, warn, and
     every on-blue, nav, foot, catalogcta, guidecard-dark and surface-dark-2
     token stay untouched here on purpose. ink-5 is NOT the docs zone's own
     dark value -- that one fails WCAG AA on dark paper (4.08:1); this is a
     corrected value that clears 4.5:1 on both bg and paper dark. */
  --ink-1:#F0F2F6; --ink-2:#D7DBE3; --ink-3:#C2C8D4; --ink-4:#A6ADBD;
  --ink-5:#9399AA; --ink-6:#6F7589; --ink-7:#595F72;
  --hair-1:#33384B; --hair-2:#3C4158; --hair-3:#4F5570; --hair-4:#626989;
  --bg:#22273A; --paper:#2B3148; --paper-2:#343B54; --paper-3:#3B4360;
  --blue-ink:#7FA8FF; --blue-soft:#1E2C52; --ok:#3FD08A;
}
/* Image Templates are export-style assets (like Social Profile Background) — their
   colours are fixed by design, not themed chrome, so they must not shift with the
   light/dark toggle. Re-pins every token that dark mode overrides back to its light
   value, scoped to just these previews. */
#dss-page-image-templates .dss-tmpl__preview{
  --ds-ink-1:#10141F; --ds-ink-2:#262C3B; --ds-ink-3:#3C4453; --ds-ink-4:#545C6E;
  --ds-ink-5:#6C7689; --ds-ink-6:#8791A2; --ds-ink-7:#A2AAB8;
  --ds-hair-1:#E9ECF2; --ds-hair-2:#E2E6EE; --ds-hair-3:#CDD3DF; --ds-hair-4:#B0B8C6;
  --ds-bg:#F7F8FA; --ds-paper:#FFFFFF; --ds-paper-2:#F3F5F8; --ds-paper-3:#EDF0F5;
  --ds-blue-ink:#0B3DB0; --ds-blue-soft:#EAF0FF; --ds-ok:#1E8F5A;
  --ds-ink-muted-aa:#626C7E;
}
html,body{overflow-anchor:none}
/* Accessibility: motion foundation honours reduced-motion globally */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}}
/* Page canvas follows the theme (light value === original Astro body bg, so light mode is unchanged) */
body{background:var(--ds-bg) !important}
/* Pinned header: notif + nav stay fixed to the top on scroll */
.ds-notif{display:none}
.ds-nav{position:sticky;top:0;z-index:60}

.cgs-shell{display:flex;align-items:flex-start}
html,body{margin:0}
.cgs-sidebar{
  width:264px;flex-shrink:0;position:sticky;top:56px;align-self:flex-start;
  max-height:calc(100vh - 56px);overflow-y:auto;
  border-right:1px solid var(--ds-hair-2);background:var(--ds-bg);
  padding:24px 0 60px;font-family:var(--font-mono);
}
.cgs-sidebar-title{display:flex;align-items:center;gap:8px;padding:0 20px;margin-bottom:18px;font-weight:600;font-size:13px;color:var(--ds-ink-1);letter-spacing:-.01em}
.cgs-sidebar-title .mark{width:16px;height:16px;flex-shrink:0;color:var(--ds-blue)}
.cgs-group-title{font-weight:600;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ds-ink-6);padding:16px 20px 6px;margin:16px 0 6px;border-top:1px solid var(--ds-hair-2)}
.cgs-group-title:first-of-type{margin-top:16px}
.cgs-tag{font-weight:500;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ds-ink-7);padding:8px 20px 3px}
.cgs-tag--top{font-weight:600;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ds-blue-ink);padding:16px 20px 6px;border-top:1px solid var(--ds-hair-2);margin-top:10px}
.cgs-tag--top:first-of-type{border-top:0;margin-top:0}
.cgs-link.gap{color:var(--ds-ink-muted-aa)}
.cgs-link.gap:hover{color:var(--ds-ink-6);background:var(--ds-paper-2)}
.cgs-link.gap .dgd-badge{margin-left:8px;vertical-align:middle}
.cgs-link.gap.active{color:var(--ds-ink-6);background:var(--ds-paper-3)}
.gap-legend{display:flex;align-items:center;gap:6px;padding:8px 20px;font-size:11px;color:var(--ds-ink-7)}
.gap-legend .dot{width:4px;height:4px;border-radius:50%;background:var(--ds-hair-3);flex-shrink:0}
/* Scope: hide marketing nav + CTAs on the persistent top NavBar only (not the NavBar doc/demo instance) */
body > astro-island[component-export="NavBar"] .ds-nav__center,
body > astro-island[component-export="NavBar"] .ds-nav__right,
body > astro-island[component-export="NavBar"] .ds-nav__burger { display: none !important; }
/* Align the logo to the sidebar's own content indent (.cgs-link's 10px margin
   + 20px padding = 30px from the real viewport edge), not to the mirrored
   NavBar's own centered max-width column — the bar centers itself on wide
   screens while the sidebar never does, so matching the bar's edge instead
   of the real viewport edge drifted badly out of alignment with the sidebar
   on large monitors. Removing the bar's own centering keeps this a fixed,
   width-independent 30px rather than a moving target. */
body > astro-island[component-export="NavBar"] .ds-nav__bar { max-width: none; margin-left: 0; margin-right: 0; padding-left: 30px; }
@media(max-width:900px){
  /* Room for .dstop-menu-btn on the far left — mobile order is menu, logo, search. */
  body > astro-island[component-export="NavBar"] .ds-nav__bar { padding-left: 60px; }
}

.dstop-extra{display:flex;align-items:center;gap:16px;position:relative;box-sizing:border-box;height:36px}
.dstop-extra *{box-sizing:border-box}
.dstop-search-wrap{position:relative;width:260px;height:36px}
.dstop-search{width:100%;height:36px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);border-radius:3px;padding:0 10px;font:12px var(--font-mono);color:#fff;line-height:36px}
.dstop-search::placeholder{color:rgba(255,255,255,.6)}
.dstop-search:focus{outline:2px solid #fff;outline-offset:1px;background:rgba(255,255,255,.16)}
.dstop-results{position:absolute;top:calc(100% + 6px);left:0;width:260px;background:var(--ds-paper);border:1px solid var(--ds-hair-3);border-radius:3px;max-height:320px;overflow-y:auto;z-index:60;display:none;box-shadow:0 0 0 1px rgba(16,20,31,.04)}
.dstop-results.open{display:block}
.dstop-result{display:flex;align-items:baseline;gap:8px;padding:8px 12px;font:500 12.5px var(--font-mono);color:var(--ds-ink-2);cursor:pointer;border-bottom:1px solid var(--ds-hair-1)}
.dstop-result:last-child{border-bottom:0}
.dstop-result:hover,.dstop-result.active{background:var(--ds-paper-2)}
.dstop-result .cat{font:10px var(--font-mono);color:var(--ds-ink-6);text-transform:uppercase;letter-spacing:.05em}
.dstop-empty{padding:10px 12px;font:12px var(--font-sans);color:var(--ds-ink-6)}
.dstop-more{padding:8px 12px;font:11px var(--font-sans);color:var(--ds-ink-6);border-top:1px solid var(--ds-hair-1)}
.dstop-theme{height:36px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);border-radius:3px;padding:0 14px;font:600 11px var(--font-mono);color:#fff;cursor:pointer;letter-spacing:.04em;white-space:nowrap;flex-shrink:0}
.dstop-theme:hover{background:rgba(255,255,255,.16)}
.dstop-theme:focus-visible{outline:2px solid #fff;outline-offset:2px}
.dstop-menu-holder{display:flex;align-items:center;box-sizing:border-box}
.dstop-menu-btn{display:none;width:36px;height:36px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);border-radius:3px;cursor:pointer;flex-shrink:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0}
.dstop-menu-btn span{display:block;width:16px;height:2px;background:#fff;border-radius:1px}
.dstop-menu-btn:hover{background:rgba(255,255,255,.16)}
.dstop-menu-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}

.ds-hero__btn, .ds-ctac__btn, .ds-cta__btn, .ds-ctasplit__cta,
.ds-catalogcta__btn, .ds-price__cta, .ds-form__submit, .ds-booking__submit {
  font-family: var(--font-mono) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  padding: 12px 24px !important;
}

.ds-ctasplit__title, .ds-ctasplit__title--on,   /* headline → heading-* is mono, not body-* */
.ds-booking__label,                              /* form field label → label-* is mono */
.ds-booking__md,                                 /* date readout → data-* is mono */
.ds-benefit__title,                              /* card title — FeatureCards' equivalent (ds-fcards__name) is already mono */
.ds-guidecard__title, .ds-painpoint__title, .ds-solutioncard__title, 
.ds-catalogcta__demand-note {                    /* telemetry-style readout → data-* is mono */
  font-family: var(--font-mono) !important;
}

.ds-incl__sub { font-family: var(--font-prose) !important; }
.ds-booking__head { padding: 12px 24px !important; }
.ds-booking__form { padding: 32px !important; }
.ds-booking__pill--slot { padding: 12px 16px !important; }

.ds-booking__input { padding: 9px 11px !important; }

.ds-booking__label { font-size: 10px !important; text-transform: uppercase !important; letter-spacing: .06em !important; color: var(--ink-5) !important; }

.ds-booking__form > .ds-btn { margin-top: 24px; }

.ds-form__input { padding: 9px 11px !important; }
.ds-form__label { font-weight: 600 !important; letter-spacing: .06em !important; }

.ds-cta__input { padding: 9px 11px !important; }

.ds-catalogcta__inner { padding-top: 32px !important; padding-bottom: 32px !important; }

.ds-blog__more, .ds-cases__link, .ds-fcards__link, .ds-epcard__go {
  display: inline-flex !important; align-items: center !important; gap: 4px !important;
}

.ds-blog__more { text-transform: none !important; }

.ds-hero__cta { padding-left: 0 !important; }

.ds-cta__input::placeholder { color: var(--ink-5) !important; }

.ds-booking__input::placeholder { color: var(--ink-5) !important; }

.ds-listen__arrow { color: var(--blue-hi) !important; }

.ds-cases__card, .ds-fcards__card { background: var(--bg) !important; }

.ds-cta { padding-top: 56px !important; padding-bottom: 56px !important; }

.ds-rescard { border-color: var(--hair-3) !important; }

.dgd-pager__prev svg { transform: scaleX(-1); }
.ds-catalogcta__demand-head { padding: 16px 20px !important; }
.ds-catalogcta__demand-body { padding: 16px 20px !important; }

.ds-btn--white { background: var(--on-blue); color: var(--blue); }
.ds-btn--white:hover { background: #f3f5f8; }
.ds-btn--ghost-inverse { color: var(--on-blue); background: transparent; border: 1px solid rgba(255,255,255,.28); }
.ds-btn--ghost-inverse:hover { background: rgba(255,255,255,.08); }

.ds-btn__label { text-transform: none !important; }

.ds-btn, .ds-btn__label { font-weight: 600 !important; }

.ds-ctasplit__title, .ds-ctasplit__title--on { font-weight: 600 !important; }

.ds-btn { padding: 9px 16px !important; }

.ds-billtoggle__save { background: transparent; border-color: var(--blue-hi, #7FA8FF); color: var(--blue, #135BFF); }
@media(max-width:900px){
  /* Below 900px #cgs-sidebar becomes an off-canvas drawer (opened via
     .dstop-menu-btn) instead of just disappearing, and its own toggle moves
     into that drawer. Mobile header order is menu, logo, search. */
  .dstop-menu-btn{display:flex}
  .dstop-theme{display:none}
}
@media(max-width:640px){
  .dstop-extra{gap:6px}
  .dstop-search-wrap{width:clamp(90px,45vw,220px)}
  .dstop-search{font-size:11px;padding:0 8px}
  .dstop-results{left:auto;right:0;width:min(320px,90vw);max-height:min(420px,70vh)}
}
@media(max-width:400px){
  .dstop-extra{gap:4px}
  .dstop-search-wrap{width:clamp(70px,38vw,160px)}
  .dstop-search{font-size:10px;padding:0 6px}
}

.cgs-search-wrap{padding:0 20px 14px}
.cgs-search{width:100%;border:1px solid var(--ds-hair-3);border-radius:3px;padding:7px 10px;font:12px var(--font-mono);background:var(--ds-paper);color:var(--ds-ink-1)}
.cgs-search:focus{outline:2px solid var(--ds-blue);outline-offset:1px}
.cgs-empty{display:none;padding:10px 20px;font:12px var(--font-sans);color:var(--ds-ink-6)}

/* Full-bleed section divider: a plain edge-to-edge rule segments the page
   into named sections instead of nesting more boxes. Negative margin cancels
   .dss-card__body's own padding so the line actually touches both edges of the card. */
.dss-section-divider{border:0;border-top:1px solid var(--ds-hair-2);margin:28px -18px}
.dss-comp-section{margin:20px 0}
.dss-comp-section__title{font:600 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ds-ink-5);margin-bottom:10px}
.dss-comp-demo{border:1px solid var(--ds-hair-2);border-radius:3px;padding:24px;background:var(--ds-bg)}
.dss-showcode{border:1px solid var(--ds-hair-2);border-top:0;border-radius:0 0 3px 3px;background:var(--ds-paper)}
.dss-showcode summary{cursor:pointer;list-style:none;padding:8px 14px;font:500 11px var(--font-mono);color:var(--ds-ink-5);display:flex;align-items:center;gap:6px}
.dss-showcode summary::-webkit-details-marker{display:none}
.dss-showcode summary::before{content:"▸";font-size:9px}
.dss-showcode[open] summary::before{content:"▾"}
.dss-showcode pre{margin:0;padding:12px 14px;background:var(--ds-code-bg);color:var(--ds-code-text);font:11.5px/1.6 var(--font-mono);overflow-x:auto;white-space:pre-wrap;word-break:break-word;border-top:1px solid var(--ds-hair-2)}

.dss-bp{margin-top:0}
.dss-bp__title{font:600 13px var(--font-mono);margin-bottom:12px}

/* Overview & Variants sections */
.dss-comp-subhead{font:600 12px var(--font-mono);color:var(--ds-ink-2);margin:16px 0 8px}
.dss-comp-subhead:first-child{margin-top:0}
.dss-rules--notuse li::before{content:"✕";color:var(--ds-error)}
.dss-variant{border:1px solid var(--ds-hair-2);border-radius:3px;margin-bottom:16px;overflow:hidden}
.dss-variant:last-child{margin-bottom:0}
.dss-variant__head{padding:12px 14px;border-bottom:1px solid var(--ds-hair-1);background:var(--ds-paper-2)}
.dss-variant__name{font:600 13px var(--font-mono);color:var(--ds-ink-1)}
.dss-variant__purpose{font:13px/1.5 var(--font-sans);color:var(--ds-ink-4);margin-top:4px}
.dss-variant__demo{padding:20px;background:var(--ds-bg)}
.dss-variant .dss-showcode{border-radius:0}
.dss-bp ul{list-style:none;margin:0;padding:0}
.dss-bp li{display:flex;gap:10px;padding:0;margin-bottom:10px;font:13px/1.55 var(--font-sans);color:var(--ds-ink-2)}
.dss-bp li:last-child{margin-bottom:0}
.dss-bp li::before{content:"→";color:var(--ds-blue);flex-shrink:0;font-family:var(--font-mono)}

.dss-page-footer{display:none;max-width:1100px;margin:0 auto;padding:20px 20px 60px;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;font-family:var(--font-mono)}
.dss-page-footer.visible{display:flex}
.dss-feedback-group{display:flex;align-items:center;gap:10px}
.dss-feedback-label{font-size:12px;color:var(--ds-ink-6)}
.dss-feedback{border:1px solid var(--ds-hair-3);background:var(--ds-paper);border-radius:3px;padding:5px 12px;font-weight:500;font-size:11px;color:var(--ds-ink-3);cursor:pointer}
.dss-feedback:hover{border-color:var(--ds-ink-6)}
.dss-feedback.voted{border-color:var(--ds-blue);color:var(--ds-blue-ink);background:var(--ds-blue-soft)}
.dss-feedback-thanks{font-size:11px;color:var(--ds-ok)}
.dss-prevnext{display:flex;gap:20px}
.dss-navlink{font-weight:500;font-size:12px;color:var(--ds-blue-ink);cursor:pointer;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dss-navlink:hover{text-decoration:underline}
.dss-navlink:empty,.dss-navlink[data-empty="1"]{visibility:hidden}

.cgs-topbar-actions{display:flex;align-items:center;gap:8px}
.cgs-util-btn{border:1px solid var(--ds-hair-3);background:var(--ds-paper);border-radius:3px;padding:6px 10px;font:500 11px var(--font-mono);color:var(--ds-ink-3);cursor:pointer}
.cgs-util-btn:hover{border-color:var(--ds-ink-6)}
.cgs-util-btn:focus-visible{outline:2px solid var(--ds-blue);outline-offset:1px}
.cgs-util-btn.done{border-color:var(--ds-blue);color:var(--ds-blue-ink)}

.cgs-link{
  display:block;padding:6px 20px;margin:0 10px;border-radius:3px;
  font-weight:500;font-size:12.5px;color:var(--ds-ink-4);cursor:pointer;
  transition:background .12s cubic-bezier(0.2,0,0,1),color .12s cubic-bezier(0.2,0,0,1);
}
.cgs-link:hover{color:var(--ds-ink-1);background:var(--ds-paper-3)}
.cgs-link:focus-visible{outline:2px solid var(--ds-blue);outline-offset:1px}
.cgs-link.active{color:var(--ds-blue-ink);background:var(--ds-blue-soft);font-weight:600}
.cgs-main{flex:1;min-width:0}
.cgs-sidebar-mobile-only{display:none}
.cgs-drawer-backdrop{position:fixed;inset:0;background:rgba(10,14,24,.45);z-index:78;display:none}
.cgs-drawer-backdrop.open{display:block}
@media(max-width:900px){
  .cgs-sidebar{
    display:block;position:fixed;top:0;left:0;bottom:0;width:min(300px,85vw);
    max-height:none;border-right:0;z-index:80;padding:16px 0 40px;
    box-shadow:0 0 32px rgba(0,0,0,.25);
    
    align-self:auto;
    transform:translateX(-100%);transition:transform .25s cubic-bezier(.2,0,0,1);
  }
  .cgs-sidebar.open{transform:translateX(0)}
  .cgs-sidebar-mobile-only{display:flex}
  /* Bigger tap targets — 6px vertical padding gives ~30px rows on desktop,
     below the ~44px comfortable minimum for touch. */
  .cgs-link{padding:14px 20px;margin:0 8px}
  /* Sticky category headers so scrolling the long link list keeps showing
     which group ("Foundations", "Components (Molecules)"...) you're in. */
  .cgs-group-title,.cgs-tag--top{position:sticky;top:0;z-index:1;background:var(--ds-bg)}
  /* Collapsible category accordions — collapsed by default (JS-driven; see
     the drawer setup script) so the drawer opens to ~16 rows instead of
     scrolling through all ~150 component links. Desktop is untouched since
     .cgs-cat-body / .collapsed only mean anything inside this media query. */
  .cgs-tag--top{display:flex;align-items:center;justify-content:space-between;cursor:pointer}
  .cgs-tag--top:focus-visible{outline:2px solid var(--ds-blue);outline-offset:-2px}
  .cgs-tag--top::after{content:"▾";font-size:9px;transition:transform .15s cubic-bezier(.2,0,0,1)}
  .cgs-tag--top.collapsed::after{transform:rotate(-90deg)}
  .cgs-tag--top.collapsed + .cgs-cat-body{display:none}
}
.cgs-sidebar-mobilehead{align-items:center;justify-content:space-between;gap:10px;padding:0 20px 16px;border-bottom:1px solid var(--ds-hair-2);margin-bottom:16px}
.cgs-drawer-close{width:32px;height:32px;border:1px solid var(--ds-hair-3);background:var(--ds-paper);border-radius:3px;cursor:pointer;font-size:18px;line-height:1;color:var(--ds-ink-3)}
.cgs-drawer-close:hover{border-color:var(--ds-ink-6)}
.cgs-drawer-close:focus-visible{outline:2px solid var(--ds-blue);outline-offset:1px}


.dss-wrap{max-width:1100px;margin:0 auto;padding:64px 20px 120px;font-family:var(--font-mono);color:var(--ds-ink-1)}
.dss-wrap *{box-sizing:border-box}
.dss-bar{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--ds-hair-3);margin:48px 0 20px;padding-bottom:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ds-ink-5)}
.dss-bar:first-of-type{margin-top:0}
.dss-intro{margin-bottom:8px}
.dss-eyebrow{font-weight:600;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ds-blue);margin-bottom:10px}
.dss-h1{font-weight:600;font-size:32px;line-height:1.1;letter-spacing:-.03em;margin-bottom:14px}
.dss-lede{font:400 14.5px/1.6 var(--font-sans);color:var(--ds-ink-4);max-width:640px}
.dss-card{border:1px solid var(--ds-hair-2);border-radius:3px;background:var(--ds-paper);margin:0 0 20px;overflow:hidden}
.dss-card__head{background:var(--ds-paper-2);border-bottom:1px solid var(--ds-hair-1);padding:10px 14px;font-weight:600;font-size:12px;color:var(--ds-ink-2);display:flex;align-items:baseline;gap:10px}
.dss-card__head .idx{color:var(--ds-blue);font-weight:600}
.dss-card__body{padding:18px}
.dss-desc{font:400 13.5px/1.55 var(--font-sans);color:var(--ds-ink-4);margin-bottom:14px;max-width:640px}
.dss-desc code{font-family:inherit;background:var(--ds-paper-2);padding:1px 5px;border-radius:2px;font-size:12.5px}
.dss-split{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ds-hair-2);border:1px solid var(--ds-hair-2);border-radius:3px;overflow:hidden;margin:6px 0}
.dss-split .col{background:var(--ds-paper);padding:16px}
.dss-split .col h4{font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ds-blue-ink);margin-bottom:10px}
.dss-split .col ul{list-style:none;margin:0;padding:0;font-size:13px;color:var(--ds-ink-3)}
.dss-split .col ul li{padding:5px 0;border-bottom:1px solid var(--ds-hair-1)}
.dss-split .col ul li:last-child{border-bottom:0}
.dss-split .col p{font:12.5px var(--font-sans);color:var(--ds-ink-5);margin-top:12px}
.dss-rules{list-style:none;margin:12px 0 0;padding:0}
.dss-rules li{padding:0 0 0 20px;margin-bottom:10px;font:13px/1.55 var(--font-sans);color:var(--ds-ink-3);position:relative}
.dss-rules li:last-child{margin-bottom:0}
.dss-rules li::before{content:"→";color:var(--ds-blue);position:absolute;left:0;font-family:var(--font-mono)}
.dss-table{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0}
.dss-table th{text-align:left;font-weight:600;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ds-ink-5);padding:0 10px 10px;border-bottom:1px solid var(--ds-hair-3)}
.dss-table td{padding:9px 10px;border-bottom:1px solid var(--ds-hair-1);color:var(--ds-ink-2);vertical-align:top}
.dss-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ds-hair-2);border:1px solid var(--ds-hair-2);margin:6px 0}
.dss-tiers .tile{background:var(--ds-paper);padding:14px}
.dss-tiers .tile .name{font-weight:600;font-size:12px;margin-bottom:8px}
.dss-tiers .tile .swatch{height:38px;border:1px solid var(--ds-hair-2);border-radius:3px;margin-bottom:8px;background:var(--ds-paper-2);position:relative}
.dss-tiers .tile .swatch.elevated{border-color:var(--ds-hair-4)}
.dss-tiers .tile .swatch.elevated::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--ds-blue)}
.dss-tiers .tile .meta{font:11px var(--font-sans);color:var(--ds-ink-5)}
.dss-griddemo{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ds-hair-2);border:1px solid var(--ds-hair-2);margin:6px 0}
.dss-griddemo__cell{background:var(--ds-paper);padding:16px;flex-direction:column;gap:4px;display:flex}
.dss-griddemo__cell .k{font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ds-ink-5)}
.dss-griddemo__cell .v{font:600 20px var(--font-mono);color:var(--ds-ink-1);font-variant-numeric:tabular-nums}
@media(max-width:760px){.dss-griddemo{grid-template-columns:1fr}}
.dss-griddemo--cal{position:relative}
.dss-griddemo--cal:before,.dss-griddemo--cal:after{content:"+";position:absolute;top:50%;font:11px var(--font-mono);color:var(--ds-ink-5);transform:translate(-50%,-50%);pointer-events:none;z-index:1}
.dss-griddemo--cal:before{left:33.333%}
.dss-griddemo--cal:after{left:66.666%}
@media(max-width:760px){.dss-griddemo--cal:before,.dss-griddemo--cal:after{display:none}}
.dss-formula{border:1px solid var(--ds-hair-2);background:var(--ds-paper-2);border-radius:3px;padding:12px 14px;margin:10px 0;font-size:12.5px}
.dss-formula .lbl{font-weight:600;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ds-ink-5);margin-bottom:6px}
.dss-formula .ex{color:var(--ds-blue-ink)}
.dss-inv{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:6px 0}
.dss-inv .card{border:1px solid var(--ds-hair-2);border-radius:3px;padding:12px}
.dss-inv .card .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-weight:600;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ds-ink-5)}
.dss-inv .card .head b{color:var(--ds-blue-ink);font-weight:600}
.dss-inv .chips{display:flex;flex-wrap:wrap;gap:5px}
.dss-inv .chips span{font-weight:500;font-size:10px;border:1px solid var(--ds-hair-3);border-radius:3px;padding:3px 6px;color:var(--ds-ink-3)}
.dss-check{list-style:none;margin:6px 0;padding:0}
.dss-check li{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--ds-hair-1);font:13px var(--font-sans);color:var(--ds-ink-2)}
.dss-check li:last-child{border-bottom:0}
.dss-check li.do::before{content:"DO";flex-shrink:0;width:44px;font:600 10px var(--font-mono);color:var(--ds-ok)}
.dss-check li.dont::before{content:"DON'T";flex-shrink:0;width:44px;font:600 10px var(--font-mono);color:var(--ds-warn)}
.dss-pre{background:var(--ds-code-bg);border-radius:3px;padding:14px 16px;margin:6px 0;overflow-x:auto;font-size:12px;line-height:1.7;color:var(--ds-code-text);white-space:pre}
.ds-code-inline{background:var(--ds-paper-2);color:var(--ds-ink-2);padding:1px 5px;border-radius:2px}
/* ===== Motion page — live demos (all scoped .mo-) ===== */
.mo-rules{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.mo-rules li{position:relative;padding-left:18px;font:13px/1.55 var(--font-sans);color:var(--ds-ink-3)}
.mo-rules li::before{content:"";position:absolute;left:2px;top:8px;width:5px;height:5px;border-radius:50%;background:var(--ds-blue)}
.mo-tok{font:600 11px var(--font-mono);color:var(--ds-blue-ink)}
.mo-val{font:11px var(--font-mono);color:var(--ds-ink-4)}
.mo-demo{border:1px solid var(--ds-hair-2);background:var(--ds-paper-2);border-radius:3px;padding:16px;margin:12px 0}
.mo-demohd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}
.mo-demohd .t{font:600 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ds-ink-6)}
.mo-replay{font:600 11px var(--font-mono);letter-spacing:-.01em;border:1px solid var(--ds-hair-3);background:var(--ds-paper);color:var(--ds-ink-2);border-radius:3px;padding:5px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:border-color var(--motion-fast) var(--ease-out-quart),background var(--motion-fast) var(--ease-out-quart)}
.mo-replay:hover{border-color:var(--ds-ink-5);background:var(--ds-paper-2)}
.mo-replay svg{width:13px;height:13px}
/* duration ladder */
.mo-ladder{display:flex;flex-direction:column;gap:10px}
.mo-lrow{display:grid;grid-template-columns:130px 1fr 62px;align-items:center;gap:14px}
.mo-lrow .lbl{font:600 11px var(--font-mono);color:var(--ds-ink-2)}
.mo-track{position:relative;height:26px;border:1px solid var(--ds-hair-2);border-radius:3px;background:var(--ds-paper);overflow:hidden}
.mo-dot{position:absolute;top:50%;left:3px;width:18px;height:18px;margin-top:-9px;border-radius:3px;background:var(--ds-blue);transform:translateX(0)}
.mo-ladder.run .mo-dot{transform:translateX(var(--mo-dist,0px));transition-property:transform;transition-timing-function:var(--ease-out-quart)}
/* easing curves */
.mo-curves{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.mo-curve{border:1px solid var(--ds-hair-2);background:var(--ds-paper);border-radius:3px;padding:12px}
.mo-curve svg{display:block;width:100%;height:auto}
.mo-curve .cv-grid{stroke:var(--ds-hair-2)}
.mo-curve .cv-path{fill:none;stroke:var(--ds-blue);stroke-width:2.5}
.mo-curve .cv-bead{fill:var(--ds-blue)}
.mo-curve .nm{font:600 11px var(--font-mono);color:var(--ds-blue-ink);margin-top:8px}
.mo-curve .bz{font:10px var(--font-mono);color:var(--ds-ink-6);margin-top:2px;word-break:break-all}
.mo-curve .u{font:10px var(--font-sans);color:var(--ds-ink-5);margin-top:4px}
/* count-up */
.mo-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--ds-hair-2);border:1px solid var(--ds-hair-2);border-radius:3px;overflow:hidden}
.mo-metric{background:var(--ds-paper);padding:18px 16px}
.mo-metric .v{font:700 30px var(--font-mono);color:var(--ds-ink-1);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.mo-metric .l{font:11px var(--font-sans);color:var(--ds-ink-5);margin-top:4px}
/* word rotator */
/* align-items:flex-end (not baseline) — .mo-rot has no in-flow baseline of its own since its content is
   absolutely positioned, so "baseline" alignment would fall back to its box's bottom edge, leaving a gap
   equal to one line's descender height versus "Ship"'s real text baseline. flex-end aligns both by their
   box-bottom edge instead, which cancels that gap exactly since both share the same font/size. */
.mo-rotwrap{font:600 22px var(--font-mono);color:var(--ds-ink-1);letter-spacing:-.01em;display:flex;align-items:flex-end;gap:8px}
.mo-rot{position:relative;display:inline-block;height:1.25em;overflow:hidden;vertical-align:bottom;min-width:150px}
.mo-rot span{position:absolute;left:0;bottom:0;color:var(--ds-blue-ink);white-space:nowrap}
.mo-rot span.out{animation:moRotOut var(--motion-moderate) var(--ease-in) forwards}
.mo-rot span.in{animation:moRotIn var(--motion-slow) var(--ease-out-expo) forwards}
@keyframes moRotIn{from{transform:translateY(1.1em);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes moRotOut{from{transform:translateY(0);opacity:1}to{transform:translateY(-1.1em);opacity:0}}
/* marquee */
.mo-marquee{position:relative;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.mo-rail{display:flex;gap:32px;width:max-content;animation:moScrollX 18s linear infinite}
.mo-marquee:hover .mo-rail{animation-play-state:paused}
@keyframes moScrollX{to{transform:translateX(-50%)}}
.mo-chip{flex-shrink:0;border:1px solid var(--ds-hair-3);border-radius:3px;padding:8px 14px;font:600 12px var(--font-mono);color:var(--ds-ink-3);background:var(--ds-paper);white-space:nowrap}
/* live ticker */
.mo-ticker{display:grid;grid-template-columns:1fr auto;gap:1px;background:var(--ds-hair-2);border:1px solid var(--ds-hair-2);border-radius:3px;overflow:hidden;max-width:340px}
.mo-tk{background:var(--ds-paper);padding:9px 14px;display:contents}
.mo-tk>.k{background:var(--ds-paper);padding:9px 14px;font:12px var(--font-sans);color:var(--ds-ink-4)}
.mo-tk>.v{background:var(--ds-paper);padding:9px 14px;font:600 12px var(--font-mono);color:var(--ds-ink-1);text-align:right;font-variant-numeric:tabular-nums;transition:color var(--motion-slow) var(--ease-out-quart),background var(--motion-slow) var(--ease-out-quart)}
.mo-tk>.v.flash{color:var(--ds-blue-ink);background:var(--ds-blue-soft);transition-duration:var(--motion-instant)}
/* signal bus — the scrolling telemetry strip under the hero's stat row on scrums.com */
.mo-bus{display:flex;align-items:stretch;border:1px solid var(--instrument-line);border-radius:3px;overflow:hidden;background:var(--instrument-bg);font-family:var(--font-mono)}
.mo-bus__tag{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:9px 12px;font-size:10px;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--instrument-text-dim);border-right:1px solid var(--instrument-line)}
.mo-bus__dot{width:6px;height:6px;border-radius:50%;background:var(--instrument-good);box-shadow:0 0 6px var(--instrument-good);animation:moBusPulse 1.8s var(--ease-in-out) infinite}
.mo-bus__clip{position:relative;overflow:hidden;flex:1;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mo-bus__rail{display:flex;width:max-content;white-space:nowrap;animation:moScrollX 22s linear infinite;padding:9px 0}
.mo-bus__clip:hover .mo-bus__rail{animation-play-state:paused}
.mo-bus__rail span{padding:0 18px;font-size:11.5px;color:var(--instrument-text-dim);font-variant-numeric:tabular-nums}
.mo-bus__rail .ok{color:var(--instrument-good)}
@keyframes moBusPulse{0%,100%{opacity:1}50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.mo-bus__rail{animation:none}.mo-bus__dot{animation:none}}
/* staggered reveal */
.mo-stagger{display:flex;flex-direction:column;gap:8px}
.mo-stagger .it{border:1px solid var(--ds-hair-2);border-radius:3px;padding:11px 14px;background:var(--ds-paper);font:13px var(--font-sans);color:var(--ds-ink-2);opacity:0}
.mo-stagger.run .it{animation:moRise var(--motion-slow) var(--ease-out-expo) both;animation-delay:calc(var(--i) * 60ms)}
@keyframes moRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* scroll reveal */
.mo-reveal{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.mo-reveal .rv{border:1px solid var(--ds-hair-2);border-radius:3px;padding:22px 16px;background:var(--ds-paper);font:600 12px var(--font-mono);color:var(--ds-ink-3);opacity:0;transform:translateY(24px)}
.mo-reveal.in .rv{opacity:1;transform:none;transition:opacity var(--motion-entrance) var(--ease-out-expo),transform var(--motion-entrance) var(--ease-out-expo)}
/* ===== §5 Custom — scrums.com hero recreation (scoped .hx-) ===== */
.hx-stage{position:relative;width:100%;height:380px;border:1px solid var(--ds-hair-2);border-radius:3px;overflow:hidden;background:radial-gradient(120% 100% at 62% 42%,#143a86 0%,#0d2a63 42%,#0a1f4d 70%,#071634 100%);isolation:isolate}
.hx-stage::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(159,194,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(159,194,255,.028) 1px,transparent 1px);background-size:34px 34px;-webkit-mask:linear-gradient(#000,transparent 50%);mask:linear-gradient(#000,transparent 50%)}
.hx-tag{position:absolute;z-index:8;font:600 10px var(--font-mono);letter-spacing:.04em;color:rgba(159,194,255,.5);white-space:nowrap}
.hx-tag--tl{top:14px;left:16px}
.hx-tag--tr{top:14px;right:16px}
.hx-globe{position:absolute;top:50%;left:50%;width:360px;height:360px;margin:-180px 0 0 -180px;perspective:1000px}
.hx-glow{position:absolute;top:50%;left:50%;width:380px;height:380px;margin:-190px 0 0 -190px;border-radius:50%;background:radial-gradient(circle at 38% 32%,rgba(127,168,255,.45),rgba(19,91,255,.14) 45%,rgba(0,0,0,0) 70%);filter:blur(8px);z-index:0}
.hx-globe__dots{position:absolute;inset:0;border-radius:50%;background-image:radial-gradient(rgba(159,194,255,.6) 1px,transparent 1.4px);background-size:15px 15px;opacity:.4;-webkit-mask-image:radial-gradient(circle at 40% 36%,#000 38%,transparent 64%);mask-image:radial-gradient(circle at 40% 36%,#000 38%,transparent 64%);pointer-events:none;z-index:1}
.hx-sweep{position:absolute;inset:-30px;border-radius:50%;background:conic-gradient(rgba(127,168,255,.22),rgba(0,0,0,0) 40%);animation:hxSweep 9s linear infinite}
.hx-tilt{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(-16deg)}
.hx-spin{position:absolute;inset:0;transform-style:preserve-3d;animation:hxSpin 24s linear infinite}
.hx-mer{position:absolute;inset:0;border:1px solid rgba(127,168,255,.3);border-radius:50%}
.hx-par{position:absolute;left:50%;top:50%;border-radius:50%}
.hx-par--eq{border:1px solid rgba(127,168,255,.3)}
.hx-par--dash{border:1px dashed rgba(127,168,255,.22)}
.hx-orbit{position:absolute;inset:-26px;transform-style:preserve-3d}
.hx-orbit--2{inset:6px}
.hx-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(127,168,255,.3);animation:hxOrbit 14s linear infinite}
.hx-ring--dash{border:1px dashed rgba(127,168,255,.24);animation:hxOrbit 20s linear infinite reverse}
.hx-sat{position:absolute;top:-4px;left:50%;margin-left:-4px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff}
.hx-sat--green{top:-3px;margin-left:-3px;width:6px;height:6px;background:var(--ds-live);box-shadow:0 0 10px var(--ds-live)}
.hx-node{position:absolute;border-radius:50%;animation:hxPulse 2.8s ease-in-out infinite;z-index:4}
.hx-hud{position:absolute;z-index:6;background:rgba(4,23,69,.55);border:1px solid rgba(159,194,255,.3);border-radius:3px;padding:9px 13px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:hxFloaty 5s ease-in-out infinite}
.hx-hud .k{font:600 8px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(159,194,255,.75);display:block;margin-bottom:4px;white-space:nowrap}
.hx-hud .v{font:700 17px var(--font-mono);color:#fff;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.hx-hud .v small{font-weight:400;font-size:11px;color:rgba(159,194,255,.7)}
.hx-hud--tr{text-align:right}
.hx-pill{position:absolute;z-index:7;display:inline-flex;align-items:center;gap:8px;background:rgba(4,23,69,.72);border:1px solid rgba(159,194,255,.32);border-radius:3px;padding:7px 13px;font:600 11px var(--font-mono);color:#dbe6ff;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);white-space:nowrap}
.hx-pill b{color:#fff;font-weight:600}
.hx-pill .ok{color:var(--ds-live)}
.hx-dot{width:7px;height:7px;border-radius:50%;background:var(--ds-live);box-shadow:0 0 0 0 rgba(63,208,138,.5);animation:hxDot 2.4s ease-in-out infinite}
.hx-chip{position:absolute;z-index:7;background:rgba(4,23,69,.6);border:1px solid rgba(159,194,255,.24);border-radius:3px;padding:6px 11px;font:11px var(--font-mono);color:rgba(219,230,255,.85);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);white-space:nowrap;animation:hxFloaty 6.4s ease-in-out infinite}
.hx-chip b{color:#fff}
.hx-in{opacity:0;transform:translateY(10px) scale(.97)}
.hx-stage.run .hx-in{opacity:1;transform:none;transition:opacity var(--motion-deliberate) var(--ease-out-expo),transform var(--motion-deliberate) var(--ease-out-expo);transition-delay:calc(var(--i,0) * 90ms)}
@keyframes hxSpin{to{transform:rotateY(360deg)}}
@keyframes hxSweep{to{transform:rotate(360deg)}}
@keyframes hxOrbit{to{transform:rotate(360deg)}}
@keyframes hxPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.5)}}
@keyframes hxFloaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes hxDot{0%,100%{box-shadow:0 0 0 0 rgba(63,208,138,.5)}70%{box-shadow:0 0 0 6px rgba(63,208,138,0)}}
@media(max-width:720px){.hx-stage{height:340px}.hx-hud .v{font-size:15px}}
/* §5 grid gallery — one cell per custom animation; add more cells over time */
.hx-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ds-hair-2);border:1px solid var(--ds-hair-2);border-radius:3px;overflow:hidden;margin:12px 0}
.hx-cell{background:var(--ds-paper);display:flex;flex-direction:column;min-width:0}
.hx-cell--wide{grid-column:1 / -1}
.hx-cell__hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ds-hair-2)}
.hx-cell__hd .t{font:600 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ds-ink-6)}
.hx-cell__hd .idx{font:600 10px var(--font-mono);color:var(--ds-ink-7)}
.hx-cell__body{padding:16px;flex:1;display:flex;align-items:center;justify-content:center}
.hx-slot{min-height:190px;width:100%;border:1px dashed var(--ds-hair-3);border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:20px;cursor:default;transition:border-color var(--motion-fast) var(--ease-out-quart),color var(--motion-fast) var(--ease-out-quart)}
.hx-slot:hover{border-color:var(--ds-blue)}
.hx-slot__plus{width:34px;height:34px;border-radius:50%;border:1px solid var(--ds-hair-4);color:var(--ds-ink-6);display:flex;align-items:center;justify-content:center;transition:border-color var(--motion-fast) var(--ease-out-quart),color var(--motion-fast) var(--ease-out-quart),transform var(--motion-fast) var(--ease-out-quart)}
.hx-slot:hover .hx-slot__plus{border-color:var(--ds-blue);color:var(--ds-blue-ink);transform:scale(1.06)}
.hx-slot__plus svg{width:16px;height:16px}
.hx-slot__t{font:600 12px var(--font-mono);color:var(--ds-ink-3)}
.hx-slot__m{font:11px/1.5 var(--font-sans);color:var(--ds-ink-6);max-width:210px}
@media(max-width:720px){.hx-grid{grid-template-columns:1fr}}
/* §5 animated-background tiles (canvas, theme-aware, cursor-reactive) */
.hx-bg{position:relative;width:100%;height:232px;border:1px solid var(--ds-hair-2);border-radius:3px;overflow:hidden;background:var(--ds-paper-2);cursor:crosshair}
html[data-theme="dark"] .hx-bg{background:var(--ds-code-bg)}
.hx-bg canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.ds-link{color:var(--ds-blue-ink)}
.ds-muted-note{font:13px var(--font-sans);color:var(--ds-ink-6);margin:0}
.dss-foot{margin-top:36px;padding-top:16px;border-top:1px solid var(--ds-hair-2);font-size:11px;color:var(--ds-ink-6)}
.dss-page{display:none}
.dss-page.active{display:block}
/* Introduction — bento landing */
.dss-hero{padding:8px 0 4px;margin-bottom:24px}
.dss-hero__title{font:600 40px/1.05 var(--font-mono);letter-spacing:-0.04em;color:var(--ds-ink-1);margin:6px 0 12px}
.dss-hero__lede{font:400 15px/1.55 var(--font-sans);color:var(--ds-ink-4);max-width:560px}
.dss-bento{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ds-hair-2);border:1px solid var(--ds-hair-2);border-radius:3px;overflow:hidden}
.dss-bento a.dss-tile{display:flex;flex-direction:column;background:var(--ds-paper);text-decoration:none;cursor:pointer;transition:background .12s var(--ease,ease)}
.dss-bento a.dss-tile:hover{background:var(--ds-paper-2)}
.dss-tile:hover .dss-tile__foot h3{color:var(--ds-blue-ink)}
.dss-tile__viz{height:200px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-bottom:1px solid var(--ds-hair-1)}
.dss-tile__foot{padding:18px 22px 22px}
.dss-tile__foot h3{font:600 15px var(--font-mono);color:var(--ds-ink-1);margin-bottom:5px;transition:color .12s var(--ease,ease)}
.dss-tile__foot p{font:13px/1.5 var(--font-sans);color:var(--ds-ink-5)}
/* brand tile */
.dss-brandmark{position:relative;padding:24px 34px}
.dss-brandmark{color:var(--ds-ink-1);display:flex;align-items:center;gap:16px}
.dss-brandmark__icon{display:block;width:33px;height:auto;flex-shrink:0}
.dss-brandmark__svg{display:block;width:180px;height:auto}
.dss-brandmark__bk{position:absolute;width:20px;height:20px;opacity:.5}
.dss-brandmark__bk--tl{top:0;left:0;border-top:1px solid var(--ds-ink-5);border-left:1px solid var(--ds-ink-5)}
.dss-brandmark__bk--br{bottom:0;right:0;border-bottom:1px solid var(--ds-ink-5);border-right:1px solid var(--ds-ink-5)}
/* icons tile */
.dss-iconwall{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;color:var(--ds-ink-3)}
.dss-iconwall svg{width:24px;height:24px}
/* components tile */
.dss-tile__viz--comp{flex-direction:column;gap:10px}
.dss-mini{display:flex;gap:8px;align-items:center}
.dss-mini__status{display:flex;align-items:center;gap:7px;font:500 11px var(--font-mono);color:var(--ds-ink-3)}
/* colors tile */
.dss-tile__viz--colors{gap:10px}
.dss-colbar{width:12px;height:96px;border-radius:3px;background:var(--c);box-shadow:0 0 0 1px var(--ds-hair-2) inset}
/* grid tile */
.dss-tile__viz--grid{background-image:linear-gradient(var(--ds-hair-1) 1px,transparent 1px),linear-gradient(90deg,var(--ds-hair-1) 1px,transparent 1px);background-size:28px 28px}
.dss-gridviz{position:relative;width:180px;height:120px;border:1px dashed var(--ds-hair-4)}
.dss-gridviz__x{position:absolute;font:400 16px var(--font-mono);color:var(--ds-blue)}
.dss-gridviz__x--tl{top:-9px;left:-6px}
.dss-gridviz__x--br{bottom:-9px;right:-6px}
/* type tile */
.dss-tile__viz--type{flex-direction:column;gap:16px;align-items:flex-start;padding:0 34px}
.dss-typespec{display:flex;flex-direction:column;gap:3px;color:var(--ds-ink-1)}
.dss-typespec small{font:400 10px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ds-ink-5)}
@media(max-width:760px){.dss-bento{grid-template-columns:1fr}.dss-hero__title{font-size:30px}}

.dss-scales-head{margin:24px 0 16px}
.dss-scales-head h3{font-weight:600;font-size:15px;margin-bottom:6px}
.dss-scales-head p{font:12.5px var(--font-sans);color:var(--ds-ink-5);max-width:600px}
.dss-scale-row{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--ds-hair-1)}
.dss-scale-row:last-of-type{border-bottom:0}
.dss-scale-label{width:110px;flex-shrink:0;font-weight:600;font-size:12.5px;color:var(--ds-ink-2);display:flex;flex-direction:column;gap:4px}
.dss-scale-label .accent-tag{font-weight:500;font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--ds-ink-6)}
.dss-scale-swatches{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.dss-scale-swatches--bg{gap:10px}
.dss-scale-sw{display:flex;flex-direction:column;align-items:center;gap:4px}
.dss-scale-sw{cursor:pointer;border:0;background:none;padding:0;font:inherit;position:relative;transition:transform .1s}
.dss-scale-sw:hover .chip{outline:2px solid var(--ds-blue);outline-offset:1px}
.dss-scale-sw:focus-visible{outline:2px solid var(--ds-blue);outline-offset:2px;border-radius:3px}
.dss-scale-sw.copied .lbl{color:var(--ds-ok)}
.dss-scale-sw.copied::after,.dss-sw.copied::after{content:'Copied';position:absolute;top:-22px;left:50%;transform:translateX(-50%);font:600 9.5px var(--font-mono);color:var(--ds-ok);background:var(--ds-paper);border:1px solid var(--ds-hair-3);border-radius:2px;padding:2px 6px;white-space:nowrap;pointer-events:none}
.dss-sw{cursor:pointer;position:relative}
.dss-sw:hover .chip{outline:2px solid var(--ds-blue);outline-offset:1px}
.dss-sw.copied .hx{color:var(--ds-ok)}
.dss-scale-sw .chip{width:60px;height:40px;border-radius:3px;border:1px solid var(--ds-hair-4)}
.dss-scale-sw span{font-size:9.5px;color:var(--ds-ink-6);white-space:nowrap}
@media(max-width:900px){.dss-scale-row{flex-direction:column;align-items:flex-start;gap:8px}.dss-scale-sw .chip{width:44px;height:32px}}
.dss-swlabel{font-weight:600;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ds-ink-5);margin:22px 0 8px}
.dss-swlabel:first-of-type{margin-top:10px}
.dss-swrow{display:flex;flex-wrap:wrap;gap:1px;background:var(--ds-hair-2);border:1px solid var(--ds-hair-2);margin-bottom:2px}
.dss-swrow--dark{background:var(--ds-code-bg);border-color:var(--ds-code-bg)}
.dss-sw{background:var(--ds-paper);padding:10px;width:150px;flex:1 0 130px}
.dss-swrow--dark .dss-sw{background:var(--ds-code-bg-alt)}
.dss-sw .chip{height:36px;border-radius:3px;border:1px solid var(--ds-hair-4);margin-bottom:8px}
.dss-sw .nm{font-weight:600;font-size:10.5px;color:var(--ds-ink-2)}
.dss-swrow--dark .dss-sw .nm{color:#D7DBE3}
.dss-sw .hx{font-size:10.5px;color:var(--ds-ink-5);text-transform:uppercase}
.dss-swrow--dark .dss-sw .hx{color:#8791A2}
/* Icons */
.dss-icon-sizes{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-end;padding:8px 0}
.dss-icon-size{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--ds-ink-1)}
.dss-icon-size span{font:10.5px var(--font-mono);color:var(--ds-ink-5)}
.dss-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}
.dss-icon-grid figure{margin:0;background:var(--ds-paper);border:1px solid var(--ds-hair-2);border-radius:3px;padding:28px 16px 18px;display:flex;flex-direction:column;align-items:center;gap:18px;color:var(--ds-ink-2);position:relative;transition:border-color .12s,background .12s,transform .12s}
.dss-icon-grid figure:hover,.dss-icon-grid figure:focus-within{border-color:var(--ds-blue);background:var(--ds-paper-2);transform:translateY(-1px)}
.dss-icon-grid figure:hover svg,.dss-icon-grid figure:focus-within svg{color:var(--ds-blue)}
.dss-icon-grid svg{width:36px;height:36px;color:var(--ds-ink-2);transition:color .12s}
.dss-icon-grid figure[hidden]{display:none}
.dss-icon-namebox{position:relative;width:100%;min-height:34px}
.dss-icon-grid figcaption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:11.5px var(--font-mono);color:var(--ds-ink-5);text-align:center;line-height:1.3;word-break:break-word;transition:opacity .12s}
.dss-icon-grid figure:hover figcaption,.dss-icon-grid figure:focus-within figcaption{opacity:0}
.dss-icon-actions{position:absolute;left:-16px;right:-16px;bottom:-18px;top:-28px;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .12s;border:1px solid var(--ds-hair-4);border-radius:3px;overflow:hidden;background:var(--ds-paper)}
.dss-icon-grid figure:hover .dss-icon-actions,.dss-icon-grid figure:focus-within .dss-icon-actions{opacity:1;pointer-events:auto}
.dss-icon-actions button{flex:1;border:0;background:none;font:600 12px var(--font-mono);color:var(--ds-ink-2);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.dss-icon-actions button+button{border-top:1px solid var(--ds-hair-2)}
.dss-icon-actions button:hover{background:var(--ds-paper-3);color:var(--ds-blue)}
.dss-icon-actions button:focus-visible{outline:2px solid var(--ds-blue);outline-offset:-2px}
.dss-icon-actions button.copied{color:var(--ds-blue);background:var(--ds-paper-2)}
@media(max-width:700px){.dss-icon-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}}

.dss-icon-search{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;background:var(--ds-paper);border:1px solid var(--ds-hair-3);border-radius:3px;padding:0 12px;margin-bottom:4px}
.dss-icon-search svg{width:16px;height:16px;color:var(--ds-ink-6);flex:none}
.dss-icon-search input{flex:1;border:0;background:transparent;outline:0;padding:11px 0;font:13px var(--font-mono);color:var(--ds-ink-1)}
.dss-icon-search input::placeholder{color:var(--ds-ink-6)}
.dss-icon-search__count{font:10.5px var(--font-mono);color:var(--ds-ink-6);white-space:nowrap;padding-right:2px}
.dss-icon-search__hint{margin:6px 0 0;font:10.5px var(--font-mono);color:var(--ds-ink-6)}
.dss-icon-search__clear{border:0;background:none;color:var(--ds-ink-6);cursor:pointer;padding:4px;display:flex;line-height:0;border-radius:2px}
.dss-icon-search__clear:hover{color:var(--ds-ink-2);background:var(--ds-paper-3)}
.dss-icon-search__clear svg{width:14px;height:14px}
.dss-icon-search__clear[hidden]{display:none}
.dss-icon-group[hidden]{display:none}
.dss-icon-empty{display:none;padding:32px 0;text-align:center;color:var(--ds-ink-6);font:13px var(--font-mono)}
.dss-icon-empty.show{display:block}
/* Image templates */
.dss-tmpl{margin:28px 0;padding-top:24px}
.dss-tmpl:first-of-type{border-top:0;padding-top:8px}
.dss-tmpl__head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.dss-tmpl__idx{font:600 12px var(--font-mono);color:var(--ds-blue)}
.dss-tmpl__head h3{font:600 16px var(--font-mono);color:var(--ds-ink-1)}
.dss-tmpl__use{margin-left:auto;font:11px var(--font-mono);color:var(--ds-ink-5);text-transform:uppercase;letter-spacing:.04em}
.dss-tmpl__preview{border:1px solid var(--ds-hair-2);border-radius:3px;overflow:hidden}
.dss-tmpl__export{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.dss-tmpl__export label{font:600 11px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ds-ink-5)}
.dss-tmpl__export select{font:13px var(--font-sans);color:var(--ds-ink-1);background:var(--ds-paper);border:1px solid var(--ds-hair-3);border-radius:3px;padding:8px 10px;cursor:pointer}
.dss-tmpl__export-status{font:12px var(--font-mono);color:var(--ds-ink-5)}
.dss-tmpl__export-status.err{color:var(--ds-error)}
.dss-tmpl__notes{font:12.5px/1.55 var(--font-sans);color:var(--ds-ink-5);margin-top:12px;max-width:680px}
.dss-tmpl__notes b{color:var(--ds-ink-3);font-weight:600}
/* shared template canvas: fixed 16:9-ish poster */
.tpl{position:relative;aspect-ratio:16/9;padding:26px;display:flex;flex-direction:column;justify-content:center;font-family:var(--font-mono);overflow:hidden}
.tpl__grid{position:absolute;inset:0;z-index:0;pointer-events:none}
.tpl__grid--dot{background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:20px 20px}
.tpl__grid--line{background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:26px 26px}
.tpl__eyebrow,.tpl__headline,.tpl__tel,.tpl__reportbody,.tpl__quotemark,.tpl__quote,.tpl__attr,.tpl__cmdrow,.tpl__term,.tpl__cmdsub,.tpl__nodes{position:relative;z-index:1}
.tpl__bracket{position:absolute;width:18px;height:18px;z-index:2}
.tpl__bracket--tl{top:14px;left:14px;border-top:1.5px solid;border-left:1.5px solid}
.tpl__bracket--br{bottom:14px;right:14px;border-bottom:1.5px solid;border-right:1.5px solid}
.tpl--onblue .tpl__bracket{border-color:rgba(255,255,255,.45)}
.tpl__topbar{position:absolute;top:15px;left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;z-index:2;font:9.5px var(--font-mono);letter-spacing:.09em;text-transform:uppercase}
.tpl__live{display:inline-flex;align-items:center;gap:6px}
.tpl__live::before{content:"";width:6px;height:6px;border-radius:50%;background:#3FD08A;animation:tplpulse 1.8s infinite}
@keyframes tplpulse{0%{box-shadow:0 0 0 0 rgba(63,208,138,.55)}70%{box-shadow:0 0 0 6px rgba(63,208,138,0)}100%{box-shadow:0 0 0 0 rgba(63,208,138,0)}}
@media(prefers-reduced-motion:reduce){.tpl__live::before{animation:none}}
.tpl__stamp{position:absolute;bottom:17px;right:26px;z-index:2;font:9.5px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.tpl__wm{position:absolute;z-index:0;font:700 150px var(--font-mono);line-height:.8;letter-spacing:-.05em;opacity:.06;pointer-events:none}
.tpl__logo{position:absolute;bottom:16px;left:26px;z-index:3}
.tpl__logo img{height:14px;width:auto;display:block;filter:brightness(0) invert(1)}
.tpl__logo--ink img{filter:brightness(0)}
.tpl__logo-svg{height:14px;width:auto;display:block}
.tpl__logo .tpl__logo-svg{color:#fff}
.tpl__logo--ink .tpl__logo-svg{color:var(--ds-blue)}
.tpl__eyebrow{font:400 10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
/* 01 status */
.tpl--status{background:#0d46db;color:#fff}
.tpl--status .tpl__eyebrow{color:#9FC2FF}
.tpl--status .tpl__topbar,.tpl--status .tpl__stamp{color:#9FC2FF}
.tpl__headline{font-family:var(--font-mono);font-weight:var(--font-weight-semibold);font-size:var(--text-heading-hero);line-height:var(--leading-92);letter-spacing:var(--tracking-tightest)}
.tpl__tel{display:flex;gap:24px;margin-top:18px;border-top:1px solid rgba(255,255,255,.18);padding-top:12px;flex-wrap:wrap}
.tpl__tel span{display:flex;flex-direction:column;gap:3px;font:500 9px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#7E9BD8}
.tpl__tel b{color:#fff;font:600 16px var(--font-mono);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
/* 02 report */
.tpl--report{background:var(--ds-paper);color:var(--ds-ink-1)}
.tpl__eyebrow--ink{color:var(--ds-ink-5)}
.tpl--report .tpl__topbar,.tpl--report .tpl__stamp{color:var(--ds-ink-5)}
.tpl__reportbody{display:grid;grid-template-columns:1.15fr 1fr;gap:1px;background:var(--ds-hair-2);border:1px solid var(--ds-hair-2)}
.tpl__hero{background:var(--ds-paper);padding:13px 16px;display:flex;flex-direction:column;justify-content:space-between;gap:6px}
.tpl__hero .l{width:fit-content}
.tpl__hero .v{font:600 44px/1 var(--font-mono);letter-spacing:-.03em;color:var(--ds-blue);font-variant-numeric:tabular-nums}
.tpl__spark{display:flex;align-items:flex-end;gap:4px;height:24px;margin-top:8px}
.tpl__spark i{flex:1;background:var(--ds-blue-soft);border-radius:1px 1px 0 0}
.tpl__spark i:last-child{background:var(--ds-blue)}
.tpl__metricstack{display:grid;grid-template-rows:1fr 1fr 1fr;gap:1px;background:var(--ds-hair-2)}
.tpl__metric{background:var(--ds-paper);padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.tpl__metric .l{font:600 9px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ds-ink-5)}
.tpl__metric .v{font:600 18px var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ds-ink-1)}
/* 03 map */
.tpl--map{background:#0A1E4F;color:#fff}
.tpl--map .tpl__topbar,.tpl--map .tpl__stamp{color:#9FC2FF}
.tpl__nodes{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.tpl__legend{position:absolute;bottom:16px;right:26px;z-index:3;display:flex;gap:14px;font:9px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:#9FC2FF}
.tpl__legend span{display:inline-flex;align-items:center;gap:5px}
.tpl__legend i{width:7px;height:7px;border-radius:50%}
/* 03 spec (region comparison) */
/* Two real Card atoms (dgd-card/dgd-card__head/dgd-card__body) side by side on the dark
   ground, each with a real Badge (dgd-badge--ok/--warn, dot variant) for status — the exact
   card+badge-in-header pattern already documented on the Card component's own page. Only
   the dark blue template ground is template-specific; every panel piece is a real atom. */
.tpl--spec{background:#0A1E4F;color:#fff}
.tpl--spec .tpl__topbar,.tpl--spec .tpl__stamp{color:#9FC2FF}
.tpl__cardrow{position:relative;z-index:1;margin-top:16px;flex-wrap:nowrap}
.tpl__cardrow .dgd-card{width:auto;flex:1;color:var(--ds-ink-1)}
/* 04 field note */
.tpl--quote{background:var(--ds-paper);color:var(--ds-ink-1);justify-content:center}
.tpl--quote .tpl__topbar,.tpl--quote .tpl__stamp{color:var(--ds-ink-5)}
.tpl__quotemark{font:700 88px var(--font-mono);color:var(--ds-blue);line-height:.5;margin-bottom:2px}
.tpl__quote{font:600 22px/1.3 var(--font-mono);letter-spacing:-.02em;max-width:88%}
.tpl__quote em{font-style:normal;color:var(--ds-blue)}
.tpl__attr{margin-top:16px;padding-top:10px;border-top:1px solid var(--ds-hair-3);font:500 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ds-ink-5)}
.tpl__attr b{color:var(--ds-ink-2);font-weight:600}
/* 05 command */
/* A real terminal window, not Status Board's dot-grid/bracket/hero-headline chrome with a CLI
   flavour swapped in: a title bar with window dots, a prompt, and one loud verb CTA —
   near-black + brand blue accent throughout, no blue ground, no corner brackets.
   This is a static export, not a live device — no blinking/animated indicators, no timestamp. */
.tpl--command{background:var(--instrument-bg);color:var(--instrument-text)}
.tpl__winbar{position:absolute;top:0;left:0;right:0;height:30px;z-index:2;display:flex;align-items:center;gap:6px;padding:0 14px;background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.08)}
.tpl__wdot{width:8px;height:8px;border-radius:50%;flex:none}
.tpl__wdot--r{background:#FF5F56}
.tpl__wdot--y{background:#FFBD2E}
.tpl__wdot--g{background:#27C93F}
.tpl__wtitle{position:absolute;left:50%;transform:translateX(-50%);font:10px var(--font-mono);color:rgba(255,255,255,.35);letter-spacing:.02em}
.tpl__term{font:500 11px var(--font-mono);color:#A6ADBD;margin-bottom:14px;display:flex;align-items:center}
.tpl__term .p{color:var(--ds-blue);margin-right:7px}
.tpl__cursor{display:inline-block;width:7px;height:13px;background:var(--ds-blue);margin-left:5px}
.tpl__cmdrow{display:flex;align-items:center;gap:16px}
.tpl__cmdverb{font-family:var(--font-mono);font-weight:700;font-size:var(--text-heading-hero);line-height:var(--leading-92);letter-spacing:var(--tracking-tightest);color:var(--ds-blue)}
.tpl__cmdsub{margin-top:12px;font:500 13px var(--font-mono);color:#A6ADBD}
/* /06 — social profile background (wide banner, safe-zone guides) */
.tpl--profile{aspect-ratio:3/1;background:radial-gradient(120% 160% at 82% 8%,#143a86 0%,#0d2a63 38%,#0A1E4F 72%,#071634 100%);color:#fff;justify-content:flex-start;padding:0}
.tpl--profile .tpl__grid--dot{background-size:16px 16px}
.tpl__wm--profile{position:absolute;z-index:0;left:-1%;bottom:-32%;font:700 190px/.78 var(--font-mono);letter-spacing:-.04em;opacity:.07;white-space:nowrap;pointer-events:none}
.tpl__profilehead{position:relative;z-index:3;padding:8.5% 6% 0 27%}
.tpl__profiletag{display:inline-flex;align-items:center;gap:8px;font:600 9.5px var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:#9FC2FF;margin-bottom:16px}
.tpl__profiletag img{height:12px;width:auto;display:block;filter:brightness(0) invert(1)}
.tpl__profileline{font:600 30px/1.08 var(--font-mono);letter-spacing:-.03em;color:#fff}
.tpl__profileline small{display:block;font-weight:400;color:rgba(255,255,255,.62)}
.tpl__profilelive{position:absolute;z-index:3;bottom:8.5%;right:9%;display:flex;align-items:center;gap:16px;font:600 9.5px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:#9FC2FF}
.tpl__profilelive b{color:#fff;font-size:12px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
/* Option 2 — footer wordmark variant (grid ground, headline, oversized bleeding wordmark) */
.dss-tmpl__variant{margin-bottom:30px}
.dss-tmpl__variant:last-of-type{margin-bottom:0}
.dss-tmpl__vlabel{font:600 12.5px var(--font-mono);letter-spacing:.03em;color:var(--ds-ink-2);margin-bottom:10px}
.dss-tmpl__vlabel small{font-weight:400;color:var(--ds-ink-6);letter-spacing:0;margin-left:6px}
/* Preview background is a fallback color only, shown briefly before renderBigTypePreview() paints the canvas
   (which draws its own exact copy of this gradient). Stays at the shared .tpl 16:9 box like Option 1 — only
   the actual PNG export is redrawn per platform's real aspect ratio (matches how Option 1 already works). */
.tpl--terminal{background:var(--instrument-panel)}
.tpl__bigtype{position:absolute;inset:0;width:100%;height:100%;display:block}
.tpl__safezone{position:absolute;inset:9% 6.5%;border:1px dashed rgba(159,194,255,.4);z-index:4;pointer-events:none}
.tpl__safezone::before{content:"safe zone — all platforms";position:absolute;top:-8px;left:10px;background:#0A1E4F;padding:0 6px;font:600 7px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:rgba(159,194,255,.7);white-space:nowrap}
.tpl__avatarzone{position:absolute;z-index:4;left:6.5%;bottom:-42%;width:16%;aspect-ratio:1;border:1px dashed rgba(255,199,17,.6);border-radius:50%;pointer-events:none}
.tpl__avatarzone::after{content:"avatar overlap";position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);font:600 6.5px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:rgba(255,199,17,.8);white-space:nowrap}
@media(max-width:760px){.tpl__headline{font-size:24px}.tpl__quote{font-size:16px;max-width:100%}.tpl__cmdverb{font-size:36px}.tpl__profileline{font-size:19px}.tpl__wm--profile{font-size:120px}}
.dss-type-group{margin:32px 0}
.dss-type-group:first-of-type{margin-top:16px}
.dss-type-group__title{font:600 16px var(--font-mono);color:var(--ds-ink-1);margin-bottom:4px}
.dss-type-group__desc{font:13px var(--font-sans);color:var(--ds-ink-5);margin-bottom:16px;max-width:640px}
.dss-typetable{width:100%;border-collapse:collapse;table-layout:fixed}
.dss-typetable th{text-align:left;font:600 10px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ds-ink-5);padding:0 16px 10px;border-bottom:1px solid var(--ds-hair-3);vertical-align:bottom}
.dss-typetable th.c-cls{width:190px}
.dss-typetable th.c-use{width:230px}
.dss-typetable td{padding:16px;border-bottom:1px solid var(--ds-hair-1);vertical-align:middle}
.dss-typetable tr:last-child td{border-bottom:0}
.dss-typetable tr:hover td{background:var(--ds-paper-2)}
.dss-typetable td.c-ex{color:var(--ds-ink-1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.dss-clsname{font:500 12.5px var(--font-mono);color:var(--ds-ink-4);background:transparent;border:0;padding:2px 0;cursor:pointer;letter-spacing:.01em;text-align:left}
.dss-clsname:hover{color:var(--ds-blue-ink)}
.dss-clsname.copied{color:var(--ds-ok)}
.dss-typetable td.c-use{font:12.5px var(--font-sans);color:var(--ds-ink-5)}
@media(max-width:760px){.dss-typetable,.dss-typetable thead,.dss-typetable tbody,.dss-typetable tr,.dss-typetable td,.dss-typetable th{display:block}.dss-typetable thead{display:none}.dss-typetable td{border-bottom:0;padding:4px 0}.dss-typetable tr{border-bottom:1px solid var(--ds-hair-2);padding:12px 0}}
.dss-typeface-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0 4px}
@media(max-width:760px){.dss-typeface-grid{grid-template-columns:1fr}}
.dss-typeface-card{border:1px solid var(--ds-hair-2);padding:24px}
.dss-typeface-card__glyph{font-size:56px;line-height:1;margin-bottom:14px;color:var(--ds-ink-1)}
.dss-typeface-card__head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.dss-typeface-card__name{font:600 15px var(--font-mono);color:var(--ds-ink-1)}
.dss-typeface-card__tag{font:500 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ds-blue-ink);background:var(--ds-blue-soft);padding:2px 7px;border-radius:3px}
.dss-typeface-card__desc{font:13px/1.55 var(--font-sans);color:var(--ds-ink-5);margin-bottom:16px}
.dss-typeface-card__stack{display:flex;align-items:center;gap:8px;background:var(--ds-paper-2);border:1px solid var(--ds-hair-1);border-radius:3px;padding:10px 12px}
.dss-typeface-card__stack code{flex:1;font:12px var(--font-mono);color:var(--ds-ink-3);word-break:break-all}
.dss-stack-copy{flex-shrink:0;font:600 11px var(--font-mono);color:var(--ds-ink-5);background:var(--ds-paper);border:1px solid var(--ds-hair-3);border-radius:3px;padding:5px 9px;cursor:pointer}
.dss-stack-copy:hover{border-color:var(--ds-hair-4);color:var(--ds-ink-1)}
.dss-stack-copy.copied{color:var(--ds-ok);border-color:var(--ds-ok)}
.dss-type-row{display:flex;align-items:baseline;gap:20px;padding:14px 0;border-bottom:1px solid var(--ds-hair-1)}
.dss-type-row:last-of-type{border-bottom:0}
.dss-type-row .tspec{width:230px;flex-shrink:0;font-size:11px;color:var(--ds-ink-6)}
.dss-type-row .tsample{color:var(--ds-ink-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dss-space-row{display:flex;align-items:center;gap:16px;padding:8px 0}
.dss-space-row .sname{width:74px;flex-shrink:0;font-size:12px;color:var(--ds-ink-4)}
.dss-space-row .sbar{background:var(--ds-blue-soft);border-left:2px solid var(--ds-blue);height:14px}
.dss-space-row .sval{font-size:11px;color:var(--ds-ink-6)}
@media(max-width:760px){.dss-split,.dss-tiers,.dss-inv{grid-template-columns:1fr}.dss-type-row{flex-direction:column;gap:4px}.dss-type-row .tspec{width:auto}}

.ds-price__cta,.ds-form__submit,.ds-ctac__btn,.ds-cta__btn,.ds-loadmore{text-transform:none!important}

.ds-fcards__link,.ds-cases__link,.ds-blog__all,.ds-notif__link,.ds-nav__seeall{text-transform:none!important}

.ds-ctasplit__cta--ink{background:transparent!important;color:var(--ink-1)!important;border:1px solid var(--hair-3)!important}

.ds-sort__btn--on,.ds-pricepanel__status{background:var(--blue)!important;color:#fff!important}

.ds-btn--secondary{background:transparent!important;color:var(--ink-1)!important;border:1px solid var(--hair-3)!important}

.ds-nav__pill{display:inline-flex;align-items:center;border-radius:3px;padding:5px 12px;font:500 12px var(--font-mono);color:var(--nav-pill-ink);background:var(--nav-pill-bg);text-decoration:none}
.ds-nav__pill:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
/* Brand page — logo lockups, clearspace, misuse */
.dss-brand-panel{display:flex;align-items:center;justify-content:center;padding:56px 24px}
.dss-brand-panel--paper{background:var(--ds-paper);border:1px solid var(--ds-hair-3)}
.dss-brand-panel--ink{background:var(--ds-code-bg)}
.dss-brand-panel--blue{background:var(--ds-blue)}
.dss-brand-panel .dss-brandmark{padding:0}
.dss-brand-panel--ink .dss-brandmark,.dss-brand-panel--blue .dss-brandmark{color:#fff}
.dss-brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:4px}
@media(max-width:760px){.dss-brand-grid{grid-template-columns:1fr}}
.dss-brand-label{margin-top:10px;font:500 12px var(--font-mono);color:var(--ds-ink-3)}
.dss-brand-label small{margin-left:8px;color:var(--ds-ink-6);font:400 12px var(--font-sans)}
.dss-brand-mark-solo{width:64px;height:auto;display:block}
.dss-brand-clearspace{position:relative;display:inline-flex;padding:38px;border:1px dashed var(--ds-hair-4)}
.dss-brand-clearspace::before,.dss-brand-clearspace::after{content:"";position:absolute;border-top:1px dashed var(--ds-hair-4)}
.dss-brand-clearspace__unit{position:absolute;top:6px;left:8px;font:500 10px var(--font-mono);color:var(--ds-ink-6)}
.dss-brand-misuse{position:relative;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--ds-paper-2);border:1px solid var(--ds-hair-2)}
.dss-brand-misuse__tag{position:absolute;top:10px;right:12px;font:600 10px var(--font-mono);letter-spacing:.05em;color:var(--ds-error)}
.dss-brand-misuse--squish svg{transform:scaleX(.55)}
.dss-brand-misuse--recolor svg{color:var(--ds-warn)}
.dss-brand-misuse--rotate svg{transform:rotate(-8deg)}
.dss-brand-misuse--outline svg path{fill:none;stroke:currentColor;stroke-width:1}
.dss-brand-misuse--shadow svg{filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}


/* ===== Gap component demos — all on DS tokens ===== */
.dgd-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.dgd-col{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.dgd-mono{font-family:var(--font-mono)}
/* buttons */
.dgd-btn{font:600 13px var(--font-mono);letter-spacing:-.01em;border-radius:3px;padding:9px 16px;cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;gap:8px;transition:background var(--motion-fast) var(--ease-in-out),border-color var(--motion-fast) var(--ease-in-out)}
.dgd-btn:focus-visible{outline:2px solid var(--ds-blue);outline-offset:1px}
.dgd-btn--pri{background:var(--ds-blue);color:#fff}
.dgd-btn--pri:hover{background:var(--ds-blue-2)}
.dgd-btn--sec{background:transparent;color:var(--ds-ink-1);border-color:var(--ds-hair-3)}
.dgd-btn--sec:hover{border-color:var(--ds-ink-5)}
.dgd-btn--ter{background:transparent;color:var(--ds-blue-ink);padding:9px 8px}
.dgd-btn--danger{background:var(--ds-error);color:#fff}

.dgd-btn--white{background:#fff;color:var(--ds-blue)}
.dgd-btn--white:hover{background:var(--ds-paper-2)}
.dgd-btn--ghost-inverse{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.dgd-btn--ghost-inverse:hover{background:rgba(255,255,255,.08)}
.dgd-btn--xs{padding:5px 10px;font-size:11px}
.dgd-btn--sm{padding:7px 13px;font-size:12px}
.dgd-btn--lg{padding:11px 20px;font-size:14px}
.dgd-btn svg{width:15px;height:15px}
/* badge/pill */

.dgd-badge{display:inline-flex;align-items:center;gap:6px;font:600 11px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:3px;border:1px solid var(--ds-hair-3);color:var(--ds-ink-3);background:var(--ds-paper-2)}
.dgd-badge--brand{border-color:var(--ds-blue);background:var(--ds-blue-soft);color:var(--ds-blue-ink)}
.dgd-badge--ok{border-color:var(--ds-ok);color:var(--ds-ok);background:transparent}
.dgd-badge--warn{border-color:var(--ds-warn);color:var(--ds-warn);background:transparent}
.dgd-badge--err{border-color:var(--ds-error);color:var(--ds-error-text);background:transparent}
.dgd-badge .d{width:6px;height:6px;border-radius:50%;background:currentColor}
/* avatar */
.dgd-av{position:relative;border-radius:50%;background:var(--ds-blue-soft);color:var(--ds-blue-ink);display:inline-flex;align-items:center;justify-content:center;font:600 12px var(--font-mono);flex-shrink:0}
.dgd-av--xs{width:24px;height:24px;font-size:9px}
.dgd-av--sm{width:32px;height:32px;font-size:11px}
.dgd-av--md{width:40px;height:40px;font-size:13px}
.dgd-av--lg{width:56px;height:56px;font-size:17px}
.dgd-av__status{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;background:var(--ds-live,#3FD08A);border:2px solid var(--ds-paper)}
.dgd-avstack{display:flex}
.dgd-avstack .dgd-av{border:2px solid var(--ds-paper);margin-left:-8px}
.dgd-avstack .dgd-av:first-child{margin-left:0}
/* form field */
.dgd-flabel{font:600 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ds-ink-5);margin-bottom:6px;display:block}
.dgd-input{width:100%;border:1px solid var(--ds-hair-3);border-radius:3px;padding:9px 11px;font:13px var(--font-sans);background:var(--ds-paper);color:var(--ds-ink-1)}
.dgd-input:focus{outline:2px solid var(--ds-blue);outline-offset:1px;border-color:var(--ds-blue)}
.dgd-input::placeholder{color:var(--ds-ink-6)}
.dgd-field{width:280px;max-width:100%}
.dgd-hint{font:12px var(--font-sans);color:var(--ds-ink-5);margin-top:6px}
.dgd-hint--err{color:var(--ds-error-text)}
.dgd-inputwrap{position:relative;display:flex;align-items:center}
.dgd-inputwrap svg{position:absolute;left:11px;width:15px;height:15px;color:var(--ds-ink-5)}
.dgd-inputwrap .dgd-input{padding-left:34px}
.dgd-inputwrap .dgd-x{position:absolute;right:10px;cursor:pointer;color:var(--ds-ink-5);border:0;background:none;font:14px monospace}
.dgd-inputwrap .dgd-x:focus-visible{outline:2px solid var(--ds-blue);outline-offset:1px}
.dgd-affix{display:flex;align-items:stretch;border:1px solid var(--ds-hair-3);border-radius:3px;overflow:hidden}
.dgd-affix .pre{background:var(--ds-paper-2);border-right:1px solid var(--ds-hair-3);padding:9px 11px;font:12px var(--font-mono);color:var(--ds-ink-5);display:flex;align-items:center}
.dgd-affix .dgd-input{border:0;border-radius:0;flex:1;min-width:0}
.dgd-affix .dgd-input:focus{outline:0}
.dgd-affix .suf{background:var(--ds-paper-2);border-left:1px solid var(--ds-hair-3);padding:9px 11px;font:12px var(--font-mono);color:var(--ds-ink-5);display:flex;align-items:center}
.dgd-affix:focus-within,.dgd-affix.is-focus{outline:2px solid var(--ds-blue);outline-offset:1px;border-color:var(--ds-blue)}
.dgd-affix--err{border-color:var(--ds-error)}
.dgd-affix--err.is-focus{outline-color:var(--ds-error)}
.dgd-affix.is-disabled{background:var(--ds-paper-2);opacity:.45;pointer-events:none}
.dgd-affix .dgd-selpre{background:var(--ds-paper-2);border-right:1px solid var(--ds-hair-3);padding:0 10px;font:12px var(--font-mono);color:var(--ds-ink-2);display:flex;align-items:center;gap:5px;cursor:pointer;flex-shrink:0;white-space:nowrap}
.dgd-affix .dgd-selpre svg{width:13px;height:13px;color:var(--ds-ink-5)}
.dgd-affix .dgd-btnsuf{border:0;border-left:1px solid var(--ds-hair-3);background:var(--ds-paper-2);color:var(--ds-ink-2);padding:0 13px;font:600 12px var(--font-mono);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.dgd-affix .dgd-btnsuf:focus-visible{outline:2px solid var(--ds-blue);outline-offset:-2px}
.dgd-affix .dgd-btnsuf:hover{background:var(--ds-paper-3)}
/* ===== showcase scaffolding (labeled state matrices) ===== */
.dgd-showcase{display:flex;flex-direction:column;gap:0;width:100%;align-items:stretch}
.dgd-group{display:flex;flex-direction:column;gap:16px;padding:22px 0}
.dgd-group:first-child{padding-top:0}
.dgd-group:last-child{padding-bottom:0}
.dgd-group+.dgd-group{border-top:1px solid var(--ds-hair-2)}
.dgd-glabel{font:600 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ds-ink-6);margin:0;display:flex;align-items:baseline;gap:10px}
.dgd-glabel small{font-weight:400;letter-spacing:0;text-transform:none;color:var(--ds-ink-7);font-size:11px;font-family:var(--font-sans)}
.dgd-cells{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end}
.dgd-cell{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.dgd-cap{font:500 10px var(--font-mono);letter-spacing:.03em;color:var(--ds-ink-6)}
/* ---- Alert ---- */
.dgd-alert{display:flex;gap:12px;padding:14px 16px;border:1px solid var(--ds-hair-3);border-left:3px solid var(--ds-hair-4);border-radius:3px;background:var(--ds-paper);max-width:520px;align-items:flex-start}
.dgd-alert__ico{flex-shrink:0;width:20px;height:20px;color:var(--ds-ink-4);margin-top:1px;display:inline-flex}
.dgd-alert__ico svg{width:20px;height:20px}
.dgd-alert__body{flex:1;min-width:0}
.dgd-alert__title{font:600 13px var(--font-mono);letter-spacing:-.01em;color:var(--ds-ink-1);margin:0 0 3px}
.dgd-alert__msg{font:13px/1.6 var(--font-sans);color:var(--ds-ink-4);margin:0}
.dgd-alert__actions{display:flex;gap:18px;margin-top:12px}
.dgd-alert__actions a{font:600 12px var(--font-mono);color:var(--ds-blue-ink);cursor:pointer;text-decoration:none}
.dgd-alert__actions a.muted{color:var(--ds-ink-4)}
.dgd-alert__x{flex-shrink:0;border:0;background:none;color:var(--ds-ink-6);cursor:pointer;padding:2px;display:inline-flex}
.dgd-alert__x:focus-visible{outline:2px solid var(--ds-blue);outline-offset:1px}
.dgd-alert__x svg{width:15px;height:15px}
.dgd-alert--info{border-left-color:var(--ds-blue)}
.dgd-alert--info .dgd-alert__ico{color:var(--ds-blue-ink)}
.dgd-alert--success{border-left-color:var(--ds-ok)}
.dgd-alert--success .dgd-alert__ico{color:var(--ds-ok)}
.dgd-alert--warn{border-left-color:var(--ds-warn)}
.dgd-alert--warn .dgd-alert__ico{color:var(--ds-warn)}
.dgd-alert--err{border-left-color:var(--ds-error)}
.dgd-alert--err .dgd-alert__ico{color:var(--ds-error-text)}
.dgd-alert--soft.dgd-alert--info{background:var(--ds-blue-soft)}
/* ---- Progress steps / Stepper ---- */
.dgd-steps{display:flex;align-items:flex-start;width:100%;max-width:560px}
.dgd-step{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}
.dgd-steps:not(.dgd-steps--v) .dgd-step::before{content:"";position:absolute;top:12px;left:-50%;width:100%;height:1px;background:var(--ds-hair-3)}
.dgd-steps:not(.dgd-steps--v) .dgd-step:first-child::before{display:none}
.dgd-steps:not(.dgd-steps--v) .dgd-step.done::before,.dgd-steps:not(.dgd-steps--v) .dgd-step.now::before{background:var(--ds-blue)}
.dgd-step__dot{width:24px;height:24px;border-radius:50%;border:1px solid var(--ds-hair-4);background:var(--ds-paper);display:inline-flex;align-items:center;justify-content:center;font:600 11px var(--font-mono);color:var(--ds-ink-5);z-index:1}
.dgd-step__dot svg{width:14px;height:14px}
.dgd-step.done .dgd-step__dot{background:var(--ds-blue);border-color:var(--ds-blue);color:#fff}
.dgd-step.now .dgd-step__dot{border:2px solid var(--ds-blue);color:var(--ds-blue-ink)}
.dgd-step__label{margin-top:8px;font:600 12px var(--font-mono);color:var(--ds-ink-3)}
.dgd-step__desc{font:11px/1.5 var(--font-sans);color:var(--ds-ink-6);margin-top:2px;max-width:120px}
.dgd-step.now .dgd-step__label{color:var(--ds-blue-ink)}
.dgd-step.done .dgd-step__label{color:var(--ds-ink-2)}
.dgd-steps--v{flex-direction:column;align-items:stretch;max-width:340px}
.dgd-steps--v .dgd-step{flex:none;flex-direction:row;align-items:flex-start;text-align:left;gap:12px;padding-bottom:22px}
.dgd-steps--v .dgd-step::after{content:"";position:absolute;top:24px;left:11px;bottom:0;width:1px;background:var(--ds-hair-3)}
.dgd-steps--v .dgd-step:last-child{padding-bottom:0}
.dgd-steps--v .dgd-step:last-child::after{display:none}
.dgd-steps--v .dgd-step.done::after{background:var(--ds-blue)}
.dgd-steps--v .dgd-step__label{margin-top:2px}
.dgd-steps--v .dgd-step__desc{max-width:none}
.dgd-stepbar{display:flex;flex-direction:column;gap:8px;width:260px}
.dgd-stepbar__top{display:flex;justify-content:space-between;font:600 11px var(--font-mono);color:var(--ds-ink-4)}
.dgd-stepbar__track{height:4px;border-radius:2px;background:var(--ds-hair-2);overflow:hidden}
.dgd-stepbar__fill{height:100%;background:var(--ds-blue);border-radius:2px}
/* ---- Button group (segmented) ---- */
.dgd-bgrp{display:inline-flex}
.dgd-bgrp>button,.dgd-bgrp>a{font:600 13px var(--font-mono);letter-spacing:-.01em;padding:9px 14px;background:var(--ds-paper);color:var(--ds-ink-2);border:1px solid var(--ds-hair-3);border-right-width:0;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:background var(--motion-fast) var(--ease-in-out),color var(--motion-fast) var(--ease-in-out),border-color var(--motion-fast) var(--ease-in-out)}
.dgd-bgrp>*:first-child{border-radius:3px 0 0 3px}
.dgd-bgrp>*:last-child{border-radius:0 3px 3px 0;border-right-width:1px}
.dgd-bgrp>*:hover{background:var(--ds-paper-2);color:var(--ds-ink-1)}
.dgd-bgrp>.on{background:var(--ds-blue-soft);color:var(--ds-blue-ink);border-color:var(--ds-blue);position:relative;z-index:1}
.dgd-bgrp>.on+*{border-left-color:var(--ds-blue)}
.dgd-bgrp>*[disabled],.dgd-bgrp>.is-disabled{opacity:.45;cursor:not-allowed}
.dgd-bgrp svg{width:15px;height:15px}
.dgd-bgrp--sm>*{padding:6px 11px;font-size:12px}
.dgd-bgrp--icon>*{padding:8px}
.dgd-bgrp--v{flex-direction:column}
.dgd-bgrp--v>*{border-right-width:1px;border-bottom-width:0}
.dgd-bgrp--v>*:first-child{border-radius:3px 3px 0 0}
.dgd-bgrp--v>*:last-child{border-radius:0 0 3px 3px;border-bottom-width:1px}
.dgd-bgrp--v>.on+*{border-left-color:var(--ds-hair-3);border-top-color:var(--ds-blue)}
/* ---- Rating stars ---- */
.dgd-stars{display:inline-flex;align-items:center;gap:3px}
.dgd-star{position:relative;display:inline-block;width:18px;height:18px;color:var(--ds-hair-3);line-height:0}
.dgd-star>svg{width:18px;height:18px;fill:currentColor;display:block}
.dgd-star.on{color:var(--ds-warning)}
.dgd-star__h{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden;color:var(--ds-warning)}
.dgd-star__h svg{width:200%;height:100%;fill:currentColor;display:block}
.dgd-stars--sm .dgd-star,.dgd-stars--sm .dgd-star>svg{width:14px;height:14px}
.dgd-stars--lg .dgd-star,.dgd-stars--lg .dgd-star>svg{width:24px;height:24px}
.dgd-stars__val{margin-left:8px;font:600 12px var(--font-mono);color:var(--ds-ink-3)}
.dgd-stars__val small{color:var(--ds-ink-6);font-weight:400}
.dgd-ratebadge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ds-hair-3);border-radius:3px;padding:4px 9px;background:var(--ds-paper-2)}
.dgd-ratebadge .dgd-star{width:14px;height:14px}
.dgd-ratebadge .dgd-star>svg{width:14px;height:14px}
.dgd-ratebadge b{font:600 12px var(--font-mono);color:var(--ds-ink-1)}
.dgd-ratebadge span{font:11px var(--font-mono);color:var(--ds-ink-6)}
.dgd-fieldgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;width:100%}
.dgd-fieldgrid .dgd-field{width:auto}
/* ===== button states / shapes / loading ===== */
.dgd-btn--pri.is-hover{background:var(--ds-blue-2)}
.dgd-btn--pri.is-active{background:var(--ds-blue-ink)}
.dgd-btn--pri.is-focus{outline:2px solid var(--ds-blue);outline-offset:2px}
.dgd-btn--sec.is-hover{border-color:var(--ds-ink-5)}
.dgd-btn--sec.is-active{background:var(--ds-paper-2);border-color:var(--ds-ink-5)}
.dgd-btn--sec.is-focus{outline:2px solid var(--ds-blue);outline-offset:2px}
.dgd-btn--ter:hover{background:var(--ds-blue-soft)}
.dgd-btn--ter.is-hover{background:var(--ds-blue-soft)}
.dgd-btn--danger:hover{background:var(--error-700)}
.dgd-btn--danger.is-hover{background:var(--error-700)}
.dgd-btn:disabled,.dgd-btn.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.dgd-btn--icon{padding:0;width:36px;height:36px;justify-content:center}
.dgd-btn--icon.dgd-btn--sm{width:30px;height:30px}
.dgd-btn--icon.dgd-btn--lg{width:44px;height:44px}
.dgd-btn--circle{border-radius:50%}
.dgd-btn--block{width:100%;justify-content:center}
/* Command-K icon-only trigger — clickable + ⌘K/Ctrl-K keyboard triggerable, see Command Menu gap-doc */
.dgd-btn--cmdk{gap:6px;padding-right:8px}
.dgd-btn--cmdk .dgd-kbd{pointer-events:none}
.dgd-btn--cmdk.is-triggered{background:var(--ds-blue-soft);border-color:var(--ds-blue)}
.dgd-kbd__ico{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px}
.dgd-kbd__ico svg{width:11px;height:11px}
/* Agent-status orb — working/searching/solving loading affordance for buttons (see Motion §4.7 Signal bus for the same instrumentation-token family) */
.ds-orb{width:14px;height:14px;flex:none;display:inline-block;border-radius:50%;background-image:radial-gradient(circle,currentColor 1.1px,transparent 1.3px);background-size:4px 4px;-webkit-mask-image:radial-gradient(circle,#000 62%,transparent 100%);mask-image:radial-gradient(circle,#000 62%,transparent 100%)}
.ds-orb--working{animation:dsOrbSpin 1.6s linear infinite}
.ds-orb--searching{animation:dsOrbSweep 1.1s var(--ease-in-out) infinite}
.ds-orb--solving{animation:dsOrbSpin .75s linear infinite;box-shadow:0 0 6px currentColor}
@keyframes dsOrbSpin{to{transform:rotate(360deg)}}
@keyframes dsOrbSweep{0%,100%{transform:rotate(-40deg)}50%{transform:rotate(400deg)}}
@media(prefers-reduced-motion:reduce){.ds-orb--working,.ds-orb--searching,.ds-orb--solving{animation:none}}
.dgd-mini-spin{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:dgdspin .7s linear infinite;flex-shrink:0}
@media(prefers-reduced-motion:reduce){.dgd-mini-spin{animation:none}}
/* ===== extended input states ===== */
.dgd-input:disabled,.dgd-input.is-disabled{background:var(--ds-paper-2);color:var(--ds-ink-6);cursor:not-allowed;border-color:var(--ds-hair-2)}
.dgd-input.is-focus{outline:2px solid var(--ds-blue);outline-offset:1px;border-color:var(--ds-blue)}
.dgd-input--sm{padding:6px 9px;font-size:12px}
.dgd-input--lg{padding:11px 13px;font-size:14px}
.dgd-input--err{border-color:var(--ds-error)}
.dgd-input--err.is-focus,.dgd-input--err:focus{outline-color:var(--ds-error);border-color:var(--ds-error)}
.dgd-input--ok{border-color:var(--ds-ok)}
.dgd-inputwrap--trail svg{left:auto;right:11px}
.dgd-inputwrap--trail .dgd-input{padding-left:11px;padding-right:34px}
.dgd-inputwrap .dgd-eye{position:absolute;right:9px;display:inline-flex;border:0;background:none;color:var(--ds-ink-5);cursor:pointer;padding:2px}
.dgd-inputwrap .dgd-eye:focus-visible{outline:2px solid var(--ds-blue);outline-offset:1px}
.dgd-inputwrap .dgd-eye svg{position:static;width:16px;height:16px}
.dgd-hint--ok{color:var(--ds-ok)}
.dgd-inputwrap--err svg{color:var(--ds-error)}
.dgd-inputwrap--ok svg{color:var(--ds-ok)}
.dgd-inputwrap .dgd-x svg{position:static;left:auto;right:auto;width:14px;height:14px;color:inherit}
.dgd-flabel svg{width:13px;height:13px;color:var(--ds-ink-6);vertical-align:-2px}
.dgd-hint__row{display:flex;align-items:center;gap:6px}
.dgd-hint__row svg{width:13px;height:13px;flex-shrink:0}
.dgd-flabel .opt{color:var(--ds-ink-7);font-weight:400;text-transform:none;letter-spacing:0;margin-left:6px}
.dgd-flabel .req{color:var(--ds-error);margin-left:3px}
.dgd-flabel.is-disabled{color:var(--ds-ink-7)}
/* ===== Batch A: form-control states, sizes & variants ===== */
.dgd-check.is-disabled{opacity:.45;cursor:not-allowed}
.dgd-box--sm{width:14px;height:14px}
.dgd-box--sm svg{width:10px;height:10px}
.dgd-box--ind{background:var(--ds-blue);border-color:var(--ds-blue);color:#fff}
.dgd-box--err{border-color:var(--ds-error)}
.dgd-box.is-focus{outline:2px solid var(--ds-blue);outline-offset:2px}
.dgd-radio-dot--sm{width:14px;height:14px}
.dgd-radio-dot--sm.dgd-radio-dot--on::after{width:7px;height:7px}
.dgd-radio-dot--err{border-color:var(--ds-error)}
.dgd-radio-dot.is-focus{outline:2px solid var(--ds-blue);outline-offset:2px}
.dgd-switch--sm{width:30px;height:18px}
.dgd-switch--sm::after{width:14px;height:14px}
.dgd-switch--sm.dgd-switch--on::after{transform:translateX(12px)}
.dgd-switch.is-disabled{opacity:.45;cursor:not-allowed}
.dgd-switch.is-focus{outline:2px solid var(--ds-blue);outline-offset:2px}
.dgd-tglbtn--sm button{padding:5px 11px;font-size:11px}
.dgd-tglbtn.is-disabled{opacity:.45;pointer-events:none}
.dgd-tglbtn button svg{width:14px;height:14px;vertical-align:-2px;margin-right:5px}
.dgd-tglbtn button .d{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:1px}
.dgd-sliderbox{padding-top:26px;width:240px;position:relative}
.dgd-slider.is-disabled{opacity:.45;pointer-events:none}
.dgd-slider__val{position:absolute;top:-24px;transform:translateX(-50%);font:600 11px var(--font-mono);background:var(--ds-ink-1);color:var(--ds-paper);padding:2px 7px;border-radius:3px;white-space:nowrap}
.dgd-slider__val::after{content:"";position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:var(--ds-ink-1);border-bottom:0}
.dgd-slider__cap{position:absolute;top:16px;font:500 11px var(--font-mono);color:var(--ds-ink-6)}
.dgd-menu__foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ds-hair-1);margin-top:5px;padding:7px 6px 3px}
.dgd-menu__foot button{border:0;background:none;font:600 11px var(--font-mono);color:var(--ds-blue-ink);cursor:pointer;padding:2px 4px}
.dgd-menu__count{font:11px var(--font-mono);color:var(--ds-ink-6)}
.dgd-menu__empty{padding:18px 10px;text-align:center;font:12px var(--font-sans);color:var(--ds-ink-6)}
.dgd-selbtn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:1px solid var(--ds-hair-3);border-radius:3px;padding:9px 11px;font:13px var(--font-sans);background:var(--ds-paper);color:var(--ds-ink-1);cursor:pointer;text-align:left}
.dgd-selbtn:focus-visible{outline:2px solid var(--ds-blue);outline-offset:1px}
.dgd-selbtn>svg{width:15px;height:15px;color:var(--ds-ink-5);flex-shrink:0}
.dgd-selbtn--ph{color:var(--ds-ink-6)}
.dgd-selbtn--sm{padding:6px 9px;font-size:12px}
.dgd-selbtn--lg{padding:11px 13px;font-size:14px}
.dgd-selbtn.is-focus{outline:2px solid var(--ds-blue);outline-offset:1px;border-color:var(--ds-blue)}
.dgd-selbtn.is-disabled{background:var(--ds-paper-2);color:var(--ds-ink-6);cursor:not-allowed;border-color:var(--ds-hair-2)}
.dgd-chips{display:flex;flex-wrap:wrap;gap:5px;align-items:center;flex:1}
.dgd-chip{display:inline-flex;align-items:center;gap:5px;font:500 11px var(--font-mono);background:var(--ds-blue-soft);color:var(--ds-blue-ink);border:1px solid var(--ds-blue);border-radius:3px;padding:2px 4px 2px 7px}
.dgd-chip button{border:0;background:none;cursor:pointer;color:var(--ds-blue-ink);display:inline-flex;padding:0}
.dgd-chip button svg{width:12px;height:12px;position:static}
/* check / radio */
.dgd-check{display:inline-flex;align-items:flex-start;gap:9px;font:13px var(--font-sans);color:var(--ds-ink-1);cursor:pointer}
.dgd-box{width:16px;height:16px;border:1px solid var(--ds-hair-4);border-radius:3px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}
.dgd-box--on{background:var(--ds-blue);border-color:var(--ds-blue);color:#fff}
.dgd-box svg{width:11px;height:11px}
.dgd-radio-dot{width:16px;height:16px;border:1px solid var(--ds-hair-4);border-radius:50%;flex-shrink:0;margin-top:1px;display:inline-flex;align-items:center;justify-content:center}
.dgd-radio-dot--on{border-color:var(--ds-blue)}
.dgd-radio-dot--on::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--ds-blue)}
.dgd-check__meta{display:flex;flex-direction:column;gap:2px}
.dgd-check__meta small{color:var(--ds-ink-5);font-size:12px}
/* switch/toggle */
.dgd-switch{width:38px;height:22px;border-radius:3px;background:var(--ds-hair-3);position:relative;cursor:pointer;transition:background var(--motion-fast) var(--ease-in-out);flex-shrink:0;border:0;padding:0}
.dgd-switch:focus-visible{outline:2px solid var(--ds-blue);outline-offset:2px}
.dgd-switch::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:2px;background:#fff;transition:transform var(--motion-fast) var(--ease-in-out)}
.dgd-switch--on{background:var(--ds-blue)}
.dgd-switch--on::after{transform:translateX(16px)}
.dgd-switch--slim{height:8px;width:34px}
.dgd-switch--slim::after{width:16px;height:16px;top:-4px}
.dgd-switch--slim.dgd-switch--on::after{transform:translateX(18px)}
.dgd-tglbtn{display:inline-flex;border:1px solid var(--ds-hair-3);border-radius:3px;overflow:hidden}
.dgd-tglbtn button{font:600 12px var(--font-mono);padding:7px 14px;border:0;background:var(--ds-paper);color:var(--ds-ink-4);cursor:pointer;border-right:1px solid var(--ds-hair-3)}
.dgd-tglbtn button:last-child{border-right:0}
.dgd-tglbtn button[aria-pressed="true"]{background:var(--ds-blue);color:#fff}
/* tooltip */
.dgd-tip{position:relative;display:inline-block}
.dgd-tip__bub{background:var(--ds-ink-1);color:var(--ds-paper);font:500 11px var(--font-mono);padding:6px 10px;border-radius:3px;display:inline-block;position:relative}
.dgd-tip__bub::after{content:"";position:absolute;bottom:-5px;left:20px;border:5px solid transparent;border-top-color:var(--ds-ink-1);border-bottom:0}
/* kbd */
.dgd-kbd{display:inline-flex;gap:4px}
.dgd-kbd kbd{font:11px var(--font-mono);color:var(--ds-ink-3);border:1px solid var(--ds-hair-3);border-bottom-width:2px;border-radius:3px;padding:2px 7px;background:var(--ds-paper)}
/* loading dots + spinner */
.dgd-dots{display:inline-flex;gap:5px}
.dgd-dots i{width:7px;height:7px;border-radius:50%;background:var(--ds-blue);animation:dgdpulse 1s infinite ease-in-out}
.dgd-dots i:nth-child(2){animation-delay:.15s}
.dgd-dots i:nth-child(3){animation-delay:.3s}
@keyframes dgdpulse{0%,80%,100%{opacity:.25}40%{opacity:1}}
.dgd-spin{width:22px;height:22px;border:2px solid var(--ds-hair-3);border-top-color:var(--ds-blue);border-radius:50%;animation:dgdspin .7s linear infinite}
@keyframes dgdspin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.dgd-dots i,.dgd-spin{animation:none}}
/* skeleton */
.dgd-skel{background:linear-gradient(90deg,var(--ds-hair-2) 25%,var(--ds-hair-1) 50%,var(--ds-hair-2) 75%);background-size:200% 100%;border-radius:3px;animation:dgdsheen 1.4s infinite}
@keyframes dgdsheen{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.dgd-skel{animation:none}}
/* slider */
.dgd-slider{width:240px;height:6px;border-radius:3px;background:var(--ds-hair-2);position:relative}
.dgd-slider__fill{position:absolute;left:0;top:0;height:100%;border-radius:3px;background:var(--ds-blue)}
.dgd-slider__thumb{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--ds-blue);transform:translate(-50%,-50%)}
/* progress */
.dgd-prog{width:260px;height:8px;border-radius:3px;background:var(--ds-hair-2);overflow:hidden}
.dgd-prog__fill{height:100%;background:var(--ds-blue);border-radius:3px}
.dgd-seg{display:flex;gap:2px;width:260px}
.dgd-seg i{height:6px;flex:1;background:var(--ds-hair-2);border-radius:1px}
.dgd-seg i.f{background:var(--ds-blue)}
.dgd-ring{width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--ds-blue) var(--p,66%),var(--ds-hair-2) 0);display:flex;align-items:center;justify-content:center}
.dgd-ring::after{content:attr(data-v);width:46px;height:46px;border-radius:50%;background:var(--ds-paper);display:flex;align-items:center;justify-content:center;font:600 13px var(--font-mono);color:var(--ds-ink-1)}
/* separator */
.dgd-sep{height:1px;width:220px;background:var(--ds-hair-2)}
.dgd-sep--v{width:1px;height:40px;background:var(--ds-hair-2)}
/* code */
.dgd-codeinline{font:12.5px var(--font-mono);background:var(--ds-paper-2);color:var(--ds-ink-2);padding:2px 6px;border-radius:3px}
.dgd-codeblock{border:1px solid var(--ds-hair-3);border-radius:3px;overflow:hidden;width:100%;max-width:420px}
.dgd-codeblock__bar{background:var(--ds-paper-2);border-bottom:1px solid var(--ds-hair-2);padding:7px 12px;font:11px var(--font-mono);color:var(--ds-ink-5);display:flex;justify-content:space-between}
.dgd-codeblock pre{margin:0;padding:12px;background:var(--ds-code-bg,#10141F);color:var(--ds-code-text,#C7CEDE);font:12px/1.6 var(--font-mono);overflow-x:auto}
.dgd-snippet{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--ds-hair-3);border-radius:3px;padding:9px 12px;font:12.5px var(--font-mono);color:var(--ds-ink-2);background:var(--ds-paper);max-width:360px}
.dgd-snippet button{border:0;background:none;cursor:pointer;color:var(--ds-ink-5)}
.dgd-snippet button:focus-visible{outline:2px solid var(--ds-blue);outline-offset:1px}
.dgd-codeblock__tabs{display:flex;background:var(--ds-paper-2);border-bottom:1px solid var(--ds-hair-2)}
.dgd-codeblock__tabs button{font:11px var(--font-mono);padding:7px 13px;border:0;background:none;color:var(--ds-ink-5);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.dgd-codeblock__tabs button[aria-selected="true"]{color:var(--ds-ink-1);border-bottom-color:var(--ds-blue);background:var(--ds-paper)}
.dgd-cbln{display:flex;background:var(--ds-code-bg,#10141F)}
.dgd-cbln__g{padding:12px 10px;color:#5B6478;text-align:right;font:12px/1.6 var(--font-mono);border-right:1px solid rgba(255,255,255,.08);user-select:none;white-space:pre}
.dgd-cbln pre{flex:1;border:0}
/* menu */
.dgd-menu{border:1px solid var(--ds-hair-4);border-radius:3px;background:var(--ds-paper);min-width:200px;padding:5px;box-shadow:0 0 0 0 transparent;position:relative}
.dgd-menu::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--ds-blue)}
.dgd-menu__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:3px;font:13px var(--font-mono);color:var(--ds-ink-2);cursor:pointer}
.dgd-menu__item:hover{background:var(--ds-paper-2)}
.dgd-menu__item .k{font-size:11px;color:var(--ds-ink-6)}
.dgd-menu__sep{height:1px;background:var(--ds-hair-1);margin:5px 0}
.dgd-menu__head{font:600 9px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ds-ink-6);padding:6px 10px 3px}
.dgd-iconbtn{width:32px;height:32px;border:1px solid var(--ds-hair-3);border-radius:3px;background:var(--ds-paper);color:var(--ds-ink-3);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.dgd-iconbtn:focus-visible{outline:2px solid var(--ds-blue);outline-offset:1px}
.dgd-iconbtn:hover{border-color:var(--ds-ink-5)}
.dgd-iconbtn svg{width:16px;height:16px}
/* tabs */
.dgd-tabs{display:flex;gap:2px;border-bottom:1px solid var(--ds-hair-2);width:100%}
.dgd-tabs button{font:500 13px var(--font-mono);padding:9px 14px;border:0;background:none;color:var(--ds-ink-5);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.dgd-tabs button:focus-visible{outline:2px solid var(--ds-blue);outline-offset:-2px}
.dgd-tabs button[aria-selected="true"]{color:var(--ds-blue-ink);border-bottom-color:var(--ds-blue)}
/* pagination */
.dgd-pager{display:flex;align-items:center;gap:4px}
.dgd-pager a{min-width:32px;height:32px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font:500 12.5px var(--font-mono);color:var(--ds-ink-4);cursor:pointer;padding:0 6px}
.dgd-pager a:focus-visible{outline:2px solid var(--ds-blue);outline-offset:1px}
.dgd-pager a:hover{background:var(--ds-paper-2)}
.dgd-pager a[aria-current]{background:var(--ds-blue-soft);color:var(--ds-blue-ink)}
/* ===== Batch C: navigation & actions additions ===== */
.dgd-tabs--sm button{padding:6px 11px;font-size:12px}
.dgd-tabs--full{width:100%}
.dgd-tabs--full button{flex:1;text-align:center}
.dgd-tabs button .dgd-badge{margin-left:7px}
.dgd-tabsbtn{display:inline-flex;gap:3px;background:var(--ds-paper-2);border:1px solid var(--ds-hair-2);border-radius:3px;padding:3px}
.dgd-tabsbtn button{font:500 13px var(--font-mono);padding:7px 13px;border:0;background:none;color:var(--ds-ink-4);cursor:pointer;border-radius:2px;display:inline-flex;align-items:center;gap:6px}
.dgd-tabsbtn button:focus-visible{outline:2px solid var(--ds-blue);outline-offset:-2px}
.dgd-tabsbtn button[aria-selected="true"]{background:var(--ds-blue);color:#fff}
.dgd-tabsbtn--gray button[aria-selected="true"]{background:var(--ds-paper);color:var(--ds-ink-1);border:1px solid var(--ds-hair-3)}
.dgd-tabs--vert{flex-direction:column;border-bottom:0;border-left:1px solid var(--ds-hair-2);width:auto;align-items:stretch}
.dgd-tabs--vert button{border-bottom:0;border-left:2px solid transparent;margin-bottom:0;margin-left:-1px;text-align:left}
.dgd-tabs--vert button[aria-selected="true"]{border-left-color:var(--ds-blue);border-bottom-color:transparent}
.dgd-pgdots{display:flex;gap:7px;align-items:center}
.dgd-pgdots i{width:7px;height:7px;border-radius:50%;background:var(--ds-hair-3)}
.dgd-pgdots i.on{background:var(--ds-blue);width:20px;border-radius:3px}
.dgd-pgline{display:flex;gap:4px;width:200px}
.dgd-pgline i{height:3px;flex:1;background:var(--ds-hair-2);border-radius:1.5px}
.dgd-pgline i.on{background:var(--ds-blue)}
.dgd-pgcard{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--ds-hair-2);border-radius:3px;padding:10px 12px;width:440px;max-width:100%;font:12.5px var(--font-mono);color:var(--ds-ink-4)}
.dgd-btngrp{display:inline-flex}
.dgd-btngrp .dgd-btn{border-radius:0}
.dgd-btngrp .dgd-btn:first-child{border-radius:3px 0 0 3px}
.dgd-btngrp .dgd-btn:last-child{border-radius:0 3px 3px 0;margin-left:-1px}
.dgd-menu__item .mi{display:inline-flex;align-items:center;gap:9px}
.dgd-menu__item .mi svg{width:15px;height:15px;color:var(--ds-ink-5)}
.dgd-menu__item--danger{color:var(--ds-error)}
.dgd-menu__item--danger .mi svg{color:var(--ds-error)}
.dgd-menu__item[aria-disabled]{opacity:.45;pointer-events:none}
.dgd-menu__item.is-active{background:var(--ds-paper-2)}
.dgd-menu__check{margin-left:auto;color:var(--ds-blue);display:inline-flex}
.dgd-menu__check svg{width:14px;height:14px}
.dgd-splitgrp{display:inline-flex}
.dgd-splitgrp .dgd-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}
.dgd-splitgrp .dgd-btn:last-child{border-top-left-radius:0;border-bottom-left-radius:0;padding-left:9px;padding-right:9px}
.dgd-splitgrp .dgd-btn--pri:last-child{border-left:1px solid rgba(255,255,255,.28)}
.dgd-splitgrp .dgd-btn--sec:last-child{margin-left:-1px}
.dgd-copied{color:var(--ds-success-text)!important;border-color:var(--ds-success-text)!important}
/* card */
.dgd-card{border:1px solid var(--ds-hair-2);border-radius:3px;background:var(--ds-paper);width:300px;max-width:100%;overflow:hidden}
.dgd-card__head{padding:14px 16px;border-bottom:1px solid var(--ds-hair-1);font:600 13px var(--font-mono);color:var(--ds-ink-1);display:flex;justify-content:space-between;align-items:center}
.dgd-card__body{padding:16px;font:13px/1.55 var(--font-sans);color:var(--ds-ink-4)}
.dgd-card__foot{padding:12px 16px;border-top:1px solid var(--ds-hair-1);display:flex;justify-content:flex-end;gap:8px}
/* table */
.dgd-table{width:100%;border-collapse:collapse;font:12.5px var(--font-mono);border:1px solid var(--ds-hair-2);border-radius:3px}
.dgd-table th{text-align:left;font:600 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ds-ink-5);padding:9px 12px;border-bottom:1px solid var(--ds-hair-3)}
.dgd-table td{padding:10px 12px;border-bottom:1px solid var(--ds-hair-1);color:var(--ds-ink-2)}
.dgd-table tr:last-child td{border-bottom:0}
.dgd-table tr:hover td{background:var(--ds-paper-2)}
.dgd-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.dgd-table--zebra tbody tr:nth-child(even) td{background:var(--ds-paper-2)}
.dgd-table tr.sel td{background:var(--ds-blue-soft);box-shadow:inset 2px 0 0 var(--ds-blue)}
.dgd-tablestate{border:1px solid var(--ds-hair-2);border-radius:3px;padding:26px;text-align:center;width:100%;max-width:440px}
.dgd-tablestate h4{font:600 13px var(--font-mono);color:var(--ds-ink-1);margin:0 0 4px}
.dgd-tablestate p{font:12.5px var(--font-sans);color:var(--ds-ink-5);margin:0 0 12px}
.dgd-cal__head svg{width:16px;height:16px;color:var(--ds-ink-5)}

.ds-ico-arrow,.ds-ico-star{width:15px;height:15px;vertical-align:-2px;display:inline-block;flex:none}

.ds-glance__dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ok);margin-right:5px;vertical-align:1px}

.ds-opcard__status-label{font:600 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ok);margin-right:8px}
/* --- semantic atoms: unify shape/typography, PRESERVE state colour --- */
/* status dots — keep their state colour, just ensure round */
#comp-page-demo [class*="__dot"]{border-radius:50%}
/* status pills — unify to badge type + radius, colour untouched (excludes dot-type statuses) */
#comp-page-demo .ds-status,
#comp-page-demo [class*="__status"]:not([class*="av__status"]):not([class*="mini__status"]){
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.03em;border-radius:3px;
}
/* feature-list check glyphs → the one blue accent */
#comp-page-demo [class*="__check"]{color:var(--blue-ink)}
/* content links → foundation link colour (bulk nav/footer links left alone) */
#comp-page-demo .ds-link,
#comp-page-demo .ds-fcards__link,
#comp-page-demo .ds-cases__link,
#comp-page-demo .ds-crumb__link,
#comp-page-demo .ds-review__link{color:var(--blue-ink)}
/* meters — square corners per tokens.json's radius cap (no pills anywhere), fill colour left to the component */
#comp-page-demo [class*="__meter"]{border-radius:3px}
/* rating stars — amber fill, hairline empties */
#comp-page-demo [class*="stars-fill"]{color:var(--warn)}
#comp-page-demo [class*="stars-empty"]{color:var(--hair-3)}
/* toast / note / banner */
.dgd-toast{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--ds-hair-4);border-radius:3px;background:var(--ds-paper);padding:12px 14px;width:340px;max-width:100%;position:relative}
.dgd-toast::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--ds-blue)}
.dgd-toast__ic{color:var(--ds-success-text);flex-shrink:0;margin-top:1px}
.dgd-toast__ic svg{width:18px;height:18px}
.dgd-toast__b{flex:1}
.dgd-toast__t{font:600 13px var(--font-mono);color:var(--ds-ink-1)}
.dgd-toast__m{font:12.5px var(--font-sans);color:var(--ds-ink-5);margin-top:2px}
.dgd-note{border:1px solid var(--ds-hair-3);border-left:2px solid var(--ds-info);border-radius:3px;background:var(--ds-paper-2);padding:12px 14px;font:13px/1.55 var(--font-sans);color:var(--ds-ink-3);max-width:420px}
.dgd-note b{color:var(--ds-ink-1);font-weight:600}
.dgd-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#041745;color:#9CB3E0;border-radius:3px;padding:10px 16px;font:500 12px var(--font-mono);width:100%}
.dgd-banner b{color:#C3D2F2;font-weight:500}
.dgd-banner a{color:#7FA8FF;text-decoration:underline;cursor:pointer}
.dgd-banner--proj{background:var(--ds-blue-soft);color:var(--ds-blue-ink);border:1px solid var(--ds-blue)}
.dgd-banner--proj b{color:var(--ds-blue-ink)}
.dgd-banner--proj a{color:var(--ds-blue-ink)}
/* ===== Batch B: markers & feedback additions ===== */
.dgd-av--xxs{width:20px;height:20px;font-size:8px}
.dgd-av--xl{width:64px;height:64px;font-size:20px}
.dgd-av--2xl{width:80px;height:80px;font-size:25px}
.dgd-av__status--off{background:var(--ds-ink-6)}
.dgd-av__badge{position:absolute;top:-3px;right:-3px;width:17px;height:17px;border-radius:3px;background:var(--ds-paper);border:1px solid var(--ds-hair-3);display:flex;align-items:center;justify-content:center;color:var(--ds-ink-3);overflow:hidden}
.dgd-av__badge svg{width:11px;height:11px}
.dgd-av__badge img{width:12px;height:12px;object-fit:contain}
.dgd-av__verify{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:var(--ds-blue);color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--ds-paper)}
.dgd-av__verify svg{width:9px;height:9px}
.dgd-av__ph svg{width:56%;height:56%;color:var(--ds-ink-6)}
.dgd-avlabel{display:flex;align-items:center;gap:10px}
.dgd-avlabel__t{font:600 13px var(--font-mono);color:var(--ds-ink-1);line-height:1.25}
.dgd-avlabel__m{font:12px var(--font-sans);color:var(--ds-ink-5)}
.dgd-avstack .dgd-avadd{border:1px dashed var(--ds-hair-4);background:var(--ds-paper);color:var(--ds-ink-5)}
.dgd-avstack .dgd-avadd svg{width:14px;height:14px}
.dgd-badge--sm{font-size:10px;padding:2px 7px}
.dgd-badge--lg{font-size:12px;padding:4px 11px}
/* Chrome-only extra-small step, one further down the sm→md→lg scale
   (font -1, padding -1/-2 each step). Not shown on the Badge page's own
   Sizes example — its only consumer is the sidebar's "NEW" tag, where sm
   still read as too big next to the 12.5px nav link text. */
.dgd-badge--xs{font-size:9px;padding:1px 5px;gap:4px}
.dgd-badge svg{width:12px;height:12px}
.dgd-badge--modern{background:var(--ds-paper);border-color:var(--ds-hair-3);color:var(--ds-ink-2)}
.dgd-badge--info{border-color:var(--ds-info);color:var(--ds-info-text);background:transparent}
.dgd-badge--success{border-color:var(--ds-success);color:var(--ds-success-text);background:transparent}
.dgd-badge__x{border:0;background:none;cursor:pointer;color:inherit;display:inline-flex;padding:0;margin-left:2px;opacity:.75}
.dgd-badge__x:focus-visible{outline:2px solid var(--ds-blue);outline-offset:1px}
.dgd-badge__x svg{width:11px;height:11px}
.dgd-badge__av{width:15px;height:15px;border-radius:50%;background:var(--ds-blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:600;margin:0 1px 0 -3px}
.dgd-toast--success::before{background:var(--ds-success)}
.dgd-toast--success .dgd-toast__ic{color:var(--ds-success-text)}
.dgd-toast--info::before{background:var(--ds-info)}
.dgd-toast--info .dgd-toast__ic{color:var(--ds-info)}
.dgd-toast--warn::before{background:var(--ds-warning)}
.dgd-toast--warn .dgd-toast__ic{color:var(--ds-warn)}
.dgd-toast--error::before{background:var(--ds-error)}
.dgd-toast--error .dgd-toast__ic{color:var(--ds-error-text)}
.dgd-toast--brand::before{background:var(--ds-blue)}
.dgd-toast--brand .dgd-toast__ic{color:var(--ds-blue)}
.dgd-note--brand{border-left-color:var(--ds-blue)}
.dgd-note--success{border-left-color:var(--ds-success)}
.dgd-note--warn{border-left-color:var(--ds-warning)}
.dgd-note--error{border-left-color:var(--ds-error)}
.dgd-toast__act{display:flex;gap:16px;margin-top:9px;font:600 12px var(--font-mono);align-items:center}
.dgd-toast__act a{color:var(--ds-blue-ink);cursor:pointer}
.dgd-toast__act a.mut{color:var(--ds-ink-5)}
.dgd-progrow{display:flex;align-items:center;gap:12px;width:300px;max-width:100%}
.dgd-progrow .dgd-prog{flex:1;width:auto}
.dgd-prog__pct{font:600 12px var(--font-mono);color:var(--ds-ink-2);font-variant-numeric:tabular-nums;min-width:38px}
.dgd-ring2{width:88px;height:88px;border-radius:50%;background:conic-gradient(var(--ds-blue) var(--p,66%),var(--ds-hair-2) 0);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dgd-ring2__in{width:66px;height:66px;border-radius:50%;background:var(--ds-paper);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.dgd-ring2__v{font:600 16px var(--font-mono);color:var(--ds-ink-1)}
.dgd-ring2__l{font:8px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ds-ink-6);margin-top:1px}
.dgd-spinlabel{display:inline-flex;align-items:center;gap:9px;font:12.5px var(--font-sans);color:var(--ds-ink-5)}
.dgd-tip__sub{display:block;color:var(--ds-paper);opacity:.72;font-weight:400;margin-top:3px;font:11px/1.4 var(--font-sans);max-width:180px;white-space:normal}
.dgd-tip__bub--bottom::after{top:-5px;bottom:auto;border-top:0;border-bottom:5px solid var(--ds-ink-1)}
.dgd-tip__bub--left::after{left:auto;right:-5px;bottom:auto;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left:5px solid var(--ds-ink-1);border-right:0}
.dgd-tip__bub--right::after{left:-5px;bottom:auto;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right:5px solid var(--ds-ink-1);border-left:0}
/* empty state */
.dgd-empty{text-align:center;padding:28px;max-width:360px}
.dgd-empty__ic{width:44px;height:44px;border:1px solid var(--ds-hair-3);border-radius:3px;display:inline-flex;align-items:center;justify-content:center;color:var(--ds-ink-4);margin-bottom:14px}
.dgd-empty__ic svg{width:22px;height:22px}
.dgd-empty h4{font:600 15px var(--font-mono);color:var(--ds-ink-1);margin-bottom:6px}
.dgd-empty p{font:13px/1.55 var(--font-sans);color:var(--ds-ink-5);margin-bottom:16px}
/* entity / context card / relative time */
.dgd-entity{display:flex;align-items:center;gap:12px;border:1px solid var(--ds-hair-2);border-radius:3px;background:var(--ds-paper);padding:12px 14px;width:340px;max-width:100%}
.dgd-entity__b{flex:1;min-width:0}
.dgd-entity__t{font:600 13px var(--font-mono);color:var(--ds-ink-1)}
.dgd-entity__m{font:11.5px var(--font-mono);color:var(--ds-ink-5)}
/* calendar */
.dgd-cal{border:1px solid var(--ds-hair-2);border-radius:3px;background:var(--ds-paper);padding:14px;width:264px}
.dgd-cal__head{display:flex;justify-content:space-between;align-items:center;font:600 12px var(--font-mono);color:var(--ds-ink-1);margin-bottom:10px}
.dgd-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.dgd-cal__grid span{font:500 10px var(--font-mono);color:var(--ds-ink-6);padding:4px 0}
.dgd-cal__grid a{font:12px var(--font-mono);color:var(--ds-ink-2);padding:5px 0;border-radius:3px;cursor:pointer}
.dgd-cal__grid a:focus-visible{outline:2px solid var(--ds-blue);outline-offset:1px}
.dgd-cal__grid a:hover{background:var(--ds-paper-2)}
.dgd-cal__grid a[aria-current]{background:var(--ds-blue);color:#fff}
.dgd-cal__grid a.mut{color:var(--ds-ink-7)}
/* browser frame */
.dgd-browser{border:1px solid var(--ds-hair-3);border-radius:3px;overflow:hidden;width:100%;max-width:440px;background:var(--ds-paper)}
.dgd-browser__bar{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--ds-paper-2);border-bottom:1px solid var(--ds-hair-2)}
.dgd-browser__dots{display:flex;gap:5px}
.dgd-browser__dots i{width:9px;height:9px;border-radius:50%;background:var(--ds-hair-4)}
.dgd-browser__url{flex:1;font:11px var(--font-mono);color:var(--ds-ink-5);background:var(--ds-paper);border:1px solid var(--ds-hair-2);border-radius:3px;padding:4px 9px}
.dgd-browser__body{padding:22px;font:12px var(--font-mono);color:var(--ds-ink-5);min-height:80px}
/* file tree */
.dgd-tree{font:12.5px var(--font-mono);color:var(--ds-ink-2);border:1px solid var(--ds-hair-2);border-radius:3px;background:var(--ds-paper);padding:12px 14px;width:280px}
.dgd-tree .row{display:flex;align-items:center;gap:7px;padding:3px 0}
.dgd-tree .row.ind{padding-left:18px}
.dgd-tree .row.ind2{padding-left:36px}
.dgd-tree svg{width:14px;height:14px;color:var(--ds-ink-5);flex-shrink:0}
.dgd-tree .row.sel{color:var(--ds-blue-ink)}
/* graph */
.dgd-graph{border:1px solid var(--ds-hair-2);border-radius:3px;background:var(--ds-paper);padding:14px;width:340px;max-width:100%}
.dgd-graph svg{display:block;width:100%;height:90px}
.dgd-graph svg.dgd-piesvg{width:auto;height:auto}
/* modal / sheet */
/* scrim — the dimmed backdrop a modal/sheet floats over, per the Material spec's "material-overlay" tier */
.dgd-scrim{position:relative;display:flex;align-items:center;justify-content:center;padding:36px 20px;border-radius:3px;background:rgba(16,20,31,.55)}
.dgd-scrim--right{justify-content:flex-end;padding:20px}
.dgd-modal{border:1px solid var(--ds-hair-4);border-radius:3px;background:var(--ds-paper);width:360px;max-width:100%;overflow:hidden;position:relative;box-shadow:0 24px 48px -12px rgba(16,20,31,.45),0 4px 14px -4px rgba(16,20,31,.28)}
.dgd-modal::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--ds-blue)}
.dgd-modal--danger::before{background:var(--ds-error)}
.dgd-modal__head{padding:16px;border-bottom:1px solid var(--ds-hair-1);font:600 15px var(--font-mono);color:var(--ds-ink-1)}
.dgd-modal__body{padding:16px;font:13px/1.55 var(--font-sans);color:var(--ds-ink-4)}
.dgd-modal__foot{padding:12px 16px;border-top:1px solid var(--ds-hair-1);display:flex;justify-content:flex-end;gap:8px}
.dgd-sheet{border:1px solid var(--ds-hair-4);border-left:2px solid var(--ds-blue);border-radius:3px;background:var(--ds-paper);width:300px;max-width:100%;overflow:hidden;box-shadow:0 24px 48px -12px rgba(16,20,31,.45),0 4px 14px -4px rgba(16,20,31,.28)}
.dgd-sheet__head{padding:16px;border-bottom:1px solid var(--ds-hair-1);font:600 14px var(--font-mono);color:var(--ds-ink-1);display:flex;justify-content:space-between;align-items:center}
.dgd-sheet__body{padding:16px;font:13px/1.55 var(--font-sans);color:var(--ds-ink-4)}
/* feedback */
.dgd-feedback{display:flex;align-items:center;gap:10px;border:1px solid var(--ds-hair-2);border-radius:3px;background:var(--ds-paper);padding:12px 14px}
.dgd-feedback__q{font:500 12px var(--font-mono);color:var(--ds-ink-4)}
.dgd-feedback button{border:1px solid var(--ds-hair-3);background:var(--ds-paper);border-radius:3px;padding:6px 10px;cursor:pointer;color:var(--ds-ink-4)}
.dgd-feedback button:hover{border-color:var(--ds-ink-5)}
/* book / doc cover */
.dgd-book{width:150px;height:200px;border-radius:3px;background:linear-gradient(135deg,var(--ds-blue) 0%,var(--ds-blue-2) 100%);border-left:3px solid rgba(255,255,255,.35);color:#fff;padding:18px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.dgd-book__eyebrow{font:500 9px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#BCD0FF}
.dgd-book__title{font:600 18px/1.1 var(--font-mono);letter-spacing:-.02em}
.dgd-book__foot{font:500 10px var(--font-mono);color:#BCD0FF}

