.dnw,.totop{--bg:#0F1B2D;--panel:#16263D;--raised:#1D3150;--line:#2A3F60;--tx:#E7EDF6;--tx2:#8EA2BF;--brand:#4C8DFF;--ok:#3FCF8E;--warn:#F2B544;--crit:#F0566A;--info:#5BC0EB;--unk:#7C8BA3;--l-bg:#F3F6FA;--l-panel:#FFFFFF;--l-tx:#13233A;--l-tx2:#4B5E79;--l-line:#DCE3EC;--l-brand:#2F6FE4;--sans:"IBM Plex Sans",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--pw:20px;--ph:17px}
.dnw *{box-sizing:border-box;margin:0;padding:0}
.dnw{font-family:var(--sans);background:var(--bg);color:var(--tx);font-size:17px;line-height:1.55;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
.dnw a{color:var(--brand);text-decoration:none}.dnw a:hover{color:#7AABFF;text-decoration:underline}
.dnw .light a{color:var(--l-brand)}.dnw .light a:hover{color:#1F56BC}
.dnw code,.dnw .dnw-mono{font-family:var(--mono)}
.dnw .dnw-wrap{max-width:1304px;margin:0 auto;padding:0 32px}
.dnw .sec{padding:112px 0}.dnw .dark{background:var(--bg);color:var(--tx)}.dnw .light{background:var(--l-bg);color:var(--l-tx)}
.dnw .sec.cont{border-top:1px solid var(--line)}.dnw .light.cont{border-top-color:var(--l-line)}
.dnw .dnw-eyebrow{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--tx2);display:flex;gap:10px;align-items:center}
.dnw .dnw-eyebrow::before{content:"";width:16px;height:2px;background:var(--brand)}
.dnw .light .dnw-eyebrow{color:var(--l-tx2)}.dnw .light .dnw-eyebrow::before{background:var(--l-brand)}
.dnw h1{font-size:64px;line-height:1.04;font-weight:600;letter-spacing:-.028em}
.dnw h2{font-size:40px;line-height:1.16;font-weight:600;letter-spacing:-.018em;text-wrap:balance}
.dnw h3{font-size:19px;line-height:1.35;font-weight:600}
.dnw .dnw-lede{font-size:19px;line-height:1.55;color:var(--tx2);max-width:58ch;text-wrap:pretty}
.dnw .light .dnw-lede{color:var(--l-tx2)}
.dnw .dnw-btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 22px;border-radius:8px;font-weight:600;font-size:16px;white-space:nowrap}
.dnw .dnw-btn svg{width:18px;height:18px}
.dnw .btn-primary,.dnw .btn-primary:hover{background:var(--brand);color:#0B1626;text-decoration:none}.dnw .btn-primary:hover{background:#6FA3FF}
.dnw .light .btn-primary,.dnw .light .btn-primary:hover{background:var(--l-brand);color:#fff}
.dnw .btn-link{color:var(--tx);padding:0 6px}.dnw .btn-link:hover{color:var(--tx)}
.dnw .btn-sm{height:38px;padding:0 16px;font-size:14.5px}
.dnw .dnw-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:8px;font:500 12px/1 var(--mono);border:1px solid var(--line);color:var(--tx2);background:var(--raised);white-space:nowrap}
.dnw .dnw-chip svg{width:12px;height:12px}
.dnw .dnw-chip.dnw-ok{color:var(--ok);border-color:rgba(63,207,142,.35);background:rgba(63,207,142,.08)}
.dnw .dnw-chip.dnw-warn{color:var(--warn);border-color:rgba(242,181,68,.4);background:rgba(242,181,68,.08)}
.dnw .dnw-chip.dnw-crit{color:var(--crit);border-color:rgba(240,86,106,.4);background:rgba(240,86,106,.08)}
.dnw .dnw-chip.info{color:var(--info);border-color:rgba(91,192,235,.35);background:rgba(91,192,235,.08)}
.dnw .sample{font:500 11px/1 var(--mono);color:var(--tx2);border:1px dashed var(--line);border-radius:6px;padding:5px 7px;white-space:nowrap}

.dnw /* header */
.hdr{border-bottom:1px solid var(--line);background:var(--bg)}
.dnw .hdr .dnw-wrap{display:flex;align-items:center;gap:32px;height:68px}
.dnw .wm{display:flex;align-items:baseline;gap:10px;color:var(--tx);font-weight:600;font-size:20px;letter-spacing:-.01em}
.dnw .wm:hover{color:var(--tx);text-decoration:none}.dnw .wm i{font-style:normal;color:var(--brand)}
.dnw .wm span{font-weight:500;font-size:13px;font-family:var(--mono);color:var(--tx2);border:1px solid var(--line);border-radius:6px;padding:3px 7px;transform:translateY(-2px)}
.dnw .dnw-nav{display:flex;gap:28px;margin-left:auto;font-size:15px}.dnw .dnw-nav a{color:var(--tx2)}.dnw .dnw-nav a:hover{color:var(--tx);text-decoration:none}

.dnw /* hero */
.dnw-hero{padding:72px 0 104px}
.dnw .dnw-hero-grid{display:grid;grid-template-columns:minmax(0,424px) minmax(0,1fr);gap:56px;align-items:center}
.dnw .dnw-hero h1{margin:22px 0 24px}
.dnw .dnw-hero .dnw-lede{font-size:19.5px}
.dnw .dnw-hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:36px}
.dnw .trust{display:flex;flex-direction:column;gap:10px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line);font-size:14.5px;color:var(--tx2)}
.dnw .trust div{display:flex;gap:10px;align-items:center}.dnw .trust svg{width:16px;height:16px;color:var(--ok);flex:none}

.dnw /* console */
.dnw-console{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.dnw .con-bar{display:flex;align-items:center;gap:12px;height:46px;padding:0 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--tx2)}
.dnw .con-bar b{color:var(--tx);font-weight:600}.dnw .con-bar .crumb{font-family:var(--mono);font-size:12px}
.dnw .con-bar .r{margin-left:auto;display:flex;gap:8px;align-items:center}
.dnw .con-map{position:relative;background-color:#0D1828;background-image:radial-gradient(#1F3352 1px,transparent 1px);background-size:20px 20px;padding:14px 16px 0}
.dnw .con-map svg{display:block;width:100%;height:auto}
.dnw .legend{display:flex;flex-wrap:wrap;gap:6px 16px;font:500 11px/1 var(--mono);color:var(--tx2);align-items:center}
.dnw .legend span{display:inline-flex;align-items:center;gap:7px}
.dnw .legend i{display:block;width:22px;background:#5A7499;border-radius:2px}
.dnw .legend i.blk{height:0!important;background:none;border-top:2px dashed var(--warn)}
.dnw .con-map .legend{position:absolute;top:16px;right:18px}
.dnw .topo .t1{font:600 11.5px var(--mono);fill:#E7EDF6}.dnw .topo .t2{font:400 10px var(--mono);fill:#8EA2BF}.dnw .topo .dnw-lbl{font:500 9.5px var(--mono);fill:#8EA2BF}.dnw .topo .lblw{font:600 9.5px var(--mono);fill:#F2B544}

.dnw /* front panel */
.fp{position:relative;background:var(--panel);border-top:2px solid var(--brand);padding:14px 16px 16px}
.dnw .fp.dnw-plain{border-top:0}
.dnw .fp-head{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;font-size:12.5px;margin-bottom:10px;color:var(--tx2)}
.dnw .fp-head .ttl{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.dnw .fp-head b{font:600 13px var(--mono);color:var(--tx)}
.dnw .fp-head .ttl span{font-family:var(--mono);font-size:11.5px}
.dnw .fp-face{display:flex;gap:10px;align-items:center;justify-content:space-between;background:#0B1524;border:1px solid var(--line);border-radius:8px;padding:11px 12px}
.dnw .fp-groups{display:flex;gap:10px}
.dnw .fp-group{display:grid;grid-template-rows:repeat(2,var(--ph));grid-auto-flow:column;grid-auto-columns:var(--pw);gap:4px 3px}
.dnw .fp-group.sfp{grid-auto-columns:calc(var(--pw) * 1.2)}
.dnw .fp-face .brandline{display:flex;flex-direction:column;gap:5px;align-items:flex-start;font:500 9.5px var(--mono);color:#5F7699;margin-right:auto;padding-right:6px}
.dnw .fp-face .brandline i{width:6px;height:6px;border-radius:50%;background:var(--ok);display:block}
.dnw .port{width:100%;height:var(--ph);border-radius:3px;position:relative;display:grid;place-items:center}
.dnw .port::before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:0;width:42%;height:3px;border-radius:0 0 2px 2px;background:rgba(10,20,35,.5)}
.dnw .port.b::before{top:auto;bottom:0;border-radius:2px 2px 0 0}
.dnw .port.dnw-up{background:var(--ok)}
.dnw .port.free{background:#16243A;box-shadow:inset 0 0 0 1px #3A5075}.dnw .port.free::before{background:#3A5075}
.dnw .port.blk{background:var(--warn)}
.dnw .port.sfp{border-radius:2px}.dnw .port.sfp::before{width:64%;height:2px}
.dnw .port svg{width:9px;height:11px;color:#0B1626;position:relative}
.dnw .port.sel{outline:2px solid var(--tx);outline-offset:2px;z-index:1}
.dnw .fp-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font:500 11px/1 var(--mono);color:var(--tx2)}
.dnw .fp-legend span{display:inline-flex;align-items:center;gap:6px}
.dnw .fp-legend .port{width:14px;height:11px}.dnw .fp-legend .port::before{display:none}
.dnw .fp-legend .ico{width:14px;height:11px;display:grid;place-items:center}.dnw .fp-legend svg{width:9px;height:11px}
.dnw .fp-tip{position:relative;margin-top:12px;width:max-content;max-width:100%;background:var(--raised);border:1px solid #3B5A88;border-radius:8px;padding:9px 12px;font:500 12px/1.5 var(--mono);color:var(--tx)}
.dnw .fp-tip::before{content:"";position:absolute;top:-6px;left:var(--ax,24px);width:10px;height:10px;background:var(--raised);border-left:1px solid #3B5A88;border-top:1px solid #3B5A88;transform:translateX(-50%) rotate(45deg)}
.dnw .fp-tip .h{display:flex;gap:10px;align-items:center;margin-bottom:2px}.dnw .fp-tip .h b{font-weight:600}
.dnw .fp-tip .h span{display:inline-flex;align-items:center;gap:5px;color:var(--ok);font-size:11px}.dnw .fp-tip .h svg{width:12px;height:12px}
.dnw .fp-tip .d{color:var(--tx2)}

.dnw /* problem */
.prob h2{font-size:46px;max-width:22ch;margin-top:22px}
.dnw .prob-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:56px}
.dnw .prob-item{background:var(--l-panel);border:1px solid var(--l-line);border-radius:12px;padding:24px;display:flex;gap:16px;align-items:center}
.dnw .prob-item svg{width:28px;height:28px;flex:none;color:var(--l-tx2)}
.dnw .prob-item h3{font-size:19px}
.dnw .src{margin-top:20px;font:500 12.5px var(--mono);color:var(--l-tx2)}

.dnw /* feature heads */
.fhead{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 64px;align-items:end;margin-bottom:48px}
.dnw .fhead h2{margin-top:20px}
.dnw .fhead .dnw-lede{padding-bottom:6px}

.dnw /* stages */
.stages{display:grid;grid-template-columns:minmax(0,4.4fr) 40px minmax(0,7.6fr);gap:16px;align-items:center}
.dnw .stage{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;align-self:stretch;display:flex;flex-direction:column}
.dnw .stage-h{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:14px;color:var(--tx2)}
.dnw .stage-h .n{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:var(--raised);border:1px solid var(--line);color:var(--tx);font:600 12px var(--mono)}
.dnw .stage .con-map{flex:1;padding:12px 16px}
.dnw .stage .fp{flex:1;display:flex;flex-direction:column;justify-content:center;--pw:18px;--ph:15px}
.dnw .stage-arrow{display:grid;place-items:center;color:var(--tx2)}.dnw .stage-arrow svg{width:28px;height:28px}

.dnw /* cards */
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.dnw .card-h{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);font-size:14px}
.dnw .card-h b{font-weight:600}.dnw .card-h .r{margin-left:auto;display:flex;gap:8px;align-items:center}
.dnw .card-b{padding:22px 18px}
.dnw .grid-2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px;align-items:start}
.dnw .poe{display:flex;gap:28px;align-items:center}
.dnw .poe svg{width:176px;height:176px;flex:none}
.dnw .kv{display:grid;gap:0;flex:1}
.dnw .kv div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.dnw .kv div:last-child{border-bottom:0}.dnw .kv span{color:var(--tx2)}.dnw .kv b{font:600 14px var(--mono)}
.dnw .kv b.dnw-crit{color:var(--crit)}
.dnw .poe-bar{margin-top:18px;height:8px;border-radius:4px;background:var(--line);overflow:hidden}.dnw .poe-bar i{display:block;height:100%;width:92%;background:var(--crit)}
.dnw .poe-scale{display:flex;justify-content:space-between;font:500 11px var(--mono);color:var(--tx2);margin-top:6px}
.dnw .alerts{display:grid}
.dnw .alert{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}
.dnw .alert:first-child{padding-top:0}.dnw .alert:last-child{border-bottom:0;padding-bottom:0}
.dnw .alert .ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--raised)}.dnw .alert .ic svg{width:16px;height:16px}
.dnw .alert h4{font-size:15px;font-weight:600;margin-bottom:3px}.dnw .alert p{font:400 12.5px/1.5 var(--mono);color:var(--tx2)}
.dnw .alert .m{font:600 13px var(--mono);color:var(--tx);white-space:nowrap;padding-top:2px}

.dnw /* timeline */
.tl{list-style:none;display:grid;position:relative}
.dnw .tl li{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr);gap:14px;padding:0 0 22px}
.dnw .tl li:last-child{padding-bottom:0}
.dnw .tl li::before{content:"";position:absolute;left:6px;top:16px;bottom:-2px;width:2px;background:var(--line)}
.dnw .tl li:last-child::before{display:none}
.dnw .tl .dnw-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--tx2);background:var(--panel);margin-top:3px;position:relative}
.dnw .tl li.sel .dnw-dot{border-color:var(--brand);background:var(--brand);box-shadow:0 0 0 4px rgba(76,141,255,.2)}
.dnw .tl .ev{padding:12px 14px;border-radius:8px;border:1px solid transparent;margin:-12px 0 0 -2px}
.dnw .tl li.sel .ev{background:var(--raised);border-color:#3B5A88}
.dnw .tl .meta{display:flex;gap:8px;flex-wrap:wrap;font:500 12px var(--mono);color:var(--tx2)}
.dnw .tl .meta b{color:var(--tx);font-weight:600}
.dnw .tl .row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:10px}
.dnw .ratio{display:flex;align-items:center;gap:8px;font:600 12px var(--mono)}
.dnw .ratio .bar{display:flex;width:84px;height:6px;border-radius:3px;overflow:hidden;gap:2px}
.dnw .ratio .bar i{display:block;height:100%}.dnw .ratio .add{color:var(--ok)}.dnw .ratio .del{color:var(--crit)}
.dnw .tl .noch{display:inline-flex;gap:6px;align-items:center;font:500 12px var(--mono);color:var(--tx2);margin-top:8px}.dnw .tl .noch svg{width:13px;height:13px;color:var(--ok)}

.dnw /* diff */
.diff{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.dnw .diff-col{min-width:0}.dnw .diff-col+.diff-col{border-left:1px solid var(--line)}
.dnw .diff-col h5{font:500 11.5px var(--mono);color:var(--tx2);padding:10px 14px;border-bottom:1px solid var(--line);background:#132136;display:flex;justify-content:space-between;gap:8px}
.dnw .diff-col h5 b{color:var(--tx);font-weight:600}
.dnw .diff pre{font:400 12.5px/22px var(--mono);margin:0;padding:10px 0;white-space:pre;overflow:hidden;color:#C9D5E6}
.dnw .diff pre span{display:block;padding:0 14px 0 30px;position:relative;min-height:22px}
.dnw .diff pre span::before{content:attr(data-s);position:absolute;left:12px;font-weight:600}
.dnw .diff .del{background:rgba(240,86,106,.12);color:#FFC2CB}.dnw .diff .del::before{color:var(--crit)}
.dnw .diff .add{background:rgba(63,207,142,.11);color:#BDF3DA}.dnw .diff .add::before{color:var(--ok)}
.dnw .diff .dnw-gap{background:repeating-linear-gradient(135deg,transparent 0 5px,rgba(42,63,96,.35) 5px 6px)}
.dnw .diff .mask{color:var(--tx2)}.dnw .diff .mask em{font-style:normal;background:var(--raised);border-radius:4px;padding:0 5px;color:var(--tx2)}
.dnw .diff-foot{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px;border-top:1px solid var(--line)}

.dnw /* self-hosted */
.dnw-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}
.dnw .dnw-split h2{margin:20px 0 20px}
.dnw .arch{position:relative;border:2px dashed #9DB0C9;border-radius:16px;padding:52px 32px 32px;background:rgba(255,255,255,.5)}
.dnw .arch-tag{position:absolute;top:-1px;left:24px;transform:translateY(-50%);background:var(--l-bg);padding:0 10px;display:flex;gap:8px;align-items:center;font:600 13px var(--mono);color:var(--l-tx)}
.dnw .arch-tag svg{width:16px;height:16px}
.dnw .arch-edge{position:absolute;right:-2px;top:50%;transform:translate(50%,-50%) rotate(90deg);background:var(--l-bg);padding:0 10px;font:500 12px var(--mono);color:var(--l-tx2);white-space:nowrap}
.dnw .arch-in{display:grid;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);align-items:center}
.dnw .arch-box{background:var(--l-panel);border:1px solid var(--l-line);border-radius:12px;padding:14px 16px;display:flex;gap:12px;align-items:center}
.dnw .arch-box svg{width:26px;height:26px;color:var(--l-tx2);flex:none}
.dnw .arch-box b{display:block;font-size:15.5px;font-weight:600}.dnw .arch-box small{display:block;font:400 12px var(--mono);color:var(--l-tx2)}
.dnw .arch-box.srv{border:2px solid var(--l-brand)}.dnw .arch-box.srv svg{color:var(--l-brand)}
.dnw .arch-devs{display:grid;gap:24px}.dnw .arch-devs .arch-box{height:64px}
.dnw .arch-wire{height:240px;width:112px;display:block}
.dnw .arch-wire-m{display:none}

.dnw /* compliance */
.comp{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center}
.dnw .comp h2{margin-top:20px}
.dnw .badges{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.dnw .badge{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 20px;border-radius:8px;border:1.5px solid var(--l-tx);font-weight:600;font-size:19px;color:var(--l-tx);background:var(--l-panel)}
.dnw .badge svg{width:20px;height:20px;color:var(--l-brand)}

.dnw /* steps */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:48px;counter-reset:s}
.dnw .steps li{counter-increment:s;background:var(--l-panel);border:1px solid var(--l-line);border-radius:12px;padding:28px 24px 30px;font-size:19px;line-height:1.45;font-weight:500;position:relative}
.dnw .steps li::before{content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--l-tx);color:#fff;font:600 18px var(--mono);margin-bottom:28px}
.dnw .steps li:not(:last-child)::after{content:"";position:absolute;top:47px;left:76px;right:-17px;height:2px;background:var(--l-line)}

.dnw /* devices */
.devs{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.dnw .devs h2{margin-top:20px}
.dnw .dev-list{display:grid;border-top:1px solid var(--l-line)}
.dnw .dev-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--l-line);align-items:center}
.dnw .dev-row .dnw-k{display:inline-flex;gap:8px;align-items:center;font:600 13px var(--mono);color:var(--l-tx2);text-transform:uppercase;letter-spacing:.04em}
.dnw .dev-row .dnw-k svg{width:16px;height:16px}.dnw .dev-row .dnw-k.dnw-ok svg{color:#1E9E66}
.dnw .dev-row .v{font-size:22px;font-weight:500;letter-spacing:-.005em}
.dnw .dev-row.soon .v{color:var(--l-tx2)}

.dnw /* faq */
.dnw-faq{display:grid;border-top:1px solid var(--l-line)}
.dnw .dnw-faq details{border-bottom:1px solid var(--l-line);padding:24px 0}
.dnw .dnw-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:21px;font-weight:600}
.dnw .dnw-faq summary::-webkit-details-marker{display:none}
.dnw .dnw-faq summary svg{width:20px;height:20px;color:var(--l-tx2);flex:none;transition:transform .2s}
.dnw .dnw-faq details[open] summary svg{transform:rotate(45deg)}
.dnw .dnw-faq details p{margin-top:10px;font-size:18px;color:var(--l-tx2);max-width:62ch}

.dnw /* closing */
.close{text-align:center;padding:128px 0}
.dnw .close h2{font-size:48px;max-width:20ch;margin:0 auto 36px}
.dnw .ftr{border-top:1px solid var(--line);padding:28px 0;font-size:14px;color:var(--tx2)}
.dnw .ftr .dnw-wrap{display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap}
.dnw .ftr a{color:var(--tx2)}.dnw .ftr a:hover{color:var(--tx)}

@media (max-width:1180px){.dnw .grid-2,.dnw .dnw-split,.dnw .comp,.dnw .devs{grid-template-columns:minmax(0,1fr);gap:36px}.dnw .badges{justify-content:flex-start}
.dnw .dnw-hero-grid{grid-template-columns:minmax(0,1fr);gap:48px}.dnw .dnw-hero h1{max-width:14ch}
.dnw .stages{grid-template-columns:minmax(0,1fr)}.dnw .stage-arrow svg{transform:rotate(90deg)}.dnw .stages .stage:first-child .con-map svg{max-width:460px;margin:0 auto}
}
@media (max-width:640px){
.dnw,.totop{--pw:17px;--ph:14px}
.dnw{font-size:16px}
.dnw .dnw-wrap{padding:0 20px}
.dnw .sec{padding:72px 0}
.dnw h1{font-size:40px;line-height:1.06}
.dnw h2,.dnw .prob h2{font-size:29px}
.dnw .dnw-lede,.dnw .dnw-hero .dnw-lede{font-size:17px}
.dnw .hdr .dnw-wrap{height:60px;gap:12px}.dnw .dnw-nav{display:none}.dnw .hdr .dnw-btn{margin-left:auto}
.dnw .dnw-hero{padding:40px 0 64px}
.dnw .dnw-hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}
.dnw .dnw-hero h1{margin:18px 0 18px}.dnw .dnw-hero-actions{margin-top:28px}
.dnw .trust{margin-top:28px;padding-top:22px}
.dnw .con-bar{padding:0 12px;gap:8px}.dnw .con-bar .crumb,.dnw .con-bar .sample{display:none}
.dnw .con-map{padding:10px 8px 0}
.dnw .con-map .legend{position:static;padding:10px 6px 12px;gap:6px 12px}
.dnw .fp{padding:12px}.dnw .fp-face{padding:9px 8px;gap:8px}.dnw .fp-groups{gap:8px}.dnw .fp-face .brandline{display:none}
.dnw .prob-items{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:36px}.dnw .prob-item{padding:18px}
.dnw .fhead{grid-template-columns:minmax(0,1fr);margin-bottom:32px}
.dnw .stages{grid-template-columns:minmax(0,1fr);gap:10px}.dnw .stage-arrow svg{transform:rotate(90deg)}
.dnw .stage .fp{--pw:17px;--ph:14px}
.dnw .grid-2,.dnw .dnw-split,.dnw .comp,.dnw .devs{grid-template-columns:minmax(0,1fr);gap:20px}
.dnw .dnw-split,.dnw .comp,.dnw .devs{gap:36px}
.dnw .poe{flex-direction:column;align-items:stretch;gap:18px}.dnw .poe svg{margin:0 auto;width:156px;height:156px}
.dnw .diff{grid-template-columns:minmax(0,1fr)}.dnw .diff-col+.diff-col{border-left:0;border-top:1px solid var(--line)}
.dnw .diff .dnw-gap{display:none!important}
.dnw .arch{padding:44px 16px 20px}
.dnw .arch-in{grid-template-columns:minmax(0,1fr)}
.dnw .arch-wire{display:none}.dnw .arch-wire-m{display:block;height:44px;width:100%}
.dnw .arch-devs{gap:10px}.dnw .arch-devs .arch-box{height:auto}
.dnw .arch-edge{display:none}
.dnw .badges{justify-content:flex-start}.dnw .badge{height:48px;font-size:17px;padding:0 16px}
.dnw .steps{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:32px}.dnw .steps li{display:flex;gap:16px;align-items:center;padding:18px;font-size:17px}
.dnw .steps li::before{margin:0;flex:none}.dnw .steps li::after{display:none}
.dnw .dev-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:18px 0}.dnw .dev-row .v{font-size:19px}
.dnw .dnw-faq summary{font-size:18px}.dnw .dnw-faq details{padding:20px 0}.dnw .dnw-faq details p{font-size:16px}
.dnw .close{padding:88px 0}.dnw .close h2{font-size:32px}
}

.totop{position:fixed;right:24px;bottom:24px;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--raised);border:1px solid #3B5A88;color:var(--tx);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:50}
.totop.on{opacity:1;visibility:visible;transform:none}.totop:hover{background:var(--brand);border-color:var(--brand);color:#0B1626}.totop:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.totop svg{width:20px;height:20px}
.dnw [id]{scroll-margin-top:96px}
@media (max-width:640px){.totop{right:16px;bottom:16px;width:44px;height:44px}}
@media (prefers-reduced-motion:reduce){.totop{transition:none}}

.dnw h1,.dnw h2,.dnw h3,.dnw h4,.dnw h5,.dnw p,.dnw li,.dnw summary,.dnw b{color:inherit}.dnw h1,.dnw h2,.dnw h3,.dnw h4,.dnw summary{font-family:var(--sans)}.dnw ol,.dnw ul{list-style:none}
.dnw .wm{gap:0}.dnw .wm span{margin-left:10px}
